@font-face{font-family:Archivo;src:url(/fonts/Archivo-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/Archivo-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/SourceSerif4-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}:root{color-scheme:light dark;--font-ui: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-verse: "Source Serif 4", Georgia, serif;--edge: 3px;--r-chip: 8px;--r-tile: 14px;--r-card: 22px;--r-sheet: 28px;--gold-line: #EFD79A;--leaf-line: #B9E5D5;--crimson-ink: #9A1F33;--scrim: rgba(23, 26, 56, .5);--glass: rgba(255, 255, 255, .16);--glass-line: rgba(255, 255, 255, .22);--gutter: 20px;--tabbar-h: 68px;--topnav-h: 64px}@media(prefers-color-scheme:dark){:root{--gold-line: #5C4A17;--leaf-line: #1F5C46;--gold-soft: #3B3012;--gold-ink: #F7CD5A;--leaf-soft: #11372B;--leaf-ink: #5FD3A6;--leaf-edge: #1F5C46;--ember-soft: #3E2216;--ember-ink: #FF9E6E;--crimson-soft: #3D1A24;--crimson-ink: #FF8D9F;--crimson-edge: #6B2A38;--tier1-soft: #3A3112;--tier2-soft: #163423;--tier3-soft: #162A47;--tier4-soft: #2B1F45;--indigo: #3A3F8F;--indigo-edge: #23275E;--scrim: rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:25px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--tier3);outline-offset:2px;border-radius:6px}img,svg{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.t-display{font-size:40px;line-height:44px;font-weight:800;letter-spacing:-1.2px;margin:0;color:var(--ink)}.t-score{font-size:48px;line-height:48px;font-weight:800;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.t-title{font-size:28px;line-height:32px;font-weight:800;letter-spacing:-.8px;margin:0;color:var(--ink)}.t-card{font-size:17px;line-height:22px;font-weight:700;letter-spacing:-.2px;margin:0;color:var(--ink)}.t-body{font-size:16px;line-height:25px;font-weight:400;color:var(--ink2);margin:0}.t-label{font-size:14px;line-height:20px;font-weight:600;color:var(--ink)}.t-meta{font-size:13px;line-height:18px;font-weight:600;color:var(--ink3)}.t-verse{font-family:var(--font-verse);font-size:22px;line-height:33px;color:var(--ink)}.t-verse-sm{font-family:var(--font-verse);font-size:18px;line-height:30px;color:var(--ink)}.num{font-variant-numeric:tabular-nums}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.center{text-align:center}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.row.start{align-items:flex-start}.row.base{align-items:baseline}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.between.base{align-items:baseline}.stack{display:flex;flex-direction:column}.grow{flex:1;min-width:0}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:var(--r-tile);font-weight:700;font-size:17px;letter-spacing:-.2px;line-height:22px;white-space:nowrap;border-bottom:var(--edge) solid transparent;transition:transform .12s ease,border-bottom-width .12s ease,background-color .12s ease;-webkit-user-select:none;user-select:none}.btn:not(:disabled):active{transform:translateY(var(--edge));border-bottom-width:0;margin-bottom:var(--edge)}.btn-primary{background:var(--gold);color:#171a38;border-bottom-color:var(--gold-edge)}.btn-primary:not(:disabled):hover{filter:brightness(1.04)}.btn-secondary{background:var(--indigo);color:#fff;border-bottom-color:var(--indigo-edge)}.btn-quiet{background:var(--surface);color:var(--ink);font-weight:600;border:1.5px solid var(--line);border-bottom:var(--edge) solid var(--line)}.btn-quiet:not(:disabled):hover{background:var(--line2)}.btn-text{background:transparent;color:var(--indigo);text-decoration:underline;text-underline-offset:3px;border:0;min-height:44px;padding:8px 12px}.btn-text:active{transform:none}.btn-danger{color:var(--crimson)}.btn:disabled{background:var(--line2);color:var(--ink3);border-bottom-color:var(--line)}.btn-text:disabled{background:transparent}.btn-sm{min-height:44px;padding:8px 16px;font-size:15px}.btn-xs{min-height:36px;padding:6px 14px;font-size:15px}.btn-block{display:flex;width:100%}.btn-icon{width:44px;padding:0}.icon-btn{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-tile);background:var(--surface);border:1.5px solid var(--line);border-bottom-width:4.5px;color:var(--ink);transition:transform .12s}.icon-btn:active{transform:translateY(3px);border-bottom-width:1.5px}.icon-btn:hover{background:var(--line2)}.chip{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;font-size:13px;line-height:18px;font-weight:600;background:var(--line2);color:var(--ink2);white-space:nowrap;flex:none}button.chip{min-height:34px}.chip-gold{background:var(--gold-soft);color:var(--gold-ink)}.chip-gold-solid{background:var(--gold);color:#171a38}.chip-ember{background:var(--ember-soft);color:var(--ember-ink)}.chip-leaf{background:var(--leaf-soft);color:var(--leaf-ink)}.chip-crimson{background:var(--crimson-soft);color:var(--crimson-ink)}.chip-glass{background:var(--glass);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip-selected{background:var(--indigo);color:#fff}.chip-selectable{background:var(--surface);color:var(--ink2);border:1px solid var(--line)}.chip-selectable:hover{background:var(--line2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:20px;min-width:0;position:relative}.card.gold{background:var(--gold-soft);border-color:var(--gold-line)}.card.done{background:var(--leaf-soft);border-color:var(--leaf-line)}.card.tight{padding:8px}.card.list{padding:4px 16px}.card.dashed{border-style:dashed;background:transparent}.card.edge{border-bottom-width:calc(1px + var(--edge))}a.card,button.card{display:block;width:100%;transition:transform .12s}a.card:hover,button.card:hover{border-color:var(--ink3)}.divided>*+*{border-top:1px solid var(--line2)}.bar{height:12px;border-radius:999px;background:var(--line);overflow:hidden}.bar>span{display:block;height:100%;border-radius:999px;background:var(--gold);transition:width .4s cubic-bezier(.2,.7,.3,1)}.bar.sm{height:8px}.bar.xs{height:6px}.bar.glass{background:var(--glass-line)}.input{height:52px;width:100%;border:1.5px solid var(--line);border-radius:var(--r-tile);padding:0 16px;font-size:17px;font-weight:600;background:var(--surface);color:var(--ink)}.input::placeholder{color:var(--ink3);font-weight:500}.input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px color-mix(in srgb,var(--indigo) 18%,transparent)}.input.code{letter-spacing:6px;font-weight:700;font-variant-numeric:tabular-nums}.field-label{display:block;font-size:14px;line-height:20px;font-weight:600;margin-bottom:8px;color:var(--ink)}.opt{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 16px;border-radius:var(--r-tile);background:var(--surface);border:1.5px solid var(--line);border-bottom-width:calc(1.5px + var(--edge));transition:transform .12s,background-color .12s}.opt:hover:not(:disabled){background:var(--line2)}.opt:active:not(:disabled){transform:translateY(2px);border-bottom-width:1.5px;margin-bottom:3px}.opt.on{background:var(--leaf-soft);border-color:var(--leaf);border-bottom-color:var(--leaf-edge)}.key{width:26px;height:26px;flex:none;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:var(--line2);color:var(--ink2);font-size:13px;font-weight:700}.opt.on .key{background:var(--leaf);color:#fff}.checkbox{width:24px;height:24px;flex:none;border-radius:7px;border:1.5px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center}.checkbox.on{border-color:var(--indigo);background:var(--indigo)}.check-round{width:26px;height:26px;flex:none;border-radius:999px;border:2px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center}.check-round.on{border-color:var(--indigo);background:var(--indigo)}.glyph{width:48px;height:48px;flex:none;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.glyph.sm{width:38px;height:38px;border-radius:12px}.avatar{flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--line2);color:var(--ink);font-weight:800;font-size:14px}.avatar.me{background:var(--gold);color:#171a38}.has-photo{overflow:hidden;padding:0}.has-photo img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}.shell{min-height:100vh;min-height:100dvh}.main{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}.page{width:100%;max-width:640px;margin:0 auto;padding:16px var(--gutter) 32px;display:flex;flex-direction:column;gap:24px}.page.wide{max-width:1080px}.page.flush{padding:0;gap:0;max-width:none}.topbar{display:flex;align-items:center;gap:12px;min-height:48px}.topbar .t-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink3);font-size:12px;font-weight:600}.tab .pill{width:52px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background-color .16s}.tab.active{color:var(--indigo)}.tab.active .pill{background:var(--line2)}.topnav{display:none}@media(min-width:900px){:root{--gutter: 32px}.tabbar{display:none}.main{padding-bottom:0}.page{padding-top:32px;padding-bottom:48px}.topnav{display:block;position:sticky;top:0;z-index:40;height:var(--topnav-h);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.topnav-inner{max-width:1080px;height:100%;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:32px}.topnav-brand{display:flex;align-items:center;flex:none}.topnav-links{display:flex;align-items:center;gap:4px;flex:1}.topnav-links a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;color:var(--ink2);font-weight:600;font-size:15px;transition:background-color .12s,color .12s}.topnav-links a:hover{background:var(--line2);color:var(--ink)}.topnav-links a.active{background:var(--line2);color:var(--indigo);font-weight:700}.topnav-me{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 12px;border-radius:999px;flex:none;min-width:0}.topnav-me:hover,.topnav-me.active{background:var(--line2)}.topnav-me.active .avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--gold)}}@media(prefers-color-scheme:dark){.tab.active,.topnav-links a.active,.segments button[aria-selected=true],.btn-text{color:var(--ink)}}.canopy{position:relative;color:#fff;padding:20px var(--gutter) 46px;overflow:hidden}.canopy.dawn{background:var(--sky-dawn)}.canopy.day{background:var(--sky-day)}.canopy.dusk{background:var(--sky-dusk)}.canopy.night{background:var(--sky-night)}.canopy:after{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,rgba(255,255,255,.12),transparent);pointer-events:none}.canopy-inner{position:relative;z-index:1;max-width:1080px;margin:0 auto}.chalk{position:relative;z-index:2;background:var(--canvas);border-radius:var(--r-sheet) var(--r-sheet) 0 0;margin-top:-22px}.glass-btn{width:44px;height:44px;border-radius:999px;background:var(--glass);display:inline-flex;align-items:center;justify-content:center;position:relative;color:#fff;flex:none}.glass-btn:hover{background:var(--glass-line)}.glass-btn .badge{position:absolute;top:-4px;right:-6px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold);color:#171a38;font-size:11px;line-height:18px;font-weight:800}@media(min-width:900px){.canopy{padding-top:32px;padding-bottom:64px;border-radius:0}}.scrim{position:fixed;inset:0;z-index:100;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease}.sheet{width:100%;max-width:560px;max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:12px 20px calc(28px + env(safe-area-inset-bottom));animation:rise .26s cubic-bezier(.2,.8,.3,1)}.sheet:focus{outline:none}.sheet .handle{width:40px;height:4px;border-radius:999px;background:var(--line);margin:0 auto 16px}@media(min-width:700px){.scrim{align-items:center;padding:24px}.sheet{border-radius:var(--r-sheet);padding:24px 28px 28px;animation:pop .2s cubic-bezier(.2,.8,.3,1)}.sheet .handle{display:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px);opacity:.6}}@keyframes pop{0%{transform:scale(.96);opacity:0}}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + 20px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:200;background:var(--ink);color:var(--canvas);padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;box-shadow:0 8px 24px #0000002e;animation:rise .2s ease}@media(min-width:900px){.toast{bottom:28px}}.splash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--sky-dawn);color:#fff;padding:20px;position:relative}.splash .word{font-size:44px;font-weight:800;letter-spacing:-1.3px;animation:splash-pop .52s cubic-bezier(.3,1.4,.5,1) both}.splash .tag{font-size:16px;font-weight:600;opacity:.85;margin-top:8px;animation:fade .6s .12s both}.splash .track{position:absolute;bottom:56px;width:120px;height:4px;border-radius:999px;background:#fff3;overflow:hidden}.splash .track span{display:block;height:100%;background:var(--gold);border-radius:999px;animation:load 1.4s .2s cubic-bezier(.2,.7,.3,1) both}@keyframes splash-pop{0%{transform:scale(.8);opacity:0}}@keyframes load{0%{width:0}to{width:100%}}.wordmark{font-weight:800;font-size:20px;letter-spacing:-.6px;color:var(--ink);white-space:nowrap}.wordmark sup{font-family:var(--font-verse);font-weight:600;font-size:12px;color:var(--gold-edge);margin-left:1px}.wordmark.on-dark{color:#fff}.wordmark.on-dark sup{color:var(--gold)}.loading{display:flex;align-items:center;justify-content:center;min-height:40vh}.spinner{width:28px;height:28px;border-radius:999px;border:3px solid var(--line);border-top-color:var(--indigo);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr;background:var(--canvas)}.auth-hero{background:var(--sky-dawn);color:#fff;padding:24px var(--gutter) 64px;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px}.auth-hero .t-display{color:#fff}.auth-hero .t-body{color:#ffffffe6;max-width:400px}.auth-panel{position:relative;background:var(--canvas);border-radius:var(--r-sheet) var(--r-sheet) 0 0;margin-top:-24px;padding:28px var(--gutter) 40px;display:flex;flex-direction:column;gap:12px;width:100%}.auth-panel>*{width:100%;max-width:420px;margin-left:auto;margin-right:auto}.auth-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;max-width:420px}.auth-tiles>div{background:var(--glass);border-radius:var(--r-tile);padding:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-fact{color:#fff;font-size:22px;line-height:26px;font-weight:800}.auth-fact-label{color:#fffc}.auth-slides{position:relative;z-index:1;margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:24px}.auth-slide-stack{display:grid}.auth-slide{grid-area:1 / 1;display:flex;flex-direction:column;align-items:flex-start;gap:12px;visibility:hidden;transition:visibility 0s linear .6s}.auth-slide.is-active{visibility:visible;transition-delay:0s}.auth-slide>*{opacity:0;transform:translateY(18px);transition:opacity .42s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.auth-slide:not(.is-active)>*{transform:translateY(-10px);transition-duration:.26s;transition-delay:0s}.auth-slide.is-active>*{opacity:1;transform:none}.auth-slide.is-active>:nth-child(2){transition-delay:70ms}.auth-slide.is-active>:nth-child(3){transition-delay:.14s}.auth-slide.is-active>:nth-child(4){transition-delay:.21s}.auth-slide-chip{gap:6px}.auth-slide .auth-tiles>div{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.auth-slide.is-active .auth-tiles>div:nth-child(2){transition-delay:.26s}.auth-slide.is-active .auth-tiles>div:nth-child(3){transition-delay:.32s}.auth-controls{display:flex;align-items:center;gap:12px;max-width:420px}.auth-dots{flex:1;display:flex;gap:6px}.auth-dot{flex:1;height:24px;display:flex;align-items:center;cursor:pointer}.auth-dot span{display:block;width:100%;height:4px;border-radius:999px;background:linear-gradient(var(--gold),var(--gold)) no-repeat left / 0% 100%,#ffffff47}.auth-dot:hover span{background-color:#ffffff73}.auth-dot.is-done span,.auth-dot.is-active span{background-size:100% 100%}.auth-dot.is-running span{animation:auth-fill linear forwards}.auth-slides.is-paused .auth-dot.is-running span{animation-play-state:paused}@keyframes auth-fill{0%{background-size:0% 100%}to{background-size:100% 100%}}.auth-orbs{position:absolute;inset:0;pointer-events:none;overflow:hidden}.auth-orbs span{position:absolute;border-radius:999px;filter:blur(60px);opacity:.55;will-change:transform}.auth-orbs span:nth-child(1){width:46vmax;height:46vmax;left:-12vmax;top:-14vmax;background:radial-gradient(circle,rgba(122,59,126,.9),transparent 70%);animation:orb-a 22s ease-in-out infinite alternate}.auth-orbs span:nth-child(2){width:38vmax;height:38vmax;right:-14vmax;bottom:-16vmax;background:radial-gradient(circle,rgba(242,177,14,.55),transparent 70%);animation:orb-b 26s ease-in-out infinite alternate}.auth-orbs span:nth-child(3){width:24vmax;height:24vmax;left:35%;top:30%;background:radial-gradient(circle,rgba(236,154,95,.6),transparent 70%);animation:orb-c 18s ease-in-out infinite alternate}@keyframes orb-a{to{transform:translate(14vmax,10vmax) scale(1.15)}}@keyframes orb-b{to{transform:translate(-12vmax,-8vmax) scale(1.1)}}@keyframes orb-c{50%{transform:translate(-8vmax,6vmax) scale(.9)}to{transform:translate(6vmax,-6vmax) scale(1.2)}}.auth-hero>.wordmark{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){.auth-orbs span{animation:none}.auth-slide>*{transform:none!important}}@media(min-width:900px){.auth{grid-template-rows:none;grid-template-columns:1.1fr 1fr}.auth-hero{padding:48px 56px;justify-content:space-between}.auth-hero .t-display{font-size:56px;line-height:60px;letter-spacing:-1.8px}.auth-panel{margin:0;border-radius:0;justify-content:center;padding:48px}}.path{position:relative;display:flex;flex-direction:column;gap:14px}.path:before{content:"";position:absolute;left:26.5px;top:28px;bottom:28px;border-left:3px dashed var(--line)}.step{position:relative;width:56px;height:56px;flex:none;border-radius:999px;border:3px solid var(--surface);border-bottom-width:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .12s}button.step:active{transform:translateY(3px);border-bottom-width:3px}.step.next{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent)}.step .n{position:absolute;top:-6px;left:-6px;width:22px;height:22px;border-radius:999px;border:2px solid var(--surface);font-size:11px;line-height:18px;font-weight:800;text-align:center}.step .ring{position:absolute;inset:5px;border-radius:999px;border:1.5px dashed rgba(124,130,172,.5)}.week{display:flex;justify-content:space-between;margin-top:12px}.week .d{width:34px;display:flex;flex-direction:column;align-items:center;gap:4px}.week .dot{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);background:var(--surface);color:var(--ember);font-size:13px;font-weight:700}.week .dot.hit{background:var(--ember);border-color:var(--ember);color:#fff}.week .dot.today{border:2.5px dashed var(--ember)}.week .dot.frozen{background:var(--tier3);border-color:var(--tier3);color:#fff}.home-grid{display:grid;gap:24px}@media(min-width:1100px){.home-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}}.play{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;max-width:640px;margin:0 auto;padding:12px var(--gutter) calc(20px + env(safe-area-inset-bottom));gap:16px}.play-foot{margin-top:auto;padding-top:12px;display:flex;gap:10px}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tile{min-height:72px;border-radius:var(--r-tile);border:1px solid var(--line);background:var(--line2);color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 4px;font-size:14px;line-height:18px;font-weight:700;transition:transform .1s,background-color .12s;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.tile:hover{border-color:var(--ink3)}.tile:active{transform:scale(.96)}.tile.sel{background:var(--indigo);border-color:var(--indigo);color:#fff}.tile.bad{background:var(--crimson-soft);border-color:var(--crimson);color:var(--ink)}@media(min-width:560px){.tile{min-height:84px;font-size:15px}}.solved{border-radius:var(--r-tile);padding:12px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;animation:pop .24s ease}.solved .name{color:#fff;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.solved .members{color:#ffffffeb}.solved.on-light .name,.solved.on-light .members{color:#171a38}.shake{animation:shake .3s ease}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.pips{display:flex;gap:4px}.pips span{width:10px;height:10px;border-radius:99px;background:var(--line)}.pips span.on{background:var(--ink)}.answer{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px 16px;border-radius:var(--r-tile);background:var(--surface);border:1.5px solid var(--line);border-bottom-width:calc(1.5px + var(--edge));font-size:16px;font-weight:600;color:var(--ink);transition:transform .1s,background-color .12s}.answer:hover:not(:disabled){background:var(--line2)}.answer:active:not(:disabled){transform:translateY(2px);border-bottom-width:1.5px;margin-bottom:3px}.answer.right{background:var(--leaf-soft);border-color:var(--leaf)}.answer.right .key{background:var(--leaf);color:#fff}.answer.wrong{background:var(--crimson-soft);border-color:var(--crimson)}.answer.wrong .key{background:var(--crimson);color:#fff}.answer:disabled{cursor:default}.answers-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answers-2 .answer{justify-content:center;text-align:center}.blank{font-family:var(--font-verse);font-weight:600;text-decoration:underline;text-underline-offset:4px;color:var(--gold)}.vnum{font-family:var(--font-verse);font-weight:600;font-size:12px;color:var(--gold-edge);vertical-align:super;margin-right:2px}.kbd{display:inline-block;min-width:18px;padding:0 5px;border-radius:5px;border:1px solid var(--line);border-bottom-width:2px;font-size:11px;line-height:16px;font-weight:700;color:var(--ink3);text-align:center}.hint{display:none}@media(hover:hover)and (min-width:900px){.hint{display:inline}}.seals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px;column-gap:4px}@media(min-width:640px){.seals{grid-template-columns:repeat(4,minmax(0,1fr))}}.seal{width:76px;height:76px;border-radius:999px;display:flex;align-items:center;justify-content:center;position:relative;margin:0 auto;color:#fff}.seal:before{content:"";position:absolute;inset:5px;border-radius:999px;border:1.5px dashed rgba(255,255,255,.55)}.seal.locked{background:var(--line);color:var(--ink3)}.seal.locked:before{border-color:#7c82ac80}.seal.sm{width:56px;height:56px;margin:0}.seal.sm:before{inset:4px}.segments{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--line2)}.segments button{flex:1;min-height:40px;border-radius:999px;font-size:14px;font-weight:700;color:var(--ink3);text-align:center}.segments button[aria-selected=true]{background:var(--surface);color:var(--indigo);border-bottom:1px solid var(--line)}.switch{width:48px;height:28px;flex:none;border-radius:999px;background:var(--line);border-bottom:var(--edge) solid var(--line);position:relative;transition:background-color .16s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;transition:left .16s}.switch.on{background:var(--indigo);border-bottom-color:var(--indigo-edge)}.switch.on:after{left:23px}.podium{display:flex;align-items:flex-end;gap:8px;padding:24px 12px 0;overflow:hidden}.podium>div{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}.podium .pav{border-radius:999px;border:3px solid;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:var(--ink);position:relative}.podium .rank{position:absolute;left:50%;bottom:-10px;transform:translate(-50%);min-width:26px;height:24px;padding:0 7px;border-radius:999px;border:2px solid var(--surface);font-size:12px;line-height:20px;font-weight:800;text-align:center}.podium .stand{align-self:stretch;border-radius:8px 8px 0 0;margin-top:10px}.lb-row{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:52px}.me-pin{position:sticky;bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-tile);background:var(--gold-soft);border:1px solid var(--gold-line);border-bottom-width:calc(1px + var(--edge));box-shadow:0 -12px 24px var(--canvas)}@media(min-width:900px){.me-pin{bottom:20px}}.row-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:var(--r-tile);min-height:56px;text-align:left}.row-btn:hover{background:var(--canvas)}.unread-dot{width:8px;height:8px;border-radius:999px;background:var(--ink);flex:none}.av-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:999px;border:2px solid var(--surface);background:var(--ember)}.hero-card{border-radius:var(--r-card);border:1px solid var(--gold-line);border-bottom-width:calc(1px + var(--edge));background:var(--gold-soft);padding:16px;display:flex;flex-direction:column;gap:16px}.hero-av{width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;border-bottom:var(--edge) solid;color:#171a38}.dots{display:flex;gap:4px}.dots span{border-radius:999px;background:var(--line)}.dots span.on{background:var(--leaf)}.plus-btn{width:48px;height:48px;flex:none;border-radius:999px;background:var(--gold);border-bottom:var(--edge) solid var(--gold-edge);display:inline-flex;align-items:center;justify-content:center;color:#171a38}.plus-btn:active{transform:translateY(3px);border-bottom-width:0}.kind-card{flex:1;position:relative;display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:16px 14px;border-radius:var(--r-card);background:var(--surface);border:1.5px solid var(--line);border-bottom-width:calc(1.5px + var(--edge));text-align:left}.kind-card:hover{background:var(--line2)}.kind-card.on{border-color:var(--indigo)}.kind-card .tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:999px;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center}.ends{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(min-width:560px){.ends{grid-template-columns:repeat(5,1fr)}}.ends button{text-align:center;min-height:48px;border-radius:var(--r-tile);border:1.5px solid var(--line);border-bottom-width:calc(1.5px + var(--edge));background:var(--surface);font-size:15px;font-weight:700;color:var(--ink)}.ends button:hover{background:var(--line2)}.ends button.on{background:var(--indigo);border-color:var(--indigo);border-bottom-color:var(--indigo-edge);color:#fff}.code-big{font-size:48px;line-height:52px;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums;padding-left:.12em}.code-boxes{display:flex;gap:8px;justify-content:center;position:relative}.code-boxes .box{width:48px;height:56px;border-radius:var(--r-tile);border:1.5px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.code-boxes .box.active{border-color:var(--indigo);box-shadow:0 0 0 3px color-mix(in srgb,var(--indigo) 22%,transparent)}.code-boxes input{position:absolute;inset:0;opacity:0;width:100%;height:100%;font-size:16px;cursor:text}.h2h{display:flex;align-items:flex-start}.h2h>.col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.h2h>.sep{width:1px;align-self:stretch;background:var(--line);margin:4px 0}.standing{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:56px;border-radius:12px}.standing.me{background:var(--gold-soft)}.standing.lg{padding:14px 16px}.empty-seat{display:flex;align-items:center;gap:12px;padding:8px;min-height:52px;border:1px dashed var(--line);border-radius:var(--r-tile);margin:8px 0}.sticky-foot{position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:5;background:var(--canvas);border-top:1px solid var(--line2);padding:12px 0 16px;margin-top:auto;display:flex;flex-direction:column;gap:10px}@media(min-width:900px){.sticky-foot{bottom:0}}.avatar-ring{position:relative;width:112px;height:112px;margin:0 auto}.avatar-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.avatar-ring .face{position:absolute;inset:12px;border-radius:999px;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:36px}.avatar-ring .lvl{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);min-width:76px;height:26px;padding:0 10px;border-radius:999px;background:var(--gold);border-bottom:var(--edge) solid var(--gold-edge);color:#171a38;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;white-space:nowrap}.stats3{display:grid;grid-template-columns:repeat(3,1fr);padding:16px 0}.stats3>div{display:flex;flex-direction:column;align-items:center}.stats3>div+div{border-left:1px solid var(--line2)}.year{overflow-x:auto;scrollbar-width:none;margin-top:14px}.year::-webkit-scrollbar{display:none}.year-grid{display:grid;grid-auto-flow:column;grid-template-rows:14px repeat(7,10px);gap:3px;width:max-content}.year-grid .m{font-size:11px;line-height:14px;font-weight:600;color:var(--ink3);white-space:nowrap;overflow:visible;width:10px}.year-grid .c{width:10px;height:10px;border-radius:2px;background:var(--line)}.year-grid .c.hit{background:var(--ember)}.year-grid .c.future{background:transparent}.legend{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}.menu-row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;border-bottom:1px solid var(--line2);font-size:16px;font-weight:600;color:var(--ink)}.menu-row:last-of-type{border-bottom:0}.menu-row:hover{color:var(--indigo)}.record{display:flex;justify-content:space-between;align-items:center;min-height:48px}.ring-chart{position:relative;width:72px;height:72px;flex:none}.ring-chart svg{transform:rotate(-90deg)}.ring-chart span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:var(--ink)}.share-box{margin-top:16px;border:1px solid var(--line);border-radius:var(--r-tile);padding:16px;background:var(--canvas);white-space:pre-wrap;font-size:15px;line-height:24px;font-weight:600}.squares{display:flex;gap:4px}.squares span{width:14px;height:14px;border-radius:4px;background:var(--line)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.site{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas)}.site main{flex:1}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}.site-header-inner{max-width:1120px;height:64px;margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:24px}.site-brand{flex:none}.site-sections{display:none;gap:4px;flex:1}.site-sections a{padding:8px 12px;border-radius:999px;font-weight:600;font-size:15px;color:var(--ink2)}.site-sections a:hover{background:var(--line2);color:var(--ink)}.site-actions{margin-left:auto;display:flex;align-items:center;gap:4px}@media(min-width:960px){.site-sections{display:flex}}@media(max-width:420px){.site-signin{display:none}}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.site-footer-inner{max-width:1120px;margin:0 auto;padding:32px var(--gutter) calc(32px + env(safe-area-inset-bottom));display:grid;gap:20px}.site-footer-links{display:flex;flex-wrap:wrap;gap:8px 24px}.site-footer-links a{font-weight:600;color:var(--ink2)}.site-footer-links a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.site-copy{max-width:640px}@media(min-width:900px){.site-footer-inner{grid-template-columns:1fr auto;align-items:start}.site-copy{grid-column:1 / -1}}.landing-hero{position:relative;overflow:hidden;background:var(--sky-dawn);color:#fff}.landing-hero-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:48px var(--gutter) 64px;display:grid;gap:40px;align-items:center}@media(min-width:960px){.landing-hero-inner{grid-template-columns:1.15fr 1fr;padding-top:88px;padding-bottom:104px}}.landing-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.landing-display{margin:0;font-size:clamp(44px,7vw,72px);line-height:1.02;font-weight:800;letter-spacing:-.035em;color:#fff}.landing-lede{margin:0;font-size:18px;line-height:28px;color:#ffffffe6;max-width:520px}.landing-hero-note{margin:0;font-size:14px;font-weight:600;color:#ffffffc7}.landing-ghost{background:var(--glass);color:#fff;border-bottom-color:#ffffff2e}.landing-ghost:hover{background:var(--glass-line)}.landing-device{border-radius:32px;overflow:hidden;background:var(--canvas);box-shadow:0 30px 80px #0a082859;max-width:420px;width:100%;justify-self:center;transform:rotate(-2deg);animation:device-float 7s ease-in-out infinite alternate}@keyframes device-float{to{transform:rotate(-1deg) translateY(-10px)}}.landing-device-top{background:var(--sky-day);padding:22px 22px 40px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.landing-streak{font-size:40px;line-height:40px;font-weight:800;color:#fff;letter-spacing:-1px}.landing-device-body{margin-top:-22px;position:relative;background:var(--canvas);border-radius:24px 24px 0 0;padding:20px;color:var(--ink)}.landing-section{max-width:1120px;margin:0 auto;padding:72px var(--gutter)}.landing-tint{max-width:none;background:var(--surface);border-block:1px solid var(--line2);padding-inline:max(var(--gutter),calc((100% - 1120px) / 2 + var(--gutter)))}.landing-head{display:flex;flex-direction:column;gap:10px;max-width:640px;margin-bottom:32px}.landing-eyebrow{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-edge)}.landing-h2{margin:0;font-size:clamp(30px,4vw,42px);line-height:1.1;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.landing-sub{font-size:17px;line-height:27px}.landing-small{font-size:15px;line-height:23px}.landing-games{display:grid;gap:16px}@media(min-width:900px){.landing-games{grid-template-columns:repeat(3,1fr)}}.landing-game{display:flex;flex-direction:column;gap:6px}.landing-game>:last-child{margin-top:auto}.landing-mini-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:16px}.landing-mini-tiles span{border-radius:10px;background:var(--line2);border:1px solid var(--line);font-size:12px;font-weight:700;text-align:center;padding:10px 2px;color:var(--ink)}.landing-mini-tiles span.on{background:var(--indigo);border-color:var(--indigo);color:#fff}.landing-mini-verse{margin:16px 0 0;padding:14px 16px;border-radius:var(--r-tile);background:var(--canvas);font-family:var(--font-verse);font-size:17px;line-height:27px;color:var(--ink)}.landing-mini-verse .blank{color:var(--leaf-ink)}.landing-mini-quiz{display:flex;flex-direction:column;gap:6px;padding-top:16px}.landing-mini-quiz>span:not(.t-label){display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line);font-weight:600;font-size:14px}.landing-mini-quiz b{width:22px;height:22px;border-radius:6px;background:var(--line2);display:inline-flex;align-items:center;justify-content:center;font-size:12px}.landing-mini-quiz .right{background:var(--leaf-soft);border-color:var(--leaf)}.landing-mini-quiz .right b{background:var(--leaf);color:#fff}.landing-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}@media(min-width:900px){.landing-steps{grid-template-columns:repeat(3,1fr)}}.landing-step-n{width:32px;height:32px;border-radius:999px;background:var(--gold);color:#171a38;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.landing-split{display:grid;gap:32px;align-items:center}@media(min-width:900px){.landing-split{grid-template-columns:1.1fr 1fr;gap:56px}.landing-split.reverse{grid-template-columns:1fr 1.1fr}}.landing-split .landing-head{margin-bottom:16px}.landing-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.landing-checks li{display:flex;align-items:flex-start;gap:10px;font-weight:600;font-size:15px;line-height:22px;color:var(--ink)}.landing-checks li svg{margin-top:2px}.landing-code{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;text-align:center}.landing-avatars{display:flex;align-items:center;gap:0;margin-top:8px}.landing-avatars .avatar{border:2px solid var(--surface);margin-left:-8px}.landing-avatars .avatar:first-child{margin-left:0}.landing-avatars .t-meta{margin-left:8px}.landing-seals{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}.landing-plans{display:grid;gap:16px;max-width:860px}@media(min-width:760px){.landing-plans{grid-template-columns:1fr 1fr}}.landing-plan{display:flex;flex-direction:column;gap:10px}.landing-plan .landing-checks{margin-top:8px}.landing-plan>.btn{margin-top:auto}.landing-price{font-size:40px;line-height:44px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.landing-faq{display:flex;flex-direction:column;gap:10px;max-width:820px}.landing-faq details{padding:0}.landing-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary svg{flex:none;transition:transform .2s;color:var(--ink3)}.landing-faq details[open] summary svg{transform:rotate(45deg)}.landing-faq details p{padding:0 20px 18px;margin:0}.landing-final{background:var(--sky-dusk);color:#fff;text-align:center;padding:80px var(--gutter);display:flex;flex-direction:column;align-items:center;gap:16px}@media(prefers-reduced-motion:reduce){.landing-device{animation:none}}.legal{max-width:1120px;margin:0 auto;padding:48px var(--gutter) 80px}.legal-head{max-width:760px;display:flex;flex-direction:column;gap:8px;margin-bottom:40px}.legal-head .t-display{font-size:clamp(36px,5vw,52px);line-height:1.05}.legal-intro p{margin:8px 0 0;font-size:17px;line-height:27px}.legal-layout{display:grid;gap:32px}@media(min-width:960px){.legal-layout{grid-template-columns:240px minmax(0,760px);gap:56px}}.legal-toc{align-self:start;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:16px 20px}@media(min-width:960px){.legal-toc{position:sticky;top:88px}}.legal-toc ol{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.legal-toc a{font-size:14px;font-weight:600;color:var(--ink2)}.legal-toc a:hover{color:var(--ink);text-decoration:underline}.legal-body section{scroll-margin-top:88px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line2)}.legal-body section:last-child{border-bottom:0}.legal-h2{font-size:22px;line-height:28px;margin-bottom:12px;display:flex;gap:10px}.legal-n{color:var(--ink3)}.legal-body p,.legal-body li{font-size:16px;line-height:26px;color:var(--ink2)}.legal-body p{margin:0 0 12px}.legal-body ul{margin:0 0 12px;padding-left:22px;display:flex;flex-direction:column;gap:8px}.legal-body strong{color:var(--ink)}.legal-body a,.auth-legal a{color:var(--indigo);font-weight:600;text-decoration:underline;text-underline-offset:3px}@media(prefers-color-scheme:dark){.legal-body a,.auth-legal a{color:var(--ink)}}.auth-legal{margin-top:4px}.auth-home{display:inline-flex;position:relative;z-index:1;align-self:flex-start}@media(hover:hover)and (pointer:fine){html,body{cursor:url(/cursors/arrow.svg) 5 3,auto}:is(a[href],button:not(:disabled),[role=button],[role=tab],[role=radio],[role=checkbox],[role=switch],summary,label[for],select){cursor:url(/cursors/sparkle.svg) 5 3,pointer}:is(input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),textarea){cursor:text}:disabled,[aria-disabled=true]{cursor:not-allowed}}.cursor-ring{position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2147483000;opacity:0;transition:opacity .2s}.cursor-ring.is-on{opacity:1}.cursor-ring.is-text{opacity:0}.cursor-ring:before{content:"";position:absolute;left:-16px;top:-16px;width:32px;height:32px;border-radius:999px;border:2px solid color-mix(in srgb,var(--gold) 85%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--gold) 35%,transparent);transition:transform .22s cubic-bezier(.3,1.6,.5,1),background-color .2s,border-color .2s}.cursor-ring.is-hover:before{transform:scale(1.45);background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:var(--gold)}.cursor-ring.is-down:before{transform:scale(.72)}.cursor-ring.is-hover.is-down:before{transform:scale(1.05)}.cursor-sparks{position:fixed;inset:0;pointer-events:none;z-index:2147483001;overflow:hidden}.cursor-spark{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:999px;background:var(--c);animation:spark .54s cubic-bezier(.2,.8,.3,1) forwards}.cursor-spark.star{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}@keyframes spark{0%{transform:translate(0) scale(1) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2) rotate(200deg);opacity:0}}.btn,.icon-btn,.glass-btn,.plus-btn,.tile,.answer,.opt,.kind-card,.row-btn,a.card,button.card,.ends button,.step,.chip,.topnav-links a,.tab .pill,.avatar,.seal{transition:transform .2s cubic-bezier(.3,1.5,.5,1),box-shadow .2s ease,background-color .14s,border-color .14s,color .14s,filter .14s,border-bottom-width .12s}.btn-primary,.btn-secondary{position:relative;overflow:hidden;isolation:isolate}.btn-primary:after,.btn-secondary:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translate(-130%)}@media(hover:hover){.btn:not(:disabled):not(.btn-text):hover:not(:active){transform:translateY(-2px);box-shadow:0 8px 18px -8px #171a3873}.btn-primary:not(:disabled):hover:after,.btn-secondary:not(:disabled):hover:after{animation:shine .75s ease}.btn-text:hover{text-decoration-thickness:2px}.btn:not(:disabled):hover svg,.icon-btn:hover svg,.glass-btn:hover svg,.topnav-links a:hover svg,.tab:hover svg,.menu-row:hover svg{animation:wiggle .42s ease}.icon-btn:hover:not(:active),.glass-btn:hover:not(:active){transform:translateY(-2px) scale(1.06)}.plus-btn:hover:not(:active){transform:translateY(-2px) scale(1.08);box-shadow:0 10px 22px -10px #c4880acc}.plus-btn svg{transition:transform .32s cubic-bezier(.3,1.6,.5,1)}.plus-btn:hover svg{transform:rotate(90deg)}button.chip:hover:not(:active){transform:scale(1.06)}a.card:hover:not(:active),button.card:hover:not(:active),.kind-card:hover:not(:active),.hero-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px #171a3880}.opt:hover:not(:disabled):not(:active),.answer:hover:not(:disabled):not(:active),.ends button:hover:not(:active){transform:translateY(-2px);box-shadow:0 10px 20px -14px #171a3880}.row-btn:hover:not(:active){transform:translate(3px)}.tile:hover:not(:disabled):not(:active){transform:translateY(-3px) scale(1.03);box-shadow:0 10px 18px -12px #171a388c}button.step:hover:not(:active){transform:translateY(-3px) scale(1.06)}.topnav-links a:hover:not(:active){transform:translateY(-1px)}.tab:hover .pill{transform:translateY(-2px)}.topnav-me:hover .avatar,.side-me:hover .avatar{transform:rotate(-8deg) scale(1.08)}.seal:hover{animation:seal-pop .52s cubic-bezier(.3,1.6,.5,1)}.landing-game:hover .glyph,.landing-steps li:hover .landing-step-n{animation:wiggle .42s ease}}.step.next{animation:step-pulse 1.8s ease-in-out infinite}.flame-flicker{transform-origin:50% 90%;animation:flicker 1.6s ease-in-out infinite}.page>*,.home-grid>*>*{animation:fade-up .46s cubic-bezier(.2,.8,.2,1) backwards}.page>:nth-child(2),.home-grid>*>:nth-child(2){animation-delay:60ms}.page>:nth-child(3),.home-grid>*>:nth-child(3){animation-delay:.12s}.page>:nth-child(4){animation-delay:.18s}.page>:nth-child(5){animation-delay:.24s}.page>:nth-child(n+6){animation-delay:.3s}@keyframes shine{to{transform:translate(130%)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.1)}60%{transform:rotate(9deg) scale(1.1)}}@keyframes seal-pop{0%{transform:scale(1)}40%{transform:scale(1.12) rotate(-6deg)}to{transform:scale(1) rotate(0)}}@keyframes step-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--gold) 8%,transparent)}}@keyframes flicker{0%,to{transform:scale(1) rotate(-3deg)}30%{transform:scale(1.06,1.12) rotate(2deg)}60%{transform:scale(.97,1.04) rotate(-1deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}@media(prefers-reduced-motion:reduce){.cursor-ring,.cursor-sparks{display:none}.step.next,.flame-flicker{animation:none}}html.landing-snap{scroll-snap-type:y proximity;scroll-padding-top:64px}@media(min-width:900px)and (min-height:620px){html.landing-snap{scroll-snap-type:y mandatory}}.landing-screen{min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;position:relative}.landing-snap .site-footer{scroll-snap-align:end}.landing-hero.landing-screen{justify-content:center}.landing-hero.landing-screen .landing-hero-inner{width:100%}@media(min-width:960px){.landing-hero.landing-screen .landing-hero-inner{padding-top:56px;padding-bottom:72px}}.landing-section.landing-screen{padding-top:56px;padding-bottom:56px}.landing-final.landing-screen{align-items:center}.landing-snap .landing-screen:not(.is-visible) :is(.landing-billing,.landing-eyebrow,.landing-h2,.landing-sub,.landing-display,.landing-lede,.landing-hero-note,.landing-device,.landing-quest-row,.landing-game,.landing-mini-tiles span,.landing-steps li,.landing-code,.landing-code-letters span,.landing-avatars .avatar,.week .dot,.landing-seal,.landing-plan,.landing-faq details,.landing-stars span),.landing-snap #top:not(.is-visible) :is(.auth-slide-chip,.landing-hero-copy>.row),.landing-snap #challenges:not(.is-visible) .landing-checks li,.landing-snap #streaks:not(.is-visible) .landing-split>.card{opacity:0}.landing-snap .is-visible .landing-eyebrow{animation:eyebrow-in .6s cubic-bezier(.2,.8,.2,1) backwards}.landing-snap .is-visible .landing-h2{animation:wipe-up .75s cubic-bezier(.2,.8,.2,1) .1s backwards}.landing-snap .is-visible .landing-sub{animation:fade-rise .6s ease .26s backwards}.landing-snap #top.is-visible .auth-slide-chip{animation:pop-in .52s cubic-bezier(.3,1.6,.5,1) .1s backwards}.landing-snap #top.is-visible .landing-display{animation:blur-in-left .85s cubic-bezier(.2,.8,.2,1) .2s backwards}.landing-snap #top.is-visible .landing-lede{animation:fade-rise .65s ease .45s backwards}.landing-snap #top.is-visible .landing-hero-copy>.row{animation:spring-up .7s cubic-bezier(.3,1.4,.5,1) .6s backwards}.landing-snap #top.is-visible .landing-hero-note{animation:fade-rise .6s ease .8s backwards}.landing-snap #top.is-visible .landing-device{animation:device-in 1s cubic-bezier(.2,.9,.3,1) .35s backwards,device-float 7s ease-in-out 1.4s infinite alternate}.landing-snap #top.is-visible .landing-quest-row{animation:row-light .52s cubic-bezier(.3,1.5,.5,1) calc(1.1s + var(--i) * .18s) backwards}.landing-snap #games.is-visible .landing-game{animation:card-flip .8s cubic-bezier(.2,.9,.3,1.1) calc(.3s + var(--i) * .16s) backwards;transform-origin:50% 100%}.landing-snap #games.is-visible .landing-mini-tiles span{animation:tile-drop .42s cubic-bezier(.3,1.6,.5,1) calc(.8s + var(--i) * 60ms) backwards}.landing-mini-verse .blank{display:inline-block}.landing-snap #games.is-visible .landing-mini-verse .blank{animation:word-glow .9s ease 1.1s backwards}.landing-snap #games.is-visible .landing-mini-quiz .right{animation:answer-flash .7s ease 1.3s backwards}@media(min-width:900px){.landing-steps{position:relative}.landing-steps:before{content:"";position:absolute;left:6%;right:6%;top:38px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--gold) 0 14px,transparent 14px 24px);transform-origin:left center}.landing-steps li{position:relative;z-index:1}.landing-snap #how:not(.is-visible) .landing-steps:before{transform:scaleX(0)}.landing-snap #how.is-visible .landing-steps:before{animation:track-draw .9s cubic-bezier(.6,0,.2,1) .3s backwards}}.landing-snap #how.is-visible .landing-steps li{animation:drop-bounce .8s cubic-bezier(.3,1,.4,1) calc(.5s + var(--i) * .2s) backwards}.landing-snap #how.is-visible .landing-step-n{animation:badge-pop .6s cubic-bezier(.3,1.6,.5,1) calc(.95s + var(--i) * .2s) backwards}.landing-snap #challenges.is-visible .landing-checks li{animation:slide-from-left .6s cubic-bezier(.2,.8,.2,1) calc(.45s + var(--i, 0) * .11s) backwards}.landing-snap #challenges.is-visible .landing-checks li:nth-child(2){--i: 1}.landing-snap #challenges.is-visible .landing-checks li:nth-child(3){--i: 2}.landing-snap #challenges.is-visible .landing-code{animation:unlock 1s cubic-bezier(.3,1.3,.5,1) .3s backwards}.landing-code-letters span{display:inline-block}.landing-snap #challenges.is-visible .landing-code-letters span{animation:letter-flip .6s cubic-bezier(.3,1.5,.5,1) calc(.8s + var(--i) * .11s) backwards}.landing-snap #challenges.is-visible .landing-avatars .avatar{animation:hop .56s cubic-bezier(.3,1.6,.5,1) calc(1.5s + var(--i) * 90ms) backwards}.landing-snap #streaks.is-visible .landing-split>.card{animation:slide-from-left .7s cubic-bezier(.2,.8,.2,1) .15s backwards}.landing-snap #streaks.is-visible .week .dot{animation:dot-fill .48s cubic-bezier(.3,1.7,.5,1) calc(.6s + var(--i) * .12s) backwards}.landing-snap #streaks.is-visible .landing-seal{animation:seal-spin .8s cubic-bezier(.3,1.4,.5,1) calc(1.45s + var(--i) * .15s) backwards}.landing-snap #premium.is-visible .landing-billing{animation:pop-in .52s cubic-bezier(.3,1.6,.5,1) .25s backwards}.landing-snap #premium.is-visible .landing-plan:not(.gold){animation:slide-from-left .7s cubic-bezier(.2,.8,.2,1) .3s backwards}.landing-snap #premium.is-visible .landing-plan.gold{animation:rise-big .9s cubic-bezier(.2,.9,.3,1.1) .45s backwards}.landing-plan.gold{overflow:hidden}.landing-plan.gold:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translate(-120%)}.landing-snap #premium.is-visible .landing-plan.gold:after{animation:shine 1.1s ease 1.3s}.landing-snap #premium.is-visible .landing-plan.gold .chip{animation:wobble .8s ease 1.7s}.landing-snap #faq.is-visible .landing-faq details:nth-child(odd){animation:slide-from-left .6s cubic-bezier(.2,.9,.3,1.1) calc(.35s + var(--i) * 90ms) backwards}.landing-snap #faq.is-visible .landing-faq details:nth-child(2n){animation:slide-from-right .6s cubic-bezier(.2,.9,.3,1.1) calc(.35s + var(--i) * 90ms) backwards}.landing-final{overflow:hidden}.landing-final>:not(.landing-stars){position:relative;z-index:1}.landing-stars{position:absolute;inset:0;pointer-events:none}.landing-stars span{position:absolute;background:#fff;opacity:.35;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.landing-snap #play.is-visible .landing-stars span{animation:star-in .7s ease calc(.2s + var(--i) * 70ms) backwards,twinkle 2.6s ease-in-out calc(1.2s + var(--i) * .17s) infinite alternate}.landing-snap #play.is-visible .landing-h2{animation:zoom-from-sky .9s cubic-bezier(.2,.8,.2,1) .15s backwards}.landing-snap #play.is-visible .landing-lede{animation:fade-rise .6s ease .6s backwards}.landing-snap #play.is-visible .btn{animation:spring-up .7s cubic-bezier(.3,1.5,.5,1) .85s backwards,cta-glow 2.4s ease-in-out 1.8s infinite}@keyframes eyebrow-in{0%{opacity:0;letter-spacing:.4em;transform:translate(-14px)}}@keyframes wipe-up{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(26px)}to{opacity:1;clip-path:inset(0 0 -15% 0);transform:none}}@keyframes fade-rise{0%{opacity:0;transform:translateY(20px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes blur-in-left{0%{opacity:0;transform:translate(-70px);filter:blur(14px)}}@keyframes spring-up{0%{opacity:0;transform:translateY(44px) scale(.9)}60%{opacity:1;transform:translateY(-6px) scale(1.03)}to{transform:none}}@keyframes device-in{0%{opacity:0;transform:translate(140px) rotate(16deg) scale(.82)}60%{opacity:1;transform:translate(-10px) rotate(-5deg) scale(1.03)}to{transform:rotate(-2deg)}}@keyframes row-light{0%{opacity:0;transform:translate(28px) scale(.96)}70%{opacity:1;transform:translate(-3px) scale(1.01)}to{transform:none}}@keyframes card-flip{0%{opacity:0;transform:perspective(900px) rotateY(-95deg) translateY(30px)}55%{opacity:1;transform:perspective(900px) rotateY(14deg)}to{transform:perspective(900px) rotateY(0)}}@keyframes tile-drop{0%{opacity:0;transform:translateY(-18px) scale(.5)}70%{opacity:1;transform:translateY(2px) scale(1.06)}to{transform:none}}@keyframes word-glow{0%{opacity:0;transform:translateY(-10px)}55%{opacity:1;transform:none;text-shadow:0 0 16px var(--gold)}to{text-shadow:none}}@keyframes answer-flash{0%{background-color:var(--surface);border-color:var(--line)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--leaf) 25%,transparent)}}@keyframes track-draw{0%{transform:scaleX(0)}}@keyframes drop-bounce{0%{opacity:0;transform:translateY(-90px)}55%{opacity:1;transform:translateY(10px)}75%{transform:translateY(-5px)}to{transform:none}}@keyframes badge-pop{0%{transform:scale(0)}60%{transform:scale(1.35);box-shadow:0 0 0 9px color-mix(in srgb,var(--gold) 30%,transparent)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}@keyframes slide-from-left{0%{opacity:0;transform:translate(-70px)}}@keyframes slide-from-right{0%{opacity:0;transform:translate(70px)}}@keyframes unlock{0%{opacity:0;transform:scale(.7)}55%{opacity:1;transform:scale(1.05);box-shadow:0 0 0 14px color-mix(in srgb,var(--gold) 25%,transparent),0 0 70px color-mix(in srgb,var(--gold) 45%,transparent)}to{transform:none}}@keyframes letter-flip{0%{opacity:0;transform:perspective(400px) rotateX(95deg) translateY(-12px)}60%{opacity:1;transform:perspective(400px) rotateX(-22deg)}to{transform:none}}@keyframes hop{0%{opacity:0;transform:translateY(16px) scale(.5)}50%{opacity:1;transform:translateY(-10px) scale(1.06)}to{transform:none}}@keyframes dot-fill{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.25)}to{transform:none}}@keyframes seal-spin{0%{opacity:0;transform:rotate(-220deg) scale(0)}70%{opacity:1;transform:rotate(14deg) scale(1.12)}to{transform:none}}@keyframes rise-big{0%{opacity:0;transform:translateY(110px) scale(.94)}65%{opacity:1;transform:translateY(-8px) scale(1.01)}to{transform:none}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg) scale(1.12)}40%{transform:rotate(7deg) scale(1.08)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}@keyframes zoom-from-sky{0%{opacity:0;transform:scale(1.7);filter:blur(16px)}}@keyframes star-in{0%{opacity:0;transform:scale(0) rotate(-90deg)}}@keyframes twinkle{0%{opacity:.2;transform:scale(.7) rotate(0)}to{opacity:.9;transform:scale(1.1) rotate(45deg)}}@keyframes cta-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--gold) 0%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--gold) 22%,transparent),0 0 40px color-mix(in srgb,var(--gold) 40%,transparent)}}@media(prefers-reduced-motion:reduce){.landing-snap .landing-screen *,.landing-snap .landing-screen *:before,.landing-snap .landing-screen *:after{animation:none!important}.landing-snap .landing-screen:not(.is-visible) *{opacity:1!important;transform:none!important}}.landing-scroll-hint{position:absolute;left:50%;bottom:20px;z-index:2;width:44px;height:44px;margin-left:-22px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hint-bob 1.8s ease-in-out infinite}.landing-scroll-hint svg{transform:rotate(90deg)}.landing-scroll-hint:hover{background:var(--glass-line)}@keyframes hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.landing-dots{display:none}@media(min-width:900px){.landing-dots{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:14px}.landing-dots a{position:relative;display:block;width:12px;height:12px;border-radius:999px;background:color-mix(in srgb,var(--ink3) 45%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 70%,transparent);transition:transform .25s cubic-bezier(.3,1.6,.5,1),background-color .2s,height .25s cubic-bezier(.3,1.6,.5,1)}.landing-dots a:hover{transform:scale(1.3);background:var(--ink2)}.landing-dots a.is-active{height:28px;background:var(--gold)}.landing-dot-label{position:absolute;right:22px;top:50%;transform:translate(6px,-50%);white-space:nowrap;pointer-events:none;padding:4px 10px;border-radius:999px;background:var(--ink);color:var(--canvas);font-size:12px;font-weight:700;opacity:0;transition:opacity .16s,transform .2s}.landing-dots a:hover .landing-dot-label,.landing-dots a:focus-visible .landing-dot-label{opacity:1;transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){.landing-scroll-hint{animation:none}}.landing-billing{position:relative;isolation:isolate;align-self:flex-start;display:inline-grid;grid-template-columns:1fr 1fr;padding:4px;margin-bottom:24px;border-radius:999px;background:var(--line2)}.landing-billing button{position:relative;z-index:1;min-height:42px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:700;color:var(--ink3);transition:color .2s}.landing-billing button.is-on{color:var(--ink)}.landing-billing-thumb{position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--surface);box-shadow:0 2px 10px #171a3824;transition:transform .38s cubic-bezier(.3,1.4,.5,1)}.landing-billing-thumb[data-plan=annual]{transform:translate(100%)}.landing-save{padding:2px 8px;border-radius:999px;background:var(--leaf-soft);color:var(--leaf-ink);font-size:11px;font-weight:800;letter-spacing:.02em}.landing-price-swap{animation:price-pop .45s cubic-bezier(.3,1.6,.5,1)}@keyframes price-pop{0%{opacity:0;transform:translateY(-10px) scale(.9)}60%{opacity:1;transform:translateY(2px) scale(1.04)}to{transform:none}}#faq .landing-head{align-items:center;text-align:center;margin-left:auto;margin-right:auto}#faq .landing-faq{width:100%;margin-left:auto;margin-right:auto}#premium .landing-head,#premium .landing-billing{margin-bottom:20px}.landing-per{font-size:18px;font-weight:700;letter-spacing:0;color:var(--ink2);margin-left:2px}#premium .landing-head{align-items:center;text-align:center;margin-left:auto;margin-right:auto}#premium .landing-billing{align-self:center}#premium .landing-plans{width:100%;margin-left:auto;margin-right:auto}#premium.landing-section.landing-screen{padding-top:44px;padding-bottom:44px}.landing-final.landing-screen{min-height:0;padding-top:72px;padding-bottom:80px}
