:root{--bg:#fbf8f3;--card:#fff;--ink:#1e1b18;--muted:#6b645c;--line:#e8e1d6;--empty:#efe9df;--you:#3d6bff;--you-soft:#e6ecff;--them:#ff8a3d;--them-soft:#fff0e5;--you-ink:var(--you);--them-ink:#c75a14;--together:linear-gradient(135deg, var(--you), var(--them));--rest:#cfc6b8;--paused:#e4ddd2;--danger:#e5484d;--gold:#e8b931;--radius:16px;--shadow:0 1px 2px #1e1b180f, 0 6px 20px #1e1b180f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15130f;--card:#1f1c17;--ink:#f3eee6;--muted:#a39b90;--line:#2e2a23;--empty:#2a261f;--you-soft:#1d2645;--them-soft:#3a2616;--you-ink:#9db4ff;--them-ink:#ffb27d;--rest:#4a443b;--paused:#35302a;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}a{color:inherit}.wrap{max-width:480px;padding:calc(16px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:6px 0 14px;font-size:22px;font-weight:800;text-decoration:none;display:flex}.mark{flex-shrink:0;width:34px;height:34px;display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;padding:18px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:13px;font-weight:600}h1{letter-spacing:-.02em;margin:0 0 8px;font-size:28px;line-height:1.15}h2{letter-spacing:-.01em;margin:0 0 10px;font-size:18px}p{margin:0 0 10px;line-height:1.45}.muted{color:var(--muted)}.small{font-size:14px}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack>*+*{margin-top:10px}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:12px 18px;font-size:16px;font-weight:700;text-decoration:none;transition:transform 80ms;display:flex}.btn:active{transform:scale(.98)}.btn.primary{background:var(--together);color:#fff;border:none}.btn.you{background:var(--you);color:#fff;border:none}.btn.ghost{background:0 0}.btn[disabled]{opacity:.5;cursor:default}.chip{background:var(--empty);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.input{border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--ink);border-radius:12px;padding:10px 14px;font-size:16px}.stat{letter-spacing:-.02em;font-size:34px;font-weight:800;line-height:1}.banner{border-radius:14px;margin-bottom:12px;padding:12px 14px;font-weight:600}.banner.you{background:var(--you-soft);color:var(--you-ink)}.banner.them{background:var(--them-soft);color:var(--them-ink)}.banner.warn{background:var(--them-soft)}.grid{gap:8px;margin:6px 0 4px;display:grid}.gh{text-align:center;color:var(--muted);font-size:13px;font-weight:700}.rowlabel{color:var(--muted);align-items:center;font-size:13px;font-weight:700;display:flex}.cell{aspect-ratio:1;border:2px dashed var(--line);cursor:pointer;background:0 0;border-radius:14px;place-items:center;padding:0;font-size:28px;display:grid}.cell.filled{background:var(--together);border:none;animation:.28s pop;box-shadow:inset 0 0 0 3px #ffffff59}.cell.filled span{filter:drop-shadow(0 1px 1px #0003)}.cell.sel{border:2px solid var(--you);background:var(--you-soft)}.cell[disabled]{cursor:default}.shake{animation:.35s shake}@keyframes pop{0%{transform:scale(.7)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.clue{background:var(--bg);border-left:4px solid var(--you);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;font-size:15px;line-height:1.4;display:flex}.clue .who{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:600}.clue button{flex-shrink:0;margin-left:auto}.mini{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700}.mini.you{background:var(--you);color:#fff;border:none}.scrim{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:480px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:85vh;overflow:auto}.picker{gap:8px;display:grid}.pick{align-items:center;gap:8px;display:flex}.pick .place{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:14px;flex:1;justify-content:flex-start;align-items:center;gap:10px;min-height:56px;padding:0 14px;font-size:17px;font-weight:700;display:flex}.pick .place[disabled]{cursor:default}.pick .mini{flex-shrink:0;min-width:108px;min-height:44px}.pick.out .place{opacity:.4;text-decoration:line-through}.cands{flex-wrap:wrap;place-content:center;gap:1px 3px;padding:4px;font-size:14px;line-height:1.15;display:flex}.cands i{font-style:normal}.cell.narrow{border-style:solid;border-color:var(--you)}@keyframes fade{0%{opacity:0}}.quilt{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.q{aspect-ratio:1;background:var(--empty);border-radius:6px;position:relative}.q.today{outline:2px solid var(--ink);outline-offset:1px}.q.rest{background:var(--rest)}.q.paused{background:var(--paused)}.q.future{border:1px dashed var(--line);background:0 0}.q.fill:before{content:"";background:var(--together);opacity:var(--a,1);border-radius:6px;position:absolute;inset:0}.q.mended:after{content:"";border:1.5px dashed #ffffffe6;border-radius:4px;position:absolute;inset:3px}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.hearts{letter-spacing:1px;font-size:16px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);z-index:30;text-align:center;border-radius:12px;max-width:calc(100% - 32px);padding:12px 16px;font-size:14px;font-weight:600;animation:.15s fade;position:fixed;transform:translate(-50%)}.celebrate{text-align:center;padding:26px 18px}.celebrate .big{margin-bottom:10px;font-size:56px;line-height:1}details summary{cursor:pointer;font-weight:700;list-style:none}details summary::-webkit-details-marker{display:none}details[open] summary{margin-bottom:10px}.pair{border-top:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.pair:first-of-type{border-top:none}.avatar{background:var(--them);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.center{text-align:center}.clue.key{cursor:pointer;flex-direction:column;align-items:stretch;scroll-margin-top:16px;scroll-margin-bottom:120px;transition:box-shadow .12s}.keybody{align-items:flex-start;gap:10px;display:flex}.keybody .who,.keybody .done{margin-left:auto}.done{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.clue.used>.keybody>span:first-child{opacity:.55}.clue.focused{box-shadow:0 0 0 2px var(--gold)}.keyact{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.keyact .mini{color:#fff;border:none;min-height:40px;margin-left:0}.cell.hlrow{border-color:var(--gold)}.cell.hl{border:2px solid var(--gold);background:#e8b9312e}.rowlabel.hl{color:var(--ink)}.actionbar{z-index:5;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);gap:10px;margin:0 -16px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #00000014}.actionbar .nudge{flex:none;width:auto;padding:12px 16px}.actionbar .you{flex:1}.banner.coach{color:var(--ink);background:#e8b9312e;font-weight:600}.banner.coach .step{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.banner.coach a{font-weight:800}.celebration{z-index:999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#0c0a08e6;justify-content:center;align-items:center;padding:16px;transition:opacity .5s;display:flex;position:fixed;inset:0}.celebration-inner{flex-direction:column;align-items:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:flex}.celebration-icon{font-size:80px;line-height:1}.celebration-num{color:#fff;letter-spacing:-2px;margin-top:12px;font-size:60px;font-weight:900;line-height:1}.celebration-unit{color:#ffffff8c;letter-spacing:.5px;text-transform:uppercase;margin-top:6px;font-size:16px;font-weight:600}.celebration-line{color:#ffffffd9;margin-top:24px;font-size:18px;font-weight:700}.celebration-extra{color:var(--gold);margin-top:10px;font-size:15px;font-weight:600}.streakbar{border:1px solid var(--line);text-align:left;border-radius:12px;align-items:center;gap:10px;margin:12px 0;padding:10px 13px;display:flex}.streakbar-fire{font-size:18px}.streakbar-body{flex:1;min-width:0}.streakbar-label{justify-content:space-between;gap:8px;margin-bottom:5px;font-size:13px;font-weight:700;display:flex}.streakbar-next{color:var(--muted);font-weight:600}.streakbar-track{background:var(--line);border-radius:3px;height:5px;overflow:hidden}.streakbar-fill{background:linear-gradient(90deg, var(--them), var(--gold));border-radius:3px;height:100%;transition:width .4s}
:root[data-theme]{--you-soft:color-mix(in srgb, var(--you) 13%, #fff);--them-soft:color-mix(in srgb, var(--them) 13%, #fff);--you-ink:color-mix(in srgb, var(--you) 82%, #000);--them-ink:color-mix(in srgb, var(--them) 72%, #000)}@media (prefers-color-scheme:dark){:root[data-theme]{--you-soft:color-mix(in srgb, var(--you) 24%, #1f1c17);--them-soft:color-mix(in srgb, var(--them) 24%, #1f1c17);--you-ink:color-mix(in srgb, var(--you) 55%, #fff);--them-ink:color-mix(in srgb, var(--them) 55%, #fff)}}:root{--seat3:#2ba84a;--seat4:#9b59d0;--seat3-soft:color-mix(in srgb, var(--seat3) 13%, #fff);--seat4-soft:color-mix(in srgb, var(--seat4) 13%, #fff);--seat3-ink:color-mix(in srgb, var(--seat3) 72%, #000);--seat4-ink:color-mix(in srgb, var(--seat4) 78%, #000)}@media (prefers-color-scheme:dark){:root{--seat3-soft:color-mix(in srgb, var(--seat3) 24%, #1f1c17);--seat4-soft:color-mix(in srgb, var(--seat4) 24%, #1f1c17);--seat3-ink:color-mix(in srgb, var(--seat3) 55%, #fff);--seat4-ink:color-mix(in srgb, var(--seat4) 55%, #fff)}}.trial-note{background:color-mix(in srgb, var(--you) 10%, transparent);border:1px solid color-mix(in srgb, var(--you) 30%, transparent);border-radius:12px;margin:0;padding:10px 12px;font-size:.92rem;line-height:1.4}