:root{--paper:#fbfaf7;--card:#ffffff;--card-2:#f5f3ee;--ink:#16181d;--ink-2:#63676f;--ink-3:#8d9198;--line:#e3dfd6;--line-2:#d3cec2;--accent:#27406b;--accent-hover:#1c3055;--accent-soft:#eef1f7;--go:#1c6f52;--go-soft:#e8f2ee;--no:#a83232;--no-soft:#f9ebea;--gold:#8a6a24;--radius:10px;--pad:max(20px,env(safe-area-inset-left));--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#14161a;--card:#1b1e24;--card-2:#21252c;--ink:#f0efec;--ink-2:#a2a7b0;--ink-3:#767c86;--line:#2c3138;--line-2:#3a4048;--accent:#8fb0e8;--accent-hover:#a9c2ef;--accent-soft:#1f2733;--go:#5cc39b;--go-soft:#172b25;--no:#e08585;--no-soft:#2e1d1d;--gold:#d3ab5f;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100dvh}.stage{position:relative;min-height:100dvh;align-items:center;justify-content:center;padding:calc(32px + env(safe-area-inset-top)) var(--pad) calc(32px + env(safe-area-inset-bottom))}.sheet,.stage{display:flex;flex-direction:column}.sheet{width:100%;max-width:480px;gap:14px}h1{font-size:clamp(2rem,7vw,2.75rem);line-height:1.1;letter-spacing:-.018em}h1,h2{font-family:var(--serif);font-weight:600;margin:0}h2{font-size:clamp(1.4rem,5vw,1.85rem);line-height:1.18;letter-spacing:-.014em}h3{font-size:.78rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;margin:0 0 12px}.sub,h3{color:var(--ink-2)}.sub{font-size:1rem;line-height:1.5;margin:0}.icon{flex-shrink:0;display:block}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent);width:100%;min-height:50px;padding:13px 20px;border-radius:var(--radius);font:inherit;font-size:.98rem;font-weight:600;letter-spacing:-.005em;color:var(--paper);background:var(--accent);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:var(--card);border-color:var(--line-2);border-width:1.5px;color:var(--ink);min-height:48px;font-size:.95rem;font-weight:600}.btn.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:.82rem;font-weight:600;color:var(--ink-2)}input{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--ink-3)}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tiles{display:flex;flex-direction:column;gap:8px;max-height:min(56dvh,480px);overflow-y:auto}.tile{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tile:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.tile:disabled{cursor:default;color:var(--ink-3)}.tile .icon{color:var(--accent)}.tile:disabled .icon{color:var(--ink-3)}.tile-body{min-width:0;flex:1 1}.tile-title{display:block;font-weight:600;font-size:.98rem;line-height:1.3}.tile-meta{display:block;color:var(--ink-2);font-size:.84rem;margin-top:2px}.topbar{display:flex;align-items:center;gap:14px}.bar{height:4px;flex:1 1;border-radius:99px;background:var(--line);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);transition:width .35s ease}.streak{font-size:.82rem;font-weight:600;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.choice{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.98rem;line-height:1.35;cursor:pointer;transition:border-color .15s ease,background .15s ease}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{cursor:default}.choice .key{flex-shrink:0;width:26px;height:26px;border-radius:6px;border:1px solid var(--line-2);background:var(--card-2);display:grid;place-items:center;font-size:.78rem;font-weight:600;color:var(--ink-2)}.choice.right{border-color:var(--go);background:var(--go-soft)}.choice.right .key{background:var(--go);border-color:var(--go);color:var(--card)}.choice.wrong{border-color:var(--no);background:var(--no-soft)}.choice.wrong .key{background:var(--no);border-color:var(--no);color:var(--card)}.choice.dim{opacity:.5}.why{padding:14px 16px;border-radius:var(--radius);background:var(--card-2);border:1px solid var(--line);font-size:.94rem;line-height:1.55;color:var(--ink)}.why b{font-weight:650}.source{display:block;margin-top:7px;color:var(--ink-3);font-size:.79rem}.err{padding:12px 15px;border-radius:var(--radius);background:var(--no-soft);border:1px solid var(--no);color:var(--no);font-size:.92rem;line-height:1.45}.score{font-family:var(--serif);font-size:clamp(3.5rem,20vw,5.5rem);font-weight:600;line-height:1;letter-spacing:-.03em;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.spinner{width:26px;height:26px;border-radius:50%;border:2px solid var(--line-2);border-top-color:var(--accent);animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(1turn)}}.center{text-align:center}.note{font-size:.85rem;color:var(--ink-2);line-height:1.5;margin:0}.note b{color:var(--ink);font-weight:600}.setup-step{display:flex;gap:13px;padding:15px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card)}.setup-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:600;color:var(--paper);background:var(--accent)}.setup-body{min-width:0;flex:1 1}.setup-title{font-weight:600;font-size:.96rem;margin-bottom:8px}.status-row{display:flex;align-items:center;gap:11px;padding:13px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card-2);font-size:.92rem;line-height:1.4}.status-row.done{border-color:var(--go);background:var(--go-soft);color:var(--go)}.status-row .icon{color:var(--go)}.dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.review{display:flex;flex-direction:column;gap:12px;max-height:62dvh;overflow-y:auto}.review-hero{padding:18px;border-radius:var(--radius);border:1px solid var(--line-2);border-left:3px solid var(--accent);background:var(--card)}.review-label{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.review-big{margin:0;font-family:var(--serif);font-size:1.12rem;line-height:1.45}.review-block{padding:18px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}.must{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:9px}.must li{font-size:.94rem;line-height:1.5}.must li::marker{color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.terms{margin:0;display:flex;flex-direction:column}.term-row{display:grid;grid-template-columns:minmax(88px,33%) 1fr;grid-gap:14px;gap:14px;padding:9px 0;border-top:1px solid var(--line)}.term-row:first-child{border-top:0;padding-top:0}@media (max-width:420px){.term-row{grid-template-columns:1fr;gap:2px}}.term-row dt{font-weight:600;font-size:.9rem}.term-row dd{margin:0;font-size:.9rem;line-height:1.45;color:var(--ink-2)}.trap-block{border-left:3px solid var(--no)}.traps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.traps li{font-size:.92rem;line-height:1.45}.traps li::marker{color:var(--no)}.made-with{text-align:center;font-size:.72rem;letter-spacing:.06em;color:var(--ink-3);margin:2px 0 0}.account{width:100%;max-width:480px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.82rem}.account-who{overflow:hidden;text-overflow:ellipsis;max-width:45%}.account-plan,.account-who{color:var(--ink-2);white-space:nowrap}.account-plan{margin-right:auto}.account-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-decoration:none}.account-link:hover{text-decoration:underline}.deal{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card-2);font-size:.88rem;line-height:1.4;color:var(--ink-2)}.deal b{color:var(--ink);font-weight:600}.deal .icon{color:var(--gold)}.perks{margin:0;padding:0;list-style:none;flex-direction:column}.perks,.perks li{display:flex;gap:9px}.perks li{align-items:flex-start;font-size:.94rem;line-height:1.4}.perks .icon{color:var(--go);margin-top:1px}.price{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.price.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.price-body{flex:1 1;min-width:0}.price-name{display:block;font-weight:600;font-size:.98rem}.price-meta{display:block;color:var(--ink-2);font-size:.84rem;margin-top:2px}.price-tag{text-align:right;font-size:1.3rem;font-weight:600;letter-spacing:-.02em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-tag small{font-size:.76rem;font-weight:500;color:var(--ink-2)}.was{display:block;font-size:.8rem;font-weight:400;color:var(--ink-3);margin-bottom:-1px}.badge{display:inline-block;vertical-align:2px;margin-left:7px;padding:2px 7px;border-radius:4px;font-size:.66rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold)}.course-group{display:flex;flex-direction:column;gap:8px}.course-name{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}.grant-row{display:flex;gap:7px;margin:10px 0 12px;flex-wrap:wrap}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-2);background:var(--card);color:var(--ink-2);font:inherit;font-weight:500;font-size:.84rem;padding:7px 14px;border-radius:999px;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chip.on{border-color:var(--accent);background:var(--accent);color:var(--paper)}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;color:var(--ink-3);font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;padding:0 12px 8px 0;white-space:nowrap}.admin-table td{padding:9px 12px 9px 0;border-top:1px solid var(--line);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.feed-wrap{position:relative;width:100%}.feed{height:66dvh;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);overscroll-behavior:contain}.feed::-webkit-scrollbar{display:none}.feed-card{height:66dvh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;padding:28px 26px;border-bottom:1px solid var(--line)}.feed-inner{width:100%;display:flex;flex-direction:column;gap:16px}.feed-label{display:flex;align-items:center;gap:8px;font-size:.74rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.feed-emoji{font-size:1.05rem;line-height:1}.feed-big{margin:0;font-family:var(--serif);font-size:clamp(1.35rem,5.4vw,1.85rem);line-height:1.32;letter-spacing:-.012em}.kind-term .feed-big{font-size:clamp(1.6rem,7vw,2.2rem);color:var(--accent)}.feed-sub{margin:-4px 0 0;font-size:1rem;line-height:1.55;color:var(--ink-2)}.kind-trap .feed-big{color:var(--no)}.kind-idea .feed-inner{border-left:3px solid var(--accent);padding-left:18px}.feed-actions{display:flex;flex-direction:column;gap:8px;margin-top:6px}.feed-next{align-self:flex-start;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-2);background:transparent;width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;margin-top:4px;transition:border-color .15s ease,background .15s ease;animation:nudge 2.4s ease-in-out infinite}.feed-next:hover{border-color:var(--accent);background:var(--accent-soft)}.feed-chevron{width:9px;height:9px;border-right:1.8px solid var(--ink-2);border-bottom:1.8px solid var(--ink-2);transform:rotate(45deg) translate(-2px,-2px)}@keyframes nudge{0%,88%,to{transform:translateY(0)}94%{transform:translateY(4px)}}.feed-rail{position:absolute;top:50%;right:-14px;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px}.feed-rail span{width:3px;height:12px;border-radius:99px;background:var(--line-2);transition:background .2s ease,height .2s ease}.feed-rail span.on{background:var(--accent);height:20px}@media (max-width:560px){.feed-rail{display:none}}.feed-count{text-align:center;margin-top:10px;font-size:.78rem;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mailbox{font-size:3.4rem;line-height:1;margin-bottom:2px;animation:mailbox-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes mailbox-pop{0%{transform:scale(.6) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.code-input{text-align:center;font-size:2rem;font-weight:600;letter-spacing:.42em;text-indent:.42em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:14px;min-height:64px}.code-input::placeholder{letter-spacing:.42em;color:var(--line-2)}.countdown{text-align:center;font-size:.86rem;color:var(--ink-2);margin:-4px 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.countdown.urgent{color:var(--no);font-weight:600}.code-input.stale{color:var(--ink-3);border-color:var(--no)}.legal-stage{justify-content:flex-start;padding-top:48px;padding-bottom:64px}.legal{width:100%;max-width:640px;display:flex;flex-direction:column;gap:4px}.legal h1{font-size:clamp(1.9rem,6vw,2.4rem);margin:22px 0 4px}.legal h2{font-size:clamp(1.15rem,4vw,1.35rem);margin:30px 0 8px}.legal h3{font-family:var(--sans);font-size:.95rem;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink);margin:20px 0 6px}.legal p{margin:0 0 12px;line-height:1.65;color:var(--ink-2)}.legal .legal-date{color:var(--ink-3);font-size:.86rem;margin-bottom:20px}.legal .legal-lede{color:var(--ink);font-size:1.05rem;padding:16px 18px;border-left:3px solid var(--accent);background:var(--card);border-radius:0 var(--radius) var(--radius) 0}.legal ul{margin:0 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:7px}.legal li{line-height:1.6;color:var(--ink-2)}.legal li b,.legal p b{color:var(--ink);font-weight:600}.legal a{color:var(--accent);font-weight:600}.legal-links{display:flex;justify-content:center;gap:16px;margin-top:14px;font-size:.8rem}.legal-links a{color:var(--ink-3);text-decoration:none}.legal-links a:hover{color:var(--ink-2);text-decoration:underline}textarea{width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;font-size:1rem;line-height:1.55;resize:vertical;min-height:120px;transition:border-color .15s ease,box-shadow .15s ease}textarea::placeholder{color:var(--ink-3)}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.faq{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;gap:10px}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";color:var(--accent);font-weight:700;width:14px;flex-shrink:0}.faq[open] summary:before{content:"−"}.faq p{margin:0 0 14px 24px;font-size:.94rem}.thread{display:flex;flex-direction:column;gap:10px;margin:18px 0 4px}.bubble{padding:13px 15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);max-width:92%}.bubble.staff{align-self:flex-start;border-left:3px solid var(--accent);background:var(--accent-soft)}.bubble.user{align-self:flex-end;background:var(--card-2)}.bubble-who{font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}.bubble-body{font-size:.95rem;line-height:1.55;white-space:pre-wrap;color:var(--ink)}.bubble-when{font-size:.74rem;color:var(--ink-3);margin-top:6px}.ticket-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.ticket-row{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ticket-row.on,.ticket-row:hover{border-color:var(--accent);background:var(--accent-soft)}.ticket-main{min-width:0;flex:1 1}.ticket-topic{display:block;font-weight:600;font-size:.94rem}.ticket-meta{display:block;font-size:.8rem;color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{flex-shrink:0;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)}.pill.open{border-color:var(--no);color:var(--no)}.pill.waiting{border-color:var(--gold);color:var(--gold)}.pill.closed{opacity:.6}.ticket-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);gap:12px}.mode-grid,.ticket-panel{display:flex;flex-direction:column}.mode-grid{gap:8px;max-height:54dvh;overflow-y:auto}.mode{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:13px 15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.mode:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.mode.empty{opacity:.45;cursor:default}.mode-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.mode-body{min-width:0;flex:1 1}.mode-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.98rem}.mode-blurb{display:block;font-size:.84rem;color:var(--ink-2);margin-top:2px}.mode-lock{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:1px 6px}.card-face{width:100%;min-height:40dvh;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px 24px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.card-face.back{border-left:3px solid var(--go);background:var(--go-soft)}.card-hint{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.card-text{font-family:var(--serif);font-size:clamp(1.25rem,5vw,1.6rem);line-height:1.4;white-space:pre-wrap}.card-tap{font-size:.82rem;color:var(--ink-3)}.two-up{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.two-up .btn{width:100%}.btn.ghost.wrongish{border-color:var(--no);color:var(--no)}.btn.ghost.wrongish:hover:not(:disabled){background:var(--no-soft);color:var(--no);border-color:var(--no)}.combo{margin:0;text-align:center;font-weight:600;font-size:.9rem;color:var(--gold)}.streak .urgent{color:var(--no);font-weight:700}.blank{display:inline-block;min-width:90px;text-align:center;padding:0 8px;margin:0 4px;border-bottom:2px solid var(--accent);color:var(--accent)}.blank.right{color:var(--go);border-color:var(--go)}.blank.wrong{color:var(--no);border-color:var(--no);text-decoration:line-through}.match-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-height:58dvh;overflow-y:auto}.match-tile{padding:12px 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.86rem;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,opacity .2s ease}.match-tile.term{font-weight:650}.match-tile.on{border-color:var(--accent);background:var(--accent-soft)}.match-tile.wrong{border-color:var(--no);background:var(--no-soft)}.match-tile.cleared{opacity:.25;cursor:default;border-style:dashed}.claim{padding:26px 22px;min-height:34dvh;display:flex;align-items:center;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);font-family:var(--serif);font-size:clamp(1.15rem,4.6vw,1.5rem);line-height:1.4}.claim.right{border-color:var(--go);background:var(--go-soft)}.claim.wrong{border-color:var(--no);background:var(--no-soft)}.choice.picked{border-color:var(--accent);background:var(--accent-soft)}.wager-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.wager{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;border-radius:var(--radius);border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.wager:hover{border-color:var(--accent);background:var(--accent-soft)}.wager-amount{font-size:1.3rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wager-label{font-size:.72rem;color:var(--ink-2);text-align:center}.start-card{display:flex;flex-direction:column;gap:7px;width:100%;text-align:left;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--paper);font:inherit;cursor:pointer;transition:background .15s ease}.start-card:hover{background:var(--accent-hover)}.start-title{font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:-.01em}.start-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.86rem;font-weight:500;opacity:.92}.start-arrow{margin-right:6px;opacity:.6}.start-note{font-size:.8rem;opacity:.72}.or-line{font-size:.78rem;letter-spacing:.06em;color:var(--ink-3);margin:6px 0 2px}.or-line,.plan-banner{text-align:center;text-transform:uppercase}.plan-banner{margin:0;font-size:.76rem;font-weight:600;letter-spacing:.05em;color:var(--accent)}.nudge{flex-direction:column;padding:18px;border-radius:var(--radius);border:1px solid var(--gold);background:var(--card);box-shadow:inset 3px 0 0 var(--gold)}.nudge,.nudge-head{display:flex;gap:9px}.nudge-head{align-items:center}.nudge-spark{font-size:1.05rem;line-height:1}.nudge-title{flex:1 1;font-weight:650;font-size:1rem;line-height:1.3}.nudge-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0 2px;font-size:1.4rem;line-height:1;color:var(--ink-3);cursor:pointer}.nudge-close:hover{color:var(--ink)}.nudge-body{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink-2)}.nudge .btn{min-height:46px;font-size:.94rem}.nudge-later{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:2px;font:inherit;font-size:.84rem;color:var(--ink-3);cursor:pointer}.nudge-later:hover{color:var(--ink-2);text-decoration:underline}.nudge-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(10,10,14,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet-nudge{width:100%;max-width:460px;margin-bottom:env(safe-area-inset-bottom)}.upgrade-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--gold);background:transparent;color:var(--gold);font:inherit;font-weight:650;font-size:.78rem;padding:5px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.upgrade-pill:hover{background:var(--gold);color:var(--paper)}.mode.locked{border-color:var(--line-2)}.mode.locked .mode-emoji{filter:saturate(.55);opacity:.85}.mode.locked:hover:not(:disabled){border-color:var(--gold);background:var(--card-2)}.stage.playing{padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(18px + env(safe-area-inset-bottom));justify-content:center}.playing .sheet{max-width:560px;gap:11px}.playing h2{font-size:clamp(1.6rem,6.4vw,2.3rem);line-height:1.22;letter-spacing:-.02em;margin:4px 0 6px}.playing .choice{min-height:66px;padding:16px 18px;font-size:clamp(1.02rem,4.3vw,1.18rem);font-weight:500;border-width:1.5px;border-radius:14px;transition:transform .12s cubic-bezier(.34,1.4,.64,1),border-color .14s ease,background .14s ease}.playing .choice:active:not(:disabled){transform:scale(.985)}.playing .choice .key{width:30px;height:30px;font-size:.82rem}.playing .choice.right{animation:pop-right .34s cubic-bezier(.34,1.5,.64,1);border-width:2px}.playing .choice.wrong{animation:shake-wrong .34s ease;border-width:2px}@keyframes pop-right{0%{transform:scale(1)}42%{transform:scale(1.028)}to{transform:scale(1)}}@keyframes shake-wrong{0%,to{transform:translateX(0)}22%{transform:translateX(-7px)}62%{transform:translateX(6px)}}.playing .topbar{gap:12px;margin-bottom:2px}.playing .bar{height:3px}.playing .streak{font-size:.78rem}.playing .why{font-size:.96rem;line-height:1.55;border-radius:14px;padding:15px 17px}.playing .btn{min-height:56px;font-size:1.05rem;border-radius:14px}.playing .btn.ghost{min-height:46px;font-size:.9rem;background:var(--card);border-color:var(--line-2);color:var(--ink-2)}.playing .btn.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.playing .card-face{min-height:46dvh;border-radius:16px}.playing .card-text{font-size:clamp(1.4rem,5.6vw,1.9rem)}.playing .claim{min-height:38dvh;border-radius:16px;font-size:clamp(1.25rem,5.2vw,1.65rem)}.playing .feed-card{height:74dvh}.playing .feed{height:74dvh;border-radius:16px}.playing .feed-big{font-size:clamp(1.5rem,6vw,2.1rem)}.playing .score{font-size:clamp(4.5rem,26vw,7rem);margin-bottom:-4px}@media (max-width:420px){.playing .choice{min-height:62px}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.stat{display:flex;flex-direction:column;gap:2px;padding:14px 15px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card-2)}.stat-value{font-family:var(--serif);font-size:1.7rem;font-weight:600;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-label{font-size:.8rem;font-weight:600;color:var(--ink-2)}.stat-note{font-size:.74rem;color:var(--ink-3)}.spark{display:flex;align-items:flex-end;gap:4px;height:90px}.spark-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}.spark-bar{width:100%;border-radius:3px 3px 0 0;background:var(--line-2);min-height:3px}.spark-bar.on{background:var(--accent)}.spark-day{font-size:.64rem;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.landing{position:relative;z-index:1;width:100%;max-width:620px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}.landing-h{font-family:var(--serif);font-size:clamp(1.25rem,4.4vw,1.55rem);font-weight:600;letter-spacing:-.015em;margin:28px 0 12px}.landing-h:first-of-type{margin-top:0}.landing-p{margin:0 0 8px;font-size:.98rem;line-height:1.65;color:var(--ink-2)}.landing-steps{display:flex;flex-direction:column;gap:12px}.landing-step{display:flex;gap:13px;align-items:flex-start}.landing-step strong{display:block;font-size:1rem;font-weight:600;margin-bottom:2px}.landing-step p{margin:0;font-size:.94rem;line-height:1.55;color:var(--ink-2)}.landing-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:600;color:var(--paper);background:var(--accent)}.landing-faq{display:flex;flex-direction:column}.landing-fine{margin:26px 0 0;font-size:.8rem;line-height:1.5;color:var(--ink-3)}.drop{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:18px;border-radius:var(--radius);border:1.5px dashed var(--line-2);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.drop:hover{border-color:var(--accent);background:var(--accent-soft)}.drop-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.drop-body{min-width:0;flex:1 1}.drop-title{display:block;font-weight:600;font-size:1rem}.drop-note{display:block;font-size:.84rem;color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boss-card{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--gold);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;box-shadow:inset 3px 0 0 var(--gold);transition:background .15s ease,border-color .15s ease}.boss-card:hover{background:var(--card-2)}.boss-emoji{font-size:1.5rem;line-height:1;flex-shrink:0}.boss-tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.boss-chapter{color:var(--ink-3)}.boss-weak{color:var(--no);border:1px solid var(--no);border-radius:4px;padding:1px 7px;text-transform:none;letter-spacing:0}.boss-streak{color:var(--gold);margin-left:auto}.vs-label{margin:0;font-size:.76rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}.link-box{padding:13px 15px;border-radius:var(--radius);border:1px dashed var(--line-2);background:var(--card-2);font-size:.86rem;word-break:break-all;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board{display:flex;flex-direction:column;gap:6px}.board-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--card);font-size:.94rem}.board-row.me{border-color:var(--accent);background:var(--accent-soft)}.board-row:first-child .board-rank{color:var(--gold);font-weight:700}.board-rank{width:20px;flex-shrink:0;color:var(--ink-3);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.board-score{color:var(--ink-2);font-size:.86rem;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile.on{background:var(--accent-soft)}.tile.on,.update-nudge{border-color:var(--accent)}.update-nudge{box-shadow:inset 3px 0 0 var(--accent)}.tile.owned{border-color:var(--go);background:var(--go-soft)}.tile.owned .icon{color:var(--go)}.vs-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:18px 20px;border-radius:var(--radius);border:1px solid var(--gold);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:background .15s ease,transform .15s ease}.vs-card:hover{background:var(--card-2)}.vs-card:active{transform:translateY(1px)}.vs-glow{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(212,175,95,.16) 50%,transparent 70%);transform:translateX(-100%);animation:sweep 4.5s ease-in-out infinite;pointer-events:none}@keyframes sweep{0%,55%{transform:translateX(-100%)}85%,to{transform:translateX(100%)}}.vs-top{display:flex;align-items:center;gap:10px}.vs-emoji{font-size:1.45rem;line-height:1}.vs-name{font-family:var(--serif);font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.vs-badge{margin-left:auto;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);border-radius:4px;padding:2px 7px}.vs-blurb{font-size:.88rem;line-height:1.45;color:var(--ink-2)}.vs-card.locked .vs-blurb{color:var(--gold);font-weight:500}@media (prefers-reduced-motion:reduce){.vs-glow{animation:none}}.kick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0 2px;font-size:1.2rem;line-height:1;color:var(--ink-3);cursor:pointer;flex-shrink:0}.kick:hover{color:var(--no)}.countdown-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 0}.countdown-num{font-family:var(--serif);font-size:clamp(5rem,30vw,9rem);font-weight:600;line-height:1;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teaser{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--gold);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;transition:background .15s ease}.teaser:hover{background:var(--card-2)}.teaser-head{display:flex;align-items:baseline;gap:10px}.teaser-title{flex:1 1;font-weight:650;font-size:1rem;line-height:1.3}.teaser-price{font-size:.82rem;font-weight:650;color:var(--gold);white-space:nowrap}.teaser-modes{display:flex;flex-wrap:wrap;gap:6px}.teaser-chip{font-size:.76rem;font-weight:500;padding:4px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--card-2);white-space:nowrap}.teaser-foot{font-size:.8rem;color:var(--ink-2)}.course-head{display:flex;align-items:center;gap:8px;margin-top:10px}.course-head .course-name{flex:1 1;margin-top:0}.row-with-action{display:flex;align-items:stretch;gap:6px}.row-with-action .tile{flex:1 1;min-width:0}.row-delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:none;color:var(--ink-3);padding:0 9px;border-radius:var(--radius);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:color .15s ease,background .15s ease,border-color .15s ease}.row-delete:hover{color:var(--no);background:var(--no-soft);border-color:var(--no)}.confirm{overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:13px 15px;margin-top:6px;border-radius:var(--radius);border:1px solid var(--no);background:var(--no-soft)}.confirm-text{font-size:.88rem;line-height:1.45;color:var(--ink)}.confirm-actions{display:flex;gap:8px}.confirm-no,.confirm-yes{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:600;font-size:.88rem;padding:10px 14px;border-radius:var(--radius);cursor:pointer}.confirm-no{border:1px solid var(--line-2);background:var(--card);color:var(--ink)}.confirm-yes{border:1px solid var(--no);background:var(--no);color:var(--card)}.confirm-yes:hover{filter:brightness(1.08)}