@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-soft-normal-DSA2Kggd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-soft-normal-DKHvU-YN.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-soft-normal-C-lS_vzd.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f2f7;--surface:#fff;--line:#ddd8e6;--ink:#221b33;--ink-soft:#5b5470;--accent:#6b2a5a;--accent-ink:#fff;--accent-soft:#ebddea;--reported:#17695a;--reported-ink:#fff;--estimate:#8a5700;--estimate-soft:#fbf0d9;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-body:"Figtree Variable", system-ui, sans-serif;--radius-card:20px;--radius-pill:999px;--tab-height:68px;--well:var(--bg)}:root[data-theme=dark]{--bg:#17121f;--surface:#211a2c;--line:#3a3149;--ink:#f1edf7;--ink-soft:#b9b2c9;--accent:#e0a9d2;--accent-ink:#2a1226;--accent-soft:#3a2438;--reported:#6fd0bb;--reported-ink:#0c2a24;--estimate:#f0b95a;--estimate-soft:#33260f}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-variation-settings:"SOFT" 100;margin:0;font-size:1rem;line-height:1.55}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.15}h1{font-size:2rem;font-weight:700}h2{font-size:1.25rem;font-weight:650}p{max-width:60ch;margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:calc(env(safe-area-inset-top) + .9rem) 1rem .5rem;align-items:center;gap:.6rem;width:100%;max-width:560px;margin:0 auto;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.wave{color:var(--accent);flex:none}.screen{width:100%;max-width:560px;padding:1rem 1rem calc(var(--tab-height) + env(safe-area-inset-bottom) + 1.5rem);flex-direction:column;flex:1;gap:1.25rem;margin:0 auto;display:flex}.lede{color:var(--ink-soft);margin-top:.4rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.75rem;padding:1.1rem;display:flex}.key{gap:.9rem}.key-row{align-items:flex-start;gap:.75rem;display:flex}.key-row .tag{justify-content:center;width:8.5rem}.key-row p{color:var(--ink-soft);font-size:.95rem}.tag{border-radius:var(--radius-pill);min-height:28px;font-family:var(--font-body);letter-spacing:0;white-space:nowrap;flex:none;align-items:center;padding:0 .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.tag-reported{background:var(--reported);color:var(--reported-ink)}.tag-estimate{background:var(--estimate-soft);color:var(--estimate);border:1.5px dashed var(--estimate)}.tag-suggestion{background:var(--accent-soft);color:var(--accent)}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabbar ul{max-width:560px;height:var(--tab-height);grid-template-columns:repeat(5,1fr);margin:0 auto;padding:0;list-style:none;display:grid}.tab{height:100%;color:var(--ink-soft);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:600;text-decoration:none;display:flex;position:relative}.tab[aria-current=page]:before{content:"";background:var(--accent);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:28%;right:28%}@media (prefers-reduced-motion:no-preference){.tab{transition:color .15s}}.form{gap:1rem}.field{flex-direction:column;gap:.35rem;font-weight:600;display:flex}.field small{color:var(--ink-soft);font-weight:400}.field input{min-height:48px;font:inherit;color:var(--ink);background:var(--well);border:1.5px solid var(--line);border-radius:12px;padding:0 .9rem;font-weight:400}.field input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.check{color:var(--ink-soft);align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent);flex:none;margin:2px 0 0}.button{border-radius:var(--radius-pill);background:var(--accent);min-height:48px;color:var(--accent-ink);font:inherit;cursor:pointer;border:0;padding:0 1.2rem;font-weight:700}.button:disabled{opacity:.6;cursor:progress}.button-quiet{color:var(--ink);border:1.5px solid var(--line);background:0 0}.links{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.link{cursor:pointer;min-height:44px;color:var(--accent);font:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.message{background:var(--accent-soft);color:var(--ink);border-radius:12px;padding:.7rem .9rem;font-size:.95rem}.message-error{background:var(--estimate-soft);color:var(--estimate);border:1.5px solid var(--estimate)}.button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}fieldset{border:0;min-width:0;margin:0;padding:0}.choice{display:block;position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice>span{border:1.5px solid var(--line);background:var(--well);border-radius:14px;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:.6rem 1rem;font-weight:600;display:flex}.choice small{color:var(--ink-soft);font-weight:400}.choice input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.choice input:checked+span small{color:var(--ink-soft)}.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.card-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.facts{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;display:grid}.facts dt{color:var(--ink-soft)}.facts dd{margin:0;font-weight:600}.form legend{margin-bottom:.4rem;padding:0;font-weight:600}.form legend small{color:var(--ink-soft);margin-left:.4rem;font-weight:400}.screen-onboarding{padding:calc(env(safe-area-inset-top) + 1rem) 1rem 0;min-height:100dvh}.onboarding{flex-direction:column;flex:1;gap:1.75rem;display:flex}.rhythm-progress{width:100%;height:auto;display:block;overflow:visible}.rhythm-progress path{fill:none;stroke-linecap:round;stroke-linejoin:round}.rhythm-track{stroke:var(--line);stroke-width:2.5px}.rhythm-done{stroke:var(--accent);stroke-width:3.2px}.ob-body{flex-direction:column;gap:1.5rem;display:flex}.ob-head{flex-direction:column;gap:.75rem;display:flex}.ob-title{letter-spacing:-.015em;text-wrap:balance;font-size:clamp(2rem,8.5vw,2.6rem);font-weight:750;line-height:1.04}.ob-title-hero{letter-spacing:-.02em;font-size:clamp(2.7rem,13vw,3.8rem);font-weight:800}.ob-title:focus{outline:none}.ob-head .lede{margin:0;font-size:1.05rem}.ob-name input{font-size:1.15rem}.ob-list{flex-direction:column;gap:.6rem;display:flex}.ob-option,.ob-number{display:block;position:relative}.ob-option input,.ob-number input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ob-option>span{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;align-items:center;gap:.9rem;min-height:60px;padding:.75rem 1rem;font-size:1.05rem;font-weight:650;display:flex}.ob-option-text{flex-direction:column;flex:1;gap:2px;display:flex}.ob-option small{color:var(--ink-soft);font-size:.9rem;font-weight:400}.ob-tick{border:1.5px solid var(--line);color:#0000;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.ob-option input:checked+span{border-color:var(--accent);color:var(--accent-ink)}.ob-number input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ob-option input:checked+span small{color:var(--accent-ink);opacity:.8}.ob-option input:checked+span .ob-tick{background:var(--accent-ink);border-color:var(--accent-ink);color:var(--accent)}.ob-option input:focus-visible+span,.ob-number input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.bars{color:inherit;flex:none}.bar-on{fill:currentColor}.bar-off{fill:currentColor;opacity:.22}.ob-numbers{grid-template-columns:repeat(6,1fr);gap:.5rem;display:grid}.ob-numbers:has(.ob-number-wide){grid-template-columns:repeat(4,1fr)}.ob-number>span{aspect-ratio:1;background:var(--surface);border:1.5px solid var(--line);font-family:var(--font-display);letter-spacing:-.015em;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;font-size:1.9rem;font-weight:700;display:flex}.ob-number-wide>span{aspect-ratio:4/5;font-size:2.2rem}.ob-number small{font-family:var(--font-body);letter-spacing:0;opacity:.75;font-size:.8rem;font-weight:600}.ob-week{background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--line);margin:0;padding:1.1rem 1rem .9rem}.ob-week figcaption{color:var(--ink-soft);margin-top:.6rem;font-size:.9rem}.week-rhythm{width:100%;height:auto;display:block;overflow:visible}.week-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.week-dot{fill:var(--surface);stroke:var(--ink-soft);stroke-width:1.5px}.week-dot-on{fill:var(--accent);stroke:var(--surface);stroke-width:2.5px}.week-day{font-family:var(--font-body);fill:var(--ink-soft);font-size:12px;font-weight:600}.ob-kinds{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.ob-kinds li{align-items:flex-start;gap:.85rem;display:flex}.ob-kinds .tag{justify-content:center;width:8.5rem}.ob-kinds p{font-size:.95rem}.ob-promises{border-left:3px solid var(--accent);flex-direction:column;gap:.5rem;padding:.1rem 0 .1rem 1rem;display:flex}.ob-promises h2{font-size:1.05rem}.ob-promises ul{color:var(--ink-soft);flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;display:flex}.ob-dates{flex-direction:column;gap:1rem;display:flex}.ob-summary{flex-direction:column;gap:.5rem;display:flex}.ob-summary dl{margin:0}.ob-summary-row{border-bottom:1px solid var(--line);grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.75rem;padding:.35rem 0;display:grid}.ob-summary-row:last-child{border-bottom:0}.ob-summary-row dt{color:var(--ink-soft);font-size:.92rem}.ob-summary-row dd{margin:0;font-weight:600}.ob-actions{padding:1.25rem 0 calc(env(safe-area-inset-bottom) + 1rem);background:linear-gradient(to bottom, transparent, var(--bg) 35%);gap:.75rem;margin-top:auto;display:flex;position:sticky;bottom:0}.ob-next{flex:1;min-height:54px;font-size:1.05rem}.ob-back{flex:none;width:54px;min-height:54px;padding:0}.ob-option>span{background-image:linear-gradient(var(--accent), var(--accent));background-repeat:no-repeat;background-size:0% 100%}.ob-option input:checked+span{background-color:var(--surface);background-size:100% 100%}.ob-tick svg{transform:scale(0)}.ob-option input:checked+span .ob-tick svg{transform:scale(1)}.ob-hello{font-family:var(--font-display);color:var(--accent);letter-spacing:-.01em;font-size:1.35rem;font-weight:700}.rhythm-head-dot{fill:var(--accent)}.rhythm-head-glow{fill:var(--accent);opacity:.25;transform-box:fill-box;transform-origin:50%}.onboarding{position:relative}.drift{z-index:-1;pointer-events:none;opacity:.1;width:200%;height:9rem;position:absolute;top:4.5rem;left:0}.drift path{fill:none;stroke:var(--accent);stroke-width:14px;stroke-linecap:round}.screen-onboarding{overflow-x:clip}.ob-finale{z-index:50;background:var(--accent);color:var(--accent-ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:2rem 1.5rem;display:flex;position:fixed;inset:0}.ob-finale-wave{width:min(80vw,340px);height:auto;overflow:visible}.ob-finale-wave path{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round}.ob-finale-title{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;max-width:14ch;font-size:clamp(2.2rem,10vw,3.4rem);font-weight:800;line-height:1.04}.ob-finale-sub{opacity:.85;font-size:1.05rem}.ob-next:active,.ob-back:active{transform:scale(.97)}@media (prefers-reduced-motion:no-preference){.ob-go-forward .ob-head .lede,.ob-go-forward>:not(.ob-head){animation:ob-in-right .5s var(--spring-smooth) .18s backwards}.ob-go-back .ob-head .lede,.ob-go-back>:not(.ob-head){animation:ob-in-left .5s var(--spring-smooth) .18s backwards}.ob-title .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(var(--i) * 55ms);display:inline-block}.ob-list>.ob-option,.ob-numbers>.ob-number,.ob-kinds>li,.ob-summary-row{animation:ob-in-up .45s var(--spring-smooth) backwards;animation-delay:calc(.22s + var(--i) * 60ms)}.ob-go-forward>.ob-list,.ob-go-back>.ob-list,.ob-go-forward>.ob-numbers,.ob-go-back>.ob-numbers{animation:none}.ob-option>span{transition:background-size .4s cubic-bezier(.65,0,.35,1),color .2s .1s,border-color .2s,transform .15s}.ob-option:active>span,.ob-number:active>span{transform:scale(.98)}.ob-tick svg{transition:transform .35s var(--spring-playful) .12s}.ob-number>span{transition:background-color .2s,border-color .2s,color .2s,transform .15s}.ob-number input:checked+span{animation:pop .4s var(--spring-playful)}.ob-hello{animation:ob-in-up .5s var(--spring-smooth)}.rhythm-track{animation:.8s backwards fade-in}.rhythm-done{transition:stroke-dasharray .7s cubic-bezier(.65,0,.35,1);animation:.9s cubic-bezier(.65,0,.35,1) .1s backwards rhythm-in}.rhythm-head{transition:transform .7s cubic-bezier(.65,0,.35,1);animation:.4s .9s backwards fade-in}.rhythm-head-glow{animation:2.2s ease-in-out infinite glow}.drift{animation:16s linear infinite drift,1.2s backwards fade-in}.week-line{transition:d .5s cubic-bezier(.65,0,.35,1)}.week-dot{transition:cy .5s cubic-bezier(.65,0,.35,1),r .3s}.week-line-draw{stroke-dasharray:1;animation:1.4s cubic-bezier(.65,0,.35,1) .3s backwards week-draw}.week-rhythm-draw .week-dot{transform-box:fill-box;transform-origin:50%;animation:pop-in .45s var(--spring-playful) backwards;animation-delay:calc(.45s + var(--i) * .17s)}.ob-finale{animation:.6s cubic-bezier(.65,0,.35,1) backwards flood}.ob-finale-wave path{stroke-dasharray:1;animation:1.1s cubic-bezier(.65,0,.35,1) .35s backwards week-draw}.ob-finale-title .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(.6s + var(--i) * 80ms);display:inline-block}.ob-finale-sub{animation:.5s 1.2s backwards ob-in-up}}@keyframes ob-in-right{0%{opacity:0;transform:translate(28px)}}@keyframes ob-in-left{0%{opacity:0;transform:translate(-28px)}}@keyframes ob-in-up{0%{opacity:0;transform:translateY(14px)}}@keyframes word-up{0%{opacity:0;transform:translateY(.45em)rotate(2deg)}}@keyframes pop{40%{transform:scale(1.1)}}@keyframes pop-in{0%{transform:scale(0)}}@keyframes fade-in{0%{opacity:0}}@keyframes rhythm-in{0%{stroke-dashoffset:1px}}@keyframes glow{50%{opacity:0;transform:scale(1.7)}}@keyframes drift{to{transform:translate(-50%)}}@keyframes week-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes flood{0%{clip-path:circle(0% at 50% 100%)}to{clip-path:circle(150% at 50% 100%)}}.screen{overflow-x:clip}.page{flex-direction:column;gap:1.25rem;display:flex}.page-head{flex-direction:column;gap:.35rem;display:flex}.display{letter-spacing:-.015em;text-wrap:balance;font-size:clamp(2rem,8.5vw,2.5rem);font-weight:750;line-height:1.04}.display-hero{letter-spacing:-.02em;font-size:clamp(2.6rem,12vw,3.4rem);font-weight:800}.date{color:var(--accent);font-weight:650}.button{gap:.5rem}.button-big{min-height:56px;font-size:1.05rem}.button:active{transform:scale(.97)}.tabbar ul{position:relative}.tab-crest{pointer-events:none;justify-content:center;width:20%;height:10px;display:flex;position:absolute;top:0;left:0}.tab-crest path{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.tab[aria-current=page]:before{content:none}.tab[aria-current=page] svg{stroke-width:2.4px}.button-light{background:var(--accent-ink);color:var(--accent)}.report{flex-direction:column;gap:.55rem;margin:0;display:flex}details.key>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:32px;list-style:none;display:flex}details.key>summary::-webkit-details-marker{display:none}details.key>summary:after{content:"+";color:var(--ink-soft);font-size:1.4rem;font-weight:500;line-height:1}details.key[open]>summary:after{content:"–"}.checkin{flex-direction:column;gap:1rem;display:flex}.question{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:.95rem 1rem .8rem}.question legend{float:left;width:100%;font-family:var(--font-display);margin-bottom:.6rem;padding:0;font-size:1.1rem;font-weight:700}.question legend small{font-family:var(--font-body);color:var(--ink-soft);margin-left:.4rem;font-size:.85rem;font-weight:400}.scale{clear:both;grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.scale-words{grid-template-columns:repeat(4,1fr)}.scale-option,.chip{display:block;position:relative}.scale-option input,.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.scale-option>span{background-color:var(--well);border:1.5px solid var(--line);border-radius:14px;place-items:center;min-height:48px;font-size:1.05rem;font-weight:700;display:grid}.scale-words .scale-option>span{font-size:.9rem}.scale-option input:checked+span{background-color:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.scale-option input:focus-visible+span,.chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.scale-ends{color:var(--ink-soft);justify-content:space-between;margin-top:.4rem;font-size:.8rem;display:flex}.chips{clear:both;flex-wrap:wrap;gap:.45rem;display:flex}.chip>span{border-radius:var(--radius-pill);border:1.5px solid var(--line);background-color:var(--well);align-items:center;min-height:40px;padding:0 .95rem;font-size:.92rem;font-weight:600;display:inline-flex}.chip input:checked+span{background-color:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.saved{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.75rem .9rem;display:flex}.saved>span:not(.tag){flex:1;min-width:12rem}.drawn-check{flex:none}.drawn-check circle{fill:var(--reported)}.drawn-check path{fill:none;stroke:var(--reported-ink);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.skeleton{flex-direction:column;gap:.8rem;display:flex}.skeleton-row{border-radius:var(--radius-card);background-color:var(--surface);border:1px solid var(--line);height:72px}.skeleton-row:first-of-type{width:70%;height:44px}.profile-head{align-items:center;gap:1rem;display:flex}.avatar{background:var(--accent);width:68px;height:68px;color:var(--accent-ink);font-family:var(--font-display);box-shadow:0 0 0 4px var(--bg), 0 0 0 6px var(--accent-soft);border-radius:50%;flex:none;place-items:center;margin-left:6px;font-size:2rem;font-weight:800;display:grid}.profile-head .lede{overflow-wrap:anywhere;margin-top:.2rem}.setup-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.setup-list li{border-bottom:1px solid var(--line)}.setup-list li:last-child{border-bottom:0}.setup-row{color:var(--ink);border-radius:12px;grid-template-columns:34px 7.5rem 1fr 16px;align-items:center;gap:.6rem;padding:.55rem 0;text-decoration:none;display:grid}.setup-row:hover .setup-go{color:var(--accent)}.setup-go{color:var(--ink-soft)}.setup-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:11px;place-items:center;display:grid}.setup-term{color:var(--ink-soft);font-size:.92rem}.setup-value{font-weight:600}.auth-head{flex-direction:column;gap:.6rem;padding-top:.5rem;display:flex;position:relative}.auth-head .drift{top:.5rem}@media (prefers-reduced-motion:no-preference){.page-forward{animation:ob-in-right .45s var(--spring-smooth)}.page-back{animation:ob-in-left .45s var(--spring-smooth)}.display .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(var(--i) * 55ms);display:inline-block}.page-head .lede,.page-head .date,.profile-head .lede{animation:.6s .25s backwards fade-in}.wave path{stroke-dasharray:1;animation:1.1s cubic-bezier(.65,0,.35,1) backwards week-draw}.tab-crest{transition:transform .45s var(--spring-playful)}.tab svg{transition:transform .3s var(--spring-playful)}.tab[aria-current=page] svg{transform:translateY(-2px)scale(1.08)}.setup-row{animation:ob-in-up .4s var(--spring-smooth) backwards;animation-delay:calc(.3s + var(--i) * 50ms)}.avatar{animation:pop-in .6s var(--spring-playful) backwards}.saved-now{animation:ob-in-up .4s var(--spring-smooth)}.saved-now .drawn-check circle{transform-box:fill-box;transform-origin:50%;animation:pop-in .45s var(--spring-playful) backwards}.saved-now .drawn-check path{stroke-dasharray:1;animation:.45s ease-out .3s backwards week-draw}.skeleton-row{background-image:linear-gradient(100deg, transparent 30%, var(--bg) 50%, transparent 70%);background-size:220% 100%;animation:1.3s linear infinite shimmer}.auth-form{animation:ob-in-up .45s var(--spring-smooth) .1s backwards}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.sleep-readout{clear:both;align-items:baseline;gap:.4rem;min-height:3rem;margin:0 0 .35rem;display:flex}.sleep-readout b{font-family:var(--font-display);font-size:var(--t-2xl,2.25rem);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:750;line-height:1}.sleep-readout span{color:var(--ink-soft);font-weight:600}.sleep-readout .sleep-prompt{color:var(--ink-soft);align-self:center;font-weight:500}.sleep-row{grid-template-columns:44px 1fr 44px;align-items:start;gap:.6rem;display:grid}.sleep-step{border:1px solid var(--line);background:var(--well);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.sleep-step:disabled{opacity:.35;cursor:default}.sleep-track{padding-bottom:1.3rem;position:relative}.sleep-range{appearance:none;cursor:pointer;--track:linear-gradient(90deg, var(--accent) 0 var(--sleep-fill), color-mix(in srgb, var(--ink) 12%, transparent) var(--sleep-fill) 100%);background:0 0;width:100%;height:44px;margin:0;display:block}.sleep-range::-webkit-slider-runnable-track{background:var(--track);border-radius:99px;height:8px}.sleep-range::-moz-range-track{background:var(--track);border-radius:99px;height:8px}.sleep-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:30px;height:30px;margin-top:-11px;box-shadow:0 2px 8px #0000004d}.sleep-range::-moz-range-thumb{background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #0000004d}.sleep-range:focus-visible{outline:none}.sleep-range:focus-visible::-webkit-slider-thumb{outline:3px solid var(--accent);outline-offset:2px}.sleep-unset .sleep-range{--track:color-mix(in srgb, var(--ink) 12%, transparent)}.sleep-unset .sleep-range::-webkit-slider-thumb{background:var(--surface-2);border-color:color-mix(in srgb, var(--ink) 25%, transparent);box-shadow:none}.sleep-unset .sleep-range::-moz-range-thumb{background:var(--surface-2);border-color:color-mix(in srgb, var(--ink) 25%, transparent);box-shadow:none}.sleep-ticks{height:1rem;font-size:var(--t-xs,.75rem);color:var(--ink-soft);position:absolute;bottom:0;left:15px;right:15px}.sleep-ticks span{position:absolute;transform:translate(-50%)}.suggestion{background:var(--accent);color:var(--accent-ink);border-radius:28px;position:relative;overflow:hidden}.amp-wave{opacity:.16;width:200%;height:96px;position:absolute;top:0;left:0}.amp-wave path{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.suggestion-body{flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.4rem 1.25rem .5rem;display:flex;position:relative}.suggestion-body .tag{background:var(--accent-ink);color:var(--accent)}.suggestion h2{letter-spacing:-.015em;text-wrap:balance;font-size:clamp(1.9rem,8vw,2.3rem);font-weight:780;line-height:1.04}.suggestion-body p{opacity:.92;font-size:1.05rem}.why-toggle{min-height:44px;color:inherit;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:.5rem;margin:.15rem 0 0 -.25rem;padding:0 .25rem;font-weight:700;text-decoration:underline;display:inline-flex}.why-toggle svg{transition:transform .3s}.why-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.why{grid-template-rows:0fr;display:grid;position:relative}.why-open{grid-template-rows:1fr}.why-inner{overflow:hidden}.reasons{flex-direction:column;gap:0;margin:0;padding:.35rem 1.25rem 1.3rem;list-style:none;display:flex}.reason{background:var(--surface);color:var(--ink);border-radius:16px;grid-template-columns:18px 1fr;gap:.8rem;margin-top:.5rem;margin-left:-.9rem;margin-right:-.9rem;padding:.85rem .9rem;display:grid;position:relative}.reason p{opacity:1;max-width:none;margin-top:.4rem;font-size:.97rem}.reason-node{border-radius:50%;width:14px;height:14px;margin-top:7px}.reason-reported .reason-node{background:var(--reported)}.reason-estimate .reason-node{border:2px dashed var(--estimate);background:var(--estimate-soft)}.reason-rule .reason-node{border:2px solid var(--accent)}.rule-chip{border-radius:var(--radius-pill);border:1.5px solid var(--ink-soft);min-height:28px;color:var(--ink);align-items:center;padding:0 .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.suggestion .button-light{margin-top:.2rem}@media (prefers-reduced-motion:no-preference){.amp-wave{animation:22s linear infinite drift}.suggestion-rest .amp-wave{animation-duration:40s}.suggestion-progress .amp-wave{animation-duration:14s}.why{transition:grid-template-rows .45s var(--spring-smooth)}.why-open .reason{animation:ob-in-up .45s var(--spring-smooth) backwards;animation-delay:calc(.12s + var(--i) * 90ms)}.suggestion h2{animation:word-up .6s var(--spring-snappy) .25s backwards}}.session{background:var(--surface);border:1px solid var(--line);border-radius:28px;flex-direction:column;gap:.85rem;padding:1.2rem 1.1rem 1rem;display:flex}.session-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.session-meta{color:var(--ink-soft);font-size:.92rem;font-weight:600}.session h2{letter-spacing:-.015em;font-size:clamp(1.9rem,8vw,2.3rem);font-weight:780;line-height:1.04}.adapted{background:var(--accent-soft);border-radius:14px;max-width:none;padding:.7rem .9rem;font-size:.95rem}.adapted a{color:var(--accent);font-weight:700}.adapted-prompt{background:var(--well);border:1px dashed var(--line)}.effort,.session-rest,.session-foot{color:var(--ink-soft);font-size:.95rem}.session-foot{padding-top:.25rem;font-size:.85rem}.timebar{border:1.5px dashed var(--line);border-radius:12px;padding:4px}.timebar-fill{gap:3px;height:14px;display:flex}.timebar-part{background:var(--accent);border-radius:6px;min-width:6px}.timebar-warm{background:var(--accent-soft)}.moves{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.move{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:.1rem .75rem;padding:.75rem 0;display:grid}.move-pattern{color:var(--accent);grid-column:1;font-size:.8rem;font-weight:700}.move-name{font-family:var(--font-display);letter-spacing:-.01em;grid-column:1;font-size:1.12rem;font-weight:700}.move-rx{color:var(--ink-soft);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-weight:600}.move-rx b{color:var(--ink);font-size:1.15rem}.was{opacity:.55;margin-right:.35rem}.move-note{background:var(--accent-soft);border-radius:10px;grid-column:1/-1;margin-top:.3rem;padding:.4rem .7rem;font-size:.9rem}.week{flex-direction:column;gap:.85rem;display:flex}.plan-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.plan-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0 1rem}.plan-item summary{cursor:pointer;align-items:center;gap:.6rem;min-height:52px;font-weight:650;list-style:none;display:flex}.plan-item summary::-webkit-details-marker{display:none}.plan-name{font-family:var(--font-display);flex:1;font-size:1.05rem}.plan-next{background:var(--accent-soft);color:var(--accent);border-radius:99px;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.plan-min{color:var(--ink-soft);font-size:.9rem;font-weight:600}.plan-moves{flex-direction:column;gap:.5rem;margin:0;padding:0 0 .9rem;list-style:none;display:flex}.plan-moves li{align-items:baseline;gap:.5rem;display:flex}.plan-moves li>span{color:var(--accent);min-width:4.2rem;font-size:.78rem;font-weight:700}.plan-moves em{color:var(--ink-soft);white-space:nowrap;margin-left:auto;font-style:normal;font-weight:600}@media (prefers-reduced-motion:no-preference){.session{animation:ob-in-up .5s var(--spring-smooth) .15s backwards}.timebar-part{transform-origin:0;animation:grow .6s var(--spring-smooth) backwards;animation-delay:calc(.35s + var(--i) * 70ms)}.timebar-fill{transition:width .6s cubic-bezier(.65,0,.35,1)}.move{animation:ob-in-up .45s var(--spring-smooth) backwards;animation-delay:calc(.4s + var(--i) * 70ms)}.was{text-decoration:line-through;animation:.5s .9s backwards strike-in}.adapted:not(.adapted-prompt),.week{animation:ob-in-up .5s var(--spring-smooth) .3s backwards}}.was{text-decoration:line-through}@keyframes strike-in{0%{opacity:1;text-decoration-color:#0000}}.session-start{width:100%;margin-top:.4rem;text-decoration:none}.rhythm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.8rem;padding:1.1rem;display:flex}.rhythm-caption{color:var(--ink-soft);font-size:.9rem}.weekly{align-items:flex-end;gap:.5rem;height:120px;padding-top:6px;display:flex;position:relative}.weekly-col{flex:1;align-items:flex-end;height:100%;display:flex}.weekly-bar{background:var(--accent);opacity:.35;border-radius:99px 99px 6px 6px;width:100%;display:block}.weekly-now .weekly-bar{opacity:1}.weekly-goal{border-top:2px dashed var(--ink-soft);opacity:.5;pointer-events:none;position:absolute;left:0;right:0}.recent{flex-direction:column;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.recent li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.55rem 0;display:flex}.recent-day{color:var(--ink-soft);min-width:5.6rem;font-size:.9rem}.recent-name{flex:1;font-weight:650}.recent-sets{color:var(--ink-soft);font-size:.9rem}.recent-pain{border:1.5px solid var(--ink-soft);border-radius:99px;padding:.1rem .55rem;font-size:.78rem;font-weight:650}.screen-focus{padding:calc(env(safe-area-inset-top) + 1rem) 1rem 0;min-height:100dvh;overflow-x:clip}.logger{flex-direction:column;flex:1;gap:1.25rem;display:flex}.logger-top{flex-direction:column;gap:.4rem;display:flex}.leave-link,.leave{align-self:flex-end;min-height:36px;font-size:.92rem}.leave{color:var(--ink-soft);align-items:center;gap:1rem;display:flex}.logger-body{flex-direction:column;gap:1.1rem;display:flex}.logger-head{flex-direction:column;gap:.5rem;display:flex}.logger-count{color:var(--accent);font-size:.95rem;font-weight:700}.logger-target{color:var(--ink-soft)}.logger-target b{color:var(--ink)}.lasttime{align-items:flex-start;gap:.6rem;font-size:.92rem;display:flex}.lasttime>span:last-child{color:var(--ink-soft);flex:1}.logger-note{background:var(--accent-soft);border-radius:12px;max-width:none;padding:.55rem .8rem;font-size:.92rem}.sets{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.set{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;flex-direction:column;gap:.8rem;padding:.9rem .9rem .8rem;display:flex}.set-done{border-color:var(--reported)}.set-head{justify-content:space-between;align-items:center;display:flex}.set-number{font-family:var(--font-display);font-size:1.15rem;font-weight:750}.set-check{border:2px solid var(--line);background:var(--well);width:50px;height:50px;color:var(--line);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.set-check[aria-pressed=true]{background:var(--reported);border-color:var(--reported);color:var(--reported-ink)}.set-check:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.set-fields{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.set-fields>:only-child{grid-column:1/-1}.stepper{background:var(--well);border:1.5px solid var(--line);border-radius:16px;align-items:stretch;display:flex;overflow:hidden}.stepper-btn{width:42px;color:var(--accent);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;min-height:52px;padding:0;display:grid}.stepper-btn:active{background:var(--accent-soft)}.stepper-btn:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.stepper-field{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:.3rem 0 .2rem;display:flex}.stepper-field input{text-align:center;width:100%;color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;background:0 0;border:0;min-height:28px;padding:0;font-size:1.5rem;font-weight:750}.stepper-field input::placeholder{color:var(--ink-soft);opacity:.55;font-size:1.05rem;font-weight:600}.stepper-field input:focus-visible{outline:none}.stepper:focus-within{border-color:var(--accent)}.stepper-unit{color:var(--ink-soft);font-size:.75rem;font-weight:650;line-height:1}.effort-dots{flex-direction:column;gap:.35rem;display:flex}.effort-row{justify-content:space-between;gap:.4rem;display:flex}.effort-dot{flex:1;place-items:center;min-height:40px;display:grid;position:relative}.effort-dot input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.effort-dot span{width:calc(24px + var(--level) * 3px);height:calc(24px + var(--level) * 3px);border:2px solid var(--line);background:var(--well);border-radius:50%}.effort-dot:has(~.effort-dot input:checked) span{background:var(--accent-soft);border-color:var(--accent-soft)}.effort-dot input:checked+span{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.effort-dot input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.effort-caption{text-align:center;color:var(--ink-soft);font-size:.85rem}.effort-caption b{color:var(--ink)}.add-set{align-self:flex-start}.pain-box{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;flex-direction:column;gap:.7rem;padding:.9rem;display:flex}.pain-box legend{float:left;width:100%;font-family:var(--font-display);margin-bottom:.1rem;padding:0;font-size:1.1rem;font-weight:700}.pain-pills{clear:both;grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.pain-pill{display:block;position:relative}.pain-pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pain-pill span{border:1.5px solid var(--line);background-color:var(--well);border-radius:14px;place-items:center;min-height:48px;font-size:.9rem;font-weight:650;display:grid}.pain-pill input:checked+span{background-color:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pain-pill input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.pain-advice{background:var(--accent-soft);border-radius:12px;max-width:none;padding:.6rem .8rem;font-size:.93rem}.logger-dock{background:linear-gradient(to bottom, transparent, var(--bg) 18px);flex-direction:column;gap:.6rem;margin-top:auto;padding-top:1rem;display:flex;position:sticky;bottom:0}.logger-actions{padding:0 0 calc(env(safe-area-inset-bottom) + 1rem);background:0 0;position:static}.rest{background:var(--surface);border:1.5px solid var(--line);border-radius:22px;align-items:center;gap:.8rem;padding:.6rem .8rem;display:flex;box-shadow:0 8px 24px #0000001f}.rest-ring{flex:none;width:56px;height:56px;transform:rotate(-90deg)}.rest-track{fill:none;stroke:var(--line);stroke-width:6px}.rest-progress{fill:none;stroke:var(--accent);stroke-width:6px;stroke-linecap:round}.rest-text{flex-direction:column;flex:1;line-height:1.2;display:flex}.rest-text b{font-family:var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.35rem}.rest-text span{color:var(--ink-soft);font-size:.85rem}.rest-btn{border:1.5px solid var(--line);background:var(--well);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;padding:0 .9rem;font-weight:650}.rest-done{border-color:var(--reported)}.logged{z-index:50;background:var(--accent);color:var(--accent-ink);padding:2rem 1.25rem calc(env(safe-area-inset-bottom) + 1.5rem);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.logged .ob-finale-wave{width:min(70vw,300px)}.logged-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(2.4rem,11vw,3.6rem);font-weight:800;line-height:1}.logged-sub{opacity:.85;font-size:1.05rem}.logged-stats{justify-content:center;gap:.6rem;width:100%;max-width:420px;margin:.6rem 0;display:flex}.logged-stats>div{background:#ffffff24;border-radius:20px;flex:1;padding:.9rem .4rem}.logged-stats dt{opacity:.85;font-size:.85rem}.logged-stats dd{font-family:var(--font-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:2.1rem;font-weight:800}.logged-stats small{font-family:var(--font-body);font-size:.9rem;font-weight:600}.logged-pain{opacity:.95;max-width:34ch}.logged .ob-next{flex:none;width:100%;max-width:420px;margin-top:.5rem}@media (prefers-reduced-motion:no-preference){.rhythm-card{animation:ob-in-up .5s var(--spring-smooth) .35s backwards}.weekly-bar{transform-origin:bottom;animation:grow-up .7s var(--spring-smooth) backwards;animation-delay:calc(.5s + var(--i) * 70ms)}.recent li{animation:.4s .7s backwards ob-in-up}.logger-body{animation:ob-in-right .45s var(--spring-smooth)}.logger-head .logger-target,.logger-head .lasttime,.logger-head .logger-note{animation:.5s .25s backwards fade-in}.set{animation:ob-in-up .45s var(--spring-smooth) backwards;animation-delay:calc(.2s + var(--i) * 80ms);transition:border-color .25s}.set-check{transition:background-color .2s,border-color .2s,color .2s,transform .15s}.set-check[aria-pressed=true]{animation:pop .45s var(--spring-playful)}.set-check:active{transform:scale(.92)}.effort-dot span{transition:background-color .2s ease, border-color .2s ease, box-shadow .25s ease, transform .2s var(--spring-playful)}.effort-dot input:checked+span{transform:scale(1.12)}.pain-pill span{transition:background-color .2s,border-color .2s,color .2s}.pain-advice{animation:.35s ob-in-up}.rest{animation:rise-in .4s var(--spring-snappy)}.rest-progress{transition:stroke-dashoffset 1s linear}.rest-done .rest-ring{animation:pop .5s var(--spring-playful)}.logged{animation:.6s cubic-bezier(.65,0,.35,1) backwards flood}.logged .ob-finale-wave path{stroke-dasharray:1;animation:1.1s cubic-bezier(.65,0,.35,1) .35s backwards week-draw}.logged-title .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(.55s + var(--i) * 90ms);display:inline-block}.logged-sub{animation:.5s .9s backwards fade-in}.logged-stats>div{animation:pop-in .55s var(--spring-playful) backwards;animation-delay:calc(.9s + var(--i) * .12s)}.logged-pain,.logged .ob-next{animation:.5s 1.5s backwards ob-in-up}}@keyframes grow-up{0%{transform:scaleY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)scale(.97)}}.cycle-ring{flex-direction:column;align-items:center;gap:.9rem;margin:0;display:flex}.cycle-ring-art{aspect-ratio:1;width:min(100%,300px);position:relative}.cycle-ring-art svg{width:100%;height:100%;display:block;overflow:visible}.ring-base{fill:none;stroke:var(--line);stroke-width:1.5px}.ring-arc{fill:none;stroke:var(--estimate);stroke-linecap:round;stroke-dasharray:9 7}.ring-arc-period{stroke-width:15px}.ring-arc-between{stroke-width:7px;opacity:.75}.ring-arc-before_period{stroke-width:11px;opacity:.9}.ring-legend line.ring-arc{stroke-dasharray:5 4}.ring-legend .ring-arc-period{stroke-width:6px}.ring-legend .ring-arc-between{stroke-width:3px}.ring-legend .ring-arc-before_period{stroke-width:5px}.ring-marker{fill:var(--estimate-soft);stroke:var(--estimate);stroke-width:3px;stroke-dasharray:4 3}.ring-sweep{transform-box:view-box;transform-origin:130px 130px;transform:rotate(var(--angle))}.ring-dot{fill:var(--reported)}.ring-dot-pain{stroke:var(--ink);stroke-width:2px}.cycle-ring-centre{flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:absolute;inset:0}.cycle-day-label{color:var(--ink-soft);font-size:.95rem;font-weight:650}.cycle-ring-centre b{font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:4.2rem;font-weight:800;line-height:.95}.cycle-day-of{color:var(--ink-soft);margin-bottom:.35rem;font-size:.95rem}.ring-legend{color:var(--ink-soft);flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.ring-legend li{align-items:center;gap:.6rem;display:flex}.ring-legend-now{color:var(--ink);font-weight:650}.ring-legend svg{flex:none;overflow:visible}.cycle-card{gap:.6rem}.cycle-estimate{border:1.5px dashed var(--estimate)}.cycle-line{font-size:1.1rem;font-weight:600}.cycle-card .lede{margin-top:0;font-size:.95rem}.period-form{flex-direction:column;align-items:flex-start;gap:.7rem;display:flex}.period-form h2{font-size:1.1rem}.other-date{width:100%}.other-date summary{cursor:pointer;color:var(--accent);align-items:center;min-height:40px;font-weight:650;display:flex}.other-date[open]{flex-direction:column;gap:.7rem;display:flex}.other-date .field{margin-top:.4rem}.cycle-empty{align-items:flex-start;gap:.8rem;padding:1.25rem}.ghost-ring{width:96px;height:96px}.ghost-ring circle{fill:none;stroke:var(--line);stroke-width:6px;stroke-dasharray:10 8;stroke-linecap:round}.cycle-empty h2{font-size:1.4rem}@media (prefers-reduced-motion:no-preference){.ring-arc{animation:.8s backwards fade-in;animation-delay:calc(.1s + var(--i,0) * .15s)}.ring-sweep{animation:1.5s cubic-bezier(.4,0,.2,1) .3s backwards ring-sweep}.ring-dot{transform-box:fill-box;transform-origin:50%;animation:pop-in .45s var(--spring-playful) backwards;animation-delay:calc(.9s + var(--i,0) * 70ms)}.ring-marker{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out 1.8s infinite marker-breathe}.cycle-ring-centre{animation:.8s .3s backwards fade-in}.ring-legend{animation:.6s .8s backwards fade-in}.cycle-card,.cycle-empty{animation:ob-in-up .5s var(--spring-smooth) backwards;animation-delay:calc(.5s + var(--i,0) * .1s)}}@keyframes ring-sweep{0%{transform:rotate(0)}}@keyframes marker-breathe{50%{transform:scale(1.12)}}:root{--danger:#b42318;--danger-ink:#fff;--danger-soft:#fbe9e7}:root[data-theme=dark]{--danger:#ff8f80;--danger-ink:#3a0a05;--danger-soft:#3a1714}.your-data{flex-direction:column;gap:.7rem;display:flex}.your-data>.lede{margin-top:-.3rem}.data-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);grid-template-columns:40px 1fr auto;align-items:center;gap:.8rem;padding:.9rem 1rem;display:grid}.data-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.data-card-danger .data-icon{background:var(--danger-soft);color:var(--danger)}.data-text h3{font-family:var(--font-display);margin:0;font-size:1.05rem;font-weight:700}.data-text p{color:var(--ink-soft);font-size:.88rem}.data-card .button{min-height:44px;padding:0 1rem}.button-danger{background:var(--danger);color:var(--danger-ink)}.button-danger:disabled{opacity:.35;cursor:not-allowed}.button-danger-quiet{color:var(--danger);border:1.5px solid var(--danger);background:0 0}.sheet-backdrop{z-index:40;background:#140c1c8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;color:var(--ink);padding:.6rem 1.25rem calc(env(safe-area-inset-bottom) + 1.25rem);border-radius:28px 28px 0 0;flex-direction:column;gap:.8rem;display:flex;overflow-y:auto}.sheet-handle{background:var(--line);border-radius:99px;align-self:center;width:44px;height:5px;margin-bottom:.4rem}.sheet h2{letter-spacing:-.015em;font-size:clamp(1.8rem,8vw,2.2rem);font-weight:780}.sheet h2:focus{outline:none}.sheet .lede{margin:0}.erase-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.erase-list li{align-items:center;gap:.6rem;font-weight:600;display:flex}.erase-list li:before{content:"";background:var(--danger);border-radius:50%;flex:none;width:8px;height:8px}.confirm-field input{font-family:var(--font-display);letter-spacing:.08em;font-size:1.1rem;font-weight:700}.confirm-field b{color:var(--danger);letter-spacing:.06em}.sheet-actions{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.3rem;display:grid}.farewell{z-index:60;text-align:center;background:var(--ink);color:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:2rem 1.5rem;display:flex;position:fixed;inset:0}.farewell h2{letter-spacing:-.015em;max-width:14ch;font-size:clamp(2.2rem,10vw,3.2rem);font-weight:800;line-height:1.04}.farewell h2:focus{outline:none}.farewell p{opacity:.85;max-width:32ch}.farewell .button-light{background:var(--bg);color:var(--ink);min-width:10rem}.farewell-wave{width:min(70vw,280px);overflow:visible}.farewell-wave path{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round}.farewell-wave-shape{opacity:0}@media (prefers-reduced-motion:no-preference){.your-data{animation:ob-in-up .5s var(--spring-smooth) .35s backwards}.sheet-backdrop{animation:.25s backdrop-in}@keyframes backdrop-in{0%{background-color:#0000}}.sheet{animation:sheet-up .4s var(--spring-smooth)}.button-danger:not(:disabled){animation:pop .35s var(--spring-playful)}.farewell{animation:.6s fade-in}.farewell-wave-shape{animation:1.6s .2s backwards wave-out}.farewell-wave-flat{stroke-dasharray:1;stroke-dashoffset:0;animation:.8s 1.4s backwards fade-in}.farewell h2 .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(1.2s + var(--i) * 80ms);display:inline-block}.farewell p,.farewell .button{animation:.6s 1.8s backwards fade-in}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes wave-out{0%{opacity:1}60%{opacity:1;transform:scaleY(.15)}to{opacity:0;transform:scaleY(0)}}.farewell-wave-shape{transform-box:fill-box;transform-origin:50%}.ob-chips{flex-wrap:wrap;gap:.5rem;display:flex}.ob-chips legend{width:100%;margin-bottom:.6rem;font-weight:600}.ob-chips legend small{color:var(--ink-soft);margin-left:.4rem;font-weight:400}.ob-chips .chip>span{min-height:46px;padding:0 1.1rem;font-size:1rem}.ob-about{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.ob-about .field:first-child{grid-column:1/-1}.ob-wearables{color:var(--ink-soft);border:1px dashed var(--line);border-radius:16px;padding:.8rem 1rem;font-size:.9rem}.ob-wearables b{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.ob-chips>.chip{animation:ob-in-up .4s var(--spring-smooth) backwards;animation-delay:calc(.2s + var(--i) * 40ms)}}.today-block{flex-direction:column;display:flex}.score-hero{background:var(--accent);color:var(--accent-ink);border-radius:28px;flex-direction:column;gap:.7rem;padding:1.2rem 1.25rem .6rem;display:flex;position:relative;overflow:hidden}.score-hero-empty{padding-bottom:1.25rem}.score-hero-empty h2{letter-spacing:-.01em;font-size:1.7rem;line-height:1.08}.score-empty-text{opacity:.88}.score-pulse{height:54px;margin:0 -1.25rem;position:relative;overflow:hidden}.amp-wave-inline{opacity:.55;width:200%;height:100%;position:absolute;top:0;left:0}.score-hero-empty .amp-wave-inline{opacity:.35}.score-hero>:not(.amp-wave){position:relative}.score-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.score-kicker{opacity:.85;font-size:.92rem;font-weight:650}.score-vs{background:#ffffff29;border-radius:99px;padding:.15rem .6rem;font-size:.82rem;font-weight:700}.score-main{align-items:center;gap:1rem;display:flex}.score-number{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(4.2rem,22vw,5.6rem);font-weight:800;line-height:.9}.score-main h2{letter-spacing:-.01em;font-size:1.5rem}.score-main p{opacity:.88;font-size:.95rem}.score-hero .button-light{align-self:flex-start}.score-parts{background:var(--surface);color:var(--ink);border-radius:18px;flex-direction:column;gap:.6rem;margin:.2rem -.5rem .8rem;padding:.9rem;display:flex}.score-parts-head{justify-content:space-between;align-items:center;display:flex}.score-parts ul{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.score-parts li{grid-template-columns:7.5rem 1fr 2.5rem;align-items:center;gap:.6rem;font-size:.92rem;display:grid}.score-parts li b{text-align:right;font-variant-numeric:tabular-nums}.score-bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.score-bar-fill{background:var(--reported);border-radius:99px;height:100%;display:block}.score-bar-minus{background:var(--ink-soft)}.score-note{color:var(--ink-soft);font-size:.82rem}.suggestion-plain{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.suggestion-plain .suggestion-body .tag{background:var(--accent-soft);color:var(--accent)}.suggestion-plain h2{font-size:1.6rem}.training-peek{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);color:var(--ink);justify-content:space-between;align-self:stretch;align-items:center;padding:1rem 1.1rem;text-decoration:none;display:flex}.training-peek small{color:var(--ink-soft);font-size:.85rem;display:block}.training-peek b{font-family:var(--font-display);font-size:1.2rem}.training-peek-min{color:var(--ink-soft);font-weight:600}.ask-button{border:1.5px solid var(--line);background:var(--surface);min-height:50px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;justify-content:center;align-items:center;gap:.5rem;font-weight:700;display:inline-flex}.ask-questions{flex-wrap:wrap;gap:.45rem;display:flex}.ask-q{border:1.5px solid var(--line);background:var(--well);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;padding:0 .9rem;font-size:.9rem;font-weight:600}.ask-q-on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ask-answer{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ask-answer .reason{border:1px solid var(--line);margin-left:0;margin-right:0}.ask-foot{color:var(--ink-soft);font-size:.82rem}.pattern-chip{border:1.5px solid var(--reported);min-height:28px;color:var(--reported);white-space:nowrap;border-radius:99px;align-items:center;padding:0 .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.cycle-strip{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);color:var(--ink);align-items:center;gap:.8rem;padding:.7rem 1rem;text-decoration:none;display:flex}.mini-ring{flex:none;width:44px;height:44px;overflow:visible}.mini-ring>circle{fill:none;stroke:var(--estimate);stroke-width:4px;stroke-dasharray:5 4}.mini-ring-dot{fill:var(--estimate-soft);stroke:var(--estimate);stroke-width:2px}.cycle-strip-text{flex-direction:column;flex:1;line-height:1.25;display:flex}.cycle-strip-text span{color:var(--ink-soft);font-size:.88rem}.cycle-strip-chevron{color:var(--ink-soft)}.insight{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.45rem;padding:1.1rem;display:flex}.insight-kicker{color:var(--reported);font-size:.88rem;font-weight:700}.insight h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.3rem;line-height:1.15}.insight>p:not(.insight-kicker){color:var(--ink-soft)}.insight footer{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-top:.2rem;font-size:.82rem;display:flex}.confidence{color:var(--ink);align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.confidence-bars{align-items:flex-end;gap:2px;display:inline-flex}.confidence-bars span{background:var(--line);border-radius:2px;width:4px}.confidence-bars span:first-child{height:6px}.confidence-bars span:nth-child(2){height:9px}.confidence-bars span:nth-child(3){height:12px}.confidence-bars span.on{background:var(--reported)}.learning-steps{gap:.4rem;display:flex}.learning-steps span{background:var(--line);border-radius:99px;flex:1;height:8px}.learning-steps span.on{background:var(--reported)}@media (prefers-reduced-motion:no-preference){.today-block,.cycle-strip,.score-bar-fill{transform-origin:0;animation:grow .6s var(--spring-smooth) backwards}.ask-answer .reason{animation:.4s backwards ob-in-up;animation-delay:calc(var(--i) * 80ms)}}.rhythm-curve{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.8rem;padding:1.1rem 1rem 1rem;display:flex}.segmented{background:var(--well);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.seg{min-height:38px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:.92rem;font-weight:650}.seg-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.seg:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.curve-art{position:relative}.curve-svg{touch-action:pan-y;cursor:ew-resize;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.curve-area{fill:url(#curve-fill)}.curve-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.curve-usual line{stroke:var(--ink-soft);stroke-width:1.2px;stroke-dasharray:3 4;opacity:.7}.curve-usual text,.curve-tick{font-family:var(--font-body);fill:var(--ink-soft);font-size:10px;font-weight:600}.curve-est{stroke:var(--estimate);stroke-dasharray:5 4;stroke-linecap:round}.curve-est-period{stroke-width:7px}.curve-est-between{stroke-width:3px;opacity:.7}.curve-est-before_period{stroke-width:5px}.curve-today line{stroke:var(--estimate);stroke-width:1.5px;stroke-dasharray:2 3}.curve-sel line{stroke:var(--ink);stroke-width:1.5px}.curve-sel circle{fill:var(--surface);stroke:var(--accent);stroke-width:3px}.pp line{stroke:var(--reported);stroke-width:4px;stroke-linecap:round;opacity:.5}.pp-peak line{opacity:1}.pp-recovery line{opacity:.25}.pp text{font-family:var(--font-body);fill:var(--reported);font-size:10px;font-weight:700}.curve-learning{text-align:center;color:var(--ink-soft);background:color-mix(in srgb, var(--surface) 88%, transparent);border-radius:12px;padding:.6rem;font-size:.9rem;position:absolute;inset:30px 10px auto}.curve-slider input{width:100%;accent-color:var(--accent);min-height:28px}.curve-readout{background:var(--well);border-radius:16px;flex-direction:column;gap:.45rem;padding:.8rem .9rem;display:flex}.curve-readout-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.curve-readout-head>div{flex-direction:column;display:flex}.curve-readout-head b{font-family:var(--font-display);font-size:1.15rem}.curve-readout-head>div>span{color:var(--ink-soft);font-size:.88rem}.curve-readout dl{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0;display:grid}.curve-readout dl div{background:var(--surface);border-radius:12px;padding:.45rem .6rem}.curve-readout dt{color:var(--ink-soft);font-size:.78rem;font-weight:600}.curve-readout dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem;font-weight:750}.curve-phase,.curve-symptoms,.curve-basis{color:var(--ink-soft);font-size:.88rem}.curve-phase b{color:var(--reported)}.twin-lines{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.twin-lines li{grid-template-columns:4rem 1fr 6.5rem;align-items:center;gap:.7rem;display:grid}.twin-name{font-weight:650}.twin-bar{background:var(--line);border-radius:99px;height:10px;position:relative}.twin-usual,.twin-today{border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%)}.twin-usual{border:2.5px solid var(--reported);background:var(--surface)}.twin-today{background:var(--reported);width:12px;height:12px}.twin-verdict{text-align:right;font-size:.82rem;font-weight:700}.twin-above{color:var(--reported)}.twin-below{color:var(--ink)}.twin-as-usual{color:var(--ink-soft)}.twin-key{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.8rem;display:flex}.twin-key-today,.twin-key-usual{border-radius:50%;width:10px;height:10px;display:inline-block}.twin-key-today{background:var(--reported)}.twin-key-usual{border:2px solid var(--reported);margin-left:.6rem}.fp-stage{margin:0}.fp-list{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;display:grid}.fp-list div{background:var(--well);border-radius:14px;padding:.6rem .75rem}.fp-list dt{color:var(--ink-soft);font-size:.78rem;font-weight:600}.fp-list dd{font-family:var(--font-display);flex-direction:column;margin:.1rem 0 0;font-size:1.05rem;font-weight:750;display:flex}.fp-list small{font-family:var(--font-body);color:var(--ink-soft);font-size:.78rem;font-weight:500}.history-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-list li{border-top:1px solid var(--line);grid-template-columns:6.6rem 1fr 4.4rem 36px;align-items:center;gap:.6rem;padding:.45rem 0;display:grid}.history-list li:first-child{border-top:0}.history-date{font-size:.92rem;font-weight:600}.history-bar{background:var(--well);border-radius:99px;height:8px;overflow:hidden}.history-bar span{background:var(--reported);border-radius:99px;height:100%;display:block}.history-bar .history-now{background:var(--line);width:12%!important}.history-len{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-size:.88rem}.icon-button{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}@media (hover:hover){.icon-button:hover{background:var(--well);color:var(--ink)}}.icon-button:focus-visible{outline:3px solid var(--accent)}.planner .card-head .link{align-items:center;gap:.35rem;min-height:36px;display:inline-flex}.event{border-top:1px solid var(--line);flex-direction:column;gap:.55rem;padding-top:.8rem;display:flex}.event header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.event h3{font-family:var(--font-display);margin:0;font-size:1.2rem}.event header p{color:var(--ink-soft);font-size:.9rem}.event-cycle,.event-note{flex-wrap:wrap;align-items:center;gap:.4rem;max-width:none;font-size:.92rem;display:flex}.leadup{border-left:2px solid var(--line);flex-direction:column;gap:.55rem;margin:.2rem 0 0;padding:0 0 0 .9rem;list-style:none;display:flex}.leadup li{flex-direction:column;display:flex;position:relative}.leadup li:before{content:"";background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:calc(-.9rem - 6px)}.leadup li:last-child:before{background:var(--accent)}.leadup span{color:var(--accent);font-size:.8rem;font-weight:700}.leadup p{font-size:.92rem}.event-form{flex-direction:column;gap:.8rem;display:flex}.period-form h3{font-family:var(--font-display);margin:0;font-size:1.15rem}.discoveries,.changes{flex-direction:column;gap:.75rem;display:flex}.change{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ink-soft);border-radius:16px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex}.change h3{font-family:var(--font-display);margin:0;font-size:1.1rem}.change p{color:var(--ink-soft);font-size:.92rem}.toaster{left:0;right:0;bottom:calc(var(--tab-height) + env(safe-area-inset-bottom) + 12px);z-index:70;pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);width:100%;max-width:520px;min-height:52px;color:var(--bg);border-radius:16px;align-items:center;gap:1rem;padding:.4rem .5rem .4rem 1.1rem;font-weight:600;display:flex;box-shadow:0 10px 30px #00000040}.toast span{flex:1}.toast-undo{min-height:40px;color:var(--accent-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 1rem;font-weight:800}.toast-undo:focus-visible{outline:3px solid var(--accent-soft)}@media (prefers-reduced-motion:no-preference){.rhythm-curve,.twin,.fingerprint,.history,.planner,.cycle-card{animation:ob-in-up .5s var(--spring-smooth) backwards;animation-delay:calc(.2s + var(--i,0) * 90ms)}.curve-shape .curve-line{stroke-dasharray:1;animation:1.2s cubic-bezier(.65,0,.35,1) backwards week-draw}.curve-shape .curve-area{animation:.9s .3s backwards fade-in}.curve-sel line,.curve-sel circle{transition:x1 .12s,x2 .12s,cx .12s,cy .12s}.pp line{animation:.6s .6s backwards fade-in}.seg{transition:background-color .2s,color .2s}.twin-today{animation:pop-in .5s var(--spring-playful) .4s backwards}.history-list li,.leadup li{animation:.4s backwards ob-in-up;animation-delay:calc(.3s + var(--i,0) * 50ms)}.history-bar span{transform-origin:0;animation:grow .6s var(--spring-smooth) .4s backwards}.toast{animation:rise-in .3s var(--spring-snappy)}.change{animation:.5s backwards ob-in-up}}.model-hero{background:var(--ink);color:var(--bg);border-radius:28px;flex-direction:column;gap:.8rem;padding:1.25rem;display:flex}.model-kicker{opacity:.75;font-size:.92rem;font-weight:650}.model-hero h2{letter-spacing:-.015em;font-size:clamp(1.8rem,8vw,2.3rem);font-weight:780;line-height:1.04}.model-crests{width:100%;height:auto;overflow:visible}.crest{fill:none;stroke-width:3.5px;stroke-linecap:round}.crest-done{stroke:var(--accent-soft)}.crest-now{stroke:var(--accent-soft);stroke-dasharray:3 5;opacity:.8}.crest-todo{stroke:currentColor;opacity:.18}.model-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;display:grid}.model-stats div{background:#ffffff12;border-radius:14px;padding:.6rem .7rem}.model-stats dt{opacity:.7;font-size:.78rem}.model-stats dd{font-family:var(--font-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:800}.model-note{opacity:.7;font-size:.85rem}:root[data-theme=dark] .model-hero{background:var(--surface);color:var(--ink);border:1px solid var(--line)}:root[data-theme=dark] .model-stats div{background:var(--well)}.section-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.disc-group{flex-direction:column;gap:.5rem;display:flex}.disc-group h3{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:.45rem;margin:.3rem 0 0;font-size:1.05rem;display:flex}.disc-group ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.discovery{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.35rem;padding:1rem 1.05rem .6rem;display:flex}.discovery h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.2rem;line-height:1.15}.discovery>p{color:var(--ink-soft)}.discovery-foot{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-top:.15rem;font-size:.82rem;display:flex}.discovery-how{min-height:40px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.88rem;font-weight:650}.discovery-method{color:var(--ink-soft);background:var(--well);border-radius:12px;max-width:none;margin-bottom:.4rem;padding:.6rem .75rem;font-size:.88rem}.replay-card{text-align:left;border-radius:var(--radius-card);background:var(--accent);width:100%;color:var(--accent-ink);font:inherit;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem;display:flex;position:relative;overflow:hidden}.replay-card-text{flex-direction:column;gap:.15rem;display:flex}.replay-card small{opacity:.8;font-weight:650}.replay-card b{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.45rem}.replay-card span span,.replay-card-text>span{opacity:.85;font-size:.92rem}.exmap-table{border-collapse:separate;border-spacing:4px;font-variant-numeric:tabular-nums;width:100%}.exmap-table th{color:var(--ink-soft);text-align:center;font-size:.78rem;font-weight:650}.exmap-table th[scope=row]{text-align:left;color:var(--ink);padding-right:.3rem;font-size:.92rem;font-weight:650}.exmap-table th[scope=row] small{color:var(--ink-soft);font-size:.75rem;font-weight:500;display:block}.exmap-table td{text-align:center;border-radius:10px;padding:.55rem .2rem;font-size:.9rem;font-weight:700}.exmap-up{background:color-mix(in srgb, var(--reported) calc(var(--s) * 55% + 8%), transparent)}.exmap-down{background:color-mix(in srgb, var(--ink-soft) calc(var(--s) * 35% + 6%), transparent)}.exmap-none{color:var(--ink-soft)}.exmap-best{outline:2.5px solid var(--reported);outline-offset:-2.5px}.exmap-key{color:var(--ink-soft);font-size:.8rem}.memory-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.memory-list li{background:var(--well);border-radius:16px;flex-direction:column;gap:.3rem;padding:.75rem .85rem;display:flex}.memory-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.memory-head b{font-family:var(--font-display)}.memory-head span:not(.tag){color:var(--ink-soft);white-space:nowrap;flex:1;font-size:.88rem}.memory-list p{font-size:.92rem}.memory-after{color:var(--ink-soft)}.respond-cols{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.respond-cols div{background:var(--well);border-radius:16px;flex-direction:column;gap:.15rem;padding:.8rem;display:flex}.respond-cols span{color:var(--ink-soft);font-size:.85rem;font-weight:600}.respond-cols b{font-family:var(--font-display);letter-spacing:-.015em;font-size:2rem;font-weight:800}.respond-cols small{color:var(--ink-soft);font-size:.8rem}.respond-cols em{color:var(--ink-soft);font-size:.75rem;font-style:normal}.respond-heavy{color:var(--ink-soft);font-size:.9rem}.experiment{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.8rem;display:flex}.experiment h3{font-family:var(--font-display);margin:0;font-size:1.1rem;line-height:1.2}.exp-bars{flex-direction:column;gap:.4rem;display:flex}.exp-bars>div{grid-template-columns:8.5rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.exp-bars small{color:var(--ink-soft)}.exp-bar{background:var(--well);border-radius:99px;height:10px;overflow:hidden}.exp-bar span{background:var(--reported);border-radius:99px;height:100%;display:block}.exp-finding{max-width:none;font-size:.92rem}.exp-not-enough-data{color:var(--ink-soft)}.exp-try{color:var(--ink-soft);background:var(--well);border-radius:12px;max-width:none;padding:.55rem .75rem;font-size:.88rem}.exp-try b{color:var(--ink)}.replay{z-index:80;background:var(--accent);color:var(--accent-ink);padding:calc(env(safe-area-inset-top) + .8rem) 1.25rem calc(env(safe-area-inset-bottom) + 1rem);flex-direction:column;display:flex;position:fixed;inset:0}.replay-progress{gap:4px;display:flex}.replay-progress span{background:#ffffff40;border-radius:99px;flex:1;height:3px;position:relative;overflow:hidden}.replay-progress span.done{background:currentColor}.replay-progress span.now:after{content:"";background:currentColor;position:absolute;inset:0}.replay-close{top:calc(env(safe-area-inset-top) + 1.4rem);width:44px;height:44px;color:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;right:.9rem}.replay-stage{cursor:pointer;flex:1;align-items:center;display:flex}.replay-slide{flex-direction:column;gap:1rem;width:100%;display:flex}.replay-kicker{opacity:.8;font-weight:700}.replay-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.6rem,13vw,3.8rem);font-weight:800;line-height:1}.replay-wave{width:100%;max-width:360px;overflow:visible}.replay-wave path{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round}.replay-big{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;align-items:baseline;gap:.6rem;font-size:clamp(5rem,28vw,7.5rem);font-weight:800;line-height:.9;display:flex}.replay-big .replay-unit{font-family:var(--font-body);letter-spacing:0;opacity:.85;font-size:1.2rem;font-weight:650}.replay-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.replay-row div{background:#ffffff1f;border-radius:18px;flex-direction:column;padding:.9rem;display:flex}.replay-row b{font-family:var(--font-display);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:800}.replay-row .replay-label{opacity:.85;font-size:.9rem}.replay-line{max-width:26ch;font-size:1.25rem;font-weight:600;line-height:1.35}.replay-sub{opacity:.85}.replay-learned{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.replay-learned li{font-family:var(--font-display);letter-spacing:-.005em;border-left:3px solid;padding-left:1rem;font-size:1.35rem;font-weight:700;line-height:1.2}.replay-share{align-self:flex-start;margin-top:.5rem}.replay-nav{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.replay-nav .link{color:inherit}.replay-nav .link:disabled{opacity:.4}@media (prefers-reduced-motion:no-preference){.crest{stroke-dasharray:60;animation:.7s cubic-bezier(.65,0,.35,1) backwards crest-draw;animation-delay:calc(.2s + var(--i) * 90ms)}.crest-now{animation:none}.disc-group,.exmap,.memory,.respond,.experiments{animation:ob-in-up .5s var(--spring-smooth) backwards;animation-delay:calc(.2s + var(--i,0) * 80ms)}.exmap-table tbody tr{animation:.4s backwards ob-in-up;animation-delay:calc(.3s + var(--i) * 60ms)}.memory-list li{animation:.35s backwards ob-in-up;animation-delay:calc(var(--i) * 70ms)}.exp-bar span{transform-origin:0;animation:grow .7s var(--spring-smooth) .3s backwards}.replay{animation:.6s cubic-bezier(.65,0,.35,1) backwards flood}.replay-slide{animation:ob-in-right .45s var(--spring-smooth)}.replay-title .w{animation:word-up .6s var(--spring-snappy) backwards;animation-delay:calc(.3s + var(--i) * 80ms);display:inline-block}.replay-wave path{stroke-dasharray:1;animation:1.2s cubic-bezier(.65,0,.35,1) .5s backwards week-draw}.replay-progress span.now:after{transform-origin:0;animation:6s linear grow}.replay-row div{animation:pop-in .5s var(--spring-playful) .3s backwards}.replay-learned li{animation:.5s backwards ob-in-up}.replay-learned li:nth-child(2){animation-delay:.25s}.replay-learned li:nth-child(3){animation-delay:.5s}}@keyframes crest-draw{0%{stroke-dashoffset:60px}}.today-actions{grid-template-columns:1.45fr 1fr;gap:.5rem;display:grid}.today-actions .ask-button{white-space:nowrap;padding:0 .6rem;font-size:.9rem}.changed-banner{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:none;padding:.6rem .85rem;font-size:.92rem;display:flex}.changed-banner span:not(.tag){flex:1;min-width:10rem}.weather{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.8rem;padding:1.1rem .9rem .9rem 1rem;display:flex}.weather-grid{flex-direction:column;gap:.15rem;display:flex}.weather-row{grid-template-columns:4.6rem repeat(7,1fr);align-items:center;gap:2px;display:grid}.weather-head span{color:var(--ink-soft);flex-direction:column;align-items:center;padding-bottom:.25rem;font-size:.7rem;font-weight:700;line-height:1.15;display:flex}.weather-head small{font-variant-numeric:tabular-nums;font-size:.65rem;font-weight:500}.weather-label{font-size:.85rem;font-weight:650}.sky{height:36px;color:var(--ink-soft);border-radius:10px;place-items:center;display:grid}.sky-better{color:var(--estimate);background:var(--estimate-soft)}.sky-lower{color:var(--ink-soft)}.sky-usual{color:color-mix(in srgb, var(--estimate) 70%, var(--ink-soft))}.weather-today{background-color:color-mix(in srgb, var(--accent-soft) 60%, transparent);border-radius:10px}.weather-head .weather-today{color:var(--accent)}.sky-dot{background:var(--line);border-radius:50%;width:4px;height:4px}.weather-key{color:var(--ink-soft);font-size:.78rem;line-height:1.5}.weather-key svg{vertical-align:-2px}.debt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.6rem;padding:1rem;display:flex}.debt-top{justify-content:space-between;align-items:center;display:flex}.debt-top h2{font-size:1.15rem}.debt-gauge{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.debt-gauge span{text-align:center;color:var(--ink-soft);background:var(--well);border-radius:10px;padding:.4rem 0;font-size:.78rem;font-weight:650}.debt-gauge span.on{background:var(--reported);color:var(--reported-ink)}.debt p{color:var(--ink-soft);max-width:none;font-size:.92rem}.debt p b{color:var(--ink)}.ahead{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.7rem;padding:1rem;display:flex}.ahead ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.ahead li{border-left:3px dashed var(--estimate);flex-direction:column;gap:.25rem;padding:.1rem 0 .1rem .8rem;display:flex}.ahead li div{flex-direction:column;display:flex}.ahead li b{font-family:var(--font-display);font-size:1.05rem}.ahead li span{color:var(--ink-soft);font-size:.85rem}.ahead li p{font-size:.92rem}.edit-today{border:1.5px dashed var(--line);min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:99px;align-self:center;align-items:center;gap:.4rem;padding:0 1rem;font-size:.9rem;font-weight:650;display:inline-flex}.change-options{flex-direction:column;gap:.5rem;display:flex}.change-option{display:block;position:relative}.change-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.change-option>span{border:1.5px solid var(--line);background:var(--well);border-radius:16px;flex-direction:column;gap:2px;padding:.75rem .95rem;display:flex}.change-option small{color:var(--ink-soft);font-size:.85rem}.change-option input:checked+span{border-color:var(--accent);background:var(--accent-soft)}.change-option input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.toggles{flex-direction:column;display:flex}.toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:54px;font-weight:600;display:flex}.toggle:last-child{border-bottom:0}.toggle input{appearance:none;background:var(--line);cursor:pointer;border-radius:99px;flex:none;width:50px;height:30px;margin:0;position:relative}.toggle input:after{content:"";background:var(--surface);border-radius:50%;width:24px;height:24px;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{left:23px}.toggle input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.weather,.debt,.ahead,.today-actions,.changed-banner{animation:ob-in-up .5s var(--spring-smooth) backwards;animation-delay:calc(.25s + var(--i,0) * 80ms)}.weather-row{animation:.5s backwards fade-in;animation-delay:calc(.45s + var(--i) * 70ms)}.debt-gauge span.on{animation:pop .5s var(--spring-playful) .5s backwards}.toggle input:after{transition:left .22s var(--spring-springy)}.toggle input{transition:background-color .2s}}.showme{flex-direction:column;gap:.6rem;display:flex}.showme-toggle,.showme-chip{border:1.5px solid var(--accent);min-height:40px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:99px;align-self:flex-start;align-items:center;gap:.4rem;padding:0 .9rem;font-size:.9rem;font-weight:700;display:inline-flex}.showme-toggle[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}.showme-chip{border-width:1px;min-height:32px;padding:0 .7rem;font-size:.82rem}.move-show{grid-column:1/-1;margin-top:.35rem}.ghost{flex-direction:column;gap:.8rem;display:flex}.ghost-lens{grid-template-columns:repeat(4,1fr)}.ghost-lens .seg{font-size:.82rem}.ghost-stage{background:var(--well);border-radius:20px;flex-direction:column;gap:.5rem;padding:.6rem .6rem .8rem;display:flex;position:relative}.ghost-svg{touch-action:pan-y;cursor:ew-resize;-webkit-user-select:none;user-select:none;width:100%;max-height:260px;display:block}.gr-floor{stroke:var(--line);stroke-width:1.4px}.gr-bench{fill:var(--line)}.gr-limb{stroke:var(--ink);stroke-width:4.2px;stroke-linecap:round}.gr-neck{stroke-width:3.4px}.gr-far .gr-limb{opacity:.32}.gr-joint,.gr-head{fill:var(--ink)}.gr-ghost .gr-limb,.gr-ghost .gr-joint,.gr-ghost .gr-head{stroke:var(--ink-soft);fill:var(--ink-soft);opacity:.16}.gr-ghost .gr-limb{stroke-dasharray:2 3;stroke-width:2.4px;opacity:.35}.gr-ghost .gr-head{fill:none;stroke-width:1.2px;opacity:.35}.gr-plate{fill:var(--accent)}.gr-hub{fill:var(--accent-ink)}.gr-db,.gr-kb{fill:var(--accent)}.gr-band{fill:none;stroke:var(--reported);stroke-width:1.8px;stroke-dasharray:3 2}.gr-cable,.gr-bar{stroke:var(--ink-soft);stroke-width:1.4px}.ghost-muscles .gr-limb{opacity:.35}.ghost-muscles .gr-lit{opacity:1;stroke:var(--accent);stroke-width:6px;filter:drop-shadow(0 0 3px var(--accent-soft))}.ghost-muscles .gr-lit-dot{fill:var(--accent);filter:drop-shadow(0 0 4px var(--accent-soft))}.ghost-muscles .gr-far .gr-limb{opacity:.15}.gr-breath{fill:color-mix(in srgb, var(--reported) 18%, transparent);stroke:var(--reported);stroke-width:1px}.ghost-breathe{text-align:center;font-family:var(--font-display);color:var(--reported);font-size:1.3rem;font-weight:750}.ghost-muscles p,.ghost-muscles{font-size:.9rem}.ghost-stage .ghost-muscles{text-align:center;color:var(--ink-soft)}.ghost-stage .ghost-muscles b{color:var(--ink)}.ghost-tempo{flex-direction:column;gap:.4rem;display:flex}.ghost-tempo p{color:var(--ink-soft);text-align:center;max-width:none;font-size:.85rem}.tempo-bar{gap:3px;height:30px;display:flex;position:relative}.tempo-bar span{background:var(--surface);color:var(--ink-soft);border-radius:8px;place-items:center;min-width:2.6rem;font-size:.75rem;font-weight:700;display:grid}.tempo-bar i{background:var(--accent);border-radius:2px;width:3px;position:absolute;top:-3px;bottom:-3px;transform:translate(-1.5px)}.ghost-keys{grid-template-columns:44px repeat(4,1fr);align-items:center;gap:4px;display:grid}.ghost-key{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:12px;font-size:.8rem;font-weight:700}.ghost-key-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.ghost-play{border:1px solid var(--line);background:var(--surface);width:44px;height:40px}.ghost-cues{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-weight:600;display:flex}.ghost-cues li::marker{color:var(--accent)}.ghost-notes{flex-direction:column;gap:.5rem;margin:0;display:flex}.ghost-notes div{flex-direction:column;gap:.1rem;display:flex}.ghost-notes dt{color:var(--ink-soft);font-size:.8rem;font-weight:700}.ghost-notes dd{margin:0;font-size:.92rem}.ghost-mistake{background:var(--well);border-left:3px solid var(--ink-soft);border-radius:12px;padding:.55rem .75rem}@media (prefers-reduced-motion:no-preference){.ghost{animation:ob-in-up .35s var(--spring-smooth)}.gr-breath{transition:r .6s}.ghost-key,.showme-toggle{transition:background-color .2s,color .2s}}.bb-total{text-align:center;color:var(--ink-soft);font-weight:650}.bb-total b{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:800}.bb-svg{width:100%;height:auto;display:block;overflow:visible}.bb-shaft{fill:#9aa0a8}.bb-sleeve{fill:#c3c8cf}.bb-collar{fill:#7d838b}.bb-plate{cursor:pointer}.bb-plate rect{stroke:#00000040;stroke-width:.8px}.bb-red rect,.bb-pick.bb-red{fill:#d6453d;color:#fff;background:#d6453d}.bb-blue rect,.bb-pick.bb-blue{fill:#2f6fd6;color:#fff;background:#2f6fd6}.bb-yellow rect,.bb-pick.bb-yellow{fill:#e8c33a;color:#2b2100;background:#e8c33a}.bb-green rect,.bb-pick.bb-green{fill:#3c9a5f;color:#fff;background:#3c9a5f}.bb-white rect,.bb-pick.bb-white{fill:#f4f4f2;color:#222;background:#f4f4f2}.bb-black rect,.bb-pick.bb-black{fill:#232323;color:#fff;background:#232323}.bb-silver rect,.bb-pick.bb-silver{fill:#b8bcc4;color:#222;background:#b8bcc4}.bb-hint{color:var(--ink-soft);text-align:center;max-width:none;font-size:.85rem}.bb-plates{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.bb-pick{min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:12px;font-size:.85rem;font-weight:800;box-shadow:inset 0 -3px #0000002e}.bb-pick:active{transform:scale(.94)}.bb-pick.bb-white{box-shadow:inset 0 0 0 1px #ccc,inset 0 -3px #0000001f}.bb-row{align-items:center;gap:.5rem;display:flex}.bb-bars{flex:1}.logger-toolbar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.logger-toolbar .link{align-items:center;gap:.35rem;min-height:36px;font-size:.92rem;display:inline-flex}.logger-caution{background:var(--estimate-soft);color:var(--ink);border-radius:14px;max-width:none;padding:.6rem .85rem;font-size:.9rem}.logger-tools{flex-direction:column;gap:.6rem;display:flex}.logger-tool-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.tool-chip{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.35rem;padding:0 .8rem;font-size:.85rem;font-weight:650;display:inline-flex}.set-head-actions{align-items:center;gap:.3rem;display:flex}.set-plates{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.plates-button{border:1px dashed var(--accent);min-height:34px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.82rem;font-weight:700;display:inline-flex}.plates-text{color:var(--ink-soft);font-size:.8rem}.autoreg{background:var(--surface);border:1.5px solid var(--accent);border-radius:18px;flex-direction:column;gap:.5rem;padding:.85rem .95rem;display:flex}.autoreg p{max-width:none;font-size:.95rem}.autoreg-stop{border-color:var(--ink-soft)}.autoreg .tag{align-self:flex-start}.autoreg-actions{align-items:center;gap:.8rem;display:flex}.autoreg-actions .button{min-height:40px;padding:0 1rem}.overview{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.overview-row{background:var(--well);border:1.5px solid #0000;border-radius:14px;grid-template-columns:36px 1fr auto;align-items:center;gap:.4rem;padding:.35rem .4rem;display:grid}.overview-now{border-color:var(--accent)}.overview-dragging{opacity:.6;box-shadow:0 8px 20px #00000026}.overview-handle{width:36px;height:44px;color:var(--ink-soft);cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;display:grid}.overview-main{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:.3rem 0;display:flex}.overview-main span{color:var(--ink-soft);font-size:.82rem}.overview-arrows{display:flex}.overview-arrows .icon-button:disabled{opacity:.3}.swaps{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.swaps li{background:var(--well);border-radius:16px;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem 0;display:flex}.swap-main{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:.1rem;padding:.5rem .8rem;display:flex}.swap-label{color:var(--accent);font-size:.75rem;font-weight:800}.swap-main b{font-family:var(--font-display);font-size:1.05rem}.swap-why{color:var(--ink-soft);font-size:.82rem}.recent-actions{align-items:center;gap:.2rem;margin-left:auto;display:flex}.units-seg{grid-template-columns:1fr 1fr}@media (prefers-reduced-motion:no-preference){.bb-slide-r rect{animation:plate-in-r .35s var(--spring-snappy) backwards;transform-box:fill-box}.bb-slide-l rect{animation:plate-in-l .35s var(--spring-snappy) backwards;transform-box:fill-box}.bb-total b{transition:color .2s}.autoreg{animation:ob-in-up .35s var(--spring-smooth)}.overview-row{transition:transform .15s}}@keyframes plate-in-r{0%{opacity:0;transform:translate(40px)}}@keyframes plate-in-l{0%{opacity:0;transform:translate(-40px)}}.train-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.train-bar .tool-chip{text-decoration:none}.where{grid-template-columns:1fr 1fr;min-width:13rem}.lib-search{background:var(--surface);border:1.5px solid var(--line);min-height:52px;color:var(--ink-soft);border-radius:16px;align-items:center;gap:.6rem;padding:0 1rem;display:flex}.lib-search:focus-within{border-color:var(--accent)}.lib-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-height:48px;font-size:1.05rem}.lib-filters{scrollbar-width:none;gap:.4rem;margin:0 -1rem;padding-bottom:.2rem;padding-left:1rem;padding-right:1rem;display:flex;overflow-x:auto}.lib-filters::-webkit-scrollbar{display:none}.filter-chip{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:99px;flex:none;align-items:center;padding:0 .9rem;font-size:.86rem;font-weight:600;text-decoration:none;display:inline-flex}.filter-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-select{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);font:inherit;border-radius:99px;flex:none;padding:0 .7rem;font-size:.86rem;font-weight:600}.lib-section{flex-direction:column;gap:.5rem;display:flex}.lib-section h2{font-size:1.15rem}.lib-group h3{font-family:var(--font-display);align-items:baseline;gap:.5rem;margin:.6rem 0 .4rem;font-size:1rem;display:flex}.lib-group h3 small{font-family:var(--font-body);color:var(--ink-soft);font-size:.8rem;font-weight:500}.lib-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.lib-row{border-top:1px solid var(--line);grid-template-columns:1fr auto 40px;align-items:center;gap:.5rem;padding-right:.3rem;display:grid}.lib-row:first-child{border-top:0}.lib-main{color:var(--ink);flex-direction:column;min-width:0;padding:.7rem 0 .7rem 1rem;text-decoration:none;display:flex}.lib-main b{font-weight:650}.lib-main span{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.difficulty{gap:2px;display:inline-flex}.difficulty span{background:var(--line);border-radius:2px;width:5px;height:12px}.difficulty span.on{background:var(--accent)}.star{color:var(--ink-soft)}.star-on{color:var(--estimate)}.star-on svg{fill:currentColor}.field select{min-height:48px;font:inherit;color:var(--ink);background:var(--well);border:1.5px solid var(--line);border-radius:12px;padding:0 .8rem}.field-legend{width:100%;margin-bottom:.4rem;font-weight:600}.back-link{min-height:36px;color:var(--accent);align-self:flex-start;align-items:center;gap:.2rem;font-weight:650;text-decoration:none;display:inline-flex}.ex-head{gap:.6rem}.ex-tags{flex-wrap:wrap;gap:.35rem;display:flex}.ex-tags span{background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.2rem .65rem;font-size:.8rem;font-weight:650}.star-button{align-self:flex-start;min-height:40px}.star-button.star-on{background:var(--estimate-soft);color:var(--estimate)}.pb-tiles{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;display:grid}.pb-tiles div{background:var(--well);border-radius:14px;padding:.6rem .7rem}.pb-tiles dt{color:var(--ink-soft);font-size:.75rem;font-weight:650}.pb-tiles dd{font-family:var(--font-display);letter-spacing:-.01em;flex-direction:column;margin:.1rem 0 0;font-size:1.2rem;font-weight:800;display:flex}.pb-tiles small{font-family:var(--font-body);color:var(--ink-soft);font-size:.75rem;font-weight:500}.trend{margin:0}.trend svg{width:100%;height:auto;display:block;overflow:visible}.trend-line{fill:none;stroke:var(--reported);stroke-width:3px;stroke-linecap:round}.trend-dot{fill:var(--surface);stroke:var(--reported);stroke-width:3px}.trend figcaption{color:var(--ink-soft);margin-top:.3rem;font-size:.82rem}.ex-sessions{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ex-sessions li{border-top:1px solid var(--line);grid-template-columns:4.5rem 1fr auto;gap:.5rem;padding:.45rem 0;font-size:.9rem;display:grid}.ex-sessions li span:first-child{color:var(--ink-soft)}.ex-related h3{color:var(--ink-soft);font-size:.85rem;font-family:var(--font-body);margin:.3rem 0 0;font-weight:650}.rel-chips{flex-wrap:wrap;gap:.4rem;display:flex}@media (prefers-reduced-motion:no-preference){.lib-row{animation:.35s backwards fade-in;animation-delay:calc(var(--i) * 25ms)}.trend-line{stroke-dasharray:1;animation:1.2s cubic-bezier(.65,0,.35,1) .2s backwards week-draw}.star svg{transition:transform .25s var(--spring-playful), fill .2s}.star-on svg{transform:scale(1.15)}}.planner-week{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.75rem;padding:1.1rem 1rem 1rem;display:flex}.week-days{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.week-day{background:var(--well);border-radius:14px;grid-template-columns:4.4rem 1fr auto auto;align-items:center;gap:.5rem;padding:.5rem .4rem .5rem .75rem;display:grid}.week-day-train{background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg))}.week-day-busy{opacity:.7}.wd-label{color:var(--ink-soft);font-size:.85rem;font-weight:700}.wd-main{flex-direction:column;min-width:0;display:flex}.wd-main b{font-family:var(--font-display);font-size:1rem}.wd-main small{color:var(--ink-soft);font-size:.78rem}.wd-rest{color:var(--ink-soft);font-size:.9rem}.wd-up{color:var(--estimate);font-size:.75rem}.busy-chip{border:1px dashed var(--line);min-height:32px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border-radius:99px;padding:0 .7rem;font-size:.75rem;font-weight:700}.busy-on{border-style:solid;border-color:var(--ink-soft);background:var(--surface);color:var(--ink)}.pb-window{background:var(--well);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.6rem;max-width:none;padding:.7rem .85rem;font-size:.9rem;display:flex}.pb-window svg{color:var(--estimate);flex:none}.pb-window span:not(.tag){flex:1;min-width:12rem}@media (prefers-reduced-motion:no-preference){.planner-week{animation:ob-in-up .5s var(--spring-smooth) .3s backwards}.week-day{animation:.35s backwards ob-in-up;animation-delay:calc(.35s + var(--i) * 45ms)}}.topbar-actions{gap:.2rem;margin-left:auto;display:flex}.offline-banner{background:var(--surface);border:1px dashed var(--line);width:calc(100% - 2rem);max-width:560px;color:var(--ink-soft);border-radius:12px;align-items:center;gap:.5rem;margin:0 auto;padding:.5rem .8rem;font-size:.85rem;display:flex}.resume-banner{background:var(--ink);color:var(--bg);border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;text-decoration:none;display:flex}.resume-banner small{opacity:.7;font-size:.8rem;display:block}.resume-banner b{font-family:var(--font-display);font-size:1.1rem}.cmd-backdrop{padding:calc(env(safe-area-inset-top) + .8rem) .8rem 0;align-items:flex-start}.cmd{background:var(--surface);border-radius:22px;flex-direction:column;width:100%;max-width:560px;max-height:80dvh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0000004d}.cmd-input{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:center;gap:.6rem;padding:0 .9rem;display:flex}.cmd-input input{min-height:58px;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:1.05rem}.cmd-results{margin:0;padding:.4rem;list-style:none;overflow-y:auto}.cmd-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;grid-template-columns:22px 1fr 16px;align-items:center;gap:.7rem;padding:.65rem .7rem;display:grid}.cmd-item span{flex-direction:column;display:flex}.cmd-item small{color:var(--ink-soft);font-size:.8rem}.cmd-item svg:first-child{color:var(--accent)}.cmd-active{background:var(--well)}.cmd-go{color:var(--ink-soft);opacity:0}.cmd-active .cmd-go{opacity:1}.cmd-empty{color:var(--ink-soft);padding:1rem;font-size:.92rem}.cmd-detail{flex-direction:column;gap:.5rem;padding:1rem 1.1rem 1.2rem;display:flex}.cmd-detail h3{font-family:var(--font-display);margin:0;font-size:1.3rem}.cmd-kicker{color:var(--ink-soft);font-size:.85rem;font-weight:650}.cmd-detail ul{margin:0;padding-left:1.1rem}.cmd-detail .link{align-self:flex-start}.private-mode .sensitive{cursor:pointer;border-radius:12px;position:relative}.private-mode .sensitive:not(.sensitive-shown)>div{filter:blur(9px);-webkit-user-select:none;user-select:none}.private-mode .sensitive:not(.sensitive-shown):after{content:"Hidden · tap to show";color:var(--ink);place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;inset:0}.score-hero .sensitive:not(.sensitive-shown):after{color:var(--accent-ink)}.private-mode .sensitive:focus-visible{outline:3px solid var(--accent)}.tab-menu-scrim{z-index:-1;background:0 0;border:0;position:fixed;inset:0}.tab-menu{bottom:calc(100% + 8px);left:calc(var(--slot) * 20% + 10%);background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;min-width:13rem;padding:.35rem;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 12px 30px #0003}.tab-menu button{min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 .9rem;font-weight:650}.tab-menu button:hover,.tab-menu button:focus-visible{background:var(--well)}@media (width<=420px){.tab-menu{left:50%}}@media (prefers-reduced-motion:no-preference){.cmd{animation:cmd-in .25s var(--spring-snappy)}.tab-menu{animation:rise-in .2s var(--spring-snappy)}.private-mode .sensitive>div{transition:filter .25s}.resume-banner{animation:.4s ob-in-up}}@keyframes cmd-in{0%{opacity:0;transform:translateY(-12px)scale(.98)}}.mode{flex-direction:column;gap:1rem;display:flex}.mode-kicker{color:var(--ink-soft);font-size:.8rem;font-weight:700}.mode-entry{border-radius:var(--radius-card);color:var(--ink);background:var(--surface);border:1px solid var(--line);align-items:center;gap:.85rem;padding:.95rem 1rem;text-decoration:none;display:flex}.mode-entry>span:nth-child(2){flex-direction:column;flex:1;display:flex}.mode-entry>span:nth-child(2) span{color:var(--ink-soft);font-size:.9rem}.mode-entry-icon{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);border-radius:14px;flex:none;place-items:center;display:grid}.core{background:radial-gradient(120% 90% at 50% 30%, color-mix(in srgb, var(--accent) 18%, var(--surface)), var(--surface) 70%);border:1px solid var(--line);border-radius:28px;flex-direction:column;gap:.6rem;padding:1.1rem 1.1rem 1.2rem;display:flex;position:relative;overflow:hidden}.core-top{justify-content:space-between;align-items:center;display:flex}.core-level{font-family:var(--font-display);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);padding:.15rem .75rem;font-size:.9rem;font-weight:700}.core-stage{place-items:center;display:grid}.core-orb{width:min(260px,72vw);height:auto;overflow:visible}.core-track{fill:none;stroke:color-mix(in srgb, var(--ink) 9%, transparent);stroke-width:9px}.core-fill{fill:none;stroke-width:9px;stroke-linecap:round}.core-ring-cycle .core-fill{stroke:#b0457f}.core-dot-cycle{background:#b0457f}.core-ring-recovery .core-fill{stroke:#2f8f7b}.core-dot-recovery{background:#2f8f7b}.core-ring-training .core-fill{stroke:#c27a1b}.core-dot-training{background:#c27a1b}.core-ring-sleep .core-fill{stroke:#5a63c9}.core-dot-sleep{background:#5a63c9}.core-ring-momentum .core-fill{stroke:#7d3c98}.core-dot-momentum{background:#7d3c98}:root[data-theme=dark] .core-ring-cycle .core-fill{stroke:#ea8cc0}:root[data-theme=dark] .core-dot-cycle{background:#ea8cc0}:root[data-theme=dark] .core-ring-recovery .core-fill{stroke:#6fd0bb}:root[data-theme=dark] .core-dot-recovery{background:#6fd0bb}:root[data-theme=dark] .core-ring-training .core-fill{stroke:#f0b95a}:root[data-theme=dark] .core-dot-training{background:#f0b95a}:root[data-theme=dark] .core-ring-sleep .core-fill{stroke:#9aa2f5}:root[data-theme=dark] .core-dot-sleep{background:#9aa2f5}:root[data-theme=dark] .core-ring-momentum .core-fill{stroke:#c79be0}:root[data-theme=dark] .core-dot-momentum{background:#c79be0}.core-halo,.core-flower{transform-box:view-box;transform-origin:0 0}.core-flower ellipse{fill:color-mix(in srgb, var(--accent) 55%, transparent)}.core-heart{fill:var(--accent)}.core-legend{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.core-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.88rem;display:inline-flex}.core-chip b{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:600}.core-chip-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.core-dot{border-radius:50%;flex:none;width:10px;height:10px}.core-detail{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.25rem;padding:.7rem .85rem;font-size:.95rem;display:flex}.core-grow{color:var(--ink-soft)}.season{border-radius:var(--radius-card);color:#fff;background:linear-gradient(135deg,#4a1d40,#6b2a5a 55%,#8d4a7a);flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.season .mode-kicker{color:#ffffffbf}.season h2{font-size:1.6rem}.season-day{color:#ffffffd9;align-items:center;gap:.5rem;display:flex}.season-tag .tag-estimate{color:#ffd68a;background:#00000040;border-color:#ffd68a}.season-track{background:#fff3;border-radius:99px;height:8px;overflow:hidden}.season-track span{border-radius:inherit;background:#fff;height:100%;display:block}.season-weeks{color:#ffffffe6;font-size:.95rem}.season-weeks b{font-family:var(--font-display);font-size:1.15rem}.level-xp{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.9rem}.level-bar{background:var(--accent-soft);border-radius:99px;height:12px;overflow:hidden}.level-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 60%, #f0b95a));height:100%;display:block}.level-how{font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.level-parts{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.level-parts li{justify-content:space-between;display:flex}.level-parts .level-rule{color:var(--ink-soft);padding-top:.35rem;font-size:.88rem}.quests ul,.boss ul,.attrs ul{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.quests-count{color:var(--ink-soft);font-size:.9rem}.quest{grid-template-columns:44px 1fr auto;align-items:start;gap:.75rem;display:grid}.quest h3{font-size:1rem;font-family:var(--font-body);font-weight:650}.quest p{color:var(--ink-soft);font-size:.88rem}.quest-mark{border:2px dashed var(--line);width:44px;height:44px;color:var(--ink-soft);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.quest-done .quest-mark{background:var(--accent);color:var(--accent-ink);border:0}.quest-bar{background:var(--accent-soft);border-radius:99px;height:6px;margin-top:.4rem;display:block;overflow:hidden}.quest-bar span{background:var(--accent);border-radius:inherit;height:100%;display:block}.quest-xp{color:var(--accent);white-space:nowrap;padding-top:.15rem;font-size:.82rem;font-weight:700}.boss h2{align-items:center;gap:.4rem;display:flex}.boss-intro,.boss-none{color:var(--ink-soft);font-size:.95rem}.boss-day{border:1px dashed var(--estimate);background:var(--estimate-soft);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;padding:.65rem .8rem;display:flex}.boss-day>span{color:var(--ink-soft);flex:12rem;font-size:.9rem}.boss-won{border-style:solid;border-color:var(--reported)}.boss-day>.boss-badge{background:var(--reported);color:var(--reported-ink);border-radius:99px;flex:none;padding:0 .6rem;font-size:.8rem;font-weight:700}.attr-head{justify-content:space-between;font-weight:600;display:flex}.attr-head b{font-variant-numeric:tabular-nums}.attr-bar{background:var(--accent-soft);border-radius:99px;height:8px;margin:.3rem 0;display:block;overflow:hidden}.attr-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.attr-bar-empty{background:repeating-linear-gradient(90deg, var(--line) 0 6px, transparent 6px 10px)}.attrs p{color:var(--ink-soft);font-size:.85rem}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.badge{border:1px solid var(--line);opacity:.62;border-radius:16px;flex-direction:column;gap:.25rem;padding:.8rem;display:flex}.badge b{font-size:.92rem;line-height:1.25}.badge-detail{color:var(--ink-soft);font-size:.8rem;line-height:1.3}.badge-icon{background:var(--line);width:36px;height:36px;color:var(--ink-soft);border-radius:12px;place-items:center;display:grid}.badge-earned{opacity:1;background:var(--surface);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.badge-earned .badge-icon{background:var(--accent);color:var(--accent-ink)}@media (prefers-reduced-motion:no-preference){.core-fill{animation:core-draw 1.4s var(--spring-smooth) both;animation-delay:calc(var(--i,0) * .12s + .2s)}@keyframes core-draw{0%{stroke-dasharray:.001 var(--len)}}.core-halo{animation:5s ease-in-out infinite core-breathe}@keyframes core-breathe{50%{opacity:.7;transform:scale(1.06)}}.core-flower{animation:40s linear infinite core-spin}@keyframes core-spin{to{transform:rotate(360deg)}}.core-heart{transform-origin:50%;transform-box:fill-box;animation:2.4s ease-in-out infinite core-beat}@keyframes core-beat{0%,to{transform:scale(1)}12%{transform:scale(1.25)}24%{transform:scale(1)}}.level-bar span,.quest-bar span,.attr-bar span,.season-track span{animation:mode-bar 1.1s var(--spring-smooth) both;animation-delay:calc(var(--i,0) * 80ms + .3s);transform-origin:0}@keyframes mode-bar{0%{transform:scaleX(0)}}@keyframes mode-rise{0%{opacity:0;transform:translateY(8px)}}.badge-earned .badge-icon{position:relative}.badge-earned .badge-icon:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 25%, transparent);opacity:0;animation:3s ease-in-out infinite badge-shine;animation-delay:calc(var(--i,0) * .4s);position:absolute;inset:0}@keyframes badge-shine{0%,85%,to{opacity:0}92%{opacity:1}}.mode-entry{transition:transform .2s}.mode-entry:active{transform:scale(.98)}}.online{border-radius:var(--radius-card);border:1.5px dashed var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 45%, transparent), transparent);flex-direction:column;gap:.75rem;margin-top:1.25rem;padding:1rem;display:flex}.online-head{align-items:flex-start;gap:.75rem;display:flex}.online-head p{color:var(--ink-soft);font-size:.92rem}.online-icon{background:var(--surface);border:1px solid var(--line);width:38px;height:38px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.online-go{align-self:stretch}.online-count{color:var(--ink-soft);font-size:.9rem}.online-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.online-row{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.online-main{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;padding:.8rem .9rem;display:flex}.online-main>span{flex-direction:column;display:flex}.online-main>span span{color:var(--ink-soft);text-transform:capitalize;font-size:.85rem}.online-main svg{flex:none;transition:transform .25s}.online-open .online-main svg{transform:rotate(180deg)}.online-detail{flex-direction:column;gap:.5rem;padding:0 .9rem .9rem;font-size:.95rem;display:flex}.online-detail h3{margin-top:.35rem;font-size:.95rem}.online-detail ol,.online-detail ul{flex-direction:column;gap:.25rem;margin:0;padding-left:1.2rem;display:flex}.online-safety{color:var(--ink-soft);border-left:3px solid var(--estimate);padding-left:.6rem;font-size:.88rem}.online-video{background:#000;border-radius:12px;width:100%}.online-play{font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.35rem;padding:0;display:inline-flex}.online-actions{justify-content:flex-end;padding-top:.25rem;display:flex}.online-credit{color:var(--ink-soft);font-size:.8rem}.day-nav{background:var(--surface);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;margin:1rem 0;padding:.3rem;display:flex}.day-nav b{font-family:var(--font-display)}.day-nav .icon-button:disabled{opacity:.3;cursor:default}.plate{border:1px solid var(--line);background:radial-gradient(90% 120% at 0% 50%, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface) 70%);border-radius:24px;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem 1.1rem;display:grid;position:relative}.plate-ring{grid-row:1/span 2;width:136px;height:136px}.plate-track{fill:none;stroke:color-mix(in srgb, var(--ink) 8%, transparent);stroke-width:14px}.plate-arc{fill:none;stroke-width:14px;stroke-linecap:butt}.plate-protein{stroke:#2f8f7b;background:#2f8f7b}.plate-carbs{stroke:#c27a1b;background:#c27a1b}.plate-fat{stroke:#b0457f;background:#b0457f}.plate-fibre{background:#5a63c9}.plate-plain{stroke:color-mix(in srgb, var(--accent) 45%, transparent);stroke-dasharray:2 10;stroke-linecap:round}:root[data-theme=dark] .plate-protein{stroke:#6fd0bb;background:#6fd0bb}:root[data-theme=dark] .plate-carbs{stroke:#f0b95a;background:#f0b95a}:root[data-theme=dark] .plate-fat{stroke:#ea8cc0;background:#ea8cc0}:root[data-theme=dark] .plate-fibre{background:#9aa2f5}.plate-centre{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:136px;height:136px;display:flex;position:absolute;top:1rem;left:1.1rem}.plate-centre b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1}.plate-centre span{color:var(--ink-soft);font-size:.8rem}.plate-legend{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.plate-legend li{grid-template-columns:10px 1fr auto;align-items:center;gap:.5rem;font-size:.92rem;display:grid}.plate-legend b{font-variant-numeric:tabular-nums}.plate-dot{border-radius:50%;width:10px;height:10px}.plate-note{color:var(--ink-soft);grid-column:1/-1;font-size:.85rem}.meal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.meal-head{align-items:center;gap:.6rem;display:flex}.meal-head h2{flex:1;font-size:1.1rem}.meal-kcal{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.88rem}.meal-add{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.meal-empty{color:var(--ink-soft);font-size:.9rem;list-style:none}.meal-list,.food-results{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.food-row{border-top:1px solid var(--line);align-items:center;gap:.5rem;padding:.45rem 0;display:flex}.food-row:first-child{border-top:0}.food-main{flex-direction:column;flex:1;min-width:0;display:flex}.food-main b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.food-main span{color:var(--ink-soft);font-size:.84rem}.food-kcal{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:.9rem}.food-fab{width:100%;margin-top:.25rem}.food-numbers{border-bottom:0;margin-top:.75rem}.food-numbers span{flex-direction:column;display:flex}.food-numbers small{color:var(--ink-soft);font-weight:400}.meal-seg{grid-template-columns:repeat(4,1fr)}.meal-seg .seg{font-size:.82rem}.food-search{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:14px;align-items:center;gap:.5rem;padding:.3rem .3rem .3rem .8rem;display:flex}.food-search input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-height:40px}.food-search:focus-within{border-color:var(--accent)}.food-go{min-height:40px;padding:0 1rem}.scan-button{width:100%}.food-result{border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.75rem;min-height:52px;padding:.65rem .25rem;display:flex}.food-recent h3{align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.95rem;display:flex}.chips-row{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.quick-add{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.6rem;padding:.7rem .85rem;display:flex}.quick-add[open]{display:flex}.quick-add summary{cursor:pointer;font-weight:650}.quick-add>*+*{margin-top:.6rem}.food-credit{color:var(--ink-soft);font-size:.8rem}.food-credit svg{vertical-align:-2px;margin-right:.25rem}.amount{flex-direction:column;gap:.75rem;display:flex}.amount-name{font-family:var(--font-display);font-size:1.15rem}.amount-brand{color:var(--ink-soft);font-size:.9rem}.amount-values{grid-template-columns:repeat(4,1fr);gap:.4rem;margin:0;display:grid}.amount-values div{background:var(--well);text-align:center;border-radius:12px;padding:.5rem}.amount-values dt{color:var(--ink-soft);font-size:.75rem}.amount-values dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.scanner{flex-direction:column;gap:.5rem;display:flex;position:relative}.scanner-video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:16px;width:100%}.scanner-frame{pointer-events:none;border:3px solid #fff;border-radius:12px;height:22%;position:absolute;top:30%;left:12%;right:12%;box-shadow:0 0 0 999px #00000040}.scanner-hint{color:var(--ink-soft);text-align:center;font-size:.9rem}.food-today{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);color:var(--ink);align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;display:flex}.food-today>span:nth-child(2){flex-direction:column;flex:1;display:flex}.food-today small{color:var(--ink-soft);font-size:.85rem}.food-today-icon{background:color-mix(in srgb, #2f8f7b 15%, var(--surface));width:40px;height:40px;color:var(--reported);border-radius:12px;flex:none;place-items:center;display:grid}@media (prefers-reduced-motion:no-preference){.plate-arc:not(.plate-plain){animation:plate-draw 1s var(--spring-smooth) both;animation-delay:calc(var(--i,0) * .14s + .15s)}@keyframes plate-draw{0%{stroke-dasharray:0 var(--len)}}.plate-plain{transform-origin:0 0;transform-box:view-box;animation:60s linear infinite core-spin}.meal-add{transition:transform .2s var(--spring-springy)}.meal-add:active{transform:scale(.88)rotate(90deg)}.scanner-frame{animation:1.6s ease-in-out infinite scan-pulse}@keyframes scan-pulse{50%{border-color:#ffffff80}}}body.studio-open{overflow:hidden}.studio{z-index:60;background:var(--bg);color:var(--ink);flex-direction:column;display:flex;position:fixed;inset:0}.studio-bar{padding:calc(env(safe-area-inset-top) + .6rem) 1rem .6rem;border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.studio-bar h2{font-size:1.05rem}.studio-bar .link{font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.studio-done{justify-self:end;min-height:38px;padding:0 1.1rem}.studio-body{padding:.9rem 1rem calc(env(safe-area-inset-bottom) + 1.5rem);flex-direction:column;flex:1;gap:1rem;width:100%;max-width:560px;margin:0 auto;display:flex;overflow-y:auto}.studio-label{color:var(--ink-soft);font-size:.8rem;font-weight:700;font-family:var(--font-body);margin-bottom:.45rem}.studio-presets{scroll-snap-type:x proximity;scrollbar-width:none;gap:.5rem;margin:0 -1rem;padding:.15rem 1rem .35rem;list-style:none;display:flex;overflow-x:auto}.studio-presets::-webkit-scrollbar{display:none}.studio-presets li{scroll-snap-align:start}.preset{border:1.5px solid var(--line);background:var(--surface);width:78px;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .25rem .45rem;font-size:.75rem;font-weight:600;display:flex}.preset .mini-ghost{width:56px;height:54px}.preset-on{border-color:var(--accent);background:var(--accent-soft)}.mini-ghost .gr-limb{stroke-width:4.5px}.studio-stage{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:.5rem;position:relative}.studio-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.studio-gridline{fill:none;stroke:color-mix(in srgb, var(--ink) 6%, transparent);stroke-width:.3px}.studio-onion .gr-figure{opacity:.22}.studio-handle{cursor:grab;outline:none}.studio-hit{fill:#0000}.studio-dot{fill:var(--surface);stroke:var(--accent);stroke-width:1.2px;transition:r .15s}.studio-anchor .studio-dot{fill:var(--accent);stroke:var(--surface)}.studio-handle:hover .studio-dot,.studio-selected .studio-dot{r:4;stroke-width:1.6px}.studio-selected .studio-hit{fill:color-mix(in srgb, var(--accent) 16%, transparent)}.studio-handle:focus-visible .studio-hit{stroke:var(--accent);stroke-width:.8px;stroke-dasharray:2 1.5}.studio-hint{text-align:center;color:var(--ink-soft);min-height:2.6em;padding:.15rem .5rem .35rem;font-size:.88rem}.studio-keys{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.studio-key{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:.1rem;padding:.35rem .2rem .45rem;font-size:.8rem;font-weight:650;display:flex}.studio-key-fig{width:100%;max-width:70px;height:auto}.studio-key-on{border-color:var(--accent);color:var(--ink);box-shadow:0 6px 18px -10px color-mix(in srgb, var(--accent) 70%, transparent)}.studio-tools{flex-wrap:wrap;gap:.45rem;display:flex}.studio-tool{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.35rem;padding:0 .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.studio-tool:disabled{opacity:.4;cursor:default}.studio-play{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.studio-tempo{grid-template-columns:repeat(3,1fr);gap:.45rem;display:grid}.studio-step{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);border-radius:14px;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem;font-size:.82rem;display:flex}.studio-step>div{align-items:center;gap:.2rem;display:flex}.studio-step b{text-align:center;min-width:1.6rem;color:var(--ink);font-size:1.15rem;font-family:var(--font-display)}.ghost-design{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:96px 1fr;align-items:center;gap:.85rem;padding:.75rem;display:grid}.ghost-design-fig{background:var(--surface);border-radius:14px;width:96px;height:92px}.ghost-design>div{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.ghost-design p{color:var(--ink-soft);font-size:.88rem}.ghost-design .button{min-height:38px;padding:0 .9rem;font-size:.9rem}@media (prefers-reduced-motion:no-preference){.studio{animation:studio-in .32s var(--spring-smooth) both}@keyframes studio-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}.preset{transition:transform .2s var(--spring-springy), border-color .2s ease, background-color .2s ease}.preset:active,.studio-key:active{transform:scale(.94)}.studio-selected .studio-dot{animation:1.4s ease-in-out infinite studio-pulse}@keyframes studio-pulse{50%{stroke-width:2.6px}}.studio-key{transition:border-color .2s,box-shadow .25s,transform .2s}}.space{background:var(--surface);border:1px solid var(--line);border-radius:28px;flex-direction:column;gap:.7rem;padding:1rem 1.1rem 1.1rem;display:flex}.space-edit{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.35rem;padding:0 .8rem;font-size:.88rem;font-weight:650;display:inline-flex}.space-new{background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);border-radius:99px;place-items:center;padding:0 5px;font-size:.72rem;display:grid}.space-room{border-radius:18px;width:100%;height:auto;display:block;overflow:hidden}.space-line{font-weight:600}.space-next{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.space-next b{color:var(--ink)}.space-wall{fill:#eeeaf6}.space-morning .space-wall{fill:#f7ede4}.space-evening .space-wall{fill:#f2e1e8}.space-night .space-wall{fill:#2b2440}.space-floor{fill:#d8cabd}.space-night .space-floor{fill:#3b3049}.space-skirting{stroke:#00000014;stroke-width:3px}.space-sky{fill:#bfe0ff}.space-morning .space-sky{fill:#ffd9b0}.space-evening .space-sky{fill:#f4a98c}.space-night .space-sky{fill:#1c1f45}.space-sun{fill:#ffd25a}.space-moon{fill:#f3eecb}.space-frame{fill:none;stroke:#fff;stroke-width:4px}.space-night .space-frame{stroke:#4a405e}.space-shadow{fill:#0000001f}.space-shine{fill:none;stroke:#ffffff59;stroke-width:4px;stroke-linecap:round}.space-eyes circle{fill:#221b33}.space-smile{fill:none;stroke:#221b33;stroke-width:2.2px;stroke-linecap:round}.space-cheek{fill:#f19bb8;opacity:.6}.space-band{fill:none;stroke:#e05a7a;stroke-width:6px;stroke-linecap:round}.space-cap path{fill:#2f3c6b}.space-phones path{fill:none;stroke:#221b33;stroke-width:4px;stroke-linecap:round}.space-phones rect{fill:#221b33}.space-scarf path{fill:#c9463d}.space-star{fill:#f4c542}.space-leaves ellipse{fill:#6b9a3a}path.space-tail[stroke]{fill:none;stroke-width:5px;stroke-linecap:round}.space-pupil{fill:#221b33}.space-closed{fill:none;stroke:#221b33;stroke-width:1.6px;stroke-linecap:round}.space-zzz text{font:700 10px var(--font-display);fill:#5b5470}.space-night .space-zzz text{fill:#d8d0ea}.space-sparkle path{fill:#f4c542}.space-wire{fill:none;stroke:#6b6478;stroke-width:1px}.space-lights circle{fill:#ffd25a}.space-poster rect{fill:#fff;stroke:#00000014}.space-poster path{fill:none;stroke:#8d4a7a;stroke-width:3px;stroke-linecap:round}.space-shelf rect{fill:#a77b56}.space-cup path,.space-cup rect{fill:#d4a72c}.space-rug{fill:#c9b7e6;opacity:.75}.space-plant-leaves ellipse{fill:#5f9a4a}.space-pot{fill:#c8714f}.space-glow{fill:#ffe08a;opacity:.22}.space-night .space-glow{opacity:.5}.space-lamp-shade{fill:#f0c24f}.space-lamp-pole{fill:#6b6478}.space-telescope path{fill:none;stroke:#6b6478;stroke-width:2.5px;stroke-linecap:round}.space-telescope rect{fill:#5a63c9}.space-kettle path{fill:none;stroke:#3a3149;stroke-width:3px}.space-kettle circle{fill:#3a3149}.space-preview .space-room{border:1px solid var(--line)}.space-name{flex-direction:column;gap:.35rem;font-weight:600;display:flex}.space-name input{border:1.5px solid var(--line);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;border-radius:12px;padding:0 .85rem}.space-group{border:0;margin:0;padding:0}.space-group legend{color:var(--ink-soft);margin-bottom:.45rem;padding:0;font-size:.8rem;font-weight:700}.space-items{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.space-item{border:1.5px solid var(--line);background:var(--surface);width:100%;height:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.6rem .7rem;display:flex}.space-item-top{align-items:center;gap:.4rem;width:100%;display:flex}.space-item-top b{flex:1;font-size:.92rem}.space-swatch{flex:none;width:22px;height:22px}.space-item-on{border-color:var(--accent);background:var(--accent-soft)}.space-item-locked{cursor:default;opacity:.6;border-style:dashed}.space-item-how{color:var(--ink-soft);font-size:.78rem;line-height:1.3}.space-item-badge{background:var(--accent);color:var(--accent-ink);border-radius:99px;padding:.05rem .45rem;font-size:.7rem;font-weight:700}.space-rule{color:var(--ink-soft);font-size:.85rem}@media (prefers-reduced-motion:no-preference){.space-avatar-body{transform-box:fill-box;transform-origin:50% 100%;animation:4s ease-in-out infinite space-breathe}@keyframes space-breathe{50%{transform:scale(1.03,.97)}}.space-eyes{transform-box:fill-box;transform-origin:50%;animation:5s infinite space-blink}@keyframes space-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.space-pet-body{animation:3s ease-in-out infinite space-bob}.space-pet-ready .space-pet-body,.space-pet-proud .space-pet-body{animation-duration:1.6s}.space-pet-resting .space-pet-body{animation-duration:5s}@keyframes space-bob{50%{transform:translateY(-2px)}}.space-tail{transform-box:fill-box;transform-origin:100% 100%;animation:2.4s ease-in-out infinite space-wag}.space-pet-proud .space-tail{animation-duration:.8s}@keyframes space-wag{50%{transform:rotate(-12deg)}}.space-zzz text{animation:3s ease-in-out infinite space-zzz}.space-zzz text+text{animation-delay:1.5s}@keyframes space-zzz{0%{opacity:0;transform:translateY(4px)}30%,70%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.space-sparkle path{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite space-twinkle}.space-sparkle path+path{animation-delay:.8s}@keyframes space-twinkle{50%{opacity:.4;transform:scale(.4)}}.space-lights circle{animation:2.6s ease-in-out infinite space-glow;animation-delay:calc(var(--i,0) * .23s)}@keyframes space-glow{50%{opacity:.45}}.space-plant-leaves{transform-box:fill-box;transform-origin:50% 100%;animation:6s ease-in-out infinite space-sway}@keyframes space-sway{50%{transform:rotate(2.5deg)}}.space-glow{animation:4s ease-in-out infinite space-lamp}@keyframes space-lamp{50%{opacity:.32}}.space-item{transition:transform .2s var(--spring-springy), border-color .2s ease, background-color .2s ease}.space-item:not(.space-item-locked):active{transform:scale(.95)}.space-item-new{animation:2.6s ease-in-out infinite badge-shine}}.ghost-view{grid-template-columns:repeat(2,1fr)}.demo{flex-direction:column;gap:.45rem;margin:0;display:flex}.demo-frame{aspect-ratio:4/3;background:#111;border-radius:18px;position:relative;overflow:hidden}.demo-video{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.demo-controls{gap:.4rem;display:flex;position:absolute;bottom:.6rem;right:.6rem}.demo-btn{color:#221b33;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 4px 14px #00000040}.demo-btn-on{background:var(--accent);color:var(--accent-ink)}.demo-speed{color:#fff;background:#0000008c;border-radius:99px;padding:.15rem .55rem;font-size:.78rem;font-weight:700;position:absolute;top:.7rem;left:.7rem}.demo figcaption{flex-direction:column;gap:.2rem;display:flex}.demo-note{color:var(--ink);border-left:3px solid var(--estimate);padding-left:.55rem;font-size:.88rem}.demo-credit{color:var(--ink-soft);font-size:.75rem}.lib-video{letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border-radius:99px;flex:none;padding:.1rem .5rem;font-size:.7rem;font-weight:700}@media (prefers-reduced-motion:no-preference){.demo-btn{transition:transform .18s var(--spring-springy)}.demo-btn:active{transform:scale(.88)}}.toggle>span{flex-direction:column;display:flex}.toggle small{color:var(--ink-soft);font-size:.85rem;font-weight:400}.update-banner{background:var(--accent-soft);max-width:560px;color:var(--ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.45rem;width:calc(100% - 2rem);margin:.25rem auto 0;padding:.55rem .9rem;font-size:.9rem;display:flex}.update-banner .link{font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-weight:700}.install{align-items:center;gap:.9rem;padding-top:.75rem;display:flex}.install>span{flex-direction:column;flex:1;display:flex}.install small{color:var(--ink-soft);font-size:.85rem}.friends{background:var(--surface);border:1px solid var(--line);border-radius:24px;flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.1rem;display:flex}.friends-head{align-items:flex-start;gap:.75rem;display:flex}.friends-head p{color:var(--ink-soft);font-size:.92rem}.friends-icon{background:color-mix(in srgb, #2f8f7b 16%, var(--surface));width:40px;height:40px;color:var(--reported);border-radius:13px;flex:none;place-items:center;display:grid}.friends-rules{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.friends-rules>div{background:var(--well);border-radius:14px;padding:.7rem .75rem}.friends-rules h3{font-size:.85rem;font-family:var(--font-body);margin-bottom:.35rem;font-weight:700}.friends-rules ul{color:var(--ink-soft);flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.friends-rules li{align-items:flex-start;gap:.35rem;display:flex}.friends-rules svg{flex:none;margin-top:.2rem}.friends-rules>div:first-child svg{color:var(--reported)}.friends-actions{flex-wrap:wrap;gap:.45rem;display:flex}.friends-actions .filter-chip{gap:.35rem}.friends-empty{color:var(--ink-soft);font-size:.9rem}.friends-off-link{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.88rem}.invite{background:var(--surface);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--line));text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:.45rem;padding:1rem;display:flex}.invite-label{color:var(--ink-soft);font-size:.8rem;font-weight:700}.invite-code{font-family:var(--font-display);letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:2rem}.invite-help{color:var(--ink-soft);font-size:.85rem}.invite-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;display:flex}.invite-actions .button{gap:.35rem;min-height:40px;padding:0 1rem}.invite-actions .link{font:inherit;cursor:pointer;background:0 0;border:0;font-size:.88rem}.add-friend{flex-direction:column;gap:.6rem;display:flex}.add-friend input{text-transform:uppercase;letter-spacing:.12em;font-variant-numeric:tabular-nums}.cheers-in{background:color-mix(in srgb, #f4c542 14%, var(--surface));border-radius:14px;flex-direction:column;gap:.25rem;margin:0;padding:.6rem .75rem;font-size:.92rem;list-style:none;display:flex}.cheers-in li{justify-content:space-between;gap:.5rem;display:flex}.friend-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.friend{background:var(--well);border-radius:16px;grid-template-columns:72px 1fr;align-items:center;gap:.75rem;padding:.6rem;display:grid}.friend-portrait{width:72px;height:60px}.friend-away{fill:var(--line)}.friend-main{flex-direction:column;gap:.35rem;min-width:0;display:flex}.friend-top{align-items:center;gap:.45rem;display:flex}.friend-top b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.friend-level{color:var(--accent-ink);background:var(--accent);white-space:nowrap;border-radius:99px;padding:.05rem .5rem;font-size:.75rem;font-weight:700}.friend-remove{width:30px;height:30px;margin-left:auto}.friend-badges{flex-wrap:wrap;gap:.3rem;display:flex}.friend-badges span{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:.05rem .5rem;font-size:.72rem;font-weight:650}.cheer-row{gap:.3rem;display:flex}.cheer{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.1rem;display:grid}.cheer-sent,.cheer-sent:disabled{background:var(--accent-soft);border-color:var(--accent);cursor:default;opacity:1}@media (width<=380px){.friends-rules{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){.cheer{transition:transform .2s var(--spring-playful)}.cheer:not(:disabled):active{transform:scale(1.35)rotate(-8deg)}.cheer-sent{animation:cheer-pop .45s var(--spring-playful)}@keyframes cheer-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}to{transform:scale(1)}}}.admin-pill{letter-spacing:.02em;color:#fff;background:linear-gradient(90deg,#7d3c98,#2f8f7b);border-radius:99px;align-self:flex-start;padding:.2rem .7rem;font-size:.78rem;font-weight:700}.settings{flex-direction:column;gap:1rem;display:flex}.set-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.set-title{align-items:center;gap:.6rem;padding:.85rem 1rem .4rem;font-size:1.02rem;display:flex}.set-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.set-body{flex-direction:column;padding:0 1rem .6rem;display:flex}.set-body>.toggle:last-child,.set-body>.set-row:last-child{border-bottom:0}.set-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.9rem;min-height:58px;padding:.5rem 0;font-weight:600;display:flex}.set-row>span{flex-direction:column;display:flex}.set-row>span svg{vertical-align:-2px;margin-right:.2rem;display:inline}.set-row small,.set-help{color:var(--ink-soft);font-size:.85rem;font-weight:400}.set-help{padding:.25rem 0 .5rem}.set-row .units-seg{flex:none;grid-template-columns:repeat(2,64px)}.set-row .filter-select{max-width:48%}.set-link{color:var(--accent);padding:.7rem 0 .4rem;font-size:.92rem;font-weight:650;text-decoration:none}.set-signout{align-self:flex-start;gap:.4rem}.toggle>span svg{vertical-align:-2px;margin-right:.2rem;display:inline}.settings-link{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);color:var(--ink);align-items:center;gap:.85rem;margin-top:1rem;padding:.95rem 1rem;text-decoration:none;display:flex}.settings-link>span:nth-child(2){flex-direction:column;flex:1;display:flex}.settings-link small{color:var(--ink-soft);font-size:.88rem}.settings-link-icon{background:var(--accent);width:42px;height:42px;color:var(--accent-ink);border-radius:13px;flex:none;place-items:center;display:grid}.topbar-actions a.icon-button{color:var(--ink-soft)}@media (prefers-reduced-motion:no-preference){.settings-link-icon svg{transition:transform .6s var(--spring-springy)}.settings-link:hover .settings-link-icon svg,.settings-link:focus-visible .settings-link-icon svg{transform:rotate(90deg)}}.followers{flex-direction:column;gap:.7rem;display:flex}.follow-stats{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.follow-stat{border:1px solid var(--line);background:var(--well);color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:.05rem;padding:.6rem .4rem;display:flex}div.follow-stat{cursor:default}.follow-stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.45rem;line-height:1.1}.follow-stat span{color:var(--ink-soft);font-size:.78rem;font-weight:650}.follow-stat.on{border-color:color-mix(in srgb, var(--tone,var(--accent)) 60%, var(--line));box-shadow:0 0 18px -8px var(--tone,var(--accent))}.follow-stat.on b{color:var(--tone,var(--accent))}.follow-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.follow-row{border-radius:14px;grid-template-columns:56px 1fr auto auto;align-items:center;gap:.4rem;padding:.3rem .3rem .3rem .1rem;display:grid}.follow-row .friend-portrait{width:56px;height:46px}.follow-name{flex-direction:column;min-width:0;display:flex}.follow-name b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.follow-name small{color:var(--ink-soft);font-size:.8rem}.visit-meta{color:var(--ink-soft);font-size:.9rem}@media (prefers-reduced-motion:no-preference){.follow-stat{transition:transform .25s var(--spring-playful), box-shadow .25s ease}.follow-stat:active{transform:scale(.95)}}.quote{border-radius:var(--radius-card);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 70%);border:1px solid var(--line);margin:0 0 1rem;padding:1rem 1.1rem .7rem;position:relative;overflow:hidden}.quote-mark{color:var(--accent);opacity:.16;width:34px;height:34px;position:absolute;top:.8rem;right:.9rem}.quote blockquote{font-family:var(--font-display);max-width:30ch;margin:0;padding-right:2.6rem;font-size:1.12rem;font-weight:600;line-height:1.35}.quote figcaption{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:.45rem;font-size:.75rem;font-weight:700;display:flex}.quote-share{width:32px;height:32px}.orb{z-index:9;right:max(16px,50vw - 264px);bottom:calc(var(--tab-height) + env(safe-area-inset-bottom) + 14px);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent) 22%, var(--surface)), var(--surface) 70%);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));width:64px;height:64px;box-shadow:0 10px 28px -8px color-mix(in srgb, var(--accent) 55%, transparent), 0 2px 6px #0000001f;color:var(--ink);border-radius:50%;place-items:center;text-decoration:none;display:grid;position:fixed}.orb svg{width:calc(100% - 6px);height:calc(100% - 6px);position:absolute;inset:3px}.orb-track{fill:none;stroke:color-mix(in srgb, var(--ink) 8%, transparent);stroke-width:2.2px}.orb-fill{fill:none;stroke-width:2.2px;stroke-linecap:round}.orb-level{font-family:var(--font-display);font-size:.85rem;line-height:1;position:relative}.orb-small{opacity:.85;transform:scale(.72)translateY(10px)}.screen:has(.orb){padding-bottom:calc(var(--tab-height) + 96px)}@media (prefers-reduced-motion:no-preference){.quote-mark{animation:6s ease-in-out infinite quote-float}@keyframes quote-float{50%{transform:translateY(-4px)rotate(-4deg)}}.orb{transition:transform .35s var(--spring-springy), opacity .3s ease;animation:orb-in .6s var(--spring-springy) .5s both}.orb:after{content:"";pointer-events:none;box-shadow:0 10px 34px -6px color-mix(in srgb, var(--accent) 75%, transparent);opacity:0;border-radius:50%;animation:4s ease-in-out 1.2s infinite orb-glow;position:absolute;inset:0}@keyframes orb-in{0%{opacity:0;transform:scale(0)rotate(-90deg)}}@keyframes orb-glow{50%{opacity:1}}.orb-fill{animation:core-draw 1.2s var(--spring-smooth) both;animation-delay:calc(.7s + var(--i,0) * .1s)}.orb:active{transform:scale(.9)}}.fit{flex-direction:column;gap:.55rem;margin-top:.6rem;display:flex}.fit-note{background:var(--well);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.65rem .8rem;font-size:.92rem;display:flex}.fit-ask{flex-direction:column;gap:.45rem;padding:.2rem .1rem;display:flex}.fit-ask>span{color:var(--ink-soft);font-size:.9rem;font-weight:600}.fit-options{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.fit-option{border:1.5px solid var(--line);background:var(--well);min-height:42px;color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;font-size:.88rem;font-weight:650}.fit-option.on{border-color:var(--tone,var(--accent));background:color-mix(in srgb, var(--tone,var(--accent)) 18%, transparent);box-shadow:0 0 18px -8px var(--tone,var(--accent))}.admin-fit li{flex-direction:row;justify-content:space-between;align-items:center}@media (prefers-reduced-motion:no-preference){.fit-option{transition:transform .25s var(--spring-playful), background-color .2s ease}.fit-option:active{transform:scale(.94)}.fit-option.on span{animation:fit-pop .5s var(--spring-playful);display:inline-block}@keyframes fit-pop{40%{transform:scale(1.5)rotate(-10deg)}}}.week-card{background:var(--glass,var(--surface));border:1px solid color-mix(in srgb, var(--tone,var(--accent)) 35%, var(--line));box-shadow:inset 0 1px 0 var(--glass-edge,transparent), 0 0 34px -18px var(--tone,var(--accent));border-radius:26px 26px 26px 10px;flex-direction:column;gap:.85rem;padding:1.05rem 1.1rem .8rem;display:flex}.week-card-top{align-items:flex-start;gap:.6rem;display:flex}.week-card-top>div{flex-direction:column;flex:1;display:flex}.week-card-top h2{font-size:1.25rem}.week-card-top small{color:var(--ink-soft);font-size:.82rem}.week-card-top .icon-button{margin:-.3rem -.4rem 0 0}.week-dots{grid-template-columns:repeat(7,1fr);gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.wd{color:var(--ink-soft);flex-direction:column;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;display:flex}.wd i{aspect-ratio:1;background:var(--well);border:1.5px dashed var(--line);border-radius:12px;width:100%;max-width:34px}.wd-in i{border-style:solid;border-color:color-mix(in srgb, var(--reported) 70%, transparent);background:color-mix(in srgb, var(--reported) 22%, transparent)}.wd-trained i{background:linear-gradient(135deg, var(--tone,var(--accent)), var(--tone-2,var(--accent)));box-shadow:0 6px 16px -8px var(--tone,var(--accent));border:0}.week-stats{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:.4rem;margin:0;display:grid}.week-stats div{background:var(--well);border-radius:14px;padding:.5rem .55rem}.week-stats dt{color:var(--ink-soft);font-size:.72rem;font-weight:650}.week-stats dd{font-family:var(--font-display);margin:0;font-size:1.45rem;font-weight:800;line-height:1.1}.week-stats dd small{color:var(--ink-soft);margin-left:1px;font-size:.8rem;font-weight:650}.week-tip{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.92rem;display:flex}.week-done{align-self:flex-end}@media (prefers-reduced-motion:no-preference){.week-card{animation:week-in .6s var(--spring-springy) both}@keyframes week-in{0%{opacity:0;transform:translateY(14px)scale(.98)}}.wd i{animation:wd-pop .5s var(--spring-playful) both;animation-delay:calc(var(--i,0) * 70ms + .25s)}@keyframes wd-pop{0%{opacity:0;transform:scale(.3)}}}.space-pet-open{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:var(--accent-soft);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-self:center;padding:0 1.1rem;font-size:.92rem;font-weight:650}.pet-stage{flex-direction:column;align-items:center;display:flex;position:relative}.pet-hit{aspect-ratio:3/2;cursor:pointer;background:radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--accent) 22%, var(--surface)), var(--surface) 72%);border:0;border-radius:24px;width:100%;max-width:320px;position:relative;overflow:hidden}.pet-hit>svg{width:100%;height:100%}.pet-floor{fill:#0000001a}.pet-heart{color:#e05a7a;fill:#e05a7a;pointer-events:none;opacity:0;position:absolute;bottom:30%;width:22px!important;height:22px!important}.pet-hint{color:var(--ink-soft);margin-top:.25rem;font-size:.8rem}.pet-bond{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.pet-bond-level{color:#fff;background:linear-gradient(90deg,#e05a7a,#b0457f);border-radius:99px;align-items:center;gap:.3rem;padding:.15rem .65rem;font-weight:700;display:inline-flex}.pet-today{background:var(--well);border-radius:16px;flex-direction:column;gap:.5rem;padding:.8rem .9rem;display:flex}.pet-today h3,.pet-h{font-size:.8rem;font-family:var(--font-body);color:var(--ink-soft);align-items:center;gap:.35rem;font-weight:700;display:flex}.pet-today p{font-weight:600}.pet-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.pet-actions .button{gap:.35rem;min-height:40px;padding:0 1rem}.pet-actions .filter-chip{gap:.3rem}.pet-tricks{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.pet-trick-btn{border:1.5px solid var(--accent);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.3rem;padding:0 1rem;font-weight:650;display:inline-flex}.pet-trick-locked{border-style:dashed;border-color:var(--line);color:var(--ink-soft);cursor:default}.pet-moments{border-left:2px solid var(--accent-soft);flex-direction:column;gap:.55rem;margin:.4rem 0 0;padding:0 0 0 .9rem;list-style:none;display:flex}.pet-moments li{position:relative}.pet-moments li:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:.35rem;left:calc(-.9rem - 6px)}.pet-moments span{color:var(--ink-soft);font-size:.78rem;font-weight:700}.pet-moments p{font-size:.92rem}.pet-note{color:var(--ink-soft);font-size:.82rem}.pet-trick{transform-box:fill-box;transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.pet-heart{animation:1.2s ease-out forwards pet-heart}@keyframes pet-heart{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-90px)scale(1.2)rotate(-12deg)}}.pet-hit:active .pet-trick{animation:.35s pet-squish}@keyframes pet-squish{40%{transform:scale(1.12,.88)}}.pet-trick-hop{animation:pet-hop .7s var(--spring-springy)}@keyframes pet-hop{40%{transform:translateY(-18px)scale(.95,1.06)}70%{transform:translateY(0)scale(1.08,.92)}}.pet-trick-spin{transform-origin:50% 60%;animation:.9s cubic-bezier(.4,0,.2,1) pet-spin}@keyframes pet-spin{to{transform:rotate(360deg)}}.pet-trick-wave{animation:1s ease-in-out pet-wave}@keyframes pet-wave{20%,60%{transform:rotate(-10deg)}40%,80%{transform:rotate(10deg)}}.pet-trick-dance{animation:1.4s ease-in-out pet-dance}@keyframes pet-dance{15%,55%{transform:translate(-10px)translateY(-6px)rotate(-8deg)}35%,75%{transform:translate(10px)translateY(-6px)rotate(8deg)}}.pet-trick-flip{transform-origin:50%;animation:1s cubic-bezier(.4,0,.2,1) pet-flip}@keyframes pet-flip{50%{transform:translateY(-28px)rotate(180deg)}to{transform:translateY(0)rotate(360deg)}}.space-pet-open{transition:transform .2s var(--spring-springy)}.space-pet-open:active{transform:scale(.95)}}.pet-hit{position:relative}.pet-treat{pointer-events:none;opacity:0;font-size:1.6rem;position:absolute;top:12%;left:82%}.pet-say{background:var(--surface);border:1px solid var(--line);color:var(--ink);white-space:nowrap;pointer-events:none;border-radius:14px 14px 14px 4px;padding:.35rem .75rem;font-size:.88rem;font-weight:700;position:absolute;top:-4px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px -14px #0009}.pet-treat-row{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.pet-treat-row>span{flex-direction:column;display:flex}.pet-treat-row b{font-family:var(--font-display);font-size:1.6rem;line-height:1}.pet-treat-row small{color:var(--ink-soft);font-size:.8rem}.pet-treat-row .button{flex:none}.pet-hat-on{border-color:var(--tone,var(--accent));background:color-mix(in srgb, var(--tone,var(--accent)) 18%, transparent)}@media (prefers-reduced-motion:no-preference){.pet-treat{animation:treat-fly .8s var(--spring-springy) forwards}@keyframes treat-fly{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:1;transform:translate(-120px,70px)scale(.6)rotate(-40deg)}to{opacity:0;transform:translate(-130px,80px)scale(.2)}}.pet-say{animation:say-pop 2.4s var(--spring-playful) forwards}@keyframes say-pop{0%{opacity:0;transform:translate(-50%)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-8px)}}.cr-halo{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite halo-glow}@keyframes halo-glow{50%{opacity:.8;transform:translateY(-2px)scale(1.06)}}}.star-pop{z-index:3;pointer-events:none;width:0;height:0;position:absolute}.star-pop i{opacity:0;background:radial-gradient(circle,#fff3b08c,#0000 68%);border:3px solid #fff3b0;border-radius:50%;width:44px;height:44px;position:absolute;top:-22px;left:-22px}.star-pop-gold i{border-color:#ffb000;width:60px;height:60px;top:-30px;left:-30px}.star-pop b{font-family:var(--font-display);white-space:nowrap;color:#fff3b0;text-shadow:0 0 10px #ffd36e;opacity:0;font-size:1.15rem;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.star-pop-gold b{color:#ffd36e;font-size:1.3rem}@media (prefers-reduced-motion:no-preference){.star-pop i{animation:star-ring .55s var(--spring-settle) both}@keyframes star-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}.star-pop b{animation:.8s linear both star-points}@keyframes star-points{0%{opacity:0;animation-timing-function:var(--spring-playful);transform:translate(-50%,-30%)scale(.5)}25%{opacity:1;animation-timing-function:var(--spring-settle);transform:translate(-50%,-90%)scale(1.1)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}}.star-pop{top:0;left:0}.star-pop-cloud b{color:#cfcaf5;text-shadow:0 0 10px #8b86b8;font-size:1rem}.star-pop-cloud i{border-color:#8b86b8}.avatar-face{border-radius:50%;display:block}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;position:relative}.profile-face{width:76px;height:76px;box-shadow:0 6px 18px -8px color-mix(in srgb, var(--accent) 60%, transparent)}.avatar-edit{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border:2px solid var(--bg);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}.avatar-cta{font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;margin-top:.2rem;padding:0;font-weight:650}.today-face{flex:none;width:44px;height:44px}.avb-stage{flex-direction:column;align-items:center;gap:.6rem;display:flex}.avb-preview{width:min(220px,56vw)}.avb-face{width:100%;height:auto;box-shadow:0 16px 40px -18px color-mix(in srgb, var(--accent) 70%, transparent)}.avb-tools{gap:.45rem;display:flex}.avb-tabs{scrollbar-width:none;gap:.4rem;margin:0 -1rem;padding:.1rem 1rem .3rem;display:flex;overflow-x:auto}.avb-tabs::-webkit-scrollbar{display:none}.avb-part{flex-direction:column;gap:.2rem;display:flex}.avb-options{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.avb-option{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .2rem .45rem;font-size:.74rem;font-weight:650;display:flex}.avb-mini{width:58px;height:58px}.avb-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.avb-colours{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.avb-swatch{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:40px;height:40px}.avb-swatch.avb-on{border-color:var(--surface);box-shadow:0 0 0 3px var(--accent)}@media (prefers-reduced-motion:no-preference){.avb-preview{animation:avb-pop .35s var(--spring-playful)}@keyframes avb-pop{40%{transform:scale(1.05)rotate(-2deg)}}.avb-face .av-body{transform-box:view-box;transform-origin:50% 100%;animation:4s ease-in-out infinite av-breathe}@keyframes av-breathe{50%{transform:scale(1.012,.992)}}.avatar-face .av-eyes{transform-box:fill-box;transform-origin:50%;animation:5.5s infinite av-blink}@keyframes av-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.avb-option,.avb-swatch{transition:transform .2s var(--spring-springy)}.avb-option:active,.avb-swatch:active{transform:scale(.92)}.avatar-btn{transition:transform .25s var(--spring-springy)}@media (hover:hover){.avatar-btn:hover{transform:rotate(-4deg)scale(1.04)}}}.today-head{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}.today-face-link{border-radius:50%;flex:none}.voice{border:1px solid var(--line);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 14%, var(--surface)), var(--surface) 65%);border-radius:24px;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:1rem 1.1rem .9rem;display:flex}.voice-head{align-items:center;gap:.65rem;display:flex}.voice-head h2{font-size:1.3rem}.voice-wave{background:var(--accent);border-radius:99px;align-items:center;gap:3px;height:26px;padding:0 .5rem;display:inline-flex}.voice-wave i{background:var(--accent-ink);border-radius:2px;width:3px;height:8px;display:block}.voice-wave i:nth-child(2),.voice-wave i:nth-child(4){height:14px}.voice-wave i:nth-child(3){height:18px}.voice-lines{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.voice-lines li{border-left:2px solid color-mix(in srgb, var(--accent) 35%, transparent);flex-direction:column;align-items:flex-start;gap:.25rem;padding-left:.75rem;display:flex}.voice-lines p{font-size:1rem;line-height:1.45}.voice-lines .tag{min-height:22px;padding:0 .55rem;font-size:.72rem}@media (prefers-reduced-motion:no-preference){.voice-wave i{animation:1.2s ease-in-out infinite voice-talk;animation-delay:calc(var(--i,0) * .12s);transform-origin:50%}@keyframes voice-talk{50%{transform:scaleY(.4)}}.voice-lines li{animation:voice-in .6s var(--spring-smooth) both;animation-delay:calc(.25s + var(--i,0) * .45s)}@keyframes voice-in{0%{opacity:0;filter:blur(3px);transform:translateY(6px)}}}.goal-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.goal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.5rem;padding:.75rem .9rem;display:flex}.goal-done{border-color:color-mix(in srgb, var(--reported) 45%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--reported) 10%, var(--surface)), var(--surface) 70%)}.goal-top{align-items:center;gap:.8rem;display:flex}.goal-main{flex-direction:column;flex:1;min-width:0;display:flex}.goal-main span{color:var(--ink-soft);font-size:.88rem}.goal-chev{transition:transform .25s}.goal-chev-open{transform:rotate(180deg)}.goal-ring{flex:none;overflow:visible}.goal-ring-track{fill:none;stroke:var(--accent-soft);stroke-width:5px}.goal-ring-fill{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round}.goal-ring-done .goal-ring-fill{stroke:var(--reported)}.goal-ring text{font:700 10px var(--font-body);fill:var(--ink);text-anchor:middle}.goal-ring-tick{fill:none;stroke:var(--reported);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.goal-tally{background:var(--well);border-radius:99px;align-self:flex-start;align-items:center;gap:.5rem;padding:.15rem;display:flex}.goal-tally b{text-align:center;min-width:2rem;font-family:var(--font-display);font-size:1.1rem}.goal-plus{background:var(--accent);color:var(--accent-ink);border-radius:50%}.goal-plan{border-top:1px solid var(--line);flex-direction:column;gap:.45rem;padding-top:.55rem;display:flex}.goal-plan h4{color:var(--ink-soft);margin:0;font-size:.78rem}.goal-plan ul{flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem;font-size:.93rem;display:flex}.goal-actions{flex-wrap:wrap;gap:.4rem;display:flex}.goal-actions .filter-chip{gap:.3rem}.goal-add{gap:.4rem;width:100%;margin:.75rem 0 1rem}.goals-empty h2{font-size:1.1rem}.goals-achieved{margin-bottom:1rem}.goals-achieved h2{margin-bottom:.35rem;font-size:1rem}.goals-achieved ul{color:var(--ink-soft);margin:0;padding-left:1.1rem}.goal-templates{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.goal-template{text-align:left;border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;gap:.15rem;padding:.75rem .9rem;display:flex}.goal-template span{color:var(--ink-soft);font-size:.86rem}.goal-form{flex-direction:column;gap:.75rem;display:flex}.goals-strip{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);color:var(--ink);align-items:center;gap:.75rem;margin-bottom:1rem;padding:.8rem 1rem;text-decoration:none;display:flex}.goals-strip-head{flex-direction:column;flex:1;display:flex}.goals-strip-head small{color:var(--ink-soft);font-size:.84rem}.goals-strip-rings{gap:.2rem;display:flex}.goals-strip-cta{color:var(--accent);white-space:nowrap;font-weight:700}.coach{border:1px solid var(--line);background:var(--surface);border-radius:24px;flex-direction:column;margin-top:.5rem;display:flex;overflow:hidden}.coach-head{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--surface)), var(--surface) 75%);align-items:flex-start;gap:.7rem;padding:.9rem 1rem .6rem;display:flex}.coach-head p{color:var(--ink-soft);font-size:.82rem}.coach-icon{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:12px;flex:none;place-items:center;display:grid}.coach-log{flex-direction:column;gap:.5rem;max-height:420px;padding:.6rem .8rem;display:flex;overflow-y:auto}.bubble{border-radius:18px;flex-direction:column;gap:.3rem;max-width:86%;padding:.55rem .8rem;font-size:.94rem;display:flex}.bubble-coach{background:var(--well);border-bottom-left-radius:6px;align-self:flex-start}.bubble-you{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:6px;align-self:flex-end}.coach-chips{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.coach-chips .filter-chip{min-height:32px;font-size:.8rem}.coach-input{border-top:1px solid var(--line);gap:.4rem;padding:.6rem .8rem .8rem;display:flex}.coach-input input{border:1.5px solid var(--line);background:var(--well);min-height:44px;color:var(--ink);font:inherit;border-radius:99px;flex:1;padding:0 1rem}.coach-input input:focus{border-color:var(--accent);outline:none}.coach-send{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);border-radius:50%}.coach-send:disabled{opacity:.4}@media (prefers-reduced-motion:no-preference){.goal-ring-fill{animation:core-draw 1s var(--spring-smooth) both;animation-delay:calc(.2s + var(--i,0) * 80ms)}.goal-ring-tick{stroke-dasharray:30;animation:.5s .6s both goal-tick}@keyframes goal-tick{0%{stroke-dashoffset:30px}}.goal-template{transition:transform .2s var(--spring-springy), border-color .2s ease}.goal-template:active{transform:scale(.97)}.bubble{animation:bubble-in .35s var(--spring-smooth) both}.bubble-coach{transform-origin:0 100%}.bubble-you{transform-origin:100% 100%}@keyframes bubble-in{0%{opacity:0;transform:scale(.85)translateY(6px)}}.goal-plus{transition:transform .2s var(--spring-playful)}.goal-plus:active{transform:scale(1.25)}}.run-hero{color:#fff;background:linear-gradient(135deg,#1f6b5c,#2f8f7b 55%,#5a9fd6);border-radius:24px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex;box-shadow:0 14px 30px -18px #1f6b5c}.run-hero>div{flex-direction:column;display:flex}.run-hero span{opacity:.8;font-size:.78rem;font-weight:700}.run-hero b{font-family:var(--font-display);font-size:2rem;line-height:1.1}.run-hero small{opacity:.85}.run-record{color:#1f6b5c;background:#fff;flex:none;gap:.4rem}.steps-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:.7rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.steps-card h2{align-items:center;gap:.4rem;display:flex}.steps-avg{color:var(--ink-soft);font-size:.85rem}.steps-entry{align-items:center;gap:.5rem;display:flex}.steps-entry input{text-align:center;min-width:0;font-family:var(--font-display);border:0;border-bottom:2px solid var(--line);color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;flex:1;padding:.2rem;font-size:1.8rem;font-weight:700}.steps-entry input:focus{border-color:var(--accent);outline:none}.steps-plus{background:var(--accent);color:var(--accent-ink);border-radius:50%}.steps-bars{width:100%;height:auto}.steps-bar{fill:var(--accent-soft)}.steps-bar-today{fill:var(--accent)}.steps-bars text{font:600 10px var(--font-body);fill:var(--ink-soft);text-anchor:middle}.steps-note{color:var(--ink-soft);font-size:.82rem}.run-list{flex-direction:column;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.run-row{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:.75rem;padding:.6rem .7rem;display:flex}.run-shape{background:color-mix(in srgb, #2f8f7b 12%, var(--surface));border-radius:14px;flex:none;width:56px;height:56px}.run-shape path{fill:none;stroke:#2f8f7b;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.run-shape circle{fill:none;stroke:#2f8f7b66;stroke-width:4px;stroke-dasharray:4 6}.run-main{flex-direction:column;flex:1;min-width:0;display:flex}.run-main span{color:var(--ink-soft);font-size:.86rem}.run-main .run-splits{font-size:.76rem}.runrec{padding-top:calc(env(safe-area-inset-top) + .5rem);flex-direction:column;gap:1rem;display:flex}.runrec-bar{align-items:center;gap:.4rem;display:flex}.runrec-bar h1{font-size:1.5rem}.runrec-kind{grid-template-columns:repeat(3,1fr)}.runrec-stage{background:radial-gradient(circle at 50% 30%, color-mix(in srgb, #2f8f7b 18%, var(--surface)), var(--surface) 70%);border:1px solid var(--line);border-radius:28px;grid-template-columns:1fr;place-items:center;gap:.6rem;padding:1rem;display:grid}.runrec-shape{width:min(220px,60vw);height:auto;overflow:visible}.runrec-shape path{fill:none;stroke:#2f8f7b;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.runrec-ghost{fill:none;stroke:#2f8f7b59;stroke-width:3px;stroke-dasharray:3 7}.runrec-pulse{fill:none;stroke:#2f8f7b;stroke-width:1px;opacity:0}.runrec-stats{flex-direction:column;align-items:center;gap:.6rem;width:100%;display:flex}.runrec-big{align-items:baseline;gap:.35rem;display:flex}.runrec-big b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:4rem;line-height:1}.runrec-big span{color:var(--ink-soft);font-weight:700}.runrec-stats dl{text-align:center;grid-template-columns:repeat(3,1fr);gap:.4rem;width:100%;margin:0;display:grid}.runrec-stats dt{color:var(--ink-soft);font-size:.75rem}.runrec-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.runrec-go{color:#fff;background:#2f8f7b;border-radius:99px;gap:.5rem;min-height:64px;font-size:1.15rem}.runrec-controls{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.runrec-controls .button{gap:.4rem;min-height:56px}.runrec-privacy{color:var(--ink-soft);font-size:.82rem}.runrec-privacy svg{vertical-align:-2px}.runrec-done{flex-direction:column;gap:.8rem;display:flex}.runrec-q{border:0;flex-direction:column;gap:.45rem;margin:0;padding:0;display:flex}.runrec-q legend{margin-bottom:.4rem;padding:0;font-weight:650}@media (prefers-reduced-motion:no-preference){.run-shape path{stroke-dasharray:400;animation:1.4s both run-draw}@keyframes run-draw{0%{stroke-dashoffset:400px}}.steps-bar{transform-box:fill-box;transform-origin:bottom;animation:mode-bar .8s var(--spring-smooth) both;animation-delay:calc(var(--i,0) * 60ms)}.runrec-recording .runrec-pulse{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite run-pulse}@keyframes run-pulse{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.15)}}.runrec-go{animation:2.4s ease-in-out infinite run-go}@keyframes run-go{50%{box-shadow:0 0 0 10px #2f8f7b2e}}}.chat-open{color:var(--accent);position:relative}.chat-badge{color:#fff;background:#e05a7a;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.chat .studio-bar{grid-template-columns:auto 1fr auto}.chat-bar h2{font-size:1.1rem}.chat-bar-actions{gap:.2rem;display:flex}.chat-blocking{color:#c0392b;background:#c0392b1f}.chat-log{flex-direction:column;flex:1;gap:.35rem;width:100%;max-width:560px;margin:0 auto;padding:.8rem 1rem;display:flex;overflow-y:auto}.chat-item{flex-direction:column;display:flex}.chat-day{color:var(--ink-soft);align-self:center;margin:.6rem 0 .2rem;font-size:.75rem;font-weight:700}.chat-bubble{font:inherit;text-align:left;cursor:pointer;border:0}.chat-bubble small{opacity:.7;align-self:flex-end;font-size:.68rem}.bubble-you.chat-bubble{align-self:flex-end}.bubble-coach.chat-bubble{color:var(--ink);background:var(--surface);border:1px solid var(--line);align-self:flex-start}.chat-safety{background:color-mix(in srgb, var(--reported) 12%, var(--surface));color:var(--ink);border-radius:16px;flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;padding:.75rem .9rem;font-size:.88rem;display:flex}.chat-safety svg{color:var(--reported);flex:none}.chat-safety p{flex:200px}.chat-safety .link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.chat-empty{color:var(--ink-soft);text-align:center;margin-top:2rem}.chat-input{width:100%;max-width:560px;padding-bottom:calc(env(safe-area-inset-bottom) + .8rem);margin:0 auto}.chat-quote{border-left:3px solid var(--accent);background:var(--well);border-radius:8px;margin:0;padding:.6rem .8rem}.admin-reports{flex-direction:column;gap:.4rem;padding:.6rem 0;display:flex}.admin-reports ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-reports li{background:var(--well);border-radius:12px;flex-direction:column;gap:.2rem;padding:.55rem .7rem;font-size:.88rem;display:flex}.admin-reports li>span{font-weight:700}.admin-reports small{color:var(--ink-soft)}@media (prefers-reduced-motion:no-preference){.chat-badge{animation:cheer-pop .45s var(--spring-playful)}}body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .5 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-attachment:fixed}.mode-kicker,.studio-label,.space-group legend,.invite-label,.pet-today h3,.pet-h,.goal-plan h4,.quote figcaption{color:var(--accent);letter-spacing:0;font-weight:650}.quote{background:var(--surface);border-color:#0000;border-left:3px solid var(--accent);border-radius:6px var(--radius-card) var(--radius-card) 6px}.page-head h1.display{align-self:flex-start;padding-bottom:.45rem;position:relative}.page-head h1.display:after{content:"";background:var(--accent);width:min(3.4em,100%);height:9px;position:absolute;bottom:0;left:.04em;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6.5C14 1.5 22 1.5 32 5.2S50 9.6 62 5S82 0.8 94 4.6S112 8.4 118 4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6.5C14 1.5 22 1.5 32 5.2S50 9.6 62 5S82 0.8 94 4.6S112 8.4 118 4' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat}@media (prefers-reduced-motion:no-preference){.page-head h1.display:after{animation:.9s cubic-bezier(.6,0,.2,1) .35s both tide-draw}@keyframes tide-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes tide-in-right{0%{clip-path:ellipse(0% 120% at 100% 40%);transform:translate(14px)}to{clip-path:ellipse(160% 160% at 100% 40%);transform:none}}@keyframes tide-in-left{0%{clip-path:ellipse(0% 120% at 0 40%);transform:translate(-14px)}to{clip-path:ellipse(160% 160% at 0 40%);transform:none}}.page-forward{animation:page-in-right .32s var(--spring-smooth) both}.page-back{animation:page-in-left .32s var(--spring-smooth) both}@keyframes page-in-right{0%{opacity:.35;transform:translate(18px)}}@keyframes page-in-left{0%{opacity:.35;transform:translate(-18px)}}}:root[data-theme=dark]{--bg:#0c0918;--surface:#161029;--surface-2:#1e1838;--line:#c4b2ff24;--ink:#f5f1ff;--ink-soft:#ada5cc;--accent:#f6a3dc;--accent-ink:#2a0c24;--accent-soft:#f6a3dc24;--glass:#18122e99;--glass-edge:#ffffff12;--shadow-deep:0 24px 48px -28px #000000d9;--aurora-alpha:.55;--well:#cdbeff12}:root[data-theme=light]{--bg:#f2eff8;--surface:#fff;--surface-2:#f7f4fc;--glass:#ffffffb8;--glass-edge:#ffffffe6;--shadow-deep:0 22px 40px -28px #3c1e6e59;--aurora-alpha:.3;--well:#f2eff8}.shell{--tone:#f6a3dc;--tone-2:#a98bff;--tone-ink:#22091d}.shell[data-tone=volt]{--tone:#8c9cff;--tone-2:#5ee7ff;--tone-ink:#0b1030}.shell[data-tone=aqua]{--tone:#5ee7d0;--tone-2:#7cc4ff;--tone-ink:#062722}.shell[data-tone=amber]{--tone:#ffc46b;--tone-2:#ff8f7a;--tone-ink:#2b1503}.shell[data-tone=aurora]{--tone:#b49aff;--tone-2:#5ee7d0;--tone-ink:#150b33}.shell[data-tone=iris]{--tone:#a98bff;--tone-2:#f6a3dc;--tone-ink:#150b33}:root[data-theme=light] .shell{--tone:#b0457f;--tone-2:#7d3cc8;--tone-ink:#fff}:root[data-theme=light] .shell[data-tone=volt]{--tone:#4b5bdc;--tone-2:#0a8fb8}:root[data-theme=light] .shell[data-tone=aqua]{--tone:#0f8a7e;--tone-2:#2f6fd0}:root[data-theme=light] .shell[data-tone=amber]{--tone:#c26a0a;--tone-2:#c8463a}:root[data-theme=light] .shell[data-tone=aurora]{--tone:#6a43cf;--tone-2:#0f8a7e}:root[data-theme=light] .shell[data-tone=iris]{--tone:#6a43cf;--tone-2:#b0457f}.shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(40% 45% at 22% 30%, color-mix(in srgb, var(--tone) calc(var(--aurora-alpha) * 100%), transparent), transparent 70%), radial-gradient(38% 40% at 78% 18%, color-mix(in srgb, var(--tone-2) calc(var(--aurora-alpha) * 90%), transparent), transparent 70%);will-change:transform;height:90vh;transition:background .8s;position:fixed;inset:-25% -25% auto}.score-hero{background:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--tone-2) 70%, transparent), transparent 60%), linear-gradient(145deg, var(--tone), color-mix(in srgb, var(--tone) 55%, var(--tone-2)));color:var(--tone-ink);box-shadow:0 26px 60px -26px var(--tone), inset 0 1px 0 #fff6}.card,.space,.set-group,.goal,.quote,.voice,.core,.friends,.today-card{background:var(--glass);border-color:var(--line);box-shadow:inset 0 1px 0 var(--glass-edge), var(--shadow-deep)}.button:not(.button-quiet):not(.button-light):not(.button-danger){background:linear-gradient(135deg, var(--tone), var(--tone-2));color:var(--tone-ink);box-shadow:0 10px 26px -12px var(--tone), inset 0 1px 0 #ffffff59}.button-quiet{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}.wordmark{background:linear-gradient(100deg, var(--ink) 30%, var(--tone) 75%, var(--tone-2));color:#0000;-webkit-background-clip:text;background-clip:text}.topbar .wave{color:var(--tone);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--tone) 60%, transparent))}.page-head h1.display:after{background:linear-gradient(90deg, var(--tone), var(--tone-2))}:focus-visible{outline-color:var(--tone)}.tabbar{left:.75rem;right:.75rem;bottom:calc(env(safe-area-inset-bottom) + .6rem);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);box-shadow:inset 0 1px 0 var(--glass-edge), 0 18px 40px -18px #0009;border-radius:26px;max-width:540px;margin:0 auto;padding-bottom:0}.tab[aria-current=page]{color:var(--tone)}.tab[aria-current=page] svg{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--tone) 70%, transparent))}.tab-crest path{stroke:var(--tone)}@media (prefers-reduced-motion:no-preference){.shell:before{animation:28s ease-in-out infinite alternate aurora-drift}@keyframes aurora-drift{0%{transform:translate(0,0)scale(1)}50%{transform:translate(4%,3%)scale(1.08)}to{transform:translate(-3%,5%)scale(1.02)}}.button:not(.button-quiet){transition:transform .25s var(--spring-playful), box-shadow .25s ease}.button:not(.button-quiet):active{box-shadow:0 4px 14px -8px var(--tone);transform:scale(.95)}}a,button,[role=button],label,summary{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.tabbar{background:var(--surface)}@supports (-webkit-touch-callout:none){input,textarea,select{font-size:max(16px,1em)}}.sheet,.studio-body,.chat-log,.cmd{overscroll-behavior:contain}select.filter-select,.field select,.set-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ada5cc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:11px 8px;padding-right:2rem}.tab-dot{width:9px;height:9px;box-shadow:0 0 0 2px var(--surface), 0 0 10px #ffc46b;background:linear-gradient(135deg,#ffd36e,#ff9f6e);border-radius:50%;position:absolute;top:9px;left:calc(50% + 9px)}.score-chip{font-family:var(--font-display);font-variant-numeric:tabular-nums;background:#ffffff38;border-radius:99px;align-items:baseline;gap:1px;margin-left:.35rem;padding:.05rem .55rem;font-size:1.05rem;font-weight:800;display:inline-flex}.score-chip small{opacity:.7;font-size:.7rem;font-weight:700}.score-main-words{flex-direction:column;align-items:flex-start;gap:.3rem}.score-main-words h2{font-size:clamp(2rem,9vw,2.5rem);line-height:1.02}.score-main-words p{font-size:1rem}.score-pulse{height:40px}.today-actions{border:1px solid var(--line);background:var(--surface);border-radius:99px;gap:0;padding:4px}.today-actions .ask-button{min-height:44px;transition:background .25s var(--spring-smooth), transform .3s var(--spring-snappy);background:0 0;border:0;gap:.4rem;font-size:.86rem;font-weight:650}.today-actions .ask-button svg{color:var(--tone);flex:none}.today-actions>.ask-button:last-child{position:relative}.today-actions>.ask-button:last-child:before{content:"";background:var(--line);width:1px;position:absolute;top:25%;bottom:25%;left:0}.today-actions .ask-button:hover{background:color-mix(in srgb, var(--tone) 12%, transparent)}.today-actions .ask-button:active{transform:scale(.96)}.private-chip{border:1px solid color-mix(in srgb, var(--tone) 45%, transparent);background:color-mix(in srgb, var(--tone) 16%, var(--surface));min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.35rem;padding:0 .8rem;font-size:.82rem;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:no-preference){.private-chip{animation:private-in .45s var(--spring-springy) both}.private-chip:active{transform:scale(.94)}}@keyframes private-in{0%{opacity:0;transform:scale(.6)}}.display{font-size:clamp(1.85rem,7.6vw,2.5rem)}.display-hero{font-size:clamp(2.2rem,9.6vw,3.2rem)}:root[data-theme=dark]{--ink-soft:#bab3d8}.screen{padding-bottom:calc(var(--tab-height) + env(safe-area-inset-bottom) + 3.6rem)}.session .adapted:not(.adapted-prompt){color:var(--ink-soft);background:0 0;border-radius:0;padding:.15rem 0 .15rem 1.1rem;font-size:.88rem;position:relative}.session .adapted:not(.adapted-prompt):before{content:"";background:var(--tone);width:7px;height:7px;box-shadow:0 0 8px var(--tone);border-radius:50%;position:absolute;top:.55em;left:.1rem}.session .adapted strong{color:var(--ink)}.session .timebar{border-width:1px;padding:3px}.session .timebar-fill{height:8px}.session .effort{font-size:.88rem}.session .move-rx{grid-row:1;align-self:end}.session .move-show{grid-area:2/2;place-self:center end;margin:0}.session .move-show .showme-chip{border-color:color-mix(in srgb, var(--accent) 55%, transparent);min-height:30px;padding:0 .6rem}.logger-toolbar{margin-top:.2rem}.tool-chip-quiet{color:var(--ink-soft);background:0 0}.logger-tools{flex-flow:wrap;align-items:flex-start;gap:.4rem}.logger-tools .showme{flex:none}.logger-tools .showme:has(.showme-toggle[aria-expanded=true]){flex-basis:100%;order:2}.logger-tools .showme-toggle{border-width:1px;min-height:36px;padding:0 .8rem;font-size:.85rem}.logger-tools .showme-toggle svg{width:16px;height:16px}.tool-chip{transition:transform .3s var(--spring-snappy), background .2s}.tool-chip:active{transform:scale(.95)}.busy-chip{width:40px;height:40px;min-height:0;color:color-mix(in srgb, var(--ink-soft) 60%, transparent);transition:background .2s, color .2s, transform .3s var(--spring-snappy);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:inline-grid}.busy-chip:active{transform:scale(.9)}.busy-on{background:color-mix(in srgb, var(--tone) 18%, transparent);color:var(--ink)}.week-day-busy .wd-main{opacity:.55}.jump-chips{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}.nut-actions .button:not(.nut-eat){white-space:nowrap;flex:1 1 0;min-width:0;min-height:44px;padding:0 .6rem;font-size:.86rem}.nut-actions .button:not(.nut-eat) svg{flex:none;width:16px;height:16px}.sheet-actions .button{white-space:nowrap;padding-inline:.7rem;font-size:.95rem}.cr .cr-bounce,.cr .cr-eyes,.cr .cr-arm-wave,.cr .cr-ear-l,.cr .cr-ear-r,.cr .cr-tail,.cr .cr-shadow,.cr-do{transform-box:fill-box}.cr .cr-bounce{transform-origin:50% 100%}.cr .cr-eyes{transform-origin:50%}.cr .cr-arm-wave{transform-origin:20% 80%}.cr .cr-ear-l{transform-origin:80% 100%}.cr .cr-ear-r{transform-origin:20% 100%}.cr .cr-tail{transform-origin:0 100%}.cr .cr-shadow{transform-origin:50%}.cr-do{transform-origin:50% 100%}.cr-zzz text{font-family:var(--font-display)}.space-pet-tap{cursor:pointer}.space-tap-hint{color:var(--ink-soft);margin-top:-.2rem;font-size:.82rem}.space-room{border-radius:24px 24px 24px 10px;box-shadow:inset 0 -30px 40px -30px #1e0a3c40,0 18px 40px -26px #1e0a3c99}.space-room .space-plant,.space-room .space-lamp,.space-room .space-shelf,.space-room .space-kettle,.space-room .space-telescope,.space-room .space-poster{filter:drop-shadow(0 5px 3px #1e0a3c40)}@media (prefers-reduced-motion:no-preference){.cr .cr-bounce{animation:2.8s cubic-bezier(.45,0,.55,1) infinite cr-breathe}.cr .cr-shadow{animation:2.8s cubic-bezier(.45,0,.55,1) infinite cr-shadow}@keyframes cr-breathe{0%,to{transform:scale(1)}45%{transform:scale(1.035,.965)}70%{transform:scale(.985,1.025)translateY(-1.5px)}}@keyframes cr-shadow{70%{opacity:.28;transform:scaleX(.92)}}.cr .cr-eyes{animation:5.2s infinite cr-blink}.cr-critter .cr-eyes{animation-duration:4.3s}@keyframes cr-blink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.08)}}.cr .cr-ear-l{animation:6s ease-in-out infinite cr-ear-l}.cr .cr-ear-r{animation:6s ease-in-out .4s infinite cr-ear-r}@keyframes cr-ear-l{0%,80%,to{transform:rotate(0)}85%{transform:rotate(-12deg)}90%{transform:rotate(4deg)}}@keyframes cr-ear-r{0%,80%,to{transform:rotate(0)}85%{transform:rotate(12deg)}90%{transform:rotate(-4deg)}}.cr .cr-tail{animation:1.8s ease-in-out infinite cr-wag}@keyframes cr-wag{50%{transform:rotate(9deg)}}.cr .cr-arm-wave{animation:cr-wave 9s var(--spring-playful) infinite}@keyframes cr-wave{0%,82%,to{transform:rotate(0)}85%{transform:rotate(-38deg)}88%{transform:rotate(-12deg)}91%{transform:rotate(-38deg)}94%{transform:rotate(0)}}.cr-resting .cr-bounce{animation-duration:4.6s}.cr-resting .cr-arm-wave,.cr-resting .cr-tail,.cr-resting .cr-ear-l,.cr-resting .cr-ear-r{animation:none}.cr-zzz text{animation:2.6s ease-in-out infinite cr-zzz}.cr-zzz text:nth-child(2){animation-delay:1.3s}@keyframes cr-zzz{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}.cr-sparkles path{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite cr-twinkle}.cr-sparkles path:nth-child(2){animation-delay:.8s}@keyframes cr-twinkle{50%{opacity:.5;transform:scale(.5)rotate(45deg)}}.cr-do-hop{animation:cr-hop .8s var(--spring-springy)}@keyframes cr-hop{15%{transform:scale(1.15,.85)}45%{transform:translateY(-34px)scale(.9,1.12)}75%{transform:scale(1.12,.88)}}.cr-do-spin{animation:.9s cubic-bezier(.5,0,.3,1.3) cr-spin}@keyframes cr-spin{15%{transform:scale(1.1,.9)}60%{transform:translateY(-14px)rotateY(180deg)}to{transform:rotateY(360deg)}}.cr-do-wave .cr-arm-wave{animation:cr-wave-now 1.2s var(--spring-playful)}@keyframes cr-wave-now{20%,60%{transform:rotate(-42deg)}40%,80%{transform:rotate(-10deg)}}.cr-do-dance{animation:1.2s ease-in-out cr-dance}@keyframes cr-dance{20%,60%{transform:translate(-8px)rotate(-10deg)scale(1.05,.95)}40%,80%{transform:translate(8px)rotate(10deg)scale(1.05,.95)}}.cr-do-flip{animation:1s cubic-bezier(.4,0,.2,1) cr-flip}@keyframes cr-flip{15%{transform:scale(1.18,.82)}55%{transform:translateY(-42px)rotate(200deg)}85%{transform:translateY(0)rotate(360deg)scale(1.1,.9)}to{transform:rotate(360deg)}}}.cady{z-index:9;left:1.5rem;bottom:calc(env(safe-area-inset-bottom) + .6rem + var(--tab-height) - 24px);pointer-events:none;position:fixed}.cady>*{pointer-events:auto}.cady-open{z-index:31}.cady-peek{cursor:pointer;transform-origin:50% 100%;width:62px;height:66px;filter:drop-shadow(0 6px 10px #14062866) drop-shadow(0 0 14px color-mix(in srgb, var(--tone,#f6a3dc) 40%, transparent));background:0 0;border:0;padding:0;display:block;position:relative;transform:translateY(0)}.cady-peek svg{width:100%;height:100%;overflow:visible}.cady-open .cady-peek{transform:translateY(-14px)scale(1.06)}.cady-away .cady-peek{opacity:0;transform:translateY(70px)}.cady-news{background:linear-gradient(135deg, var(--tone), var(--tone-2));width:20px;height:20px;color:var(--tone-ink);box-shadow:0 0 0 2px var(--surface), 0 0 14px var(--tone);border-radius:50%;place-items:center;font-size:.8rem;font-weight:900;display:grid;position:absolute;top:-2px;right:-4px}.cady-panel{background:var(--surface);border:1px solid var(--line);width:min(340px,100vw - 28px);color:var(--ink);box-shadow:0 24px 50px -20px #0a041eb3, 0 0 0 1px color-mix(in srgb, var(--tone) 25%, transparent), 0 0 40px -14px var(--tone);transform-origin:10% 100%;border-radius:24px 24px 24px 6px;flex-direction:column;gap:.8rem;padding:1rem 1rem .85rem;display:flex;position:absolute;bottom:82px;left:-.5rem}.cady-panel:after{content:"";background:inherit;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 5px;width:18px;height:18px;position:absolute;bottom:-9px;left:28px;transform:rotate(45deg)}.cady-speech,.tour-speech{font-family:var(--font-display);font-size:1.06rem;font-weight:600;line-height:1.38}.cady-speech{padding-right:1.8rem}.cady-actions,.tour-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.cady-btn{gap:.35rem;min-height:40px;padding:0 .95rem;font-size:.92rem}.cady-tuck,.tour-skip{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.3rem;font-size:.82rem}.cady-tuck{margin-left:auto}.cady-close{width:34px;height:34px;position:absolute;top:.45rem;right:.45rem}.cady-dots{gap:5px;margin-right:auto;display:flex}.cady-dots i{background:var(--line);width:7px;height:7px;transition:width .4s var(--spring-playful), background .3s ease;border-radius:99px}.cady-dots i.done{background:color-mix(in srgb, var(--tone) 55%, var(--line))}.cady-dots i.on{background:linear-gradient(90deg, var(--tone), var(--tone-2));width:22px}.tour{z-index:70;position:fixed;inset:0}.tour-hole{pointer-events:none;box-shadow:0 0 0 200vmax #080416b3, 0 0 0 2px var(--tone), 0 0 46px 6px color-mix(in srgb, var(--tone) 45%, transparent);border-radius:24px;position:fixed}.tour-hole-none{width:0;height:0;top:50%;left:50%;box-shadow:0 0 0 200vmax #080416b3}.tour-bubble{background:var(--surface);max-width:420px;color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 60px -24px #000c, 0 0 0 1px color-mix(in srgb, var(--tone) 30%, transparent), 0 0 60px -20px var(--tone);border-radius:26px;flex-direction:column;gap:.9rem;margin:0 auto;padding:1.2rem 1.1rem .75rem;display:flex;position:fixed;left:16px;right:16px}.tour-cady{filter:drop-shadow(0 6px 8px #00000059);width:62px;height:66px;position:absolute;top:-58px;left:18px;overflow:visible}.tour-skip{align-self:center;margin-top:-.35rem}@media (prefers-reduced-motion:no-preference){.cady-peek{transition:transform .6s var(--spring-playful), opacity .3s ease;animation:cady-peekaboo 12s var(--spring-playful) 4s infinite}.cady-open .cady-peek,.cady-away .cady-peek{animation:none}@keyframes cady-peekaboo{0%,82%,to{transform:translateY(0)}86%{transform:translateY(-6px)rotate(-6deg)}92%{transform:translateY(-4px)rotate(5deg)}96%{transform:translateY(16px)}}.cady-panel{animation:cady-pop .5s var(--spring-playful) both}@keyframes cady-pop{0%{opacity:0;transform:scale(.4)translateY(30px)}60%{opacity:1}}.cady-speech,.tour-speech{animation:cady-say .6s var(--spring-smooth) both}@keyframes cady-say{0%{clip-path:inset(0 100% 0 0);opacity:.3}to{clip-path:inset(0);opacity:1}}.cady-news{animation:2s ease-in-out infinite cady-ping}@keyframes cady-ping{50%{transform:scale(1.18)}}.tour{animation:.45s both tour-in}@keyframes tour-in{0%{opacity:0}}.tour-hole{transition:top .6s var(--spring-springy), left .6s var(--spring-springy), width .6s var(--spring-springy), height .6s var(--spring-springy)}.tour-hole:not(.tour-hole-none){animation:2.4s ease-in-out .6s infinite tour-breathe}@keyframes tour-breathe{50%{box-shadow:0 0 0 200vmax #080416b3, 0 0 0 3px var(--tone), 0 0 64px 10px color-mix(in srgb, var(--tone) 55%, transparent)}}.tour-bubble{transition:top .55s var(--spring-springy), bottom .55s var(--spring-springy);animation:cady-pop .55s var(--spring-playful) both}.tour-cady{animation:tour-cady-in .6s var(--spring-playful) both}@keyframes tour-cady-in{0%{opacity:0;transform:translateY(26px)scale(.6)}}}.cady-chat .studio-bar{grid-template-columns:auto 1fr auto}.cady-mode{background:var(--well);color:var(--ink-soft);border-radius:99px;padding:.2rem .6rem;font-size:.75rem;font-weight:800}.cady-mode-ai{background:linear-gradient(135deg, var(--tone), var(--tone-2));color:var(--tone-ink);box-shadow:0 0 14px -4px var(--tone)}.cady-log{gap:.6rem}.cady-line{align-items:flex-end;gap:.4rem;display:flex}.cady-line-you{justify-content:flex-end}.cady-face{flex:none;width:34px;height:36px;overflow:visible}.cady-line .bubble{max-width:82%}.cady-ai-tag{opacity:.65;font-size:.7rem}.cady-note{background:color-mix(in srgb, var(--tone) 14%, transparent);border-radius:10px;padding:.35rem .5rem;font-size:.78rem}.cady-turn-on{border:1px dashed color-mix(in srgb, var(--tone) 60%, var(--line));color:var(--tone);font:inherit;cursor:pointer;background:0 0;border-radius:99px;align-self:center;align-items:center;gap:.35rem;margin-top:.4rem;padding:.45rem .9rem;font-weight:700;display:inline-flex}.cady-typing{flex-direction:row;gap:4px;padding:.75rem .9rem}.cady-typing i{background:var(--ink-soft);border-radius:50%;width:7px;height:7px}.cady-input{flex-direction:column;display:flex}.cady-starters{scrollbar-width:none;flex-wrap:nowrap;padding:.5rem .8rem 0;overflow-x:auto}.cady-starters::-webkit-scrollbar{display:none}.cady-starters .filter-chip{flex:none}.consent-points{flex-direction:column;gap:.55rem;margin:0;padding-left:1.1rem;font-size:.95rem;display:flex}.cady-ai-settings{flex-direction:column;gap:.8rem;display:flex}.set-ai-btn{flex:none;min-height:40px}.cady-memories{flex-direction:column;gap:.5rem;display:flex}.cady-memories>small{color:var(--ink-soft)}.cady-memories ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.cady-memories li{background:var(--well);border-radius:12px;align-items:center;gap:.5rem;padding:.45rem .4rem .45rem .75rem;display:flex}.cady-memories li>span{flex-direction:column;flex:1;font-size:.92rem;display:flex}.cady-memories li small{color:var(--ink-soft);font-size:.75rem}.cady-memories .filter-chip{align-self:flex-start}@media (prefers-reduced-motion:no-preference){.cady-typing i{animation:1.1s ease-in-out infinite cady-dot}.cady-typing i:nth-child(2){animation-delay:.15s}.cady-typing i:nth-child(3){animation-delay:.3s}@keyframes cady-dot{30%{opacity:1;transform:translateY(-4px)}0%,60%,to{opacity:.4}}.cady-mode-ai{animation:3s ease-in-out infinite cady-ping}}.cady-text{white-space:pre-line}.cady-source{color:var(--tone,var(--accent));background:color-mix(in srgb, var(--tone,var(--accent)) 14%, transparent);border-radius:99px;align-self:flex-start;padding:.15rem .5rem;font-size:.8rem;font-weight:700;text-decoration:none}.cady-rate{align-items:center;gap:.25rem;margin-top:.1rem;display:flex}.cady-rate button{border:1px solid var(--line);cursor:pointer;opacity:.65;filter:grayscale(.5);background:0 0;border-radius:99px;width:30px;height:28px;font-size:.85rem}.cady-rate button.on{opacity:1;filter:none;border-color:var(--tone,var(--accent))}.cady-rate button:disabled:not(.on){opacity:.3}.cady-rate small{color:var(--ink-soft);font-size:.72rem}.cady{bottom:calc(env(safe-area-inset-bottom) + .6rem + var(--tab-height) - 30px)}.cady-open{bottom:calc(env(safe-area-inset-bottom) + .6rem + var(--tab-height) - 24px)}.cady-news{width:11px;height:11px;box-shadow:0 0 0 2px var(--surface), 0 0 10px var(--tone);font-size:0;top:8px;right:8px}.tour-say{gap:.25rem;display:grid}.tour-title{font-family:var(--font-display);font-size:var(--t-lg);letter-spacing:-.01em;font-weight:700;line-height:1.15}.tour-say .tour-speech{font-family:var(--font-body);font-size:var(--t-base);color:var(--ink-soft);font-weight:500;line-height:1.45}.tour-count{font-size:var(--t-xs);color:var(--ink-soft);font-variant-numeric:tabular-nums;font-weight:600}.tour-actions .cady-dots{display:none}.tour{cursor:pointer}.tour-bubble{cursor:default}@media (prefers-reduced-motion:no-preference){.tour-say{animation:cady-say .5s var(--spring-smooth) both}.tour-say .tour-speech{animation:none}}.showroom-count{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem .8rem;display:flex}.showroom-count b{color:var(--ink);font-family:var(--font-display);font-size:1.3rem}.showroom-waiting{color:#2b1503;background:linear-gradient(135deg,#ffd36e,#ff9f6e);border-radius:99px;align-items:center;gap:.3rem;padding:.2rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 0 18px -4px #ffc46b}.showroom{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem .8rem;margin:0;padding:0;list-style:none;display:grid}.showroom>li{flex-direction:column;gap:.5rem;display:flex}.stage{aspect-ratio:5/6;isolation:isolate;border-radius:22px 22px 14px 14px;position:relative;overflow:hidden;box-shadow:0 18px 34px -22px #0a041ecc,inset 0 0 0 1px #ffffff0f}.stage-back{z-index:-1;background:radial-gradient(60% 55% at 50% 70%,#ffecbe59,#0000 70%),linear-gradient(#0000 72%,#6b3d2a 72%,#4a2619 100%),linear-gradient(#2a1b3e,#1a1028);position:absolute;inset:0}.stage-critter{width:72%;position:absolute;bottom:14%;left:50%;overflow:visible;transform:translate(-50%)}.curtain{z-index:2;background:linear-gradient(#ffffff0f,#0000 30%,#00000047),repeating-linear-gradient(90deg,#7d0b24 0 4px,#b4182f 4px 11px,#d42a43 11px 14px,#9a1229 14px 20px);width:52%;position:absolute;top:0;bottom:0;box-shadow:inset 0 -10px 18px -6px #0006}.curtain-l{transform-origin:0 0;border-bottom-right-radius:40% 14%;left:0}.curtain-r{transform-origin:100% 0;border-bottom-left-radius:40% 14%;right:0}.stage-valance{z-index:3;filter:drop-shadow(0 4px 4px #00000059);background-color:#0000;background-image:radial-gradient(60% 120% at 25% 0,#c41f38 60%,#0000 61%),radial-gradient(60% 120% at 75% 0,#c41f38 60%,#0000 61%),linear-gradient(#a3142f,#8a0f27);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:100% 100%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-bottom:3px dotted #ffd36e;height:15%;position:absolute;top:0;left:-4%;right:-4%}.stage-medal{z-index:4;width:40px;height:40px;font-family:var(--font-display);color:#6b3d0a;background:radial-gradient(circle at 35% 30%,#fff1b8,#ffd36e 45%,#c98d1c);border-radius:50%;place-items:center;font-size:1.3rem;font-weight:800;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0006,inset 0 -2px #00000026}.stage-hit{z-index:5;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0 0 12%;display:flex;position:absolute;inset:0}.stage-tap{color:#2b1503;background:linear-gradient(135deg,#ffd36e,#ff9f6e);border-radius:99px;padding:.3rem .8rem;font-size:.85rem;font-weight:800;box-shadow:0 0 20px -2px #ffc46b}.stage-out .curtain-l,.stage-out .curtain-r{scale:.2 1}.stage-current{box-shadow:0 0 0 2px var(--tone), 0 18px 40px -16px var(--tone)}.stage-info{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;min-height:34px;display:flex}.stage-info b{font-family:var(--font-display)}.stage-info small{width:100%;color:var(--ink-soft);font-size:.8rem;line-height:1.3}.stage-mystery{color:var(--ink-soft);font-weight:650}.stage-shuffling+.stage-info .stage-mystery{color:#ffc46b}:root[data-theme=light] .stage-shuffling+.stage-info .stage-mystery{color:#a35a00}.stage-with{color:var(--tone);align-items:center;gap:.25rem;font-size:.82rem;font-weight:700;display:inline-flex}.stage-choose{min-height:32px;padding:0 .8rem}.stage-confetti{z-index:6;position:absolute;top:55%;left:50%}.stage-confetti i{opacity:0;border-radius:2px;width:7px;height:11px;position:absolute}.stage-confetti i:nth-child(3n){border-radius:50%;width:9px;height:9px}.stage-confetti i:nth-child(3n+1){width:5px;height:12px}.stage-critter{transform-origin:50% 100%}.unlock-notice,.showroom-link{color:var(--ink);background:linear-gradient(120deg, #c41f383d, #ffd36e29), var(--glass,var(--surface));border:1px solid #ffc46b73;border-radius:18px;align-items:center;gap:.75rem;padding:.65rem .9rem;text-decoration:none;display:flex;box-shadow:0 0 26px -10px #ffc46b}.unlock-notice{width:calc(100% - 2rem);max-width:528px;margin:.25rem auto 0}.unlock-notice>span:nth-child(2),.showroom-link>span:nth-child(2){flex-direction:column;flex:1;line-height:1.25;display:flex}.unlock-notice small,.showroom-link small{color:var(--ink-soft);font-size:.82rem}.showroom-link{background:var(--glass,var(--surface));border-color:var(--line);box-shadow:inset 0 1px 0 var(--glass-edge,transparent), var(--shadow-deep,none)}.showroom-link-waiting{background:linear-gradient(120deg, #c41f383d, #ffd36e29), var(--glass,var(--surface));border-color:#ffc46b73}.unlock-curtain,.showroom-link-curtain{background:#2a1b3e;border-radius:9px 9px 6px 6px;flex:none;width:34px;height:34px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 3px #8a0f27}.unlock-curtain i,.showroom-link-curtain i{background:repeating-linear-gradient(90deg,#7d0b24 0 2px,#c41f38 2px 5px);width:50%;height:100%}.unlock-curtain i:first-child,.showroom-link-curtain i:first-child{transform-origin:0 0;border-bottom-right-radius:50% 20%}.unlock-curtain i:last-child,.showroom-link-curtain i:last-child{transform-origin:100% 0;border-bottom-left-radius:50% 20%}@media (prefers-reduced-motion:no-preference){.stage-shuffling .curtain-l{animation:shuffle-l 3.2s var(--spring-playful) calc(var(--i,0) * -.47s) infinite}.stage-shuffling .curtain-r{animation:shuffle-r 3.2s var(--spring-playful) calc(var(--i,0) * -.47s + .12s) infinite}@keyframes shuffle-l{0%,40%,to{transform:scale(1)}46%{transform:skew(-3deg)scaleX(1.03)}52%{transform:skew(2deg)scaleX(.95)}58%{transform:skew(-4deg)scaleX(1.05)}66%{transform:scale(1)}80%{transform:skew(1.5deg)scale(1)}}@keyframes shuffle-r{0%,44%,to{transform:scale(1)}50%{transform:skew(4deg)scaleX(1.04)}56%{transform:skew(-2deg)scaleX(.95)}62%{transform:skew(3deg)scaleX(1.03)}72%{transform:scale(1)}}.stage-shuffling .stage-tap{animation:tap-bob 3.2s var(--spring-playful) calc(var(--i,0) * -.47s + .5s) infinite}@keyframes tap-bob{0%,30%,to{transform:none}38%{transform:translateY(-4px)scale(1.05)}52%{transform:none}}.stage-hit{transition:scale var(--spring-snappy-time) var(--spring-snappy)}.stage-hit:active{scale:.97}.stage-opening .curtain-l{animation:1.2s linear both open-l,1.2s linear both hem-l}.stage-opening .curtain-r{animation:1.2s linear both open-r,1.2s linear both hem-r}@keyframes open-l{0%{animation-timing-function:var(--spring-settle);scale:1}12%{animation-timing-function:var(--spring-springy);scale:1.05 1}to{scale:.2 1}}@keyframes open-r{0%{animation-timing-function:var(--spring-settle);scale:1}12%{animation-timing-function:var(--spring-springy);scale:1.05 1}to{scale:.2 1}}@keyframes hem-l{0%{animation-timing-function:var(--spring-settle);transform:none}12%{animation-timing-function:var(--spring-smooth);transform:skew(-2deg)}38%{animation-timing-function:var(--spring-springy);transform:skew(7deg)}to{transform:none}}@keyframes hem-r{0%{animation-timing-function:var(--spring-settle);transform:none}12%{animation-timing-function:var(--spring-smooth);transform:skew(2deg)}38%{animation-timing-function:var(--spring-springy);transform:skew(-7deg)}to{transform:none}}.stage-opening .stage-valance{transform-origin:50% 0;animation:1.1s linear both valance-yank}@keyframes valance-yank{0%{animation-timing-function:var(--spring-settle);transform:none}12%{animation-timing-function:var(--spring-springy);transform:translateY(5px)scaleY(1.1)}to{transform:none}}.stage-opening .stage-back{animation:1.4s linear both stage-lights}@keyframes stage-lights{0%,24%{filter:none;animation-timing-function:var(--spring-settle)}42%{filter:brightness(1.45)saturate(1.2);animation-timing-function:var(--spring-settle)}to{filter:none}}.stage-opening .stage-critter{animation:.95s linear .42s both critter-pop}@keyframes critter-pop{0%{opacity:0;animation-timing-function:var(--spring-settle);transform:translate(-50%)translateY(34%)scale(.3)}40%{opacity:1;animation-timing-function:var(--spring-snappy);transform:translate(-50%)translateY(-8%)scale(.94,1.1)}55%{opacity:1;animation-timing-function:var(--spring-playful);transform:translate(-50%)translateY(0)scale(1.1,.88)}to{opacity:1;transform:translate(-50%)}}.stage-confetti i{animation:confetti 1.2s linear calc(.55s + var(--k,0) * 12ms) both}@keyframes confetti{0%{opacity:1;animation-timing-function:var(--spring-settle);transform:translate(0)rotate(0)}38%{opacity:1;transform:translate(var(--x), var(--y)) rotate(calc(var(--r) * .6));animation-timing-function:cubic-bezier(.45,0,1,1)}85%{opacity:1}to{opacity:0;transform:translate(calc(var(--x) * 1.15), calc(var(--y) + 90px)) rotate(var(--r))}}.stage-info-opening>*{animation:info-in var(--spring-smooth-time) var(--spring-smooth) .9s both}@keyframes info-in{0%{opacity:0;transform:translateY(6px)}}.unlock-notice{animation:notice-in .6s var(--spring-playful) both}@keyframes notice-in{0%{opacity:0;transform:translateY(-10px)scale(.96)}}.unlock-curtain i:first-child,.showroom-link-waiting .showroom-link-curtain i:first-child{animation:shuffle-l 2.2s var(--spring-playful) infinite}.unlock-curtain i:last-child,.showroom-link-waiting .showroom-link-curtain i:last-child{animation:shuffle-r 2.2s var(--spring-playful) .1s infinite}}.unlock-notice-wrap{width:calc(100% - 2rem);max-width:528px;margin:.25rem auto 0;position:relative}.unlock-notice-wrap .unlock-notice{width:100%;margin:0;padding-right:3rem}.unlock-notice-wrap .unlock-notice>svg{display:none}.unlock-hide{width:36px;height:36px;position:absolute;top:50%;right:.4rem;translate:0 -50%}.inline-link{min-height:0;font-size:inherit;padding:0;display:inline}.privacy-version{color:var(--ink-soft);font-size:.85rem}.privacy-section{flex-direction:column;gap:.4rem;display:flex}.privacy-section h3{font-size:1.02rem}.privacy-section p{font-size:.93rem;line-height:1.5}.privacy-contact{color:var(--ink-soft);font-size:.88rem}.feedback-cta{border:1px solid color-mix(in srgb, var(--tone,var(--accent)) 45%, var(--line));background:linear-gradient(120deg, color-mix(in srgb, var(--tone,var(--accent)) 16%, transparent), transparent), var(--glass,var(--surface));width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 0 26px -14px var(--tone,var(--accent));border-radius:20px;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.feedback-cta svg{color:var(--tone,var(--accent));flex:none}.feedback-cta span{flex-direction:column;display:flex}.feedback-cta small{color:var(--ink-soft);font-size:.85rem}.feedback-faces{justify-content:space-between;gap:.3rem;display:flex}.feedback-face{border:1.5px solid var(--line);background:var(--well);cursor:pointer;filter:grayscale(.6);opacity:.75;border-radius:16px;flex:1;min-height:52px;font-size:1.6rem}.feedback-face.on{filter:none;opacity:1;border-color:var(--tone,var(--accent));box-shadow:0 0 18px -6px var(--tone,var(--accent))}.feedback-text{border:1.5px solid var(--line);background:var(--well);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:14px;padding:.75rem .9rem;font-weight:400}.feedback-privacy{color:var(--ink-soft);font-size:.82rem}.set-sub{margin-top:.6rem;font-size:.95rem}.cady-tuck+.cady-tuck{margin-left:0}.broken{gap:.7rem}@media (prefers-reduced-motion:no-preference){.feedback-face{transition:transform .25s var(--spring-playful), filter .2s ease, opacity .2s ease}.feedback-face.on{transform:scale(1.12)rotate(-4deg)}}.aims{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.55rem}.aims summary{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;margin-bottom:.2rem;font-weight:650;list-style:none;display:flex}.aims summary::-webkit-details-marker{display:none}.aims summary:after{content:"";opacity:.6;border-bottom:2px solid;border-right:2px solid;width:.55rem;height:.55rem;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.aims[open] summary:after{transform:rotate(225deg)translateY(-2px)}.aims-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.aim{background:var(--well);border-radius:14px;gap:.15rem;padding:.65rem .8rem .7rem .95rem;display:grid;position:relative;overflow:hidden}.aim:before{content:"";background:var(--accent);opacity:.55;border-radius:3px;width:3px;position:absolute;top:.55rem;bottom:.55rem;left:0}.aim-up:before{opacity:1;height:auto}.aim-careful:before{background:var(--ink-soft)}.aim b{font-size:.95rem}.aim-last{color:var(--ink-soft);font-size:.82rem}.aim-last:before{content:"";background:var(--reported);vertical-align:.05em;border-radius:50%;width:.45rem;height:.45rem;margin-right:.35rem;display:inline-block}.aim-next{background:var(--accent-soft);border-radius:8px;justify-self:start;margin-top:.15rem;padding:.2rem .5rem;font-size:.88rem}.bests{background:#ffffff29;border-radius:22px;width:100%;max-width:420px;padding:1.1rem 1rem .9rem;position:relative;box-shadow:inset 0 0 0 1.5px #ffffff59}.bests h2{font-family:var(--font-display);letter-spacing:-.01em;margin:.35rem 0 .25rem;font-size:1.45rem}.bests ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.bests li{font-variant-numeric:tabular-nums}.bests small{opacity:.8}.bests-note{opacity:.85;margin:.4rem 0 0;font-size:.85rem}.bests-medal{color:#4a3200;background:radial-gradient(circle at 35% 30%,#fff3c4,#f2c14e 55%,#c8901c);border-radius:50%;place-items:center;width:56px;height:56px;margin-top:-2.4rem;display:inline-grid;box-shadow:0 6px 18px #00000040,inset 0 -3px #0000001f}.bests-burst{pointer-events:none;width:0;height:0;position:absolute;top:.4rem;left:50%}.bests-burst i{opacity:0;background:#f2c14e;border-radius:2px;width:7px;height:11px;position:absolute}.bests-burst i:nth-child(3n){background:#fff}.bests-burst i:nth-child(3n+1){background:var(--reported)}@media (prefers-reduced-motion:no-preference){.aims[open] .aim{animation:ob-in-up .35s var(--spring-smooth) backwards;animation-delay:calc(var(--i) * 50ms)}.aims summary:after{transition:transform .25s var(--spring-springy)}.bests{animation:pop-in .6s var(--spring-playful) 1.3s backwards}.bests-medal{animation:medal-swing 1.4s var(--spring-playful) 1.45s backwards;transform-origin:50% -40%}.bests-burst i{animation:pb-burst 1.3s var(--spring-smooth) backwards;animation-delay:calc(1.55s + var(--i) * 15ms)}@keyframes pb-burst{0%{opacity:0;transform:none}8%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 60px)) rotate(var(--r))}}@keyframes medal-swing{0%{opacity:0;transform:translateY(-30px)rotate(-30deg)scale(.4)}40%{opacity:1;transform:rotate(14deg)scale(1.1)}70%{transform:rotate(-6deg)}to{transform:none}}}.nova-orb{cursor:pointer;font:inherit;background:radial-gradient(circle at 50% 45%, color-mix(in srgb, #c7a2ff 30%, var(--surface)), var(--surface) 72%);padding:0}.nova-orb svg.nova{width:calc(100% + 12px);height:calc(100% + 12px);position:absolute;inset:-6px;overflow:visible}.nova-new{background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);box-shadow:0 0 0 2px var(--surface);border-radius:10px;place-items:center;padding:0 5px;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:-2px;right:-2px}.nova{overflow:visible}.nova-shape{stroke:#7a4fd68c;stroke-width:.6px;stroke-linejoin:round}.nova-core{fill:#fff;opacity:.95}.nova-rays line{stroke:#ffe1f3;stroke-width:.8px;stroke-linecap:round;opacity:.55}.nova-dot{fill:#fff6d6}.nova-dot-new{fill:#ffe27a}.nova-ripples circle{fill:none;stroke:#e7cfff;stroke-width:.8px;opacity:0}.nova-track{fill:none;stroke:color-mix(in srgb, var(--ink) 9%, transparent);stroke-width:1.3px}.nova-arc{fill:none;stroke-width:1.6px;stroke-linecap:round;filter:drop-shadow(0 0 1.5px)}.nova-waiting .nova-halo{opacity:.45}.nova-soft .nova-body{opacity:.78}.nova-soft .nova-halo{opacity:.5}.nova-bright .nova-halo{opacity:1}.nova-calm .nova-halo{opacity:.8}:root[data-theme=light] .nova-shape,:root:not([data-theme=dark]) .nova-shape{stroke:#7a4fd6;stroke-width:.9px}:root:not([data-theme=dark]) .nova-dot{fill:#c98a00}:root:not([data-theme=dark]) .nova-rays line{stroke:#b48cff}.nova-sheet{gap:1.2rem;display:grid}.nova-hero{text-align:center;background:radial-gradient(at 50% 35%,#a985ff38,#0000 70%);border-radius:24px;justify-items:center;gap:.3rem;padding:.4rem 0 .2rem;display:grid}.nova-hero .nova{aspect-ratio:1;width:min(62vw,240px);height:auto}.nova-stage{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:800}.nova-sub{max-width:34ch;color:var(--ink-soft);margin:0;font-size:.88rem}.nova-mood-line{background:var(--well);border-radius:999px;margin:.35rem 0 0;padding:.45rem .8rem;font-size:.88rem;font-weight:600}.nova-mood-bright{background:color-mix(in srgb, #ffe27a 22%, var(--well))}.nova-mood-soft{background:color-mix(in srgb, #a985ff 16%, var(--well))}.nova-sheet h3{margin:0 0 .5rem;font-size:1.02rem}.nova-empty{color:var(--ink-soft);margin:0;font-size:.92rem}.nova-finds{gap:.45rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.nova-finds li{background:var(--well);border-radius:14px;gap:.15rem;padding:.65rem .8rem;display:grid;position:relative}.nova-finds small{color:var(--ink-soft)}.nova-badge{color:#3b2a00;background:#ffe27a;border-radius:999px;justify-self:start;padding:.05rem .5rem;font-size:.72rem;font-weight:800}.nova-areas{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.nova-areas li{grid-template-columns:1fr 1.3fr;align-items:center;gap:.1rem .7rem;display:grid}.nova-area-name{font-size:.92rem;font-weight:650}.nova-meter{background:var(--well);border-radius:99px;height:8px;overflow:hidden}.nova-meter i{height:100%;width:calc(max(.03, var(--v)) * 100%);border-radius:inherit;background:var(--c);box-shadow:0 0 10px var(--c);display:block}.nova-areas small{color:var(--ink-soft);grid-column:1/-1;font-size:.8rem}.nova-still{color:var(--ink-soft);gap:.3rem;margin:0;padding-left:1.1rem;font-size:.9rem;display:grid}.nova-links{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.nova-links .button{flex:1;text-decoration:none}@media (prefers-reduced-motion:no-preference){.nova-body{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite nova-breathe}.nova-core{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite nova-pulse}.nova-halo{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite nova-glow}.nova-rays{animation:60s linear infinite nova-turn}.nova-orbit{animation:26s linear infinite nova-turn}.nova-dot-new{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite nova-pulse}.nova-ripples circle{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite nova-ripple}.nova-arc{stroke-dashoffset:0;animation:core-draw 1.3s var(--spring-smooth) both;animation-delay:calc(.2s + var(--i,0) * .11s)}.nova-waiting .nova-body{animation-duration:7s}.nova-bright .nova-body{animation:3s ease-in-out infinite nova-breathe,3s ease-in-out infinite nova-shimmer}.nova-soft .nova-body,.nova-soft .nova-halo{animation-duration:8s}.nova-hero .nova{animation:nova-arrive .9s var(--spring-playful) both}.nova-finds li{animation:ob-in-up .4s var(--spring-smooth) backwards;animation-delay:calc(.35s + var(--i) * 70ms)}.nova-meter i{animation:nova-fill 1s var(--spring-smooth) backwards;animation-delay:calc(.4s + var(--i) * 90ms);transform-origin:0}.nova-badge{animation:pop-in .5s var(--spring-playful) .6s backwards}@keyframes nova-breathe{50%{transform:scale(1.06)rotate(4deg)}}@keyframes nova-pulse{50%{opacity:.8;transform:scale(1.25)}}@keyframes nova-glow{50%{transform:scale(1.08)}}@keyframes nova-turn{to{transform:rotate(360deg)}}@keyframes nova-ripple{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes nova-shimmer{50%{filter:brightness(1.15)drop-shadow(0 0 3px #ffe9a8)}}@keyframes nova-arrive{0%{opacity:0;transform:scale(.3)rotate(-60deg)}}@keyframes nova-fill{0%{transform:scaleX(0)}}}.nova-row{border:1px solid color-mix(in srgb, #c7a2ff 35%, var(--line));background:radial-gradient(120% 140% at 0% 50%, #c7a2ff2e, transparent 60%), var(--surface);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:20px;align-items:center;gap:.85rem;padding:.7rem 1rem .7rem .75rem;display:flex;position:relative}.nova-row-star{flex:none;place-items:center;width:52px;height:52px;display:grid;position:relative}.nova-row-star svg.nova{width:calc(100% + 16px);height:calc(100% + 16px);position:absolute;inset:-8px;overflow:visible}.nova-row-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.nova-row-text small{color:var(--ink-soft);font-size:.85rem}.nova-row-new{flex:none;position:static}@media (prefers-reduced-motion:no-preference){.nova-row{transition:transform .25s var(--spring-snappy)}.nova-row:active{transform:scale(.98)}}.core-stage{position:relative}.core-nova{z-index:1;aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:min(108px,30vw);padding:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.core-nova .nova{width:100%;height:100%}.core-nova:focus-visible{outline:2px solid var(--tone);outline-offset:4px}.core-explain{text-align:center;max-width:32ch;color:var(--ink-soft);margin:.2rem auto 0;font-size:.88rem}@media (prefers-reduced-motion:no-preference){.core-nova{transition:transform .4s var(--spring-springy)}.core-nova:active{transform:translate(-50%,-50%)scale(.92)}}.nut{gap:.6rem;display:grid;position:relative;overflow:hidden}.nut h2{color:var(--ink-soft);margin:0;font-size:.95rem;font-weight:650}.nut-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#9fdc6a4d,#0000 65%);border-radius:50%;width:70%;position:absolute;inset:-40% -20% auto auto}.nut-headline{font-family:var(--font-display);letter-spacing:-.01em;max-width:24ch;margin:0;font-size:1.35rem;font-weight:750;line-height:1.2;position:relative}.nut-lines{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.nut-lines li{background:var(--well);border-radius:14px;justify-items:start;gap:.25rem;padding:.6rem .75rem;font-size:.92rem;display:grid}.nut-actions{flex-wrap:wrap;gap:.45rem;display:flex}.nut-actions .button{flex:auto;justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.nut-eat{flex-basis:100%!important}.nut-empty,.nut-sub{color:var(--ink-soft);margin:0 0 .6rem;font-size:.92rem}.nut-ideas{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.nut-ideas li{background:var(--well);border-radius:16px;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .8rem;display:flex}.nut-ideas span{display:grid}.nut-ideas small{color:var(--ink-soft)}.crave-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.crave-answer{gap:.6rem;display:grid}.crave-answer h3{margin:.2rem 0 0;font-size:.98rem}.crave-idea{background:color-mix(in srgb, var(--accent) 10%, var(--well));border-radius:16px;justify-items:start;gap:.35rem;margin:0;padding:.8rem .9rem;font-size:1rem;display:grid}.nut-patterns ul{gap:.6rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.nut-patterns li{border-left:3px dashed var(--estimate);gap:.2rem;padding-left:.8rem;display:grid}.nut-patterns small{color:var(--ink-soft)}@media (prefers-reduced-motion:no-preference){.nut-glow{animation:9s ease-in-out infinite nut-drift}.nut-lines li{animation:ob-in-up .4s var(--spring-smooth) backwards;animation-delay:calc(.25s + var(--i) * 80ms)}.nut-ideas li{animation:ob-in-up .35s var(--spring-smooth) backwards;animation-delay:calc(var(--i) * 60ms)}.crave-answer{animation:ob-in-up .35s var(--spring-smooth)}@keyframes nut-drift{50%{transform:translate(-14px,10px)scale(1.08)}}}.felt-ask{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;margin-top:.15rem;padding:.15rem 0;font-size:.8rem;font-weight:650;text-decoration:underline;text-decoration-thickness:1px}.felt-pick{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.felt-pick .filter-chip{min-height:32px;padding:0 .65rem;font-size:.78rem}.felt-pill{background:var(--reported);color:var(--reported-ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-self:flex-start;margin-top:.2rem;padding:.1rem .6rem;font-size:.76rem;font-weight:700}.fmem-sub{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.4rem;margin:.2rem 0 .6rem;font-size:.88rem;display:flex}.fmem ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.fmem li{background:var(--well);border-radius:16px;gap:.35rem;padding:.7rem .8rem;display:grid}.fmem-head{display:grid}.fmem-head small,.fmem-line{color:var(--ink-soft);font-size:.86rem}.fmem-bar{border-radius:99px;gap:2px;height:8px;display:flex;overflow:hidden}.fmem-bar i{min-width:6px;display:block}@media (prefers-reduced-motion:no-preference){.felt-pick .filter-chip{animation:pop-in .35s var(--spring-playful) backwards}.felt-pill{animation:pop-in .4s var(--spring-playful)}.fmem-bar i{transform-origin:0;animation:nova-fill .8s var(--spring-smooth) backwards;animation-delay:calc(.2s + var(--i,0) * 80ms)}}.arcade{grid-template-columns:1fr 1fr;gap:.5rem;margin:0 0 .4rem;padding:0;list-style:none;display:grid}.arcade li:first-child{grid-column:1/-1}.arcade-tile{text-align:left;border:1px solid var(--line);width:100%;height:100%;color:var(--ink);font:inherit;cursor:pointer;background:linear-gradient(145deg, color-mix(in srgb, var(--g) 22%, var(--surface)), var(--surface) 75%);border-radius:20px;justify-items:start;gap:.15rem;padding:.8rem .85rem;display:grid;position:relative;overflow:hidden}.arcade-tile:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--g) 40%, transparent), transparent 70%);border-radius:50%;width:90px;height:90px;position:absolute;top:-24px;right:-24px}.arcade-tile b{font-family:var(--font-display);font-size:1.05rem}.arcade-tile small{color:var(--ink-soft);font-size:.8rem;line-height:1.3}.arcade-icon{background:var(--g);color:#1a0f2e;width:38px;height:38px;box-shadow:0 6px 14px -6px var(--g);border-radius:12px;place-items:center;margin-bottom:.25rem;display:grid}.arcade-best{color:var(--ink-soft);margin-top:.3rem;font-size:.74rem;font-weight:700}.arcade-stars{--g:#ffd36e}.arcade-breathe{--g:#7ee6ff}.arcade-pairs{--g:#ff9fcb}.arcade-bounce{--g:#9fdc6a}.arcade-copy{--g:#b9a2ff}.arc{flex-direction:column;gap:.5rem;display:flex}.arc-top{justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.arc-top b{font-family:var(--font-display);font-size:1.25rem}.arc-stage{color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:radial-gradient(120% 80% at 50% 100%,#3a2f63,#141433 70%);border-radius:22px;height:300px;position:relative;overflow:hidden}.arc-pet{width:100%;height:100%;display:block;overflow:visible}.arc-end{z-index:5;color:#fff;text-align:center;background:#0a061e9e;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1rem;display:flex;position:absolute;inset:0}.arc-end b{font-family:var(--font-display);font-size:1.5rem}.arc-end .button-quiet{color:#fff}.breathe-stage{background:radial-gradient(100% 90% at 50% 60%,#1f4a6b,#101a33 75%);place-items:center;display:grid}.breathe-bubble{width:230px;height:230px;translate:-50% -50%;scale:var(--s);background:radial-gradient(circle at 38% 32%,#ffffff80,#7ee6ff47 40%,#7ee6ff14 70%);border-radius:50%;position:absolute;top:46%;left:50%;box-shadow:inset 0 0 30px #7ee6ff66,0 0 50px #7ee6ff40}.breathe-hold{box-shadow:inset 0 0 30px #ffd36e73,0 0 60px #ffd36e4d}.breathe-pet{width:92px;height:98px;position:absolute;top:46%;left:50%;translate:-50% -50%}.breathe-say{text-align:center;font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:700;position:absolute;bottom:14px;left:0;right:0}.breathe-say small{background:#ffffff26;border-radius:50%;place-items:center;width:28px;height:28px;margin-left:.3rem;font-size:.95rem;display:inline-grid}.pairs-grid{grid-template-columns:repeat(4,1fr);align-content:center;gap:7px;height:auto;min-height:0;padding:10px;display:grid}.pair{aspect-ratio:4/5;cursor:pointer;perspective:600px;background:0 0;border:0;padding:0}.pair-inner{width:100%;height:100%;transform-style:preserve-3d;display:block;position:relative}.pair-back,.pair-front{backface-visibility:hidden;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0}.pair-back{background:linear-gradient(145deg,#6b4bd6,#b0457f);box-shadow:inset 0 0 0 2px #ffffff40}.pair-back:after{content:"";border-top:3px solid #ffffffb3;border-radius:50% 50% 0 0;width:40%;height:14%}.pair-front{background:radial-gradient(circle at 50% 30%,#3f3478,#231c4a);padding:10% 6% 4%;transform:rotateY(180deg)}.pair-open .pair-inner{transform:rotateY(180deg)}.pair-found .pair-front{box-shadow:inset 0 0 0 2px #ffd36e,0 0 16px #ffd36e73}.bounce-stage{cursor:pointer;background:radial-gradient(1.5px 1.5px at 18% 22%,#fff 99%,#0000),radial-gradient(1px 1px at 72% 14%,#fff 99%,#0000),radial-gradient(1.5px 1.5px at 85% 38%,#ffe9a8 99%,#0000),radial-gradient(1px 1px at 40% 30%,#fff 99%,#0000),radial-gradient(1px 1px at 58% 48%,#fff 99%,#0000),radial-gradient(60% 30% at 80% 20%,#b9a2ff2e,#0000),linear-gradient(#1c2a55,#3a2f63 70%,#4b3a72)}.bounce-ground{background:linear-gradient(#5e9f4a,#3f7a34);height:6%;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px #fff3}.bounce-shadow{will-change:transform, opacity;background:#00000059;border-radius:50%;width:60px;height:10px;position:absolute;bottom:4.5%;left:0}.bounce-pet{will-change:transform;pointer-events:none;width:74px;height:78px;position:absolute;bottom:0;left:0}.bounce-pet>span{transform-origin:50% 100%;width:100%;height:100%;display:block}.copy-stage{grid-template-rows:1fr auto;gap:10px;padding:10px;display:grid}.copy-pet{place-self:center;width:110px;height:116px}.copy-pads{grid-template-columns:1fr 1fr;gap:8px;display:grid}.copy-pad{min-height:52px;font:inherit;color:#1a0f2e;cursor:pointer;background:var(--p);opacity:.8;border:0;border-radius:16px;font-size:1rem;font-weight:800;box-shadow:inset 0 -4px #0000002e}.copy-pad:disabled{cursor:default}.copy-hop{--p:#ffd36e}.copy-spin{--p:#7ee6ff}.copy-wave{--p:#ff9fcb}.copy-dance{--p:#9fdc6a}.copy-lit{opacity:1;box-shadow:0 0 0 3px #fff, 0 0 24px var(--p)}@media (prefers-reduced-motion:no-preference){.arcade li{animation:pop-in .45s var(--spring-playful) backwards;animation-delay:calc(var(--i) * 60ms)}.arcade-tile{transition:transform .2s var(--spring-playful)}.arcade-tile:active{transform:scale(.96)}.arcade-tile:hover .arcade-icon{animation:.5s arc-wiggle}@keyframes arc-wiggle{30%{transform:rotate(-10deg)scale(1.08)}60%{transform:rotate(8deg)}}.arc-end{animation:.3s fade-in}.arc-end b{animation:pop-in .5s var(--spring-playful)}.breathe-bubble{transition:box-shadow .8s}.pair-inner{transition:transform .45s var(--spring-springy)}.pair{animation:pop-in .4s var(--spring-playful) backwards;animation-delay:calc(var(--i) * 35ms)}.pair-found .pair-front{animation:pair-yay .6s var(--spring-playful)}@keyframes pair-yay{40%{scale:1.12}}.bounce-squash{animation:bounce-squash .35s var(--spring-playful)}@keyframes bounce-squash{0%{transform:scale(1.25,.75)}60%{transform:scale(.9,1.12)}}.copy-pad{transition:opacity .15s,box-shadow .15s,transform .15s}.copy-pad:active:not(:disabled){transform:translateY(2px)scale(.97)}.copy-lit{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.breathe-bubble{opacity:calc(.35 + (var(--s) - .45) * 1.2);scale:1}}.num-pop{transform-origin:50% 80%;display:inline-block}.arc-burst{z-index:1;pointer-events:none;position:absolute;top:40%;left:50%}.arc-burst i{opacity:0;border-radius:2px;width:7px;height:11px;position:absolute}.arc-burst i:nth-child(3n){border-radius:50%;width:9px;height:9px}.arc-burst i:nth-child(3n+1){width:5px;height:12px}.arc-end>*,.starcatch-end>*{z-index:2;position:relative}.arc-end>.arc-burst,.starcatch-end>.arc-burst{z-index:1;position:absolute}.pairs-grid .arc-end{--end-delay:.8s;background:#0a061ed1}.arc-end{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.copy-stage .arc-end{--end-delay:.5s}.bounce-stage .arc-end{--end-delay:.3s}.pair-miss .pair-front{box-shadow:inset 0 0 0 2px #ff8fa8}.copy-wrong{opacity:1;box-shadow:inset 0 -4px #0000002e,0 0 0 3px #ff8fa8}.bounce-ripple{z-index:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff40,#0000 70%);border:3px solid #ffffffe6;border-radius:50%;width:64px;height:64px;position:absolute;translate:-50% 50%}.breathe-bubble:before{content:"";border:1px solid #7ee6ff38;border-radius:50%;position:absolute;inset:-16px}.breathe-hold:before{border-color:#ffd36e4d}.breathe-word{display:inline-block}@media (prefers-reduced-motion:no-preference){.arcade li{animation:tile-in var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(var(--i) * 70ms)}@keyframes tile-in{0%{opacity:0;transform:translateY(14px)scale(.92)}}.arcade-tile,.arcade-icon{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.arcade-tile:active .arcade-icon{transform:rotate(-8deg)scale(1.12)}.arcade-tile:hover .arcade-icon{animation:arc-wiggle var(--spring-playful-time) var(--spring-playful)}.arc-stage{animation:stage-in var(--spring-smooth-time) var(--spring-smooth) backwards}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}.breathe-stage{animation:breathe-in calc(var(--spring-settle-time) * 1.6) var(--spring-settle) backwards}@keyframes breathe-in{0%{opacity:0}}.num-pop{animation:num-thump var(--spring-playful-time) var(--spring-playful)}@keyframes num-thump{0%{transform:scale(1.45)}}.arc-end,.starcatch-end{animation:end-veil calc(var(--spring-settle-time) * .8) var(--spring-settle) var(--end-delay,0s) backwards}@keyframes end-veil{0%{opacity:0}}.arc-end>b,.starcatch-end>b{animation:end-title var(--spring-playful-time) var(--spring-playful) calc(var(--end-delay,0s) + .12s) backwards}@keyframes end-title{0%{opacity:0;transform:translateY(10px)scale(.6)}}.arc-end>span,.starcatch-end>span{animation:end-rise var(--spring-smooth-time) var(--spring-smooth) calc(var(--end-delay,0s) + .26s) backwards}.arc-end>.sheet-actions,.starcatch-end>.sheet-actions{animation:end-rise var(--spring-smooth-time) var(--spring-smooth) calc(var(--end-delay,0s) + .38s) backwards}@keyframes end-rise{0%{opacity:0;transform:translateY(10px)}}.arc-burst i{animation:arc-confetti 1.3s linear calc(var(--end-delay,0s) + .15s + var(--k,0) * 14ms) both}@keyframes arc-confetti{0%{opacity:1;animation-timing-function:var(--spring-settle);transform:translate(0)rotate(0)}38%{opacity:1;transform:translate(var(--x), var(--y)) rotate(calc(var(--r) * .6));animation-timing-function:cubic-bezier(.45,0,1,1)}85%{opacity:1}to{opacity:0;transform:translate(calc(var(--x) * 1.1), calc(var(--y) + 90px)) rotate(var(--r))}}.arc-end-calm{animation-duration:calc(var(--spring-settle-time) * 1.6)}.arc-end-calm>b{animation:end-rise calc(var(--spring-settle-time) * 1.3) var(--spring-settle) .15s backwards}.arc-end-calm>span{animation:end-rise calc(var(--spring-settle-time) * 1.3) var(--spring-settle) .35s backwards}.arc-end-calm>.sheet-actions{animation:end-rise calc(var(--spring-settle-time) * 1.3) var(--spring-settle) .55s backwards}.pair{animation:pair-deal var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(var(--i) * 40ms);transition:scale var(--spring-snappy-time) var(--spring-snappy)}@keyframes pair-deal{0%{opacity:0;transform:translateY(-20px)rotate(-6deg)scale(.7)}}.pair:not(.pair-open):active{scale:.94}.pair-inner{transition:transform var(--spring-springy-time) var(--spring-springy)}.pair-found .pair-inner{animation:.8s linear .3s both pair-hop}@keyframes pair-hop{0%{animation-timing-function:var(--spring-settle);translate:0;scale:1}35%{animation-timing-function:var(--spring-playful);translate:0 -10px;scale:.96 1.08}to{translate:0;scale:1}}.pair-found .pair-front{animation:pair-ring .9s var(--spring-settle) .3s}@keyframes pair-ring{0%{box-shadow:inset 0 0 0 2px #ffd36e,0 0 #ffd36eb3}to{box-shadow:inset 0 0 0 2px #ffd36e,0 0 0 16px #ffd36e00}}.pair-miss .pair-inner{animation:.5s linear .4s both pair-nope}@keyframes pair-nope{0%,to{animation-timing-function:var(--spring-snappy);translate:0;rotate:0deg}25%{animation-timing-function:var(--spring-snappy);translate:-5px;rotate:-3deg}55%{animation-timing-function:var(--spring-snappy);translate:5px;rotate:3deg}80%{translate:-2px;rotate:-1deg}}.bounce-ripple{animation:bounce-ring .5s var(--spring-settle) both}@keyframes bounce-ring{0%{opacity:.85;scale:.3}to{opacity:0;scale:1.4}}.bounce-squash{animation:.5s linear bounce-boing}@keyframes bounce-boing{0%{animation-timing-function:var(--spring-snappy);transform:scale(1.28,.72)}35%{animation-timing-function:var(--spring-playful);transform:scale(.9,1.14)}to{transform:scale(1)}}.bounce-stage-over .bounce-pet>span{animation:bounce-splat var(--spring-playful-time) var(--spring-playful) both}@keyframes bounce-splat{0%{transform:scale(1.3,.7)}to{transform:scale(1.1,.88)}}.copy-pad{transition:opacity var(--spring-snappy-time) var(--spring-snappy), box-shadow var(--spring-snappy-time) var(--spring-snappy), transform var(--spring-snappy-time) var(--spring-snappy)}.copy-lit{transform:translateY(-3px)scale(1.05)}.copy-pads-win .copy-pad{animation:.7s linear both copy-cheer}.copy-pads-win .copy-pad:nth-child(2){animation-delay:70ms}.copy-pads-win .copy-pad:nth-child(3){animation-delay:.14s}.copy-pads-win .copy-pad:nth-child(4){animation-delay:.21s}@keyframes copy-cheer{0%,to{opacity:.8;animation-timing-function:var(--spring-snappy);transform:none}35%{opacity:1;animation-timing-function:var(--spring-playful);transform:translateY(-8px)scale(1.05)}}.copy-wrong{animation:.5s linear both copy-nope}@keyframes copy-nope{0%,to{animation-timing-function:var(--spring-snappy);transform:none}25%{animation-timing-function:var(--spring-snappy);transform:translate(-7px)}55%{animation-timing-function:var(--spring-snappy);transform:translate(7px)}80%{transform:translate(-3px)}}.breathe-word{animation:breathe-word calc(var(--spring-settle-time) * 1.3) var(--spring-settle) both}@keyframes breathe-word{0%{opacity:0;transform:translateY(4px)}}.breathe-bubble{transition:box-shadow calc(var(--spring-settle-time) * 1.4) var(--spring-settle)}.breathe-bubble:before{transition:border-color calc(var(--spring-settle-time) * 1.4) var(--spring-settle)}.breathe-pet{scale:calc(.96 + (var(--s) - .45) * .1)}}.arc-bestchip{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink-soft);font-family:var(--font-body);vertical-align:middle;border-radius:99px;margin-left:.4rem;padding:.08rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.arc-hint{min-height:1.25em;color:var(--ink-soft);margin:0;font-size:.8rem}.arc-end-best{opacity:.85;font-size:.82rem}.arc-end>span{max-width:26ch}.sc-stage{cursor:grab;touch-action:none;background:radial-gradient(1.5px 1.5px at 14% 18%,#fff 99%,#0000),radial-gradient(1px 1px at 66% 12%,#fff 99%,#0000),radial-gradient(1.5px 1.5px at 88% 34%,#ffe9a8 99%,#0000),radial-gradient(1px 1px at 38% 28%,#fff 99%,#0000),radial-gradient(120% 80% at 50% 100%,#3a2f63,#141433 70%)}.sc-dragging{cursor:grabbing}.sc-stage:focus-visible{outline-offset:-3px;outline:3px solid #fff3b0}.sc-fall{pointer-events:none;will-change:transform;place-items:center;display:grid;position:absolute;top:0;left:0}.sc-fall i{color:#fff3b0;text-shadow:0 0 12px #ffd36e;font-style:normal;line-height:1}.sc-star i{text-shadow:0 0 6px #ffd36e,0 0 16px #ffd36eb3;font-size:2.1rem}.sc-gold i{color:#ffd36e;text-shadow:0 0 18px #ffb000;font-size:2.85rem}.sc-cloud svg{filter:drop-shadow(0 4px 6px #0000004d);width:100%;height:auto}.sc-ground{pointer-events:none;background:linear-gradient(#5e9f4a,#3f7a34);height:9px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px #ffffff2e}.sc-pet{pointer-events:none;will-change:transform;height:76px;position:absolute;left:0}.sc-lean,.sc-hop{transform-origin:50% 100%;width:100%;height:100%}.sc-lean{will-change:transform}.sc-stunned{opacity:.8}.sc-intro{z-index:6}.breathe-rhythms{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.breathe-rhythm{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:14px;justify-items:start;gap:.05rem;padding:.45rem .55rem;display:grid}.breathe-rhythm b{font-family:var(--font-display);font-size:.9rem}.breathe-rhythm small{color:var(--ink-soft);font-size:.68rem;line-height:1.25}.breathe-rhythm:disabled{cursor:default;opacity:.6}.breathe-rhythm-on{background:color-mix(in srgb, #7ee6ff 22%, var(--surface));border-color:#4aa8c4;box-shadow:0 0 0 1px #4aa8c4}.bounce-combo{z-index:2;color:#ffe9a8;font-family:var(--font-display);pointer-events:none;background:#ffd36e2e;border:1px solid #ffd36e99;border-radius:99px;padding:.2rem .75rem;font-size:.95rem;position:absolute;top:12px;left:50%;translate:-50%}.bounce-ripple-miss{border-color:#fff6;width:48px;height:48px}.bounce-ripple-combo{border-color:#ffd36e}.copy-pad{justify-content:center;align-items:center;gap:.4rem;display:flex}.copy-pet{position:relative}.copy-cue{z-index:2;background:var(--p);color:#1a0f2e;width:38px;height:38px;box-shadow:0 0 0 3px #fff, 0 0 22px var(--p);pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:-14px;left:50%;translate:-50%}.copy-cue svg{display:block}@media (prefers-reduced-motion:no-preference){.arc-bestchip{transition:background var(--spring-settle-time) var(--spring-settle)}.sc-stunned{animation:.8s linear both sc-dizzy}@keyframes sc-dizzy{0%,to{animation-timing-function:var(--spring-snappy);transform:rotate(0)}20%{animation-timing-function:var(--spring-snappy);transform:rotate(-9deg)}45%{animation-timing-function:var(--spring-snappy);transform:rotate(8deg)}70%{animation-timing-function:var(--spring-snappy);transform:rotate(-4deg)}}.sc-fall i{animation:sc-twinkle 1.6s var(--spring-settle) infinite alternate}@keyframes sc-twinkle{to{opacity:.75}}.breathe-rhythm{transition:background var(--spring-settle-time) var(--spring-settle), box-shadow var(--spring-settle-time) var(--spring-settle), transform var(--spring-snappy-time) var(--spring-snappy)}.breathe-rhythm:active:not(:disabled){transform:scale(.97)}.bounce-combo{animation:combo-pop var(--spring-playful-time) var(--spring-playful) backwards}@keyframes combo-pop{0%{opacity:0;transform:scale(.6)}}.bounce-ripple-miss{animation:bounce-ring .4s var(--spring-settle) both}.copy-cue{animation:cue-in var(--spring-springy-time) var(--spring-springy) backwards}@keyframes cue-in{0%{opacity:0;transform:translateY(8px)scale(.5)}}.copy-cue.copy-hop svg{animation:.6s linear cue-hop}@keyframes cue-hop{0%,to{animation-timing-function:var(--spring-snappy);transform:translateY(0)}40%{animation-timing-function:var(--spring-playful);transform:translateY(-5px)}}.copy-cue.copy-spin svg{animation:cue-spin .7s var(--spring-springy)}@keyframes cue-spin{0%{transform:rotate(-180deg)}}.copy-cue.copy-wave svg{animation:.7s linear cue-wave}@keyframes cue-wave{0%,to{animation-timing-function:var(--spring-snappy);transform:translate(0)}30%{animation-timing-function:var(--spring-snappy);transform:translate(-4px)}65%{animation-timing-function:var(--spring-snappy);transform:translate(4px)}}.copy-cue.copy-dance svg{animation:cue-dance .7s var(--spring-playful)}@keyframes cue-dance{0%{transform:scale(.4)rotate(-40deg)}}.cr-look{transform:translate(calc(var(--lx,0) * 3.8px), calc(var(--ly,0) * 3.2px));transition:transform .3s var(--spring-playful)}.cr-critter .cr-look{transform:translate(calc(var(--lx,0) * 2.4px), calc(var(--ly,0) * 2px))}svg:not([data-looking]) .cr-look{animation:8s ease-in-out infinite cr-glance}.cr-critter .cr-look{animation-delay:-2.5s}@keyframes cr-glance{0%,18%,to{transform:translate(0)}24%,40%{transform:translate(-2.2px,.4px)}46%,60%{transform:translate(2.2px,-.6px)}66%{transform:translate(0)}72%,80%{transform:translate(.4px,1.6px)}}.cr-tapped .cr{transform-box:fill-box;transform-origin:50% 100%;animation:cr-boing .65s var(--spring-playful)}.cr-tapped .cr-eyes{animation:cr-surprise .65s var(--spring-playful)}@keyframes cr-boing{0%{transform:scale(1.18,.8)}35%{transform:scale(.88,1.16)translateY(-6px)}65%{transform:scale(1.06,.95)}to{transform:none}}@keyframes cr-surprise{25%{transform:scale(1.2)}}}.cr .cr-wing-l,.cr .cr-wing-r{transform-box:fill-box}.cr .cr-wing-l{transform-origin:100% 60%}.cr .cr-wing-r{transform-origin:0 60%}@media (prefers-reduced-motion:no-preference){.cr .cr-wing-l{animation:cr-flap-l 3.2s var(--spring-springy) infinite}.cr .cr-wing-r{animation:cr-flap-r 3.2s var(--spring-springy) infinite}@keyframes cr-flap-l{0%,60%,to{transform:rotate(0)}68%,84%{transform:rotate(18deg)}76%,92%{transform:rotate(-6deg)}}@keyframes cr-flap-r{0%,60%,to{transform:rotate(0)}68%,84%{transform:rotate(-18deg)}76%,92%{transform:rotate(6deg)}}.cr-floating>.cr-bounce{animation:3.6s ease-in-out infinite cr-float}.cr-floating>.cr-shadow{animation:3.6s ease-in-out infinite cr-float-shadow}@keyframes cr-float{50%{transform:translateY(-7px)scale(1.02,.98)}}@keyframes cr-float-shadow{50%{opacity:.2;transform:scaleX(.8)}}}.shell[data-tone=lagoon]{--tone:#7fe0c4;--tone-2:#a99bff;--tone-ink:#062a22}:root[data-theme=light] .shell[data-tone=lagoon]{--tone:#13866d;--tone-2:#6a55d6}.mind-help-link{color:var(--tone);align-items:center;gap:.35rem;margin-top:.4rem;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.mind-now{align-items:center;gap:1rem;display:flex;overflow:hidden}.mind-now-text{flex:1;justify-items:start;gap:.25rem;display:grid}.mind-now h2{font-family:var(--font-display);letter-spacing:-.01em;margin:.1rem 0 0;font-size:1.35rem}.mind-now p{color:var(--ink-soft);margin:0;font-size:.92rem}.mind-checkin{margin-top:.4rem;text-decoration:none}.mood-orb{flex:none;width:92px;height:92px;position:relative}.mood-orb i{background:radial-gradient(circle at 35% 30%, hsl(var(--h) var(--s) 88%), hsl(var(--h) var(--s) 62%) 55%, hsl(calc(var(--h) + 30) var(--s) 42%));opacity:.85;border-radius:47% 53% 51% 49%/52% 46% 54% 48%;position:absolute;inset:0}.mood-orb i:nth-child(2){mix-blend-mode:screen;opacity:.5;filter:blur(2px);inset:10%}.mood-orb i:nth-child(3){z-index:-1;opacity:.35;filter:blur(14px);inset:-14%}.mood-orb-still i{opacity:.45}.mind-try h2,.mind-tools h2{align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1.1rem;display:flex}.mind-try-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.mind-tool{text-align:left;border:1px solid var(--line);background:var(--glass,var(--surface));color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;justify-items:start;gap:.2rem;padding:.85rem .9rem;display:grid}.mind-tool svg{color:var(--tone);margin-bottom:.2rem}.mind-tool b{font-size:.98rem}.mind-tool small{color:var(--ink-soft);font-size:.8rem;line-height:1.3}.mind-tool-big{background:linear-gradient(150deg, color-mix(in srgb, var(--tone) 20%, var(--surface)), var(--surface) 80%)}.mind-tool-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.mood-chart{margin:.4rem 0 0}.mood-chart svg{width:100%;height:auto;display:block;overflow:visible}.mood-grid{stroke:var(--line);stroke-dasharray:2 4}.mood-line{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.mood-line-mood{stroke:var(--reported)}.mood-line-stress{stroke:var(--tone-2);opacity:.7;stroke-dasharray:1 0}.mood-dot{fill:var(--reported)}.mood-axis{fill:var(--ink-soft);font-size:9px}.mood-chart figcaption{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.4rem;font-size:.8rem;display:flex}.mood-key:before{content:"";vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:.35rem;display:inline-block}.mood-key-mood:before{background:var(--reported)}.mood-key-stress:before{background:var(--tone-2)}.mind-summary{color:var(--ink-soft);margin:.6rem 0 0;font-size:.9rem}.mind-patterns h2{align-items:center;gap:.5rem;display:flex}.mind-patterns ul{gap:.55rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.mind-patterns li{border-left:3px dashed var(--estimate);gap:.15rem;padding-left:.8rem;display:grid}.mind-patterns small{color:var(--ink-soft)}.mind-gp{background:var(--well);border-radius:14px;margin:.8rem 0 0;padding:.7rem .8rem;font-size:.9rem}.mind-journal{gap:.8rem;display:grid}.journal-compose{gap:.55rem;display:grid}.journal-prompt{font-family:var(--font-display);font-size:1.05rem;font-weight:650}.journal-compose textarea,.tool-input{border:1px solid var(--line);background:var(--well);width:100%;min-height:96px;color:var(--ink);font:inherit;resize:vertical;border-radius:16px;padding:.75rem .85rem}.journal-add-feel{justify-self:start}.journal-empty{color:var(--ink-soft);margin:0;font-size:.9rem}.journal-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.journal-list li{background:var(--well);border-radius:16px;padding:.7rem 2.6rem .7rem .85rem;position:relative}.journal-list p{white-space:pre-line;margin:.25rem 0 0;font-size:.92rem}.journal-meta{color:var(--ink-soft);font-size:.78rem}.journal-remove{width:32px;height:32px;position:absolute;top:.4rem;right:.4rem}.feelings{gap:.5rem;display:grid}.feelings-core,.feelings-words{flex-wrap:wrap;gap:.4rem;display:flex}.feel-core{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;text-transform:capitalize;cursor:pointer;border-radius:999px;padding:0 .9rem;font-weight:700}.feel-core.feel-on{background:var(--ink);color:var(--bg)}.feel-happy{box-shadow:inset 4px 0 #ffd36e}.feel-calm{box-shadow:inset 4px 0 #7fe0c4}.feel-sad{box-shadow:inset 4px 0 #7cc4ff}.feel-anxious{box-shadow:inset 4px 0 #b9a2ff}.feel-angry{box-shadow:inset 4px 0 #ff7a7a}.feel-tired{box-shadow:inset 4px 0 #a8a2b8}.tool{gap:.8rem;display:grid}.tool-blurb{color:var(--ink-soft);margin:0}.tool-steps{gap:.7rem;display:grid}.tool-step{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:700;line-height:1.3}.tool-dots{gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.tool-dots li{background:var(--line);border-radius:3px;width:22px;height:5px}.tool-dots li.done{background:color-mix(in srgb, var(--tone) 60%, var(--line))}.tool-dots li.now{background:var(--tone)}.tool-named{background:var(--well);border-radius:14px;margin:0;padding:.7rem .8rem}.tool-private{color:var(--ink-soft);margin:0;font-size:.8rem}.breath{text-align:center;justify-items:center;gap:.8rem;display:grid}.breath-stage{aspect-ratio:1;place-items:center;width:min(72vw,260px);display:grid;position:relative}.breath-ring{transform:scale(var(--b));opacity:var(--o);background:radial-gradient(circle at 40% 35%, color-mix(in srgb, var(--tone) 70%, white), color-mix(in srgb, var(--tone) 35%, transparent) 60%, transparent 72%);box-shadow:0 0 60px color-mix(in srgb, var(--tone) 40%, transparent);border-radius:50%;position:absolute;inset:0}.breath-hold{box-shadow:0 0 70px color-mix(in srgb, var(--tone-2) 50%, transparent)}.breath-say{font-family:var(--font-display);gap:.2rem;margin:0;font-size:1.5rem;font-weight:750;display:grid;position:relative}.breath-say small{opacity:.7;font-size:1rem}.breath-count{color:var(--ink-soft);margin:0;font-size:.86rem}.support{gap:.6rem;display:grid}.support h2{align-items:center;gap:.45rem;margin:0;display:flex}.support h2 svg{color:var(--tone)}.support-sub{color:var(--ink-soft);margin:0;font-size:.9rem}.support ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.support li{background:var(--well);border-radius:16px;justify-content:space-between;align-items:center;gap:.6rem;padding:.65rem .75rem;display:flex}.support li>span{display:grid}.support li small{color:var(--ink-soft);font-size:.8rem}.support-go{white-space:nowrap;flex:none;align-items:center;gap:.35rem;font-size:.86rem;text-decoration:none;display:inline-flex}.support-urgent{border-color:color-mix(in srgb, #ff8fa3 60%, var(--line));background:color-mix(in srgb, #ff8fa3 10%, var(--surface))}.support-more{justify-self:start;font-size:.86rem}.mind-note{color:var(--ink-soft);margin:.8rem 0 0;font-size:.8rem}.username-btn{color:var(--tone);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.profile-email{margin-top:.1rem;font-size:.85rem}.you-hub{grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 1rem;display:grid}.you-tile{border:1px solid var(--line);background:linear-gradient(150deg, color-mix(in srgb, var(--t) 16%, var(--surface)), var(--surface) 75%);color:var(--ink);border-radius:20px;justify-items:start;gap:.15rem;padding:.85rem .9rem;text-decoration:none;display:grid}.you-tile small{color:var(--ink-soft);font-size:.8rem}.you-icon{background:color-mix(in srgb, var(--t) 85%, transparent);color:#160d26;border-radius:12px;place-items:center;width:36px;height:36px;margin-bottom:.3rem;display:grid}.you-aqua{--t:#5ee7d0}.you-amber{--t:#ffc46b}.you-orchid{--t:#f6a3dc}.you-volt{--t:#b8f36b}.you-aurora{--t:#b9a2ff}.you-iris{--t:#8fb3ff}.setup-card summary{cursor:pointer;list-style:none}.setup-card summary::-webkit-details-marker{display:none}.setup-card[open] summary{margin-bottom:.4rem}.username-form{gap:.7rem;display:grid}.username-field{border:1px solid var(--line);background:var(--well);border-radius:14px;align-items:center;gap:.3rem;padding:0 .85rem;display:flex}.username-field input{min-height:48px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:1.05rem}.username-field span{color:var(--ink-soft);font-weight:700}@media (prefers-reduced-motion:no-preference){.mood-orb i{will-change:transform;animation:orb-morph calc(5s + var(--calm) * 6s) ease-in-out infinite}.mood-orb i:nth-child(2){animation-duration:calc(7s + var(--calm) * 5s);animation-direction:reverse}.mood-orb-still i{animation:none}@keyframes orb-morph{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(14deg)scale(1.07,.95)}}.mood-line{stroke-dasharray:1;stroke-dashoffset:0;animation:mood-draw var(--spring-heavy-time) var(--spring-settle) both}@keyframes mood-draw{0%{opacity:0}}.mood-dot{animation:pop-in var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(.3s + var(--i) * 18ms);transform-box:fill-box;transform-origin:50%}.mind-tool{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.mind-tool:active,.you-tile:active{transform:scale(.97)}.you-tile{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.feelings-words .filter-chip{animation:pop-in var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(var(--i) * 30ms)}.tool-step{animation:ob-in-up var(--spring-smooth-time) var(--spring-smooth)}.breath-ring{transition:box-shadow 1.2s var(--spring-settle)}.support-urgent{animation:ob-in-up var(--spring-smooth-time) var(--spring-smooth)}}.mode-tabs{z-index:5;grid-template-columns:repeat(4,1fr);margin:0 0 1rem;position:sticky;top:.5rem}.app-back{margin:-.3rem 0 .2rem -.2rem}.wordmark-link{align-items:center;gap:inherit;color:inherit;text-decoration:none;display:inline-flex}.mind-nudge{color:var(--ink);border:1px solid color-mix(in srgb, #7fe0c4 40%, var(--line));background:linear-gradient(120deg, color-mix(in srgb, #7fe0c4 16%, var(--surface)), var(--surface) 80%);border-radius:20px;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.8rem .95rem;text-decoration:none;display:flex}.mind-nudge svg:first-child{color:#7fe0c4;flex:none}.mind-nudge span{flex:1;display:grid}.mind-nudge small{color:var(--ink-soft);font-size:.84rem}:root[data-theme=light] .mind-nudge svg:first-child{color:#13866d}.jump-chips{scrollbar-width:none;gap:.4rem;margin:0 -1rem 1rem;padding:.1rem 1rem .3rem;display:flex;overflow-x:auto}.jump-chips::-webkit-scrollbar{display:none}.jump-target{scroll-margin-top:1rem}@media (prefers-reduced-motion:no-preference){html:has(.jump-chips){scroll-behavior:smooth}}.lib-group summary{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:.6rem;min-height:48px;list-style:none;display:flex}.lib-group summary::-webkit-details-marker{display:none}.lib-group summary h3{flex:1;margin:0}.lib-group summary:after{content:"";opacity:.55;border-bottom:2px solid;border-right:2px solid;width:.5rem;height:.5rem;transform:rotate(45deg)translateY(-2px)}.lib-group[open] summary:after{transform:rotate(225deg)}.lib-group[open] summary{margin-bottom:.4rem}.lib-count{background:var(--well);min-width:26px;color:var(--ink-soft);text-align:center;border-radius:999px;padding:.1rem .45rem;font-size:.78rem;font-weight:700}.cycle-hero{gap:.9rem;padding-top:1.1rem;display:grid;position:relative;overflow:hidden}.cycle-hero-glow{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--tone) 38%, transparent), transparent 65%);pointer-events:none;border-radius:50%;width:75%;position:absolute;inset:-30% -20% auto auto}.cycle-hero-main{justify-items:start;gap:.35rem;display:grid;position:relative}.cycle-hero h2{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;display:flex}.cycle-hero h2 b{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(3.4rem,18vw,4.6rem);font-weight:750;line-height:.95}.cycle-hero h2 b.cycle-hero-word{font-size:clamp(2.4rem,12vw,3.2rem)}.cycle-hero h2 span{color:var(--ink-soft);max-width:16ch;font-size:1.05rem;font-weight:600;line-height:1.25}.cycle-hero-range{color:var(--ink-soft);max-width:38ch;margin:0;font-size:.9rem}.cycle-hero-actions{align-items:center;gap:.6rem;display:flex;position:relative}.cycle-log{flex:1;justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.cycle-hero-today{display:none}.cal{gap:.5rem;display:grid}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-head h2{margin:0;font-size:1.1rem}.cal-grid{gap:4px;display:grid}.cal-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-weekdays span{text-align:center;color:var(--ink-soft);padding-bottom:2px;font-size:.72rem;font-weight:700}.cal-day{aspect-ratio:1;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #0000;border-radius:50%;place-items:center;font-size:.9rem;font-weight:650;display:grid;position:relative}.cal-day:disabled{cursor:default;color:color-mix(in srgb, var(--ink) 45%, transparent)}.cal-period{background:var(--reported);color:var(--reported-ink)}.cal-flow-spotting{border-color:var(--reported);color:var(--ink);background:0 0}.cal-flow-light{background:color-mix(in srgb, var(--reported) 55%, transparent)}.cal-flow-medium{background:color-mix(in srgb, var(--reported) 80%, transparent)}.cal-est{border:1.5px dashed var(--estimate);background:color-mix(in srgb, var(--estimate) 10%, transparent);color:var(--ink)}.cal-today{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--tone)}.cal-dot{opacity:.55;background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.cal-key{color:var(--ink-soft);flex-wrap:wrap;gap:.4rem .9rem;margin:.2rem 0 0;font-size:.78rem;display:flex}.cal-key span:before{content:"";vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:.35rem;display:inline-block}.cal-key-period:before{background:var(--reported)}.cal-key-est:before{border:1.5px dashed var(--estimate)}.cal-key-check:before{background:var(--ink-soft);vertical-align:2px!important;width:4px!important;height:4px!important}.day-sheet{gap:.8rem;display:grid}.day-sheet-q{font-family:var(--font-display);margin:0;font-size:1.15rem;font-weight:700}.flow-picks{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.flow-pick{border:1.5px solid var(--line);background:var(--well);color:var(--ink);font:inherit;cursor:pointer;border-radius:18px;justify-items:center;gap:.35rem;padding:.8rem .3rem;display:grid}.flow-pick b{font-size:.85rem}.flow-pick .drops{color:var(--reported);min-height:16px;display:inline-flex}.drop-spot{border:2px solid var(--reported);border-radius:50%;width:8px;height:8px;margin:4px}.flow-on{border-color:var(--reported);background:color-mix(in srgb, var(--reported) 18%, var(--well))}.day-sheet-note{color:var(--ink-soft);margin:0;font-size:.8rem}.period-len h2{align-items:center;gap:.5rem;display:flex}.period-len-row{flex-wrap:wrap;gap:1.2rem;display:flex}.period-len-row p{margin:.3rem 0 0;display:grid}.period-len-row b{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.6rem}.period-len-row small{color:var(--ink-soft)}@media (prefers-reduced-motion:no-preference){.cycle-hero h2 b{animation:ob-in-up var(--spring-heavy-time) var(--spring-heavy) both}.cycle-hero-glow{animation:10s ease-in-out infinite nut-drift}.cal-grid .cal-day{animation:pop-in var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(var(--i) * 8ms)}.cal-day{transition:transform var(--spring-snappy-time) var(--spring-snappy), background-color .25s ease}.cal-day:not(:disabled):active{transform:scale(.9)}.flow-pick{animation:pop-in var(--spring-springy-time) var(--spring-springy) backwards;animation-delay:calc(var(--i) * 45ms);transition:transform var(--spring-snappy-time) var(--spring-snappy)}.flow-pick:active{transform:scale(.94)}}.chip-btn{border-radius:var(--radius-pill);border:1.5px solid var(--line);background-color:var(--well);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:.3rem;padding:0 .95rem;font-size:.92rem;font-weight:600;display:inline-flex}.chip-btn .drops{color:var(--reported)}.chip-btn.chip-on{background:var(--reported);border-color:var(--reported);color:var(--reported-ink)}.chip-btn.chip-on .drops{color:inherit}.chip-btn .drop-spot{width:7px;height:7px;margin:0 2px}.period-today-note{color:var(--ink-soft);margin:.4rem 0 0;font-size:.82rem}@media (prefers-reduced-motion:no-preference){.chip-btn.chip-on{animation:pop .4s var(--spring-playful)}}.cal-grid{touch-action:pan-y}.cycle-hero h2{flex-direction:column;justify-self:stretch;align-items:flex-start;gap:.25rem}.cycle-hero h2 span{max-width:none;font-family:var(--font-body);letter-spacing:0;font-size:1.05rem;font-weight:600}[data-offscreen],[data-offscreen] *,[data-offscreen]:before,[data-offscreen]:after,[data-offscreen] :before,[data-offscreen] :after{animation-play-state:paused!important}@property --sleep-fill{syntax:"<percentage>";inherits:true;initial-value:0%}@media (prefers-reduced-motion:no-preference){.scale-option>span,.chip>span{transition:background-color .2s var(--spring-settle), border-color .2s var(--spring-settle), color .2s var(--spring-settle), transform var(--spring-snappy-time) var(--spring-snappy)}.scale-option:active>span,.chip:active>span{transition-duration:80ms,80ms,80ms,.12s;transform:scale(.94)}.checkin-progress .rhythm-done{transition:stroke-dasharray var(--spring-smooth-time) var(--spring-smooth);animation:none}.checkin-progress .rhythm-head{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.sleep-readout b{transform-origin:0 70%;display:inline-block}.sleep-readout b.sleep-num-in{animation:sleep-num-in var(--spring-smooth-time) var(--spring-smooth) backwards}.sleep-readout b.sleep-num-settle{animation:sleep-num-settle var(--spring-snappy-time) var(--spring-snappy)}.sleep-readout .sleep-prompt{animation:fade-in var(--spring-settle-time) var(--spring-settle) backwards}.sleep-arrived .sleep-range{animation:sleep-fill-in var(--spring-smooth-time) var(--spring-smooth)}.sleep-arrived .sleep-range::-webkit-slider-thumb{animation:sleep-thumb-in var(--spring-springy-time) var(--spring-springy)}.sleep-arrived .sleep-range::-moz-range-thumb{animation:sleep-thumb-in var(--spring-springy-time) var(--spring-springy)}.sleep-range::-webkit-slider-thumb{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.sleep-range:active::-webkit-slider-thumb{transform:scale(1.12)}.sleep-range::-moz-range-thumb{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.sleep-range:active::-moz-range-thumb{transform:scale(1.12)}.sleep-step{transition:transform var(--spring-snappy-time) var(--spring-snappy), opacity var(--spring-settle-time) var(--spring-settle)}.sleep-step:active{transform:scale(.9)}.saved-now{animation:ob-in-up var(--spring-smooth-time) var(--spring-smooth)}.saved-now .drawn-check circle{animation-delay:80ms;animation-duration:var(--spring-springy-time);animation-timing-function:var(--spring-springy)}.saved-now .drawn-check path{animation:week-draw .4s var(--spring-settle) .24s backwards}.saved-now .tag{animation:fade-in var(--spring-settle-time) var(--spring-settle) .4s backwards}}@keyframes sleep-num-in{0%{opacity:0;transform:translateY(6px)scale(.9)}}@keyframes sleep-num-settle{0%{transform:scale(1.05)}}@keyframes sleep-fill-in{0%{--sleep-fill:0%}}@keyframes sleep-thumb-in{0%{transform:scale(.7)}}.admin-note{vertical-align:middle;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--t-xs);letter-spacing:0;color:#fff;background:linear-gradient(90deg,#7d3c98,#2f8f7b);margin-left:.35rem;padding:0 .45rem;font-weight:700;line-height:1.35;display:inline-block}.avb-tabs{flex-shrink:0}.avb-options>li{display:grid}.avb-option .admin-note{margin:.1rem 0 0}.avb-founder:not(.avb-on){border-color:color-mix(in srgb, #2f8f7b 45%, var(--line))}.avb-founder-colour{font-size:var(--t-sm);align-items:center;gap:.45rem;font-weight:650;display:inline-flex}.avb-founder-colour .admin-note{margin:0}.stage-admin-note{z-index:4;margin:0;position:absolute;top:17%;left:50%;transform:translate(-50%)}.stage-founder .stage-back{background:radial-gradient(60% 55% at 50% 70%,#c7a2ff61,#0000 70%),linear-gradient(#0000 72%,#3b2a6b 72%,#241a48 100%),linear-gradient(#1d1440,#120c2a)}.stage-founder .stage-back:after{content:"";opacity:.7;background:radial-gradient(1.6px 1.6px at 14% 20%,#fff 98%,#0000),radial-gradient(1.2px 1.2px at 30% 52%,#fff 98%,#0000),radial-gradient(1.8px 1.8px at 78% 14%,#ffe3f4 98%,#0000),radial-gradient(1.2px 1.2px at 88% 46%,#fff 98%,#0000),radial-gradient(1.4px 1.4px at 62% 34%,#c7a2ff 98%,#0000),radial-gradient(1px 1px at 46% 10%,#fff 98%,#0000);position:absolute;inset:16% 0 30%}.cr .av-halo,.cr .av-halo-dot,.cr .av-star-body,.cr .av-star-glow,.cr .av-star-spark,.cr .av-comet,.cr .av-comet-spark,.cr .av-sheen,.cr .cosmo-ring{transform-box:fill-box;transform-origin:50%}.cr .av-comet{transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.av-halo{animation:3.4s ease-in-out infinite alternate av-halo-float}@keyframes av-halo-float{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-2.5px)rotate(2deg)}}.av-halo-dot{animation:av-halo-chase 2.4s var(--spring-springy) calc(var(--k,0) * .3s) infinite}@keyframes av-halo-chase{0%,34%,to{transform:scale(1)}12%{transform:scale(1.75)}}.av-star-body{animation:4.8s linear infinite av-star-hop}@keyframes av-star-hop{0%{animation-timing-function:ease-in-out;transform:none}48%{animation-timing-function:var(--spring-settle);transform:translateY(-1.5px)}58%{animation-timing-function:var(--spring-snappy);transform:translateY(1px)scale(1.14,.86)}68%{animation-timing-function:var(--spring-playful);transform:translateY(-6px)scale(.92,1.1)rotate(-14deg)}86%,to{transform:none}}.av-star-glow{animation:4.8s ease-in-out infinite av-star-glow}@keyframes av-star-glow{0%,50%,to{opacity:.6;transform:scale(1)}72%{opacity:1;transform:scale(1.18)}}.av-star-spark{animation:av-twinkle 2.6s var(--spring-springy) calc(var(--k,0) * -1.1s) infinite}@keyframes av-twinkle{0%,60%,to{opacity:1;transform:scale(1)}76%{opacity:.4;transform:scale(.4)rotate(45deg)}}.av-comet{animation:3.6s ease-in-out infinite alternate av-comet-sway}@keyframes av-comet-sway{0%{transform:rotate(-5deg)scaleY(.97)}to{transform:rotate(5deg)scaleY(1.03)}}.av-comet-spark{animation:av-comet-drift 2.7s var(--spring-settle) calc(var(--k,0) * -.9s) infinite}@keyframes av-comet-drift{0%{opacity:0;transform:translateY(3px)scale(.5)}30%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)scale(.45)}}.av-sheen{animation:av-sheen 6.5s var(--spring-settle) infinite}@keyframes av-sheen{0%,62%{opacity:0;transform:translate(0)}65%{opacity:.32}86%{opacity:.32;transform:translate(100px)}88%,to{opacity:0;transform:translate(100px)}}.cr-cosmo .cr-bounce{animation:6s linear infinite cosmo-hop}@keyframes cosmo-hop{0%{animation-timing-function:ease-in-out;transform:none}25%{animation-timing-function:ease-in-out;transform:translateY(-2.5px)}50%{animation-timing-function:var(--spring-settle);transform:none}58%{animation-timing-function:var(--spring-snappy);transform:translateY(1.5px)scale(1.12,.88)}67%{animation-timing-function:linear;transform:translateY(-11px)scale(.93,1.08)}74%{animation-timing-function:var(--spring-playful);transform:translateY(0)scale(1.1,.9)}88%,to{transform:none}}.cr-cosmo .cosmo-ring{animation:6s linear infinite cosmo-ring}@keyframes cosmo-ring{0%{animation-timing-function:ease-in-out;transform:none}25%{animation-timing-function:ease-in-out;transform:rotate(-2deg)}50%{animation-timing-function:var(--spring-settle);transform:none}58%{animation-timing-function:var(--spring-smooth);transform:translateY(-1px)}67%{animation-timing-function:linear;transform:translateY(3.5px)rotate(5deg)}74%{animation-timing-function:var(--spring-playful);transform:translateY(-3px)rotate(-7deg)}88%,to{transform:none}}.cr-cosmo.cr-resting .cr-bounce{animation:4.6s ease-in-out infinite cr-breathe}.cr-cosmo.cr-resting .cosmo-ring{animation:none}.cosmo-orbit-x{animation:3.5s ease-in-out infinite alternate cosmo-x}.cosmo-orbit-y{animation:3.5s ease-in-out -1.75s infinite alternate cosmo-y}@keyframes cosmo-x{0%{transform:translate(-43px)}to{transform:translate(43px)}}@keyframes cosmo-y{0%{transform:translateY(-10px)}to{transform:translateY(10px)}}.cosmo-moon-near{animation:7s step-end infinite cosmo-near}.cosmo-moon-far{animation:7s step-end infinite cosmo-far}@keyframes cosmo-near{0%{opacity:1}50%,to{opacity:0}}@keyframes cosmo-far{0%{opacity:0}50%,to{opacity:1}}.stage-founder .stage-back:after{animation:3.2s ease-in-out infinite alternate founder-twinkle}@keyframes founder-twinkle{to{opacity:1}}}.sure{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.sure-track{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:99px;width:56px;height:6px;position:relative;overflow:hidden}.sure-track i{border-radius:inherit;background:var(--reported);position:absolute;inset:0 auto 0 0}.sure b{font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.sure small{font-size:var(--t-xs);color:var(--ink-soft)}.sure-chance .sure-track i{background:color-mix(in srgb, var(--ink-soft) 70%, transparent)}.sure-chance b{color:var(--ink-soft)}.maybe-patterns{border:1px solid var(--line);border-radius:var(--r-lg);margin-top:.75rem;padding:.2rem 1rem}.maybe-patterns summary{cursor:pointer;align-items:center;gap:.5rem;min-height:48px;font-weight:650;list-style:none;display:flex}.maybe-patterns summary::-webkit-details-marker{display:none}.maybe-patterns summary:after{content:"+";color:var(--ink-soft);font-size:var(--t-lg);margin-left:auto;line-height:1}.maybe-patterns[open] summary:after{content:"–"}.maybe-count{background:var(--well);min-width:1.5rem;height:1.5rem;color:var(--ink-soft);font-size:var(--t-xs);border-radius:99px;place-items:center;padding:0 .4rem;font-weight:700;display:inline-grid}.maybe-intro{color:var(--ink-soft);font-size:var(--t-sm);margin:0 0 .6rem}.maybe-patterns ul{gap:.6rem;margin:0 0 .6rem;padding:0;list-style:none;display:grid}.maybe-patterns .discovery h4{color:var(--ink-soft)}.discovery-method p+p{margin-top:.5rem}@media (prefers-reduced-motion:no-preference){.sure-track i{transform-origin:0;animation:grow var(--spring-smooth-time) var(--spring-smooth) backwards}.maybe-patterns[open] ul{animation:fade-in var(--spring-settle-time) var(--spring-settle)}}.set-row-link{min-height:52px;color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:flex}.set-row-link>span{flex:1;gap:.1rem;display:grid}.set-row-link small{color:var(--ink-soft);font-size:var(--t-sm)}.set-row-link svg{color:var(--ink-soft);flex:none}.demo-presets{flex-wrap:wrap;gap:.4rem;display:flex}.demo-slider{gap:.2rem;display:grid}.demo-slider>span{font-size:var(--t-sm);color:var(--ink-soft);justify-content:space-between;gap:.5rem;display:flex}.demo-slider b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}.demo-slider input{width:100%;min-height:36px;accent-color:var(--accent)}.demo-effect{font-size:var(--t-sm);color:var(--ink-soft);gap:.4rem;display:grid}.demo-effect .segmented{grid-template-columns:repeat(4,1fr)}.demo-shuffle{align-self:flex-start;align-items:center;gap:.35rem;display:inline-flex}.demo-start{grid-column:1/-1;width:100%}.demo-banner{z-index:90;padding:calc(env(safe-area-inset-top) + .45rem) 1rem .45rem;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--estimate) 22%, var(--surface)) 0 10px, var(--surface) 10px 20px);border-bottom:1px dashed var(--estimate);font-size:var(--t-sm);color:var(--ink);align-items:center;gap:.6rem;display:flex;position:sticky;top:0}.demo-banner b{font-weight:700}.demo-banner span{flex:1}.demo-banner a,.demo-banner button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;align-items:center;padding:0 .8rem;font-weight:650;text-decoration:none;display:inline-flex}.demo-banner-guest{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-bottom:1px solid var(--line)}.demo-banner .demo-banner-cta{background:var(--accent);color:var(--accent-ink);border-color:#0000}.guest-lock{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);grid-template-columns:auto 1fr;align-items:start;gap:.75rem;padding:1rem;display:grid}.guest-lock-icon{background:var(--well);width:36px;height:36px;color:var(--ink-soft);border-radius:50%;place-items:center;display:grid}.guest-lock p{color:var(--ink-soft);font-size:var(--t-sm);margin-top:.15rem}.guest-lock .button{grid-column:1/-1}.hello{z-index:35;padding:env(safe-area-inset-top) 0 0;color:var(--ink);touch-action:pan-y;background:radial-gradient(90% 60% at 50% 0%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), radial-gradient(70% 50% at 50% 110%, #7c5cff2e, transparent 70%), var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.hello-top{justify-content:space-between;align-items:center;min-height:56px;padding:.5rem .75rem;display:flex}.hello-back{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.hello-close{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:99px;margin-left:auto;padding:0 .9rem;font-weight:600}.hello-skip{min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 .9rem;font-weight:600}.hello-page{text-align:center;flex:1;place-items:center;padding:0 1.75rem;display:grid}.hello-first{justify-items:center;gap:.6rem;display:grid}.hello-wave{width:72px;height:48px;overflow:visible}.hello-wave path{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.hello-word{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(4.2rem,24vw,7.5rem);font-weight:400;line-height:1}.hello-word span{display:inline-block}.hello-brand{color:var(--ink-soft);font-size:var(--t-sm);letter-spacing:.02em;margin:0}.hello-story{justify-items:center;gap:.9rem;max-width:30rem;display:grid}.hello-story h1{font-family:var(--font-display);font-size:var(--t-2xl);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.hello-story h1:focus{outline:none}.hello-story p{max-width:28ch;color:var(--ink-soft);font-size:var(--t-md);margin:0;line-height:1.5}.hello-privacy{color:var(--accent)}.hello-art{width:120px;height:120px;margin-bottom:.6rem;overflow:visible}.hello-cady{width:140px;height:132px}.hello-bar-track{fill:color-mix(in srgb, var(--ink) 10%, transparent)}.hello-bar-fill{fill:var(--accent)}.hello-bar:nth-child(2) .hello-bar-fill{fill:var(--reported)}.hello-ring{fill:none;stroke:color-mix(in srgb, var(--ink) 10%, transparent);stroke-width:8px}.hello-ring-estimate{fill:none;stroke:var(--estimate);stroke-width:3px}.hello-ring-dot{fill:var(--reported)}.hello-shield{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:3px;stroke-linejoin:round}.hello-tick{fill:none;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.hello-foot{padding:1rem 1.5rem calc(env(safe-area-inset-bottom) + 1.4rem);gap:.6rem;width:100%;max-width:30rem;margin:0 auto;display:grid}.hello-quiet{min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;font-weight:600;display:grid}.hello-quiet small{color:var(--ink-soft);font-weight:400;font-size:var(--t-xs)}.hello-dots{justify-self:center;gap:6px;margin-bottom:.4rem;display:flex}.hello-dots i{background:color-mix(in srgb, var(--ink) 22%, transparent);border-radius:99px;width:6px;height:6px}.hello-dots i.on{background:var(--ink);width:20px}@media (prefers-reduced-motion:no-preference){.hello-wave path{stroke-dasharray:1;animation:hello-draw 1.4s var(--spring-settle) both}.hello-word span{animation:hello-word .9s var(--spring-smooth) both}.hello-brand{animation:fade-in 1s var(--spring-settle) .9s both}.hello-go-forward .hello-story>*{animation:hello-in-right var(--spring-smooth-time) var(--spring-smooth) both}.hello-go-back .hello-story>*{animation:hello-in-left var(--spring-smooth-time) var(--spring-smooth) both}.hello-story>:nth-child(2){animation-delay:70ms}.hello-story>:nth-child(3){animation-delay:.13s}.hello-story>:nth-child(4){animation-delay:.18s}.hello-bar-fill{transform-box:fill-box;transform-origin:0;animation:grow .8s var(--spring-smooth) calc(.2s + var(--i) * .12s) both}.hello-ring-dot{transform-box:fill-box;transform-origin:50%;animation:pop-in .5s var(--spring-springy) calc(.25s + var(--i) * 80ms) both}.hello-tick{stroke-dasharray:1;animation:hello-draw .7s var(--spring-settle) .35s both}.hello-dots i{transition:width var(--spring-snappy-time) var(--spring-snappy), background .2s}.hello-back,.hello-quiet,.hello-skip{transition:transform var(--spring-snappy-time) var(--spring-snappy)}.hello-back:active,.hello-quiet:active,.hello-skip:active{transform:scale(.94)}}@keyframes hello-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hello-word{0%{opacity:0;letter-spacing:.02em;transform:translateY(14px)}}@keyframes hello-in-right{0%{opacity:0;transform:translate(28px)}}@keyframes hello-in-left{0%{opacity:0;transform:translate(-28px)}}.hello{overscroll-behavior:contain;height:100dvh;bottom:auto}.hello-page{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-top:.5rem;padding-bottom:.5rem;overflow-y:auto}.hello-story{margin:auto 0}html:has(.hello){overscroll-behavior:none;overflow:hidden}html:has(.hello) body{overflow:hidden}@media (height<=720px){.hello-top{min-height:48px}.hello-word{font-size:clamp(3.4rem,19vw,5.5rem)}.hello-wave{width:56px;height:38px}.hello-art{width:88px;height:88px;margin-bottom:.2rem}.hello-cady{width:104px;height:98px}.hello-story{gap:.6rem}.hello-story h1{font-size:var(--t-xl)}.hello-story p{font-size:var(--t-base)}.hello-foot{padding-top:.6rem;padding-bottom:calc(env(safe-area-inset-bottom) + .9rem);gap:.4rem}.hello-foot .button-big{min-height:48px}.hello-quiet{min-height:44px}}body:before{content:"";z-index:45;height:env(safe-area-inset-top,0px);background:var(--bg);pointer-events:none;position:fixed;top:0;left:0;right:0}.mode-tabs{top:calc(env(safe-area-inset-top,0px) + .5rem);background:var(--surface);border:1px solid var(--line);box-shadow:0 6px 18px -12px #00000080}html,body{overscroll-behavior-y:none}@media (width<=360px){.today-actions .ask-button{font-size:var(--t-xs);white-space:normal;text-align:left;gap:.25rem;padding:0 .35rem;line-height:1.2}.today-actions .ask-button svg{width:16px;height:16px}.cal-head{gap:.25rem}.cal-head h2{font-size:var(--t-base)}.cal-head .icon-button{width:36px;height:36px}.segmented .seg{font-size:var(--t-xs);padding:0 .2rem}}:root[data-theme=light] body:before{background:#241a35}:root{--r-sm:10px;--r-md:16px;--r-lg:22px;--radius-card:var(--r-lg);--t-xs:.75rem;--t-sm:.875rem;--t-base:1rem;--t-md:1.125rem;--t-lg:1.375rem;--t-xl:1.75rem;--t-2xl:2.25rem}.card,.space,.set-group,.goal,.quote,.voice,.core,.friends,.today-card,.planner-week,.session,.suggestion{border-radius:var(--r-lg);box-shadow:inset 0 1px 0 var(--glass-edge)}h2,h3{font-family:var(--font-body);letter-spacing:-.005em;font-weight:650;line-height:1.3}h2{font-size:var(--t-md)}h3{font-size:var(--t-base)}.display,.sheet h2,.score-main h2,.session h2,.suggestion h2,.cycle-hero h2,.cycle-hero h2 b,.voice h2,.farewell h2,.logged-title,.replay-title,.nova-stage,.score-hero-empty h2{font-family:var(--font-display);letter-spacing:-.015em;line-height:1.1}.cycle-hero h2 span{font-family:var(--font-body);letter-spacing:0}.sheet h2{font-size:var(--t-xl)}.button:not(.button-quiet):not(.button-light):not(.button-danger):not(.button-danger-quiet){background:var(--accent);color:var(--accent-ink);box-shadow:none}.button-quiet{border:1px solid var(--line);color:var(--ink);background:0 0}.button{letter-spacing:0;font-weight:650}@media (prefers-reduced-motion:no-preference){.button:not(.button-quiet):active{box-shadow:none}}.nut-lines li,.nut-ideas li,.week-day,.goal,.you-tile,.mind-tool,.crave-idea,.change-option{border-radius:var(--r-md)}@media (prefers-reduced-motion:no-preference){.session,.move,.adapted:not(.adapted-prompt),.week,.rhythm-card,.recent li,.cycle-card,.cycle-empty,.rhythm-curve,.twin,.fingerprint,.history,.planner,.history-list li,.leadup li,.change,.disc-group,.exmap,.memory,.respond,.experiments,.exmap-table tbody tr,.memory-list li,.weather,.debt,.ahead,.today-actions,.changed-banner,.planner-week,.week-day,.nut-lines li,.setup-row,.your-data,.resume-banner{animation:none}}.move-name,.plan-name,.wd-main b,.swap-main b,.lib-group h3,.insight h3,.event h3,.change h3,.data-text h3,.disc-group h3,.experiment h3,.cmd-detail h3,.day-nav b,.amount-name,.resume-banner b,.ahead li b,.training-peek b,.journal-prompt,.mind-now h2,.nut-headline,.period-form h3,.discovery h4,.curve-readout-head b,.memory-head b,.day-sheet-q,.set-number{font-family:var(--font-body);letter-spacing:-.005em;font-weight:650}.insight h3,.nut-headline,.mind-now h2{font-size:var(--t-lg);font-weight:700;line-height:1.25}.today-head .display{font-size:clamp(1.6rem,6.6vw,2.2rem)}.score-hero{gap:.5rem;padding:1rem 1.15rem .45rem}.score-pulse{height:34px;margin:0 -1.15rem}.today-list{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-edge);flex-direction:column;display:flex;overflow:hidden}.today-list:empty{display:none}.today-list>*{min-height:64px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:.75rem 1rem;transition:background .2s}.today-list>*+*{border-top:1px solid var(--line)}.today-list>:active{background:color-mix(in srgb, var(--ink) 6%, transparent);transform:none}.today-list .nova-row{padding-left:.75rem}.today-head h1.display{padding-bottom:0}.today-head h1.display:after{display:none}:root{--spring-snappy:cubic-bezier(.2, .9, .25, 1.05);--spring-smooth:cubic-bezier(.2, .8, .2, 1);--spring-heavy:cubic-bezier(.2, .8, .2, 1);--spring-springy:cubic-bezier(.3, 1.35, .5, 1);--spring-playful:cubic-bezier(.3, 1.6, .5, 1);--spring-settle:cubic-bezier(.2, .8, .2, 1);--spring-snappy-time:.49s;--spring-smooth-time:.675s;--spring-heavy-time:.58s;--spring-springy-time:.78s;--spring-playful-time:1.04s;--spring-settle-time:.705s}@supports (transition-timing-function:linear(0, 1)){:root{--spring-snappy:linear(0, .021, .075, .149, .235, .325, .414, .499, .578, .65, .714, .769, .817, .857, .891, .918, .941, .959, .973, .984, .992, .998, 1.002, 1.005, 1.007, 1.008, 1.008, 1.008, 1.008, 1.007, 1.006, 1.006, 1.005, 1.004, 1.004, 1.003, 1.002, 1.002, 1.002, 1.001, 1);--spring-smooth:linear(0, .021, .076, .15, .236, .326, .415, .5, .579, .65, .714, .769, .816, .856, .89, .917, .94, .957, .971, .982, .99, .996, 1.001, 1.004, 1.006, 1.007, 1.007, 1.007, 1.007, 1.006, 1.006, 1.005, 1.005, 1.004, 1.003, 1.003, 1.002, 1.002, 1.002, 1.001, 1);--spring-heavy:linear(0, .011, .042, .085, .138, .196, .257, .319, .38, .44, .496, .55, .599, .646, .688, .726, .761, .792, .82, .845, .867, .886, .903, .918, .931, .942, .951, .96, .967, .973, .978, .982, .986, .989, .991, .993, .995, .996, .997, .998, 1);--spring-springy:linear(0, .044, .154, .301, .463, .621, .763, .883, .978, 1.046, 1.09, 1.114, 1.121, 1.116, 1.103, 1.085, 1.066, 1.047, 1.029, 1.015, 1.003, .995, .989, .986, .985, .986, .987, .99, .992, .994, .996, .998, 1, 1.001, 1.001, 1.002, 1.002, 1.002, 1.002, 1.001, 1);--spring-playful:linear(0, .066, .233, .451, .681, .889, 1.055, 1.17, 1.233, 1.249, 1.23, 1.187, 1.131, 1.074, 1.023, .983, .956, .941, .938, .944, .955, .969, .983, .995, 1.005, 1.012, 1.015, 1.015, 1.014, 1.011, 1.007, 1.004, 1.001, .999, .997, .996, .996, .997, .997, .998, 1);--spring-settle:linear(0, .023, .078, .152, .235, .319, .401, .479, .549, .613, .67, .72, .763, .8, .832, .86, .883, .903, .919, .933, .944, .954, .962, .969, .974, .979, .983, .986, .988, .991, .992, .994, .995, .996, .997, .997, .998, .998, .999, .999, 1)}}
