:root{--paper:#fbfaf8;--card:#fff;--ink:#14181f;--muted:#5c6472;--line:#e4e1db;--accent:#1f6f5c;--accent-deep:#175647;--accent-soft:#e8f1ee;--gold:#b8873b;--gold-soft:#f7f0e2;--sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--serif:ui-serif, Georgia, "Iowan Old Style", "Times New Roman", serif;--r:14px;--pad:20px;--shadow:0 1px 2px #14181f0d, 0 8px 24px #14181f0d}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;font-size:17px;line-height:1.55}#root{min-height:100dvh}.shell{max-width:620px;padding:max(20px, env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1}.center{text-align:center}h1,h2,h3{letter-spacing:-.015em;margin:0;font-weight:620;line-height:1.25}h1{font-size:27px}h2{font-size:21px}h3{font-size:17px}p{margin:0}.lede{color:var(--muted);font-size:16px}.small{color:var(--muted);font-size:14px}.tiny{color:var(--muted);font-size:13px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.serif{font-family:var(--serif);font-size:19px;line-height:1.62}.wordmark{font-family:var(--serif);letter-spacing:-.01em;font-size:20px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:var(--pad);box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card.quiet{box-shadow:none;background:0 0}.card.accent{background:var(--accent-soft);box-shadow:none;border-color:#cfe3dc}.card.gold{background:var(--gold-soft);box-shadow:none;border-color:#ecdfc4}hr.rule{border:0;border-top:1px solid var(--line);margin:4px 0}button{font:inherit;cursor:pointer}.btn{appearance:none;background:var(--accent);color:#fff;border:1px solid #0000;border-radius:11px;min-height:48px;padding:13px 18px;font-size:16px;font-weight:600;transition:background .15s,opacity .15s}.btn:hover:not(:disabled){background:var(--accent-deep)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.ghost{color:var(--accent);border-color:var(--line);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--accent-soft)}.btn.plain{color:var(--muted);background:0 0;border-color:#0000;min-height:0;padding:10px 6px;font-weight:500}.btn.plain:hover:not(:disabled){color:var(--ink);background:0 0}.btn.wide{width:100%}.btn.sm{border-radius:9px;min-height:0;padding:9px 13px;font-size:14px}input[type=text],select,textarea{font:inherit;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:11px;padding:13px 14px}input[type=text]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{font-family:var(--serif);resize:vertical;min-height:190px;font-size:18px;line-height:1.6}.code-input{letter-spacing:.14em;text-align:center;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px}.progress{background:var(--line);border-radius:99px;height:5px;overflow:hidden}.progress>span{background:var(--accent);border-radius:99px;height:100%;transition:width .3s;display:block}.pill{background:var(--accent-soft);color:var(--accent-deep);border-radius:99px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-block}.pill.grey{color:var(--muted);background:#f1efec}.dotline{flex-wrap:wrap;gap:5px;display:flex}.dot{background:var(--line);border-radius:99px;width:7px;height:7px}.dot.on{background:var(--accent)}.notice{border-left:3px solid var(--accent);color:var(--muted);padding:2px 0 2px 13px;font-size:14px}.err{color:#9a2f2a;font-size:14px}.saved{color:var(--muted);min-height:18px;font-size:13px}.version-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;display:flex}.link{color:var(--accent);font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.likert{flex-direction:column;gap:12px;padding:16px;transition:border-color .15s;display:flex}.likert.answered{border-color:#cfe3dc}.likert-stem{color:var(--ink);font-size:18px;line-height:1.45}.likert-row{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.likert-opt{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--muted);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;font-size:15px;font-weight:650;transition:background .12s,border-color .12s,color .12s;display:flex;position:relative}.likert-opt:hover{border-color:var(--accent)}.likert-opt.on{background:var(--accent);border-color:var(--accent);color:#fff}.likert-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.likert-opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.likert-ends{color:var(--muted)}.check-row{border:1px solid var(--line);background:var(--card);min-height:48px;color:var(--ink);cursor:pointer;border-radius:11px;align-items:flex-start;gap:12px;padding:11px 14px;font-size:16px;line-height:1.4;transition:background .12s,border-color .12s;display:flex;position:relative}.check-row:hover{border-color:var(--accent)}.check-row.on{background:var(--accent-soft);border-color:var(--accent)}.check-row input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.check-mark{border:1.5px solid var(--line);background:var(--card);border-radius:7px;flex:none;width:22px;height:22px;margin-top:1px;transition:border-color .12s,background .12s;position:relative}.check-row.on .check-mark{border-color:var(--accent);background:var(--accent)}.check-row.on .check-mark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:3px;left:7px;transform:rotate(45deg)}.check-label{flex:auto}.check-row input:focus-visible~.check-label{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.hard-thing{color:var(--muted);padding-left:34px}.daystrip{flex-wrap:wrap;gap:6px;display:flex}.daybox{border:1px solid var(--line);background:var(--card);border-radius:6px;width:22px;height:22px}.daybox.on{background:var(--accent);border-color:var(--accent)}.daybox.today{box-shadow:0 0 0 2px var(--gold)}.choice-list{flex-direction:column;gap:10px;display:flex}.choice-opt{border:1px solid var(--line);background:var(--card);min-height:52px;color:var(--ink);cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:12px 16px;font-size:16px;line-height:1.4;transition:background .12s,border-color .12s;display:flex;position:relative}.choice-opt:hover{border-color:var(--accent)}.choice-opt.on{background:var(--accent-soft);border-color:var(--accent)}.choice-opt input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice-mark{border:1.5px solid var(--line);background:var(--card);border-radius:99px;flex:none;width:20px;height:20px;transition:border-color .12s,box-shadow .12s}.choice-opt.on .choice-mark{border-color:var(--accent);box-shadow:inset 0 0 0 4.5px var(--accent)}.choice-label{flex:auto}.choice-opt input:focus-visible~.choice-label{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.momentum-value{font-family:var(--serif,Georgia, "Times New Roman", serif);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-size:34px;line-height:1}.fade-in{animation:.24s fade}@keyframes fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg-btn{font:inherit;color:var(--muted);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:11px 15px;font-size:14px}.seg-btn.on{color:var(--ink);border-color:var(--accent);background:var(--accent-soft);font-weight:600}.stat-row{flex-wrap:wrap;gap:22px;display:flex}.stat{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-value{font-family:var(--serif);color:var(--ink);overflow-wrap:anywhere;font-size:30px;line-height:1.15}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
