@font-face{font-family:Outfit;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/outfit-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/outfit-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Shantell Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/display/shantell-sans.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/display/bricolage-grotesque.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/display/fraunces.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Handjet;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/display/handjet.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--color-base, #2a0f1c);color:var(--color-text, #fff3f7);font-family:var(--font-body, system-ui, sans-serif);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}.shell{position:relative;z-index:1;min-height:100%;padding:calc(env(safe-area-inset-top) + var(--shell-top) + var(--tap)) calc(env(safe-area-inset-right) + var(--shell-gutter)) calc(env(safe-area-inset-bottom) + var(--shell-bottom-clear)) calc(env(safe-area-inset-left) + var(--shell-gutter));max-width:var(--shell-max);margin:0 auto}:root{--lift-1: 1px;--lift-2: 2px;--lift-3: 4px;--press: 2px;--shadow-contact: 0 var(--lift-1) var(--lift-2) var(--shadow-color);--shadow-lift: 0 var(--lift-1) var(--lift-2) var(--shadow-color), 0 var(--lift-3) 12px var(--shadow-color);--tier-ring-common: transparent;--tier-ring-rare: color-mix(in srgb, var(--color-accent) 22%, transparent);--tier-ring-epic: color-mix(in srgb, var(--color-accent) 40%, transparent);--tier-ring-legendary: color-mix(in srgb, var(--color-accent) 62%, transparent);--tier-ring-mythic: var(--color-accent);--tier-ring: var(--tier-ring-common)}:root{--color-accent-live: var(--color-accent)}:root[data-mood=happy]{--color-accent-live: color-mix(in srgb, var(--color-accent) var(--mood-warm), var(--color-success))}:root[data-mood=sleepy]{--color-accent-live: color-mix(in srgb, var(--color-accent) var(--mood-dim), var(--color-base))}:root[data-calm=true] .primary{transition:transform var(--motion-fast) var(--ease-soft),box-shadow var(--motion-fast) var(--ease-soft)}:root[data-calm=true] .home-pet-fill{transition:width var(--motion-slow) var(--ease-soft)}.shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px}:root[data-calm=true] .shell:after{display:none}.page>*+*{margin-top:var(--stack)}.page-head{margin-bottom:var(--space-5)}.page-title{font-family:var(--font-display);font-weight:var(--font-display-weight, 400);letter-spacing:var(--font-display-tracking, 0);text-transform:var(--font-display-transform, none);font-size:var(--text-2xl);line-height:var(--line-tight)}.page-title-row,.section-title-row{display:flex;align-items:center;gap:var(--space-1)}:is(.page-title-row,.section-title-row) .info-bubble{margin-left:calc((var(--tap) - 1.75rem) / -2)}.info-bubble{flex:0 0 auto;display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;border:none;background:none;color:var(--color-accent);cursor:pointer}.info-bubble[aria-expanded=true] .icon .body{fill-opacity:.4}.info-guide-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--tap);padding:0;border:none;border-top:var(--border-width) solid var(--color-border);background:none;color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.info-guide-steps{margin:0 0 var(--space-2);padding-left:var(--space-5);line-height:var(--line-body)}.info-guide-steps li+li{margin-top:var(--space-1)}.info-guide-game{margin:0 0 var(--space-2)}.info-guide-toggle[aria-expanded=true] .purchases-chevron{transform:rotate(-135deg)}.page-sub{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--line-body)}.home-mascot-standalone{position:relative;display:grid;place-items:center;width:min(56vw,220px);height:min(56vw,220px);margin:var(--space-5) auto var(--space-4)}.home-mascot-standalone:before{content:"";position:absolute;top:2%;right:2%;bottom:2%;left:2%;border-radius:50%;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--color-accent) calc(6% + 20% * var(--pet-radiance, 1)),transparent),transparent 68%);transition:background var(--motion-slow) var(--ease-soft)}.home-mascot-standalone[data-aura]:before{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 45%,transparent),0 0 1.5rem .4rem color-mix(in srgb,var(--color-accent) 22%,transparent)}.home-mascot-standalone:after{content:"";position:absolute;left:50%;bottom:4%;width:44%;height:6.5%;border-radius:50%;background:var(--shadow-color);filter:blur(5px);transform:translate(-50%);animation:home-mascot-ground 5.5s ease-in-out infinite}@keyframes home-mascot-ground{0%,to{transform:translate(-50%) scale(1);opacity:.9}50%{transform:translate(-50%) scale(.9);opacity:.62}}.home-mascot-art{position:relative;z-index:1;width:100%;height:100%;overflow:visible;transform-origin:50% 88%;animation:home-breathe 5.5s ease-in-out infinite}.mascot-3d{position:relative;z-index:1;display:block;width:100%;height:100%}.mascot-3d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .35s ease}.mascot-3d>svg{transition:opacity .35s ease}.mascot-3d[data-ready]>.mascot-3d-canvas{opacity:1}.mascot-3d[data-ready]>svg{opacity:0;animation:none}.home-mascot-standalone[data-calm=true] .home-mascot-art,.home-mascot-standalone[data-calm=true]:after{animation:none}.home-mascot-standalone[data-mood=sleepy] .home-mascot-art,.home-mascot-standalone[data-mood=sleepy]:after{animation-duration:8.5s}@keyframes home-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.025) translateY(-1.4%)}}.home-greeting{position:relative;max-width:22rem;margin:calc(-1 * var(--space-2)) auto var(--space-4);padding:var(--space-2) var(--space-3);text-align:center;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large)}.home-greeting:before{content:"";position:absolute;top:-.4rem;left:50%;width:.7rem;height:.7rem;background:inherit;border-top:inherit;border-left:inherit;transform:translate(-50%) rotate(45deg)}@media(prefers-reduced-motion:no-preference){.home-mascot-standalone[data-greet=wave]{animation:greet-wave .8s var(--ease-soft, ease) .2s 1}.home-mascot-standalone[data-greet=hop]{animation:greet-hop .7s var(--ease-soft, ease) .2s 1}.home-mascot-standalone[data-greet=peek]{animation:greet-peek .9s var(--ease-soft, ease) .2s 1 backwards}.home-mascot-standalone[data-greet=wiggle]{animation:greet-wiggle .8s var(--ease-soft, ease) .2s 1}}@keyframes greet-wave{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}50%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}@keyframes greet-hop{0%,to{transform:translateY(0)}35%{transform:translateY(-9%)}60%{transform:translateY(0)}75%{transform:translateY(-3%)}}@keyframes greet-peek{0%{transform:translateY(8%) scale(.94)}60%{transform:translateY(-2%) scale(1.02)}to{transform:translateY(0) scale(1)}}@keyframes greet-wiggle{0%,to{transform:translate(0)}20%{transform:translate(-3%)}40%{transform:translate(3%)}60%{transform:translate(-2%)}80%{transform:translate(1%)}}.home-today{margin-top:var(--stack);padding:var(--space-4);background:var(--glass);border:var(--border-width) solid var(--hairline);border-radius:var(--radius-large);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-today-list{list-style:none;margin-top:var(--space-3)}.home-today-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--color-border)}.home-today-row:last-child{border-bottom:none}.home-today-tick{flex:0 0 auto;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:999px;border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-accent);font-size:var(--text-lg);cursor:pointer}.home-today-tick:active{transform:scale(.93)}.home-today-title{font-size:var(--text-base)}.home-equipped{list-style:none;display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border)}.home-equipped-item{width:32px;height:32px}.home-equipped-item .gear-art{width:100%;height:100%}.home-invite{margin-bottom:var(--space-4)}.home-invite-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.home-log{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.home-log-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:var(--space-3) var(--space-2);font-size:var(--text-sm);text-decoration:none;color:inherit;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-lift);transition:transform var(--motion-fast) var(--motion-easing)}.home-log-item:active{transform:translateY(var(--press))}.home-log-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.home-log-item[data-lit=true]{border-color:var(--color-accent-live)}.home-log-glyph{color:var(--color-accent);font-size:20px}.home-log-done{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:18px;height:18px;font-size:12px;line-height:1;border-radius:999px;background:var(--color-accent-live);color:var(--color-accent-text)}.home-pet{padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.home-pet[data-frame]{outline:2px solid color-mix(in srgb,var(--color-accent) 65%,var(--color-border));outline-offset:3px}.home-pet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.home-pet-name{font-family:var(--font-display);font-weight:var(--font-display-weight, 400);letter-spacing:var(--font-display-tracking, 0);font-size:var(--text-lg);line-height:var(--line-tight)}.home-pet-level{flex:0 0 auto;font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.home-pet-bar{height:10px;margin:var(--space-3) 0 var(--space-2);border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.home-pet-fill{height:100%;border-radius:999px;background:var(--color-accent-live);transition:width var(--motion-slow) var(--ease-soft),background-color var(--motion-slow) var(--ease-soft)}.vitals{padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.vitals-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.vitals-stage{padding:2px var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent);border-radius:999px}.vitals-bars{margin:var(--space-4) 0 var(--space-3);padding:0;list-style:none;display:grid;gap:var(--space-3)}.vitals-bar-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}.vitals-bar-value{font-variant-numeric:tabular-nums;font-weight:600}.vitals-bar-track{height:8px;margin:var(--space-1) 0;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.vitals-bar-fill{height:100%;border-radius:999px;background:var(--color-accent);transition:width var(--motion-slow) var(--ease-soft)}.vitals-bar-fill[data-attribute=vitality]{background:color-mix(in srgb,var(--color-accent) 70%,var(--color-success))}.vitals-bar-fill[data-attribute=serenity]{background:color-mix(in srgb,var(--color-accent) 55%,var(--color-text-muted))}.vitals-bar-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.vitals-streak{margin-top:var(--space-3);font-size:var(--text-sm)}.together{margin-top:var(--stack);padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.together-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.together-tier{padding:2px var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent);border-radius:999px}.together-week{display:flex;gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);padding:0;list-style:none}.together-day{flex:1 1 0;height:10px;border-radius:999px;background:var(--color-surface-muted);border:var(--border-width) solid transparent;transition:background var(--motion-medium) var(--ease-soft)}.together-day[data-duo=true]{background:var(--color-accent)}.goals-list{display:grid;gap:var(--space-3);margin:var(--space-3) 0 0;padding:0;list-style:none}.goal-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.goal-name{font-weight:600;font-size:var(--text-sm)}.goal-number{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.goal-bar{height:8px;margin:var(--space-1) 0;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.goal-fill{display:block;height:100%;background:var(--color-accent);border-radius:inherit}.goal-blurb{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.goals-reached{margin-top:var(--space-3)}.together-day[data-last=true]{border-color:var(--color-accent)}.together-line{margin-bottom:var(--space-2);font-size:var(--text-sm)}.home-pet-blurb{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.swipe{display:grid;gap:var(--space-3)}.swipe-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--space-4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin}.swipe-track:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.swipe-pane{scroll-snap-align:start;min-width:0}.swipe-dots{display:flex;justify-content:center;gap:var(--space-2)}.swipe-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;cursor:pointer;width:var(--tap);height:var(--space-5);background:none;display:grid;place-items:center}.swipe-dot:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:999px;background:color-mix(in srgb,var(--color-text) 28%,transparent);transition:background var(--motion-fast) var(--motion-easing)}.swipe-dot[data-on=true]:before{background:var(--color-accent)}.swipe-dot:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px;border-radius:999px}.hero-stage{position:relative;width:100%;aspect-ratio:var(--hero-ratio, 11 / 7);border-radius:var(--radius-large);overflow:hidden;background:var(--glass);border:var(--border-width) solid var(--hairline)}.hero-stage>canvas{width:100%;height:100%;display:block}.badge-dot{position:absolute;top:-2px;inset-inline-end:-6px;min-width:var(--space-4);height:var(--space-4);padding:0 3px;border-radius:999px;background:var(--color-accent);color:var(--color-accent-text);font-size:10px;font-weight:700;line-height:1;display:grid;place-items:center;box-shadow:0 0 0 2px var(--color-surface)}.tabbar-glyph .badge-dot{top:1px;inset-inline-end:7px}.badge-dot[data-quiet=true]{min-width:var(--space-2);width:var(--space-2);height:var(--space-2);padding:0}.tilecard{display:block;width:100%;text-align:start;padding:var(--space-4);border-radius:var(--radius-large);background:var(--color-surface);border:var(--border-width) solid var(--hairline);box-shadow:var(--shadow);color:inherit;text-decoration:none;font:inherit}a.tilecard,button.tilecard{cursor:pointer}a.tilecard:focus-visible,button.tilecard:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tilecard-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.tilecard-glyph{display:grid;place-items:center;color:var(--color-accent)}.tilecard-title{margin:0;font-size:var(--text-base);font-weight:600}.tilecard-aside{margin-inline-start:auto;color:var(--color-text-muted);font-size:var(--text-sm)}.tilecard-body{display:grid;gap:var(--space-2)}.tilecard-log{min-height:calc(var(--tap) * 1.5)}.tilecard-companion{display:grid;justify-items:center;text-align:center}.listrow{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius);background:none;color:inherit;font:inherit;text-align:start;text-decoration:none}a.listrow,button.listrow{cursor:pointer}a.listrow:hover,button.listrow:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.listrow:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.listrow-inert{cursor:default}.listrow+.listrow{border-top:var(--border-width) solid var(--hairline);border-radius:0}.listrow-glyph{display:grid;place-items:center;color:var(--color-accent);flex:none}.listrow-text{display:grid;gap:2px;min-width:0}.listrow-label{font-size:var(--text-base)}.listrow-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.listrow-value{margin-inline-start:auto;color:var(--color-text-muted);font-size:var(--text-sm);flex:none}.statchip{display:inline-flex;align-items:baseline;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:999px;background:var(--glass);border:var(--border-width) solid var(--hairline);color:inherit;font:inherit}button.statchip{cursor:pointer;min-height:var(--tap)}.statchip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.statchip-value{font-size:var(--text-base);font-weight:600}.statchip-label{font-size:var(--text-xs);color:var(--color-text-muted)}.statchip-trend[data-dir=up]{color:var(--color-success)}.statchip-trend[data-dir=down]{color:var(--color-text-muted)}.empty-glyph{font-size:var(--text-2xl);line-height:1;display:block;margin-bottom:var(--space-2)}.skeleton-lines{display:grid;gap:var(--space-2)}.skeleton-line[data-short=true]{width:60%}.skeleton-block{width:100%;aspect-ratio:3 / 2}.progress-hex{position:relative;width:5.5rem;aspect-ratio:1;display:grid;place-items:center}.progress-hex-ring,.progress-hex-face{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.progress-hex-ring{background:conic-gradient(var(--color-accent) var(--hex-fill, 0%),color-mix(in srgb,var(--color-text) 14%,transparent) var(--hex-fill, 0%))}.progress-hex-face{top:4px;right:4px;bottom:4px;left:4px;background:var(--color-surface);display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-display-weight)}.toast-host{position:fixed;left:50%;transform:translate(-50%);bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-3));z-index:var(--z-toast);display:grid;gap:var(--space-2);justify-items:center;pointer-events:none;width:min(var(--shell-max),calc(100vw - var(--space-5)))}.tile{display:flex;flex-direction:column;gap:8px;min-height:120px;padding:16px;text-decoration:none;color:inherit;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-lift);transition:transform var(--motion-fast) var(--motion-easing),box-shadow var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing)}.tile:active{transform:translateY(var(--press));box-shadow:var(--shadow-contact)}.tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tile-head{display:flex;align-items:center;gap:8px}.tile-glyph{color:var(--color-accent);font-size:15px}.tile-title{font-size:13px;color:var(--color-text-muted)}.tile-value{margin-top:auto;font-family:var(--font-display);font-size:clamp(20px,5.4vw,26px);line-height:1.15}.tile-hint{font-size:11.5px;color:var(--color-text-muted)}.meter{display:flex;flex-direction:column;align-items:center;gap:6px}.meter-track{position:relative;width:26px;height:132px;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.meter-track[data-draggable=true]{cursor:grab;touch-action:none}.meter-track[data-draggable=true]:active{cursor:grabbing}.meter-track[data-draggable=true]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.meter-fill{position:absolute;left:0;right:0;bottom:0;background:var(--color-accent);border-radius:999px;transition:height var(--motion-medium) var(--motion-easing)}.meter-value{font-family:var(--font-display);font-size:15px;font-variant-numeric:tabular-nums}.meter-label{font-size:11px;color:var(--color-text-muted)}.empty{padding:28px 20px;text-align:center;background:var(--color-surface);border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-large)}.empty p{font-size:15px}.empty-sub{margin-top:8px;font-size:13px;color:var(--color-text-muted);line-height:1.55}.empty code{font-family:ui-monospace,monospace;font-size:.92em;padding:1px 5px;border-radius:5px;background:var(--color-surface-muted)}.headline{display:flex;align-items:stretch;gap:var(--space-1);margin-bottom:var(--space-3)}.headline-link{flex:1;min-width:0}.headline-link{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));border:var(--border-width) solid color-mix(in srgb,var(--color-accent) 35%,var(--color-surface));border-radius:var(--radius-large);color:var(--color-text);font-size:var(--text-sm);text-decoration:none;transition:transform var(--motion-fast) var(--ease-soft)}.headline-link:active{transform:scale(.99)}.headline-link:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.headline-text{flex:1}.headline-go{flex:none;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1}.headline-more{flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.headline-dismiss{flex:none;width:var(--tap);min-height:var(--tap);border:var(--border-width) solid color-mix(in srgb,var(--color-accent) 35%,var(--color-surface));border-radius:var(--radius-large);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));color:var(--color-text-muted);font:inherit;font-size:var(--text-lg);line-height:1;cursor:pointer}.headline-dismiss:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);align-items:stretch;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-inline:max(env(safe-area-inset-left),var(--space-1)) max(env(safe-area-inset-right),var(--space-1));background:color-mix(in srgb,var(--color-surface) 97%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:var(--border-width) solid var(--color-border);box-shadow:var(--shadow)}.tabbar-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;text-decoration:none;color:var(--color-text-muted);transition:color var(--motion-fast) var(--motion-easing)}.tabbar-glyph{display:grid;place-items:center;position:relative;width:46px;height:30px;border-radius:var(--radius-large);font-size:var(--text-lg);line-height:1;transition:background-color var(--motion-fast) var(--motion-easing),transform var(--motion-medium) var(--ease-soft)}.tabbar-tab.active{color:var(--color-accent)}.tabbar-tab.active .tabbar-glyph{background:color-mix(in srgb,var(--color-accent) 16%,transparent);transform:scale(1.06)}.tabbar-label{font-size:var(--text-xs);line-height:var(--line-tight);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-tab:active .tabbar-glyph{background:color-mix(in srgb,var(--color-accent) 24%,transparent)}.tabbar-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-3px;border-radius:var(--radius)}.tabbar-tab[data-locked=true]{opacity:.4}.icon{display:block}.icon .body{fill:currentColor;fill-opacity:.16}.tabbar-tab.active .icon .body{fill-opacity:.28}.menu-button{position:fixed;top:calc(env(safe-area-inset-top) + var(--space-2));left:calc(env(safe-area-inset-left) + var(--space-2));z-index:4;display:grid;place-items:center;width:var(--tap);height:var(--tap);padding:0;font-size:var(--text-lg);color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow);cursor:pointer}.menu-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.status-hud{position:fixed;top:calc(env(safe-area-inset-top) + var(--space-2));right:calc(env(safe-area-inset-right) + var(--space-2));z-index:4;display:flex;align-items:center;gap:var(--space-2);height:var(--tap);padding-inline:var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text);text-decoration:none;background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.status-hud:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.status-hud-cell{display:flex;align-items:center;gap:var(--space-1)}.status-hud-key{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.status-hud-glyph{display:grid;place-items:center;color:var(--color-accent)}.status-hud-value{font-weight:600}.status-hud-rule{width:var(--border-width);height:1.1em;background:var(--color-border)}.menu-scrim,.popup-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.menu-panel{position:fixed;z-index:var(--z-sheet);left:max(env(safe-area-inset-left),var(--space-2));right:max(env(safe-area-inset-right),var(--space-2));bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-2));max-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom) - env(safe-area-inset-top) - var(--space-7));overflow-y:auto;padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow);transform-origin:bottom center;animation:menu-in var(--motion-medium) var(--ease-soft)}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.menu-group+.menu-group{margin-top:var(--space-4)}.menu-group-title{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--space-2)}.menu-item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"glyph label" "glyph hint";align-items:center;column-gap:var(--space-3);min-height:var(--tap);padding:var(--space-3);text-decoration:none;color:var(--color-text);background:var(--color-surface-muted);border-radius:var(--radius);transition:background-color var(--motion-fast) var(--motion-easing)}.menu-item:active{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.menu-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-item.active{background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.menu-item.active .menu-item-glyph{color:var(--color-accent)}.menu-item[data-locked=true]{opacity:.4}.menu-item-glyph{grid-area:glyph;font-size:var(--text-xl);color:var(--color-text-muted)}.menu-item-label{grid-area:label;font-size:var(--text-sm);font-weight:600}.menu-item-hint{grid-area:hint;font-size:var(--text-xs);line-height:var(--line-tight);color:var(--color-text-muted)}@media(min-width:768px){.menu-panel{top:calc(env(safe-area-inset-top) + var(--space-2) + var(--tap) + var(--space-2));bottom:auto;left:calc(env(safe-area-inset-left) + var(--space-2));right:auto;width:min(560px,calc(100vw - var(--space-6)));max-height:calc(100dvh - env(safe-area-inset-top) - var(--tap) - var(--space-7));transform-origin:top left}}@media(min-width:640px){:root{--tabbar-h: 68px !important}.tabbar{justify-content:center}.tabbar-glyph{width:56px}}:root[data-calm=true] .tabbar-tab.active .tabbar-glyph{transform:none}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sheet,.panel,.task-section{padding:var(--space-5) var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.sheet-stage{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--line-tight)}.sheet-level{font-size:var(--text-sm);color:var(--color-text-muted)}.sheet-blurb{margin:var(--space-2) 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.sheet-party{color:var(--color-accent);font-size:var(--text-sm);text-decoration:none}.sheet-foot{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.bar-row{display:grid;grid-template-columns:4.5rem 1fr auto;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.bar-label{font-size:var(--text-xs);color:var(--color-text-muted)}.bar-value{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.bar{height:10px;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.bar-boss{height:16px;margin-top:var(--space-3)}.bar-fill{height:100%;border-radius:999px;transition:width var(--motion-slow) var(--ease-soft)}.bar-fill-accent{background:var(--color-accent-live)}.bar-fill-success{background:var(--color-success)}.bar-fill-danger{background:var(--color-danger)}.section-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight)}.section-sub{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.task-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.task{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius)}.task[data-tone=waiting]{box-shadow:inset 3px 0 0 var(--color-accent)}.task[data-tone=drifting]{box-shadow:inset 2px 0 0 var(--color-accent)}.task-done{opacity:.55}.task-tick{flex:0 0 auto;width:var(--tap);height:var(--tap);border-radius:999px;border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-accent);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft)}.task-tick:active{transform:scale(.9)}.task-tick:disabled{color:var(--color-success);cursor:default}.task-body{flex:1 1 auto;min-width:0}.task-title{font-size:var(--text-base);line-height:var(--line-tight)}.task-line{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.task-streak{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-accent)}.task-down{flex:0 0 auto;width:var(--tap);height:var(--tap);border:none;background:none;color:var(--color-text-muted);font-size:var(--text-lg);cursor:pointer}.primary{display:block;width:100%;min-height:var(--tap);padding:var(--space-3) var(--space-4);margin-top:var(--space-3);border:none;border-radius:var(--radius-large);background:var(--color-accent-live);color:var(--color-accent-text);font-family:var(--font-display);font-size:var(--text-base);cursor:pointer;box-shadow:var(--shadow-lift);transition:transform var(--motion-fast) var(--ease-soft),box-shadow var(--motion-fast) var(--ease-soft),background-color var(--motion-slow) var(--ease-soft)}.primary:active{transform:translateY(var(--press));box-shadow:var(--shadow-contact)}.primary:disabled{opacity:.5;cursor:default;box-shadow:none}.quiet{display:block;width:100%;min-height:var(--tap);margin-top:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer}.row{display:flex;gap:var(--space-2)}.row>*{flex:1 1 0}.add-task{margin-top:var(--space-4)}.field{width:100%;min-height:var(--tap);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base)}.field:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.chip{min-height:40px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;text-transform:capitalize}.chip-on{background:var(--color-accent);color:var(--color-accent-text);border-color:transparent}.chip-locked{opacity:.45}.receipt{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-3));z-index:3;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;max-width:min(92vw,420px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-large);background:var(--color-surface);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow);font-size:var(--text-sm);text-align:center}.receipt-payout{color:var(--color-success)}.receipt-level{color:var(--color-accent)}.pet-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.pet{padding:var(--space-4);background:var(--color-surface-muted);border-radius:var(--radius)}.pet-chosen{box-shadow:inset 0 0 0 var(--border-width) var(--color-accent)}.pet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.pet-name{font-family:var(--font-display);font-size:var(--text-lg)}.pet-rarity{font-size:var(--text-xs);color:var(--color-text-muted)}.pet-skill{margin-top:var(--space-3);font-size:var(--text-sm)}.pet-lore{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body);font-style:italic}.pet-portrait{width:56px;height:56px;margin-bottom:var(--space-2)}.pet-art{width:100%;height:100%}.chest-art,.house-scene,.decor-art svg{filter:url(#hb-toon)}.gear-art,.pet-art{filter:url(#hb-toon-cast);overflow:visible}[data-tier=legendary] :is(.gear-art,.pet-art),[data-tier=mythic] :is(.gear-art,.pet-art){filter:url(#hb-toon-gloss-cast)}.chest-art[data-chest=gilded]{filter:url(#hb-toon-gloss)}.gear-art-pending{filter:none}.slot{margin-top:var(--space-4)}.slot-name{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.odds{margin:var(--space-4) 0 var(--space-3)}.odds-table{display:flex;gap:var(--space-2);margin:0 0 var(--space-2);padding:0;list-style:none}.odds-row{flex:1 1 0;display:flex;flex-direction:column;gap:2px;padding:var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);border:var(--border-width) solid transparent;text-align:center}.odds-row[data-none=true]{opacity:.45}.odds-name{font-size:var(--text-xs);color:var(--color-text-muted)}.odds-chance{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.surprise{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.surprise-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 12rem}.surprise-name{font-weight:600}.surprise-blurb{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.surprise-was{margin-left:var(--space-2);opacity:.6;font-weight:400}.shop-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-3);margin-top:var(--space-3)}.shop-item-button{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;text-align:center;transition:border-color var(--motion-fast) var(--motion-easing)}.shop-item-button:disabled{opacity:.45;cursor:default}.shop-item-button:not(:disabled):active{transform:scale(.97)}.shop-item-art{width:44px;height:44px}.shop-item-art .gear-art{width:100%;height:100%}.shop-item-name{font-size:var(--text-sm);line-height:var(--line-tight)}.shop-item-rarity{font-size:var(--text-xs);color:var(--color-text-muted)}.shop-item-price{font-size:var(--text-xs);color:var(--color-accent);font-variant-numeric:tabular-nums}.voice{margin-top:var(--space-3)}.voice-mic{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);background:var(--color-surface-muted);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:999px;font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.voice-mic:active{transform:scale(.96)}.voice-mic:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.voice-hint{margin-left:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.voice-live{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-accent);border-radius:999px}.voice-dot{flex:none;width:9px;height:9px;border-radius:999px;background:var(--color-danger);animation:voice-pulse 1.6s ease-in-out infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.3}}.voice-wave{flex:1 1 auto;height:26px;min-width:60px}.voice-clock{flex:none;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.voice-stop,.voice-cancel{flex:none;min-height:36px;padding:0 var(--space-3);border:none;border-radius:999px;font:inherit;font-size:var(--text-xs);cursor:pointer}.voice-stop{background:var(--color-accent);color:var(--color-accent-text)}.voice-cancel{background:transparent;color:var(--color-text-muted);padding:0 var(--space-2)}.voice-working{font-size:var(--text-sm);color:var(--color-text-muted)}.voice-failed{padding:var(--space-4);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-danger);border-radius:var(--radius)}.voice-failed-title{display:block;font-size:var(--text-base)}.voice-failed-body{margin:var(--space-2) 0 var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.voice-diag{margin-top:var(--space-3);background:none;border:none;padding:0;font:inherit;font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:underline;cursor:pointer}@media(prefers-reduced-motion:reduce){.voice-dot{animation:none}}.heard{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.cal-month{font-family:var(--font-display);font-size:var(--text-lg)}.cal-step{min-width:var(--tap);min-height:var(--tap);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-xl);cursor:pointer;border-radius:999px}.cal-step:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:var(--space-3);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.cal-weekday{text-align:center;padding-bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.cal-blank{aspect-ratio:1}.cal-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;border-radius:var(--radius);color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--motion-fast) var(--ease-soft)}.cal-day:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.cal-day[data-selected=true]{background:var(--color-accent);color:var(--color-accent-text)}.cal-day[data-today=true]{box-shadow:inset 0 0 0 var(--border-width) var(--color-accent)}.cal-num{font-variant-numeric:tabular-nums;line-height:1}.cal-dots{display:flex;gap:2px;height:4px}.cal-dot{width:4px;height:4px;border-radius:999px;background:var(--color-accent)}.cal-day[data-selected=true] .cal-dot{background:var(--color-accent-text)}.cal-count{font-size:9px;line-height:1;color:var(--color-accent);font-variant-numeric:tabular-nums}.cal-day[data-selected=true] .cal-count{color:var(--color-accent-text)}.cal-sheet{margin-top:var(--space-5)}.cal-events{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.cal-event{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius)}.cal-event-time{flex:none;min-width:5.5rem;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cal-event-title{flex:1 1 auto;min-width:0;font-size:var(--text-base)}.cal-event-edit,.cal-event-remove{flex:none;background:none;border:none;padding:var(--space-2);font:inherit;font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer}.cal-event-edit{text-decoration:underline}.cal-time{display:block;margin-top:var(--space-3)}.cal-time .field{margin-top:var(--space-1)}.chat-pill{position:fixed;right:calc(env(safe-area-inset-right) + 14px);bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-2));z-index:3;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:0 var(--space-4);background:var(--color-accent);color:var(--color-accent-text);border:none;border-radius:999px;box-shadow:var(--shadow);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft)}.chat-pill:active{transform:scale(.95)}.chat-pill:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.chat-pill .badge-dot{position:static;background:var(--color-base);color:var(--color-text);box-shadow:none;font-variant-numeric:tabular-nums}.chat{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-2));z-index:3;display:flex;flex-direction:column;max-height:min(70vh,520px);max-width:560px;margin:0 auto;padding:var(--space-4) calc(env(safe-area-inset-left) + 16px) var(--space-4) calc(env(safe-area-inset-right) + 16px);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large) var(--radius-large) 0 0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.chat-title{flex:1 1 auto;font-family:var(--font-display);font-size:var(--text-lg)}.chat-state{font-size:var(--text-xs);color:var(--color-text-muted)}.chat-close{min-width:36px;min-height:36px;background:none;border:none;color:var(--color-text-muted);font:inherit;cursor:pointer}.chat-thread{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.chat-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.chat-msg{display:flex;flex-direction:column;gap:2px;max-width:78%;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--line-body);overflow-wrap:anywhere}.chat-mine{align-self:flex-end;background:var(--color-accent);color:var(--color-accent-text)}.chat-theirs{align-self:flex-start;background:var(--color-surface-muted)}.chat-msg[data-pending=true]{opacity:.6}.chat-time{font-size:var(--text-xs);opacity:.7}.chat-composer{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.chat-composer .field{flex:1 1 auto}.chat-send{flex:none}.set-block{margin-bottom:var(--space-6)}.whats-on-list{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.set-toggle{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);min-height:var(--tap);font-size:var(--text-sm);cursor:pointer}.set-toggle input{width:20px;height:20px;accent-color:var(--color-accent)}.invite{margin:var(--space-3) 0;padding:var(--space-4);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius);text-align:center}.invite-code{display:block;font-family:var(--font-display);font-size:var(--text-3xl);letter-spacing:.22em;color:var(--color-accent)}.border-glow{position:relative;isolation:isolate;border-radius:var(--radius-large)}.border-glow:before,.border-glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;pointer-events:none;-webkit-mask:linear-gradient(currentColor 0 0) content-box,linear-gradient(currentColor 0 0);-webkit-mask-composite:xor;mask:linear-gradient(currentColor 0 0) content-box,linear-gradient(currentColor 0 0);mask-composite:exclude}.border-glow:before{background:var(--bg-gradient);opacity:.45;z-index:1}.border-glow:after{background:radial-gradient(var(--glow-radius) var(--glow-radius) at var(--gx) var(--gy),var(--color-accent) 0%,transparent 62%);opacity:var(--go, 0);transition:opacity .25s ease-out;z-index:2}.border-glow-animated:before{background-size:220% 220%;animation:aurora-slide 9s ease-in-out infinite}@keyframes aurora-slide{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes aurora-drift{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.12);opacity:.85}}@keyframes spark{0%,to{transform:scale(.7);opacity:.35}50%{transform:scale(1.15);opacity:1}}@keyframes lift{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-5px,0)}}:root[data-calm=true] .border-glow-animated:before,:root[data-calm=true] .lifts,:root[data-calm=true] .sparks{animation:none}@media(prefers-reduced-motion:reduce){.border-glow-animated:before,.lifts,.sparks{animation:none}.border-glow:after{transition:none}}.pet-list>li{list-style:none}.pet.border-glow{border-radius:var(--radius)}.pet-chosen{animation:lift 5.5s ease-in-out infinite}:root[data-calm=true] .pet-chosen{animation:none}@media(prefers-reduced-motion:reduce){.pet-chosen{animation:none}}.cycle-summary{margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large)}.cycle-summary[data-phase]{border-left-width:3px}.cycle-summary[data-phase=menstrual]{border-left-color:var(--color-danger)}.cycle-summary[data-phase=follicular]{border-left-color:var(--color-success)}.cycle-summary[data-phase=ovulatory]{border-left-color:var(--color-accent)}.cycle-summary[data-phase=luteal]{border-left-color:var(--color-base)}.cycle-summary-lead{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--line-tight)}.cycle-summary-phase{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.cycle-summary-sub{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.cycle-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-3);margin-top:var(--space-4)}.cycle-facts dt{font-size:var(--text-xs);color:var(--color-text-muted)}.cycle-facts dd{margin-top:2px;font-size:var(--text-sm)}.cycle-disclaimer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border);font-size:var(--text-xs);line-height:var(--line-body);color:var(--color-text-muted)}.cal-day[data-flow=true]{background:var(--color-danger);color:var(--color-accent-text)}.cal-day[data-predicted=true]{box-shadow:inset 0 0 0 var(--border-width) var(--color-danger)}.cal-day[data-fertile=true]{background:var(--color-surface-muted)}.cal-day[data-ovulation=true]{box-shadow:inset 0 0 0 2px var(--color-accent)}.cycle-dot{width:4px;height:4px;border-radius:50%;background:var(--color-text-muted)}.cal-day[data-selected=true] .cycle-dot{background:var(--color-accent-text)}.cycle-legend{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.cycle-legend li{display:flex;align-items:center;gap:6px}.cycle-key{width:12px;height:12px;border-radius:4px;flex:none}.cycle-key-flow{background:var(--color-danger)}.cycle-key-predicted{box-shadow:inset 0 0 0 var(--border-width) var(--color-danger)}.cycle-key-fertile{background:var(--color-surface-muted)}.cycle-key-logged{background:var(--color-text-muted)}.cycle-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.cycle-group{margin-top:var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.cycle-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.cycle-note{width:100%;margin-top:var(--space-3);resize:vertical;font:inherit}.cycle-readout{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-sm)}.cycle-readout strong{display:block;font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}.cal-sheet-day{font-family:var(--font-display);font-size:var(--text-lg)}.cycle-choice{display:flex;flex-direction:column;gap:var(--space-3)}.spread{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.cycle-lock,.cycle-lock-form{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4)}.cycle-lock-inline{margin-top:0}.cycle-lock-label{font-size:var(--text-xs);color:var(--color-text-muted)}.cycle-pin{width:100%;max-width:12rem;letter-spacing:.35em}.cycle-unlock:disabled{opacity:.45}.cycle-lock-error{font-size:var(--text-sm);color:var(--color-danger)}.cycle-lock-hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.cycle-lock-settings{margin-top:var(--space-6);padding-top:var(--space-4);padding-bottom:64px;border-top:var(--border-width) solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}.mood-summary{padding:var(--space-4);margin-bottom:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.mood-day{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.mood-lead{margin-top:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight)}.mood-sub{margin-top:var(--space-2);font-size:var(--text-sm);line-height:var(--line-body);color:var(--color-text-muted)}.mood-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.mood-compare[data-paired=false]{grid-template-columns:auto 1fr}.mood-column{padding:var(--space-4) var(--space-3);text-align:center;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.mood-column[data-unsaved=true]{border-color:var(--color-accent)}.mood-column[data-unsaved=true] .mood-state{color:var(--color-accent)}.mood-who{font-family:var(--font-display);font-size:var(--text-base);line-height:var(--line-tight)}.mood-meters{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-4)}.mood-state{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.mood-invite{align-self:center;padding:var(--space-4);border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-large)}.mood-invite-lead{font-size:var(--text-sm);line-height:var(--line-tight)}.mood-invite-sub{margin-top:var(--space-2);font-size:var(--text-xs);line-height:var(--line-body);color:var(--color-text-muted)}.mood-invite a{color:var(--color-accent)}.mood-set{margin-top:var(--space-4)}.mood-set-label{display:block;font-size:var(--text-sm)}.mood-flags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.mood-note{margin-top:var(--space-2);resize:vertical;line-height:var(--line-body)}.mood-trend-spans{display:flex;gap:var(--space-2);margin:var(--space-2) 0}.mood-trend-legend{display:flex;gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.mood-trend-legend>span{display:inline-flex;align-items:center;gap:var(--space-1)}.mood-trend{margin:var(--space-4) 0 0}.mood-trend-head{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}.mood-trend-avg{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.mood-trend-plot{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2);margin-top:var(--space-1)}.mood-trend-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:var(--text-xs);color:var(--color-text-muted);text-align:right}.mood-trend-svg{width:100%;height:auto;display:block;overflow:visible}.mood-trend-grid{stroke:var(--color-border);stroke-width:1}.mood-trend-mine,.mood-trend-theirs{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mood-trend-mine{stroke:var(--color-accent)}.mood-trend-theirs{stroke:var(--color-text-muted);stroke-dasharray:5 4}.mood-trend-dot-mine{fill:var(--color-accent);stroke:var(--color-surface);stroke-width:2}.mood-trend-dot-theirs{fill:var(--color-surface);stroke:var(--color-text-muted);stroke-width:2}.mood-trend-hit{fill:transparent}.mood-trend-hit:hover{fill:color-mix(in srgb,var(--color-text) 6%,transparent)}:root[data-calm=true] .mood-meters .meter-fill{transition:none}.cal-grid-work .cal-day[data-load="1"]:not([data-selected=true]){background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface))}.cal-grid-work .cal-day[data-load="2"]:not([data-selected=true]){background:color-mix(in srgb,var(--color-accent) 22%,var(--color-surface))}.cal-grid-work .cal-day[data-load="3"]:not([data-selected=true]){background:color-mix(in srgb,var(--color-accent) 35%,var(--color-surface))}.cal-grid-work .cal-day[data-load="3"] .cal-num{font-weight:500}.cal-grid-work .cal-day[data-load="3"]:not([data-selected=true]) .cal-count{color:var(--color-text)}.cal-grid-work .cal-day[data-workout=true]:before{content:"";position:absolute;left:3px;top:22%;bottom:22%;width:3px;border-radius:999px;background:var(--color-success)}.cal-grid-work .cal-day[data-workout=true][data-selected=true]:before{background:var(--color-accent-text)}.cal-moves{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-2)}.cal-move{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-2);align-items:baseline;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface));border-radius:var(--radius);font-size:var(--text-sm)}.cal-move-who{color:var(--color-text-muted)}.cal-move-sets{font-variant-numeric:tabular-nums}.cal-move-note{grid-column:2;color:var(--color-text-muted);font-size:var(--text-xs)}.cal-file{margin-top:var(--space-6)}.cal-file-actions{margin-top:var(--space-3)}.cal-file-pick{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:var(--space-3) var(--space-4);border-radius:var(--radius-large);background:var(--color-accent);color:var(--color-accent-text);font-family:var(--font-display);font-size:var(--text-base);cursor:pointer}.cal-file-pick:active{transform:scale(.985)}.cal-file-pick[data-busy=true]{opacity:.5}.cal-file-pick:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.cal-file-input{position:absolute;width:1px;height:1px;opacity:0}.cal-preview{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large)}.cal-preview[data-empty=true]{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border))}.cal-preview-name{font-size:var(--text-xs);color:var(--color-text-muted);overflow-wrap:anywhere}.cal-preview-count{margin-top:var(--space-1);font-family:var(--font-display);font-size:var(--text-lg)}.cal-preview-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.cal-problems{list-style:none;display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.cal-problem{display:flex;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body);overflow-wrap:anywhere}.cal-problem-line{flex:none;color:var(--color-danger);font-variant-numeric:tabular-nums}.cal-file-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.gate{display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);min-height:62vh;padding:var(--space-5) 0;text-align:center}.gate-mark{display:flex;justify-content:center;gap:var(--space-3);font-size:var(--text-2xl);line-height:1;color:var(--color-accent)}.gate-mark span:last-child{opacity:.35}.gate-title{font-family:var(--font-display);font-weight:var(--font-display-weight, 400);letter-spacing:var(--font-display-tracking, 0);text-transform:var(--font-display-transform, none);font-size:var(--text-2xl);line-height:var(--line-tight)}.gate-body{font-size:var(--text-base);line-height:var(--line-body)}.gate-action{display:flex;align-items:center;justify-content:center;margin-top:var(--space-4);text-decoration:none}.gate-note{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--line-body)}.welcome-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.welcome-list strong{font-family:var(--font-display);font-weight:var(--font-display-weight, 400)}.welcome-steps{list-style:decimal;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm);line-height:var(--line-body)}.welcome-steps strong{display:block;font-family:var(--font-display);font-size:var(--text-base)}.welcome-faq{display:flex;flex-direction:column;gap:var(--space-1)}.welcome-faq dt{font-family:var(--font-display);font-size:var(--text-base);margin-top:var(--space-3)}.welcome-faq dt:first-child{margin-top:0}.welcome-faq dd{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--line-body)}.welcome-repo{display:flex;align-items:center;gap:var(--space-2);justify-content:center;margin-top:var(--space-5);padding:var(--space-3);background:var(--color-surface-muted);border-radius:999px;color:var(--color-text);text-decoration:none;font-size:var(--text-sm)}.welcome-repo span{color:var(--color-accent)}.welcome-guest{display:block;width:100%;margin-top:var(--space-4);text-align:center;padding-bottom:calc(env(safe-area-inset-bottom) + 14px)}.onboarding-dots{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border)}.onboarding-dot[data-on=true]{background:var(--color-accent)}.onboarding-step{text-align:center;min-height:40vh}.onboarding-pets{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.onboarding-pet-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);cursor:pointer}.onboarding-pet-card:active{transform:scale(.96)}.onboarding-pet-art{width:56px;height:56px}.onboarding-pet-name{font-family:var(--font-display);font-size:var(--text-sm)}.onboarding-pet-theme{font-size:var(--text-xs);color:var(--color-text-muted)}.onboarding-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin:var(--space-4) 0}.onboarding-item-art{width:88px;height:88px;animation:home-breathe 3.2s ease-in-out infinite}:root[data-calm=true] .onboarding-item-art{animation:none}.onboarding-item-name{font-family:var(--font-display);font-size:var(--text-lg)}.onboarding-nav{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-5)}.onboarding-skip{display:block;width:100%;text-align:center;margin-top:var(--space-3);color:var(--color-text-muted)}.ex-days{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-4)}.ex-day{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:var(--font-display-tracking);min-width:9ch;text-align:center}.ex-day-step{min-width:var(--tap);min-height:var(--tap);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--text-base)}.ex-day-step:disabled{opacity:.4}.week-thread{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.week-thread::-webkit-scrollbar{display:none}.week-day{position:relative;flex:1 0 var(--tap);min-width:var(--tap);min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:var(--space-2) 0;background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-text);transition:background var(--motion-fast) var(--ease-soft),transform var(--motion-fast) var(--ease-soft)}.week-day:active{transform:scale(.96)}.week-day:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.week-day:disabled{opacity:.4}.week-day-initial{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1}.week-day-num{font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1}.week-day[data-done=true]{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface));border-color:color-mix(in srgb,var(--color-success) 40%,var(--color-surface))}.week-day[data-today=true]{box-shadow:inset 0 0 0 var(--border-width) var(--color-accent)}.week-day[data-on=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.week-day[data-on=true] .week-day-initial{color:var(--color-accent-text)}.set-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.set-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name remove" "numbers numbers";align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted)}.set-name{grid-area:name}.set-remove{grid-area:remove;min-width:var(--tap);min-height:var(--tap);border:0;border-radius:var(--radius);background:transparent;color:var(--color-text-muted);font-size:var(--text-lg);line-height:1}.set-remove:hover,.set-remove:focus-visible{color:var(--color-danger)}.set-numbers{grid-area:numbers;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.set-num{display:block}.set-num-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.set-total{margin:var(--space-4) 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.ex-caption{margin-top:var(--space-2);resize:vertical;line-height:var(--line-body)}.ex-calendar-link{color:var(--color-text);text-decoration:underline;text-underline-offset:3px}.ex-calendar-link:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.wager-targets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.wager-standings{list-style:none;margin:var(--space-3) 0 var(--space-3);padding:0;display:grid;gap:var(--space-2)}.wager-standing{display:grid;grid-template-columns:1fr auto var(--space-4);gap:var(--space-2);align-items:baseline;padding:var(--space-2) var(--space-3);background:var(--color-surface-muted);border-radius:var(--radius);font-size:var(--text-sm)}.wager-standing[data-met=true]{background:color-mix(in srgb,var(--color-success) 16%,var(--color-surface))}.wager-count{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.wager-standing[data-met=true] .wager-count{color:var(--color-text)}.wager-mark{color:var(--color-success);text-align:right}.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2);list-style:none;margin:var(--space-3) 0 0;padding:0}.wall-cell{position:relative;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;background:var(--color-surface-muted)}.wall-shot{width:100%;height:100%;display:block;object-fit:cover}.wall-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.wall-slot-text{font-size:var(--text-sm)}.wall-who,.wall-when{position:absolute;bottom:0;padding:2px var(--space-2);background:var(--scrim);color:var(--color-text);font-size:var(--text-xs);line-height:1.4}.wall-who{left:0;border-top-right-radius:var(--radius)}.wall-when{right:0;border-top-left-radius:var(--radius);font-variant-numeric:tabular-nums}.wall-who[data-mine=true]{background:var(--color-accent);color:var(--color-accent-text)}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4)}.proof{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.proof-label{font-size:var(--text-xs);color:var(--color-text-muted)}.proof-shot{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius);border:var(--border-width) solid var(--color-border)}.proof-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);aspect-ratio:3 / 4;border-radius:var(--radius);border:var(--border-width) dashed var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);text-align:center;padding:var(--space-2)}.proof-plus{font-size:var(--text-2xl);line-height:1}.proof-slot-text{font-size:var(--text-xs)}.proof-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.proof-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.proof-action{flex:1 1 84px;min-height:var(--tap);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font-size:var(--text-xs)}.proof-action:disabled{opacity:.5}.proof-size{font-size:var(--text-xs);color:var(--color-text-muted)}.proof-error{font-size:var(--text-xs);color:var(--color-danger);line-height:var(--line-tight)}.proof[data-busy=true]{opacity:.7}.pair-lead{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight);letter-spacing:var(--font-display-tracking)}.pair-join{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.pair-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:var(--line-body);color:var(--color-accent)}.invite-left{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.mode-row{display:flex;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2)}.mode-option{flex:1 1 0;min-height:var(--tap);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text)}.mode-option[data-on=true]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 16%,transparent);font-weight:600}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin:var(--space-3) 0}.theme-card{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap);padding:var(--space-3);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);text-align:left}.theme-card[data-on=true]{border-color:var(--color-accent);background:var(--color-surface)}.theme-swatch{display:flex;flex:0 0 auto;width:42px;height:24px;border-radius:calc(var(--radius) / 2);overflow:hidden;border:var(--border-width) solid var(--color-border)}.theme-swatch>span{flex:1}.theme-name{font-size:var(--text-sm);line-height:var(--line-tight)}.who-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0}.who-row~.who-row{border-top:var(--border-width) solid var(--color-border)}.who-face{flex:0 0 auto;width:56px;height:56px;border-radius:50%;object-fit:cover;border:var(--border-width) solid var(--color-border)}.who-face-blank{display:flex;align-items:center;justify-content:center;background:var(--color-surface-muted);color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-lg)}.who-fields{flex:1;min-width:0}.who-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.who-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.who-actions button{flex:1}.who-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.set-block a{color:var(--color-accent)}.notify{margin-top:var(--space-6);padding-bottom:calc(env(safe-area-inset-bottom) + 14px + var(--tap))}.notify-title{margin:0 0 var(--space-2);font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.notify-lead,.notify-blocked,.notify-note{margin:0;line-height:var(--line-body);color:var(--color-text-muted)}.notify-blocked,.notify-note{margin-top:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted)}.notify-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.notify-state{font-family:var(--font-display);letter-spacing:var(--font-display-tracking);color:var(--color-text)}.notify-switch{padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font:inherit;cursor:pointer}.notify-switch:disabled{opacity:.6;cursor:default}.notify-hour{display:grid;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-text-muted)}.notify-hour select{width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums}.notify-kinds{margin-top:var(--space-4);padding:0;border:none;display:grid;gap:var(--space-3)}.notify-kinds legend{padding:0;color:var(--color-text-muted);font-size:var(--text-sm)}.notify-kind{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-1) var(--space-3);min-height:var(--tap);padding:var(--space-3);border:var(--border-width) solid var(--hairline);border-radius:var(--radius);background:var(--color-surface-muted);cursor:pointer}.notify-kind input{grid-row:1 / span 2;width:var(--space-4);height:var(--space-4);margin:0;accent-color:var(--color-accent);cursor:pointer}.notify-kind input:disabled{cursor:default}.notify-kind:has(input:disabled){opacity:.6;cursor:default}.notify-kind-name{color:var(--color-text)}.notify-kind-what{color:var(--color-text-muted);font-size:var(--text-sm)}.quest{margin-bottom:var(--space-6)}.quest-title{margin:0 0 var(--space-3);font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.quest-card,.quest-pick{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);padding:var(--space-4);display:grid;gap:var(--space-3)}.quest-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.quest-name{font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.quest-count,.quest-worth,.quest-offer-worth{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.quest-blurb,.quest-lead{margin:0;line-height:var(--line-body);color:var(--color-text-muted)}.quest-bar{height:var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);overflow:hidden}.quest-fill{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width var(--motion-medium) var(--motion-easing)}@media(prefers-reduced-motion:reduce){.quest-fill{transition:none}}.quest-foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.quest-left{color:var(--color-text-muted)}.quest-drop{justify-self:start;background:none;border:0;padding:var(--space-2) 0 0;font:inherit;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.quest-dial{display:flex;gap:var(--space-2)}.quest-level{flex:1 1 0;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text-muted);font:inherit;text-transform:capitalize;cursor:pointer;transition:background var(--motion-fast) var(--motion-easing)}.quest-level.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}@media(prefers-reduced-motion:reduce){.quest-level{transition:none}}.quest-offers{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.quest-offer{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.quest-offer:disabled{opacity:.6;cursor:default}.quest-past{margin-top:var(--space-4)}.quest-past summary{cursor:pointer;color:var(--color-text-muted);line-height:var(--line-body)}.quest-past-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.quest-past-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.quest-past-name{color:var(--color-text)}.quest-past-mark{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.quest-past-mark.is-done{color:var(--color-success)}.shelf{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-4)}.shelf-row{display:grid;gap:var(--space-2)}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.shelf-name{font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.shelf-count{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.shelf-blurb{margin:0;line-height:var(--line-body);color:var(--color-text-muted)}.shelf-bar{height:var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);overflow:hidden}.shelf-fill{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width var(--motion-medium) var(--motion-easing)}.shelf-row.is-done .shelf-fill{background:var(--color-success)}.shelf-row.is-done .shelf-count{color:var(--color-success)}@media(prefers-reduced-motion:reduce){.shelf-fill{transition:none}}.shelf-past{margin-top:var(--space-5);border-top:var(--border-width) solid var(--color-border);padding-top:var(--space-4)}.shelf-past summary{cursor:pointer;color:var(--color-text-muted);line-height:var(--line-body)}.shelf-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-2)}.shelf-past-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.shelf-past-name{color:var(--color-text)}.shelf-past-xp{font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.crash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:100dvh;padding:32px calc(env(safe-area-inset-right) + 24px) 32px calc(env(safe-area-inset-left) + 24px);text-align:center;background:var(--color-base, #2a0f1c);color:var(--color-text, #fff3f7);font-family:var(--font-body, system-ui, sans-serif)}.crash-glyph{font-size:34px;color:var(--color-accent, #ff6f9c);line-height:1}.crash-title{font-size:19px;font-weight:600;margin:0}.crash-body{max-width:34ch;font-size:14px;line-height:1.5;color:var(--color-text-muted, #d6a8bb);margin:0}.crash-detail{max-width:40ch;margin:0;padding:10px 12px;border-radius:var(--radius-large, 14px);background:color-mix(in srgb,var(--color-text, #fff3f7) 8%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.crash-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.crash-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:11px 20px;min-height:44px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;background:var(--color-accent, #ff6f9c);color:var(--color-base, #2a0f1c)}.crash-button-quiet{background:color-mix(in srgb,var(--color-text, #fff3f7) 12%,transparent);color:var(--color-text, #fff3f7)}.crash-button:focus-visible{outline:2px solid var(--color-text, #fff3f7);outline-offset:3px}.nothere{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);min-height:60dvh;padding:var(--space-6) var(--space-4) var(--shell-bottom-clear);text-align:center}.nothere-mascot{width:min(11rem,44vw);aspect-ratio:1}:root[data-calm=true] .nothere-mascot .home-mascot-art{animation:none}.nothere-title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-display-weight);line-height:var(--line-tight);color:var(--color-text)}.nothere-body{max-width:34ch;margin:0;font-size:var(--text-base);line-height:var(--line-body);color:var(--color-text-muted)}.nothere-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-2)}.nothere-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:var(--space-3) var(--space-5);min-height:var(--tap);display:inline-flex;align-items:center;font:inherit;font-size:var(--text-sm);font-weight:600;text-decoration:none;cursor:pointer;background:var(--color-accent);color:var(--color-accent-text)}.nothere-button-quiet{background:color-mix(in srgb,var(--color-text) 12%,transparent);color:var(--color-text)}.nothere-button:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,color-mix(in srgb,var(--color-text) 6%,transparent),color-mix(in srgb,var(--color-text) 13%,transparent),color-mix(in srgb,var(--color-text) 6%,transparent));background-size:200% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite}.skeleton-gate{width:100%;height:42vh;min-height:12rem}.skeleton-stage{width:100%;aspect-ratio:11 / 7}.skeleton-line{width:100%;height:var(--space-4)}.skeleton-line-short{width:60%}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}:root[data-calm=true] .skeleton{animation:none}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.study{margin-top:var(--space-6)}.study-title{margin:0 0 var(--space-2);font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.study-note{margin:0;line-height:var(--line-body);color:var(--color-text-muted)}.study-note-bad{color:var(--color-danger)}.study-code{margin-top:var(--space-3);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted)}.study-code-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);line-height:1.5;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--color-text)}.study-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.study-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:0 var(--space-5);min-height:var(--tap);font:inherit;font-weight:600;cursor:pointer;background:var(--color-accent);color:var(--color-accent-text)}.study-button-quiet{background:var(--color-surface-muted);color:var(--color-text);border:var(--border-width) solid var(--color-border)}.study-button[disabled]{opacity:.55;cursor:default}.study-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sweet{margin-top:var(--space-6)}.sweet-title{margin:0 0 var(--space-2);font-family:var(--font-display);letter-spacing:var(--font-display-tracking);line-height:var(--line-tight);color:var(--color-text)}.sweet-inbox{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.sweet-note{padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface);border:var(--border-width) solid var(--color-border);display:flex;flex-direction:column;gap:2px}.sweet-note[data-mine]{background:var(--color-surface-muted)}.sweet-note-body{color:var(--color-text);line-height:var(--line-body)}.sweet-note-who{font-size:var(--text-xs);color:var(--color-text-muted)}.sweet-draft{width:100%;padding:var(--space-3);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:var(--line-body);resize:vertical}.sweet-draft:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sweet-count{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.sweet-ideas{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.sweet-idea{width:100%;text-align:left;padding:var(--space-3);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;line-height:var(--line-body);cursor:pointer}.sweet-idea:hover,.sweet-idea:focus-visible{border-color:var(--color-accent);outline:none}.sweet-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.sweet-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;padding:0 var(--space-5);min-height:var(--tap);font:inherit;font-weight:600;cursor:pointer;background:var(--color-accent);color:var(--color-accent-text)}.sweet-button-quiet{background:var(--color-surface-muted);color:var(--color-text);border:var(--border-width) solid var(--color-border)}.sweet-button[disabled]{opacity:.55;cursor:default}.sweet-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sweet-note-line{margin-top:var(--space-3);color:var(--color-text-muted);line-height:var(--line-body)}.deadline{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface)}.deadline-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.deadline-preset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;border:var(--border-width) solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);padding:0 var(--space-4);min-height:var(--tap);font:inherit;font-size:var(--text-sm);cursor:pointer}.deadline-preset[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-text);border-color:transparent}.deadline-preset[disabled]{opacity:.4;cursor:default}.deadline-body{display:grid;gap:var(--space-4);margin-top:var(--space-3);grid-template-columns:1fr}@media(min-width:420px){.deadline-body{grid-template-columns:1fr auto}}.deadline-month-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.deadline-month-label{font-weight:600;color:var(--color-text)}.deadline-step{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-lg);min-width:var(--tap);min-height:var(--tap);cursor:pointer}.deadline-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:var(--space-2)}.deadline-weekday{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);padding-bottom:var(--space-1)}.deadline-pad{aspect-ratio:1}.deadline-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);background:transparent;color:var(--color-text);font:inherit;font-size:var(--text-sm);aspect-ratio:1;cursor:pointer}.deadline-day[data-today]{box-shadow:inset 0 0 0 1px var(--color-border)}.deadline-day[data-chosen]{background:var(--color-accent);color:var(--color-accent-text)}.deadline-day[disabled]{opacity:.3;cursor:default}.deadline-day:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.deadline-slots{display:flex;flex-direction:column;gap:2px;max-height:232px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.deadline-slot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-size:var(--text-sm);min-height:var(--tap);padding:0 var(--space-4);cursor:pointer;white-space:nowrap}.deadline-slot[data-chosen]{background:var(--color-accent);color:var(--color-accent-text)}.deadline-slot:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.deadline-empty{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.deadline-chosen{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-text);display:flex;gap:var(--space-3);align-items:center}.deadline-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-accent);font:inherit;font-size:var(--text-sm);text-decoration:underline;cursor:pointer;padding:0}.cmd-pill{position:fixed;right:calc(env(safe-area-inset-right) + 14px);bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--tap) + var(--space-4));z-index:3;display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);border:var(--border-width) solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow)}.cmd-pill:active{transform:scale(.95)}.cmd-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.cmd-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;justify-content:center;align-items:flex-start;padding:calc(env(safe-area-inset-top) + 10vh) var(--space-4) var(--space-4);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cmd{width:100%;max-width:460px;border-radius:var(--radius-large);border:var(--border-width) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow);overflow:hidden}.cmd-input{width:100%;border:0;border-bottom:var(--border-width) solid var(--color-border);background:transparent;color:var(--color-text);font:inherit;padding:var(--space-4);min-height:var(--tap)}.cmd-input:focus-visible{outline:none;border-bottom-color:var(--color-accent)}.cmd-list{list-style:none;max-height:46vh;overflow-y:auto;overscroll-behavior:contain}.cmd-item{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;border:0;background:transparent;color:var(--color-text);font:inherit;padding:var(--space-3) var(--space-4);min-height:var(--tap);cursor:pointer}.cmd-item:hover,.cmd-item:focus-visible{background:var(--color-surface-muted);outline:none}.cmd-item-label{font-weight:600}.cmd-item-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.cmd-ask{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.cmd-ask-lead{margin:0;color:var(--color-text-muted)}.cmd-ask-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;min-height:var(--tap);padding:0 var(--space-4);font:inherit;font-weight:600;cursor:pointer;background:var(--color-accent);color:var(--color-accent-text)}.cmd-ask-button[disabled]{opacity:.55;cursor:default}.cmd-answer{margin:0;color:var(--color-text);line-height:var(--line-body)}.study-field{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.study-input{width:100%;padding:0 var(--space-3);min-height:var(--tap);border-radius:var(--radius);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.study-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.deck-list{display:flex;flex-direction:column;gap:var(--space-3)}.deck{padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.deck-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.deck-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight)}.deck-count{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.deck-blurb{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.deck-state{margin:var(--space-3) 0;font-size:var(--text-xs);color:var(--color-accent)}.session-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.session-quit{min-height:var(--tap);padding:0 var(--space-2);background:none;border:0;color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.session-head+.bar{margin-top:var(--space-3)}.session-head+.bar+.page-sub{margin-top:var(--space-2);font-variant-numeric:tabular-nums}.card-face{position:relative;margin-bottom:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow)}.card-question{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--line-tight)}.card-rule{margin:var(--space-4) 0;border:0;border-top:var(--border-width) solid var(--color-border)}.card-answer{font-size:var(--text-lg);line-height:var(--line-body)}.card-why{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.grades{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.grade{display:flex;flex-direction:column;gap:var(--space-1);min-height:var(--tap);padding:var(--space-3);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font:inherit;cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft)}.grade:active{transform:scale(.97)}.grade:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.grade-label{font-size:var(--text-base);line-height:var(--line-tight)}.grade-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.grade-again{box-shadow:inset 3px 0 0 var(--color-border)}.grade-good{box-shadow:inset 3px 0 0 var(--color-accent)}.grade-easy{box-shadow:inset 3px 0 0 var(--color-success)}.quiz-clock{position:absolute;top:var(--space-3);right:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.choices{display:flex;flex-direction:column;gap:var(--space-2)}.choice{min-height:var(--tap);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font:inherit;font-size:var(--text-sm);line-height:var(--line-body);text-align:left;cursor:pointer}.choice:active{transform:scale(.99)}.choice:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.choice:disabled{cursor:default}.choice-right{border-color:var(--color-success);box-shadow:inset 3px 0 0 var(--color-success)}.choice-wrong{border-color:var(--color-danger);box-shadow:inset 3px 0 0 var(--color-danger)}.choice-past{opacity:.5}.choices+.card-why{margin-top:var(--space-4)}.card-why+.primary{margin-top:var(--space-4)}.sheet+.primary{margin-top:var(--space-4)}.shell-standalone{padding-bottom:var(--space-6)}.standalone-foot{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-border)}.standalone-warn{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-muted);border-radius:var(--radius);font-size:var(--text-sm);color:var(--color-text);line-height:var(--line-body)}.standalone-foot .row{margin-top:var(--space-3)}.standalone-note{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-success)}.standalone-about{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.cycle-panel{margin-top:var(--stack)}.cycle-panel-title{display:flex;align-items:center;gap:var(--space-2)}.cycle-panel-title .icon{color:var(--color-accent)}.cycle-panel .cal-head{margin-top:var(--space-4)}.cycle-panel .cal-grid{margin-left:0;margin-right:0}.activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.activity{display:grid;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-large);border:var(--border-width) solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-decoration:none;min-height:var(--tap);transition:transform var(--motion-fast) var(--ease-soft),background-color var(--motion-fast) var(--motion-easing)}.activity:active{transform:scale(.985)}.activity:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.activity:hover{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface))}.activity-glyph{font-size:var(--text-xl);color:var(--color-accent)}.activity-name{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight)}.activity-hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.breathe{text-align:center}.breathe-stage{position:relative;display:grid;place-items:center;height:240px;margin:var(--space-4) 0}.breathe-circle{position:absolute;width:200px;height:200px;border-radius:50%;background:color-mix(in srgb,var(--color-accent) 22%,transparent);border:2px solid var(--color-accent);transition:transform 80ms linear}.breathe-stage[data-still=true] .breathe-circle{transform:scale(.8)!important;transition:none}.breathe-words{position:relative;display:grid;gap:var(--space-1)}.breathe-phase{font-family:var(--font-display);font-size:var(--text-xl)}.breathe-count{font-size:var(--text-3xl);line-height:1;color:var(--color-accent)}.breathe-cycles{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.reflect-input{min-height:120px;resize:vertical;line-height:var(--line-body)}.reflect-prompt{text-transform:none;text-align:left}.reflect-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.reflect-entry{border-radius:var(--radius);background:var(--color-surface-muted);overflow:hidden}.reflect-head{width:100%;display:grid;gap:var(--space-1);padding:var(--space-3);min-height:var(--tap);background:transparent;border:0;color:var(--color-text);text-align:left;cursor:pointer}.reflect-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.reflect-day{font-size:var(--text-xs);color:var(--color-text-muted)}.reflect-preview{font-size:var(--text-sm);line-height:var(--line-body)}.reflect-shared{font-size:var(--text-xs);color:var(--color-accent)}.reflect-body{padding:0 var(--space-3) var(--space-3)}.reflect-question{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.reflect-text{font-size:var(--text-base);line-height:var(--line-body);white-space:pre-wrap}.reflect-body .row{margin-top:var(--space-3)}.chip-danger{border-color:var(--color-danger);color:var(--color-danger)}.first-aid-signpost{border-color:var(--color-accent)}.first-aid-head{width:100%;display:grid;gap:var(--space-1);min-height:var(--tap);background:transparent;border:0;color:var(--color-text);text-align:left;cursor:pointer}.first-aid-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.first-aid-steps{margin-top:var(--space-4);padding-left:var(--space-5);display:grid;gap:var(--space-3)}.first-aid-step{display:grid;gap:var(--space-1)}.first-aid-step-title{font-size:var(--text-base)}.first-aid-step-body{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.bed-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.bed-button{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name state" "blurb state";align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3);min-height:var(--tap);border-radius:var(--radius);border:var(--border-width) solid transparent;background:var(--color-surface-muted);color:var(--color-text);text-align:left;cursor:pointer}.bed-button[data-playing=true]{border-color:var(--color-accent)}.bed-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bed-name{grid-area:name;font-size:var(--text-base)}.bed-blurb{grid-area:blurb;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.bed-state{grid-area:state;font-size:var(--text-sm);color:var(--color-text-muted)}.bed-button[data-playing=true] .bed-state{color:var(--color-accent)}.bed-volume{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.bed-volume input{width:100%;accent-color:var(--color-accent);min-height:var(--tap)}.move-now{display:grid;gap:var(--space-1);margin:var(--space-4) 0;text-align:center}.move-name{font-family:var(--font-display);font-size:var(--text-xl)}.move-count{font-size:var(--text-3xl);line-height:1;color:var(--color-accent)}.move-how{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--line-body)}.move-chip{text-transform:none}.move-list{list-style:none;margin-top:var(--space-4);display:grid;gap:var(--space-1)}.move-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);color:var(--color-text-muted)}.move-row[data-state=now]{background:color-mix(in srgb,var(--color-accent) 16%,transparent);color:var(--color-text)}.move-row[data-state=done]{opacity:.5;text-decoration:line-through}.quiz-list{list-style:none;display:grid;gap:var(--space-2)}.quiz-pick{width:100%;display:grid;gap:var(--space-1);padding:var(--space-3);min-height:var(--tap);border-radius:var(--radius);border:0;background:var(--color-surface-muted);color:var(--color-text);text-align:left;cursor:pointer}.quiz-pick:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.quiz-name{font-size:var(--text-base)}.quiz-blurb{font-size:var(--text-xs);color:var(--color-text-muted)}.quiz-option{text-transform:none;text-align:left}.timer{text-align:center}.timer-face{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;line-height:1;margin:var(--space-5) 0;color:var(--color-accent)}.kind-today{font-size:var(--text-lg);line-height:var(--line-body);margin:var(--space-3) 0 var(--space-4)}.kind-list{list-style:none;display:grid;gap:var(--space-2);margin-top:var(--space-3)}.kind-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted)}.kind-text{flex:1 1 auto;font-size:var(--text-sm);line-height:var(--line-body)}.kind-send{flex:0 0 auto;min-height:var(--tap);padding:0 var(--space-3);border-radius:999px;border:var(--border-width) solid var(--color-border);background:transparent;color:var(--color-accent);font-size:var(--text-sm);cursor:pointer}.kind-send:disabled{color:var(--color-text-muted);cursor:default}.kind-send:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.kind-quiet{flex:0 0 auto;font-size:var(--text-xs);color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.place-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.place{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted)}.place[data-locked=true]{opacity:.5}.place-body{flex:1 1 auto;min-width:0}.place-name{font-size:var(--text-base);display:flex;align-items:center;gap:var(--space-2)}.place-been{color:var(--color-success);font-size:var(--text-sm)}.place-blurb{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body);margin-top:var(--space-1)}.place-go{flex:0 0 auto;min-width:var(--tap);min-height:var(--tap);padding:0 var(--space-3);border-radius:999px;border:var(--border-width) solid var(--color-border);background:transparent;color:var(--color-accent);font-size:var(--text-sm);white-space:nowrap;cursor:pointer}.place-go:disabled{color:var(--color-text-muted);cursor:default}.place-go:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.place-go:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.house{position:relative;margin-top:var(--space-4);border-radius:var(--radius-large);overflow:hidden}.house-scene{display:block;width:100%;height:auto}.house-birb{position:absolute;left:28%;top:40%;width:44%;height:44%}.house-list{display:grid;gap:2px;margin:var(--space-3) 0 0;padding:0;list-style:none}.house-line{display:grid;grid-template-columns:5rem 1fr;align-items:baseline;padding:var(--space-1) 0;font-size:var(--text-sm)}.house-line-slot{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.decor-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.decor{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted)}.decor-art{flex:0 0 auto;width:46px;height:46px}.decor-art svg{width:100%;height:100%}.decor-body{flex:1 1 auto;min-width:0;display:grid}.decor-name{font-size:var(--text-sm)}.decor-blurb{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.decor-buy{flex:0 0 auto;min-width:var(--tap);min-height:var(--tap);padding:0 var(--space-3);border-radius:999px;border:var(--border-width) solid var(--color-border);background:transparent;color:var(--color-text);border-color:var(--color-accent);font-size:var(--text-sm);cursor:pointer}.decor-buy:disabled{color:var(--color-text-muted);cursor:default}.decor-buy:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.decor-buy:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dye-grid,.costume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-3);list-style:none;margin-top:var(--space-4)}.dye-button,.costume-button{width:100%;display:grid;justify-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) var(--motion-easing)}.dye-button:active,.costume-button:active{transform:scale(.96)}.dye-button:focus-visible,.costume-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dye-button[data-worn=true],.costume-button[data-worn=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.dye-button:disabled,.costume-button:disabled{cursor:default}.dye-button:disabled[data-worn=false],.costume-button:disabled[data-worn=false]{opacity:.45}.dye-art,.costume-art{width:62px;height:62px;display:block}.dye-art svg,.costume-art svg{width:100%;height:100%}.dye-name,.costume-name{font-size:var(--text-xs);text-align:center;line-height:var(--line-tight)}.dye-state,.costume-state{font-size:var(--text-xs);color:var(--color-text-muted)}.dye-button[data-worn=true] .dye-state,.costume-button[data-worn=true] .costume-state{color:var(--color-accent)}.area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.area-tile{display:grid;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-large);border:var(--border-width) solid var(--color-border);background:color-mix(in srgb,var(--color-accent) calc(var(--area-fill, 0%) * .18),var(--color-surface));color:var(--color-text);text-decoration:none;transition:transform var(--motion-fast) var(--ease-soft),background-color var(--motion-medium) var(--motion-easing)}.area-tile:active{transform:scale(.985)}.area-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.area-glyph{font-size:var(--text-xl);color:var(--color-accent)}.area-name{font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--line-tight)}.area-count{font-size:var(--text-xs);color:var(--color-text-muted)}.area-blurb{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.area-bar{margin-top:var(--space-2);height:4px;border-radius:999px;background:color-mix(in srgb,var(--color-text) 12%,transparent);overflow:hidden}.area-bar i{display:block;height:100%;border-radius:999px;background:var(--color-accent);transition:width var(--motion-slow) var(--ease-soft)}.goal-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.goal-actions .primary{flex:0 0 auto}.goal-link{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;min-height:var(--tap);display:inline-flex;align-items:center}.goal-link:hover,.goal-link:focus-visible{color:var(--color-accent)}.section-title .goal-area-glyph{color:var(--color-accent);margin-right:var(--space-2);vertical-align:-.1em}.idea-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.idea{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted)}.idea-body{flex:1 1 auto;min-width:0}.idea-title{font-size:var(--text-base);line-height:var(--line-body)}.idea-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.idea-area{display:inline-flex;align-items:center;gap:var(--space-1)}.idea-difficulty{text-transform:capitalize}.idea-add{flex:0 0 auto;width:var(--tap);height:var(--tap);border-radius:999px;border:var(--border-width) solid var(--color-border);background:transparent;color:var(--color-accent);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--ease-soft)}.idea-add:hover{background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.idea-add:active{transform:scale(.92)}.idea-add:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes settle-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes bar-sheen{0%{transform:translate(-100%)}to{transform:translate(220%)}}.page>.page-head{animation:rise-in var(--motion-medium) var(--ease-soft) both}.page>*{animation:settle-in var(--motion-medium) var(--ease-soft) both}.page>*:nth-child(1){animation-delay:40ms}.page>*:nth-child(2){animation-delay:80ms}.page>*:nth-child(3){animation-delay:.12s}.page>*:nth-child(4){animation-delay:.16s}.page>*:nth-child(5){animation-delay:.2s}.page>*:nth-child(n+6){animation-delay:.24s}.sheet,.panel,.task-section{transition:transform var(--motion-fast) var(--motion-easing),border-color var(--motion-medium) var(--motion-easing)}@media(hover:hover)and (pointer:fine){.sheet:hover,.panel:hover,.task-section:hover{border-color:color-mix(in srgb,var(--color-accent) 32%,var(--color-border))}}.chip{transition:transform var(--motion-fast) var(--ease-soft),background-color var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing)}.chip:active{transform:scale(.94)}.chip-on{transform:scale(1.04)}.primary{transition:transform var(--motion-fast) var(--ease-soft),opacity var(--motion-fast) var(--motion-easing),box-shadow var(--motion-medium) var(--motion-easing)}.bar{position:relative}.bar-fill{position:relative;overflow:hidden}.bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--glass),transparent);animation:bar-sheen 2.6s var(--motion-easing) infinite}.bar-fill:not(.bar-fill-accent):after{animation:none;content:none}:root[data-calm=true] .bar-fill:after{animation:none;content:none}:root[data-calm=true] .chip-on{transform:none}:root[data-calm=true] .page>*,:root[data-calm=true] .page>.page-head{animation-delay:0ms}@media(prefers-reduced-motion:reduce){.bar-fill:after{animation:none;content:none}.page>*,.page>.page-head{animation-delay:0ms}.chip-on{transform:none}}.asset-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:var(--space-3)}.asset-total{display:flex;flex-direction:column;gap:2px}.asset-total-value{font-family:var(--font-display);font-size:var(--text-xl);line-height:var(--line-tight);font-variant-numeric:tabular-nums}.asset-total-label{font-size:var(--text-sm);color:var(--color-text-muted)}.asset-total-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.asset-shop-note{margin:var(--space-4) 0 0}.asset-shop-note a{color:var(--color-accent)}.gear-board{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-3);align-items:center}@media(max-width:359px){.gear-board{grid-template-columns:1fr}}.gear-grid,.gear-side{display:grid;gap:var(--space-3);list-style:none;padding:0;margin:0}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-slot{height:100%}.gear-slot-name{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}div.gear-slot{cursor:default}div.gear-slot:active{transform:none}.asset-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;min-height:var(--tap);padding:var(--space-3) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:inherit;font:inherit;cursor:pointer;text-align:center;transition:transform var(--motion-fast) var(--ease-soft),border-color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing)}.asset-card:active{transform:scale(.96)}.asset-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.asset-card[data-worn=true]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-muted))}.asset-card[data-locked=true]:not([data-worn=true]){opacity:.55}.asset-card-art{display:block;width:44px;height:44px}.asset-card-art svg{width:100%;height:100%}.asset-card-name{font-size:var(--text-sm);line-height:var(--line-tight)}.asset-card-meta{font-size:var(--text-xs);color:var(--color-text-muted)}.wellness-note{margin-top:var(--space-4);padding:var(--space-1) 0 var(--space-1) var(--space-3);border-left:3px solid color-mix(in srgb,var(--color-accent) 55%,var(--color-surface))}.wellness-note-lane{margin:0 0 2px;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.wellness-note-text{margin:0;font-size:var(--text-base);line-height:var(--line-body)}.wellness-note-by,.wellness-note-small{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.asset-card-stat{font-size:var(--text-xs);color:var(--color-accent);font-variant-numeric:tabular-nums}.asset-card-flag{font-size:var(--text-xs);color:var(--color-accent)}.asset-card-flag-locked{color:var(--color-text-muted)}.asset-done{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.gear-sheet{position:fixed;z-index:var(--z-sheet);left:max(env(safe-area-inset-left),var(--space-2));right:max(env(safe-area-inset-right),var(--space-2));bottom:calc(env(safe-area-inset-bottom) + var(--tabbar-h) + var(--space-2));max-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom) - env(safe-area-inset-top) - var(--space-7));overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow);transform-origin:bottom center;animation:menu-in var(--motion-medium) var(--ease-soft)}@media(min-width:768px){.gear-sheet{left:50%;right:auto;width:min(440px,calc(100vw - 2 * var(--space-4)));translate:-50% 0}}.gear-sheet-sub{margin:var(--space-2) 0 0;font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.gear-detail{display:flex;flex-direction:column;gap:var(--space-2)}.gear-face{display:flex;align-items:center;gap:var(--space-3);min-width:0}.gear-face .asset-card-art{flex-shrink:0}.gear-face-text{display:flex;flex-direction:column;gap:2px;min-width:0}.gear-swap{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.gear-swap-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--color-border)}.gear-swap-row:last-child{border-bottom:none}.gear-swap-row .gear-face{flex:1}.gear-swap-row .quiet{width:auto;flex-shrink:0;margin-top:0}.gear-swap-delta{flex-shrink:0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.gear-swap-delta[data-up]{color:var(--color-success)}.asset-done-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--color-border)}.asset-done-row:last-child{border-bottom:none}.asset-done-title{min-width:0;font-size:var(--text-sm);line-height:var(--line-body)}.asset-done-when,.asset-streak{flex-shrink:0;font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.asset-streak{color:var(--color-accent)}.github-note{margin:var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border);font-size:var(--text-sm);line-height:var(--line-body)}.github-note[data-problem=true]{border-color:var(--color-danger)}.github-account{margin:var(--space-3) 0;font-size:var(--text-sm);line-height:var(--line-body)}.github-fineprint{margin-top:var(--space-3);font-size:var(--text-xs);line-height:var(--line-body);color:var(--color-text-muted)}.recovery-provider+.recovery-provider{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width) solid var(--color-border)}.welcome-recover{display:block;margin-top:var(--space-4);text-align:center;text-decoration:none}.quest-icon{display:block;width:100%;height:100%}.quest-mark,.task-mark{display:block;flex-shrink:0;width:20px;height:20px;color:var(--color-accent)}.quest-head,.quest-offer{align-items:center}.quest-offer-name{flex:1;min-width:0}.quest-offer .quest-mark{color:var(--color-accent)}.quest-name{flex:1;min-width:0}.task-heading{display:flex;align-items:center;gap:var(--space-2)}.task-mark{width:18px;height:18px}.feed{margin-top:var(--stack)}.feed-compose{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.feed-chip{min-height:40px;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer}.feed-chip:disabled{opacity:.45;cursor:default}.feed-milestone{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.feed-milestone .field{flex:1;min-width:12rem}.feed-list{list-style:none;margin-top:var(--space-3)}.feed-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--color-border)}.feed-row:last-child{border-bottom:none}.feed-body{flex:1;min-width:0;display:grid;gap:2px}.feed-who{font-size:var(--text-sm);color:var(--color-text-muted)}.feed-line{color:var(--color-text)}.feed-cheer{flex-shrink:0;min-width:44px;min-height:40px;padding:0 var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer}.feed-cheer-on{background:color-mix(in srgb,var(--color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent);color:var(--color-accent)}.feed-cheer:disabled{cursor:default}.feed-cheer:disabled:not(.feed-cheer-on){opacity:.35}.support-lane+.support-lane{margin-top:var(--stack)}.support-quote{margin-top:var(--space-2);color:var(--color-text-muted);font-style:italic}.support-by{font-style:normal}.support-list{list-style:none;margin-top:var(--space-3)}.support-row{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--color-border)}.support-row:last-child{border-bottom:none}.support-kind{flex-shrink:0;width:3rem;font-size:var(--text-sm);color:var(--color-accent)}.support-text{flex:1;min-width:0}.set-choices{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.overworld-stage{display:flex;justify-content:center;margin:var(--space-3) 0;min-height:40vh}.overworld-stage canvas{max-width:100%;height:auto;border:var(--border-width) solid var(--color-border);border-radius:var(--radius);image-rendering:pixelated}.overworld-hint{margin-top:var(--space-2)}.encounter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-3);background:color-mix(in srgb,var(--color-base) 62%,transparent)}.encounter-card{width:min(32rem,100%);max-height:90vh;overflow-y:auto;padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius)}.encounter-head h2{margin:0}.encounter-blurb{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm)}.encounter-vigour{margin:var(--space-3) 0;font-size:var(--text-sm);color:var(--color-accent)}.encounter-vigour.is-plain{color:var(--color-text-muted)}.encounter-bars{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.encounter-bar{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.encounter-bar-label{flex-shrink:0;width:8rem}.encounter-bar-track{flex:1;height:.6rem;border-radius:999px;background:var(--color-surface-muted);overflow:hidden}.encounter-bar-fill{display:block;height:100%;background:var(--color-accent);transition:width var(--motion-medium) var(--motion-easing)}.encounter-bar.is-them .encounter-bar-fill{background:var(--color-text-muted)}.encounter-bar-count{flex-shrink:0;width:5rem;text-align:right;color:var(--color-text-muted)}.encounter-log{margin:var(--space-3) 0;padding:0;list-style:none;font-size:var(--text-sm)}.encounter-log li{padding:var(--space-1) 0}.encounter-log li.is-them{color:var(--color-text-muted)}.encounter-actions,.encounter-done{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.encounter-done{flex-direction:column;align-items:flex-start}.encounter-receipt{margin:0;color:var(--color-accent);font-size:var(--text-sm)}.garden{position:relative}.garden-top{display:flex;justify-content:flex-start;margin-bottom:var(--space-2)}.garden-compass{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:color-mix(in srgb,var(--color-surface) 88%,transparent);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--motion-easing)}.garden-compass:hover,.garden-compass:focus-visible{border-color:var(--color-accent)}.garden-compass.is-dark{background:color-mix(in srgb,var(--color-base) 78%,transparent)}.garden-compass-rose{font-size:var(--text-lg);color:var(--color-accent)}.garden-compass-text{display:flex;flex-direction:column;gap:2px;min-width:0}.garden-compass-where{font-family:var(--font-display);letter-spacing:var(--font-display-tracking);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garden-compass-stage{color:var(--color-text-muted)}.garden-compass-boss{font-size:var(--text-xs);color:var(--color-text-muted)}.garden-compass-bar{display:block;width:9rem;max-width:40vw;height:4px;border-radius:2px;background:var(--color-surface-muted);overflow:hidden}.garden-compass-fill{display:block;height:100%;background:var(--color-accent);transition:width var(--motion-medium) var(--motion-easing)}.garden-compass-percent{margin-left:auto;font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.garden-stage{display:flex;justify-content:center;min-height:34vh}.garden-stage canvas{max-width:100%;height:auto;border:var(--border-width) solid var(--color-border);border-radius:var(--radius);image-rendering:pixelated}.garden-stage-wrap{position:relative;display:grid;gap:var(--space-3)}.garden-stage-box{display:grid;gap:var(--space-2)}.garden-dpad{justify-self:end;display:grid;grid-template-columns:repeat(3,2.75rem);grid-template-rows:repeat(3,2.75rem);grid-template-areas:". up ." "left . right" ". down .";touch-action:none;user-select:none;-webkit-user-select:none}.garden-dpad button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1rem;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);box-shadow:none}.garden-dpad button:active{background:var(--color-surface-muted)}.garden-dpad button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.garden-dpad-up{grid-area:up}.garden-dpad-left{grid-area:left}.garden-dpad-right{grid-area:right}.garden-dpad-down{grid-area:down}@media(forced-colors:active){.garden-dpad button{border-color:ButtonText}}.garden-battle{display:grid;gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.garden-foe-name{margin:0;font-family:var(--font-display);letter-spacing:var(--font-display-tracking);font-size:var(--text-base)}.garden-foe-kind,.garden-foe-note{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.garden-bar{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.garden-bar-label{color:var(--color-text-muted)}.garden-bar-track{height:8px;border-radius:4px;background:var(--color-surface-muted);overflow:hidden}.garden-bar-fill{display:block;height:100%;transition:width var(--motion-medium) var(--motion-easing)}.garden-bar-you .garden-bar-fill{background:var(--color-accent)}.garden-bar-foe .garden-bar-fill{background:var(--color-text-muted)}.garden-bar-value{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.garden-effects{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--color-text-muted)}.garden-effects li{padding:2px var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted)}.garden-log{max-height:9rem;margin:0;padding:0 0 0 var(--space-3);overflow-y:auto;font-size:var(--text-sm);line-height:var(--line-body)}.garden-log li{margin-bottom:2px}.garden-log .is-them{color:var(--color-text-muted)}.garden-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(6.5rem,1fr);gap:var(--space-3);align-items:start}.garden-actions{display:grid;gap:var(--space-2);min-width:0}.garden-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.garden-action{display:flex;flex-direction:column;gap:2px;width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing)}.garden-action:hover:not(:disabled),.garden-action:focus-visible{border-color:var(--color-accent)}.garden-action:active:not(:disabled){transform:translateY(1px)}.garden-action:disabled{opacity:.55;cursor:default}.garden-action-name{font-weight:600;overflow-wrap:anywhere}.garden-action-note{font-size:var(--text-sm);color:var(--color-text-muted)}.garden-action-list .is-wide{grid-column:1 / -1}.garden-action-boost{display:block;height:4px;margin-top:var(--space-1);border-radius:999px;background:linear-gradient(to right,var(--color-accent) var(--boost, 0%),var(--color-surface-muted) var(--boost, 0%))}.garden-action.is-strong .garden-action-boost{background:linear-gradient(to right,var(--color-success) var(--boost, 0%),var(--color-surface-muted) var(--boost, 0%))}@media(max-width:420px){.garden-action{padding:var(--space-2)}.garden-action-name{font-size:var(--text-sm)}.garden-action-note{font-size:var(--text-xs)}}.garden-action.is-strong{border-color:var(--color-success)}.garden-action.is-physical{box-shadow:inset 3px 0 0 var(--color-danger)}.garden-action.is-defensive{box-shadow:inset 3px 0 0 var(--color-success)}.garden-action.is-magic{box-shadow:inset 3px 0 0 var(--color-accent)}.garden-action.is-mend{box-shadow:inset 3px 0 0 var(--color-text-muted)}.garden-action.is-charged .garden-action-note{color:var(--color-text)}.garden-meter{display:grid;gap:var(--space-1);padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:0}.garden-meter-head{display:flex;justify-content:space-between;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.garden-meter-count{color:var(--color-text)}.garden-meter-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}.garden-meter-earned{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px dashed var(--color-border)}.garden-meter-seg{position:relative;display:flex;align-items:center;min-height:1.35rem;padding:0 var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);overflow:hidden;font-size:var(--text-xs)}.garden-meter-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleX(0);transform-origin:left center;background:var(--color-accent);transition:transform var(--motion-medium) var(--ease-soft)}.garden-meter-seg[data-on] .garden-meter-fill{transform:scaleX(1)}.garden-meter-seg[data-on]{color:var(--color-accent-text);font-weight:600}.garden-meter-label{position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garden-meter-seg[data-answer]{outline:1px solid var(--color-success)}.garden-meter-seg[data-answer][data-on]{color:var(--color-base)}.garden-meter-seg[data-answer][data-on] .garden-meter-fill{background:var(--color-success);animation:garden-meter-pulse 2.4s ease-in-out infinite}@keyframes garden-meter-pulse{0%,to{filter:none}50%{filter:brightness(1.12)}}.garden-meter-note{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-tight)}:root[data-calm=true] .garden-meter-seg .garden-meter-fill{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.garden-meter-seg .garden-meter-fill{animation:none;transition:none}}.garden-action.is-locked{opacity:.4}.garden-flee{justify-self:start;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text-muted);font:inherit;cursor:pointer}.garden-flee:disabled{opacity:.5;cursor:default}.garden-actions-hint,.garden-note{margin-top:var(--space-2)}.garden-note-fault{padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:color-mix(in srgb,var(--color-text) 7%,transparent);border-inline-start:3px solid var(--color-accent);font-size:var(--text-sm);line-height:var(--line-body);color:var(--color-text-muted)}.garden-note-title{font-weight:600;color:var(--color-text)}.garden-note-retry{display:inline-block;margin-inline-start:var(--space-2)}.garden-map-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-3);background:color-mix(in srgb,var(--color-base) 70%,transparent)}.garden-map{width:min(28rem,100%);max-height:80vh;overflow-y:auto;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow)}.garden-map-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.garden-map-head h2{margin:0;font-family:var(--font-display);letter-spacing:var(--font-display-tracking);font-size:var(--text-lg)}.garden-map-close{min-width:var(--tap);min-height:var(--tap);border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer}.garden-map-list{display:grid;gap:var(--space-2);margin:var(--space-3) 0;padding:0;list-style:none}.garden-map-island{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.garden-map-island:disabled{opacity:.45;cursor:default}.garden-map-island.is-here{border-color:var(--color-accent)}.garden-map-island.is-done .garden-map-number{color:var(--color-success)}.garden-map-number{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text-muted)}.garden-map-name{display:grid;gap:2px}.garden-map-note,.garden-map-element,.garden-map-foot{font-size:var(--text-sm);color:var(--color-text-muted)}.garden-map-foot{margin:0;line-height:var(--line-body)}.garden-victory{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-3);pointer-events:none}.garden-victory-card{width:min(24rem,100%);margin-top:var(--shell-top, var(--space-3));padding:var(--space-3);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow);pointer-events:auto;animation:garden-drop var(--motion-medium) var(--motion-easing)}.garden-victory-card h2{margin:0 0 var(--space-2);font-family:var(--font-display);letter-spacing:var(--font-display-tracking);font-size:var(--text-lg)}.garden-victory-card p{margin:0 0 var(--space-1);font-size:var(--text-sm);line-height:var(--line-body)}.garden-victory-xp{color:var(--color-accent);font-weight:600}.garden-victory-go{margin-top:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font:inherit;font-weight:600;cursor:pointer}@keyframes garden-drop{0%{opacity:0;transform:translateY(-.75rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.garden-victory-card{animation:none}}.raid-gate{display:grid;gap:var(--space-4);min-height:60vh;align-content:space-between}.raid-gate-scene{position:relative;min-height:min(52vh,24rem);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);overflow:hidden;background:var(--color-base)}.raid-gate-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.raid-gate-layer{transform-origin:50% 100%}.raid-gate-layer-far{animation:gate-drift-far 34s ease-in-out infinite alternate}.raid-gate-layer-mid{animation:gate-drift-mid 22s ease-in-out infinite alternate}.raid-gate-layer-near{animation:gate-drift-near 15s ease-in-out infinite alternate}@keyframes gate-drift-far{0%{transform:translate(-.4%)}to{transform:translate(.4%)}}@keyframes gate-drift-mid{0%{transform:translate(-1%)}to{transform:translate(1%)}}@keyframes gate-drift-near{0%{transform:translate(-2%)}to{transform:translate(2%)}}.raid-gate-tether{animation:gate-pulse 4.5s ease-in-out infinite}@keyframes gate-pulse{0%,to{opacity:.75}50%{opacity:1}}.raid-gate-boss{position:relative;display:grid;grid-template-columns:minmax(7rem,11rem) 1fr;align-items:end;gap:var(--space-3);height:100%;min-height:inherit;padding:var(--space-4)}.raid-gate-boss-figure{display:grid;place-items:end center;align-self:stretch}.raid-gate-boss-sprite{width:clamp(6.5rem,24vw,11rem);height:auto;aspect-ratio:1;image-rendering:pixelated;filter:drop-shadow(0 .4rem .6rem color-mix(in srgb,var(--color-base) 60%,transparent));animation:gate-boss-breathe 4s ease-in-out infinite}@keyframes gate-boss-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-.2rem)}}.raid-gate-boss-card{display:grid;gap:var(--space-1);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 90%,transparent)}.raid-gate-boss-island{font-size:var(--text-xs);color:var(--color-text-muted)}.raid-gate-boss-name{font-family:var(--font-display);font-weight:var(--font-display-weight, 400);font-size:var(--text-lg);line-height:var(--line-tight)}.raid-gate-boss-stats{display:flex;flex-wrap:wrap;gap:var(--space-1)}.raid-gate-boss-stats span{padding:1px var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);font-size:var(--text-xs)}.raid-gate-boss-stats span:nth-child(2){outline:1px solid var(--color-success)}.raid-gate-boss-hint{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.raid-gate-together{display:grid;gap:var(--space-2);justify-items:center;text-align:center;padding:var(--space-3);border-radius:var(--radius);background:var(--color-surface-muted);border:1px solid var(--color-border)}.raid-gate-together[data-present=true]{border-color:var(--color-success)}.raid-gate-pair{display:flex;align-items:center;gap:var(--space-2)}.raid-gate-pair-dot{padding:2px var(--space-3);border-radius:999px;font-size:var(--text-sm);border:1px dashed var(--color-border);color:var(--color-text-muted)}.raid-gate-pair-dot[data-lit=true]{border-style:solid;border-color:var(--color-success);color:var(--color-text);font-weight:600}.raid-gate-pair-line{width:40px;height:2px;background:var(--color-border)}.raid-gate-together[data-present=true] .raid-gate-pair-line{background:var(--color-success)}.raid-gate-together-line{font-size:var(--text-sm);color:var(--color-text);line-height:var(--line-body)}.raid-gate-bonus{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1);margin:0;padding:0;list-style:none}.raid-gate-bonus li{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface);border:1px dashed var(--color-border)}.raid-gate-bonus li[data-lit=true]{color:var(--color-text);border-style:solid;border-color:var(--color-success)}@media(max-width:520px){.raid-gate-boss{grid-template-columns:1fr;justify-items:center}.raid-gate-boss-sprite{width:clamp(6.5rem,34vw,9rem)}.raid-gate-boss-card{width:100%}}.raid-gate-roster{display:flex;gap:var(--space-2);padding-bottom:var(--space-1);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.raid-gate-roster::-webkit-scrollbar{display:none}.raid-gate-pedestal{flex:0 0 auto;scroll-snap-align:center;display:grid;justify-items:center;gap:var(--space-1);width:9.5rem;padding:var(--space-2) 0 0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;transition:transform var(--motion-medium) var(--ease-soft),opacity var(--motion-fast) linear}.raid-gate-pedestal[data-unavailable]{opacity:.45;cursor:not-allowed}.raid-gate-pedestal:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius)}.raid-gate-figure{display:block;width:4.5rem;height:4.5rem;transition:transform var(--motion-medium) var(--ease-soft)}.raid-gate-figure svg{width:100%;height:100%}.raid-gate-pedestal[data-selected] .raid-gate-figure{transform:translateY(-.35rem) scale(1.12)}.raid-gate-plinth{display:block;width:4rem;height:.85rem;border-radius:50%;background:var(--color-surface-muted);box-shadow:0 0 0 0 var(--color-accent);transition:box-shadow var(--motion-medium) var(--ease-soft)}.raid-gate-pedestal[data-selected] .raid-gate-plinth{background:var(--color-accent);box-shadow:0 0 1.2rem .3rem var(--color-accent)}.raid-gate-card{display:grid;gap:2px;width:100%;padding:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 88%,transparent);text-align:left;transition:border-color var(--motion-fast) linear}.raid-gate-pedestal[data-selected] .raid-gate-card{border-color:var(--color-accent)}.raid-gate-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-1)}.raid-gate-name{font-weight:600;font-size:var(--text-sm)}.raid-gate-strong{align-self:flex-start;padding:0 var(--space-1);border:1px solid var(--color-accent);border-radius:999px;color:var(--color-text);font-size:var(--text-xs);font-weight:600}.raid-gate-bubbles{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.raid-gate-bubble{--fill: 0;display:inline-grid;justify-items:center;gap:2px}.raid-gate-bubble-value{display:grid;place-items:center;width:2.25rem;aspect-ratio:1;border-radius:50%;font-size:var(--text-xs);font-weight:600;background:radial-gradient(closest-side,var(--color-surface) 72%,transparent 74%),conic-gradient(var(--color-accent) calc(var(--fill) * 1turn),var(--color-surface-muted) 0)}.raid-gate-bubble-label{font-size:var(--text-xs);color:var(--color-text-muted)}.raid-gate-bubble-rank .raid-gate-bubble-value{width:1.75rem}.raid-gate-affinity{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.raid-gate-foot-bar{display:grid;gap:var(--space-3)}.raid-gate-words{display:grid;gap:var(--space-1)}.raid-gate-title{font-family:var(--font-display);font-weight:var(--font-display-weight, 400);letter-spacing:var(--font-display-tracking, 0);font-size:var(--text-xl);line-height:var(--line-tight)}.raid-gate-greeting{font-size:var(--text-sm);line-height:var(--line-body)}.raid-gate-refused{font-size:var(--text-xs)}.raid-gate-refused{color:var(--color-danger)}.raid-gate-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.raid-gate-enter{flex:1 1 12rem;min-height:var(--tap);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font:inherit;font-weight:600;cursor:pointer}.raid-gate-enter:disabled{opacity:.5;cursor:not-allowed}.raid-gate-back{min-height:var(--tap);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:none;color:var(--color-text-muted);font:inherit;cursor:pointer}.home-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-scene);pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--color-accent) 7%,var(--color-base)) 0,var(--color-base) 55%)}.home-scene .garden-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0}@media(orientation:portrait)and (max-width:640px){.home-scene .garden-backdrop{inset:auto 0 0 auto;left:50%;height:62svh;width:calc(62svh * 400 / 240);transform:translate(-70.5%)}.home-mascot-standalone{width:min(38vw,170px);height:min(38vw,170px);margin:max(var(--space-5),calc(58svh - 90px)) auto var(--space-6) 6vw}}.home-scene-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,var(--scrim) 0,transparent 28%,transparent 64%,var(--scrim) 100%)}.home-scene[data-calm=true] .garden-layer-sky,.home-scene[data-calm=true] .garden-layer-mid,.home-scene[data-calm=true] .garden-layer-near,.home-scene[data-calm=true] .garden-layer-fore,.home-scene[data-calm=true] .garden-tether,.home-scene[data-calm=true] .garden-rain,.home-scene[data-calm=true] .garden-tree-canopy,.home-scene[data-calm=true] .garden-tree-leaf,.home-scene[data-calm=true] .garden-tree-shaft{animation:none}.garden-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;border-radius:var(--radius);pointer-events:none}.garden-stage-wrap>*:not(.garden-backdrop){position:relative;z-index:1}.garden-layer-sky{animation:gate-drift-far 40s ease-in-out infinite alternate}.garden-layer-mid{animation:gate-drift-mid 26s ease-in-out infinite alternate}.garden-layer-near{animation:gate-drift-near 18s ease-in-out infinite alternate}.garden-layer-fore{animation:garden-drift-fore 12s ease-in-out infinite alternate}@keyframes garden-drift-fore{0%{transform:translate(-3.2%)}to{transform:translate(3.2%)}}.garden-tether{animation:gate-pulse 5s ease-in-out infinite}.garden-rain{animation:garden-rain-fall 1.1s linear infinite}.garden-tree-canopy{transform-box:view-box;transform-origin:308px 158px;animation:garden-tree-sway 9s ease-in-out infinite alternate}@keyframes garden-tree-sway{0%{transform:rotate(-.55deg)}to{transform:rotate(.55deg)}}.garden-tree-leaf{transform-box:fill-box;transform-origin:0 50%;animation:garden-tree-flutter 3.4s ease-in-out infinite alternate}@keyframes garden-tree-flutter{0%{opacity:.7}to{opacity:1}}.garden-tree-shaft{animation:garden-tree-shine 7s ease-in-out infinite alternate}@keyframes garden-tree-shine{0%{opacity:.45}to{opacity:1}}@keyframes garden-rain-fall{0%{transform:translateY(-14px)}to{transform:translateY(14px)}}.garden-companion{margin-left:auto;display:grid;gap:0;min-height:var(--tap);padding:var(--space-1) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;font:inherit;text-align:right;cursor:pointer}.garden-companion-name{font-weight:600;font-size:var(--text-sm)}.garden-companion-swap{font-size:var(--text-xs);color:var(--color-text-muted)}.garden-action-name,.garden-companion-swap,.garden-flee,.raid-gate-enter,.raid-gate-back{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1)}.garden-action-name{justify-content:flex-start}.garden-action-name .icon,.raid-gate-enter .icon{flex-shrink:0}.garden-meter-label .icon{display:inline-block;margin-left:2px;vertical-align:-.125em}.garden-flourish{position:absolute;top:var(--space-3);left:50%;z-index:2;margin:0;padding:var(--space-1) var(--space-3);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 90%,transparent);color:var(--color-accent);font-size:var(--text-sm);font-weight:600;pointer-events:none;animation:garden-flourish var(--motion-slow) var(--ease-soft) forwards}@keyframes garden-flourish{0%{opacity:0;transform:translate(-50%,.4rem)}40%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-.6rem)}}@media(prefers-reduced-motion:reduce){.raid-gate-layer,.raid-gate-tether,.raid-gate-boss-sprite,.garden-layer-sky,.garden-layer-mid,.garden-layer-near,.garden-layer-fore,.garden-tether,.garden-rain,.garden-tree-canopy,.garden-tree-leaf,.garden-tree-shaft,.garden-flourish{animation:none}.garden-flourish,.garden-tree-leaf,.garden-tree-shaft{opacity:1}}.chest-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-3);list-style:none;margin-top:var(--space-3)}.chest{display:grid;gap:var(--space-1);align-content:start;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.chest[data-floored]{border-color:var(--color-accent)}.chest-art{width:100%;height:auto;max-height:5rem}.chest-name{font-size:var(--text-base);font-weight:600}.chest-blurb,.chest-pool,.chest-pity,.chest-odds-foot{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.chest-pool{text-transform:uppercase;letter-spacing:.04em}.chest-pity[data-live]{color:var(--color-accent);font-weight:600}.chest-open{margin-top:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-text);font:inherit;font-weight:600;cursor:pointer}.chest-open:disabled{opacity:.5;cursor:not-allowed}.chest-odds-toggle{min-height:var(--space-6);padding:var(--space-1);border:none;background:none;color:var(--color-text-muted);font:inherit;font-size:var(--text-xs);text-decoration:underline;cursor:pointer}.chest-odds{display:grid;gap:var(--space-1)}.chest-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:center;justify-content:center;padding:var(--space-3);background:var(--scrim)}.chest-reveal-card{width:min(22rem,100%);max-height:100%;overflow-y:auto;display:grid;gap:var(--space-2);padding:var(--space-3);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-large);background:var(--color-surface);box-shadow:var(--shadow);text-align:center;animation:garden-drop var(--motion-medium) var(--motion-easing)}.chest-reveal-lid{position:relative;justify-self:center;width:6rem}.chest-reveal-art{transform-origin:50% 70%}.chest-reveal-burst{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;border-radius:50%;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);opacity:0;pointer-events:none}.chest-reveal-title{margin:0;font-family:var(--font-display);letter-spacing:var(--font-display-tracking);font-size:var(--text-lg)}.chest-reveal-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.chest-reveal-prize{display:grid;gap:2px;padding:var(--space-2);border-radius:var(--radius);background:var(--color-surface-muted);box-shadow:inset 3px 0 0 var(--tier-ring);text-align:left}.chest-reveal-prize-name{font-weight:600;font-size:var(--text-sm)}.chest-reveal-prize-kind{font-size:var(--text-xs);color:var(--color-text-muted)}.chest-reveal-prize-note{font-size:var(--text-xs);color:var(--color-accent)}.chest-reveal-floor,.chest-reveal-refund{margin:0;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.chest-reveal-card .primary{margin-top:0}@media(prefers-reduced-motion:reduce){.chest-reveal-card{animation:none}}.purchases{padding:0;overflow:hidden}.purchases-toggle{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--tap);padding:var(--space-3);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.purchases-head{display:grid;gap:2px;flex:1}.purchases-chevron{width:.6rem;height:.6rem;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform var(--motion-medium) var(--ease-soft)}.purchases[data-open] .purchases-chevron{transform:rotate(-135deg)}.purchases-body{display:grid;gap:var(--space-4);padding:0 var(--space-3) var(--space-3);animation:purchases-open var(--motion-medium) var(--ease-soft)}.purchases-body .panel{padding:0;border:none;background:none}@keyframes purchases-open{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.purchases-body{animation:none}.purchases-chevron{transition:none}}.raid-stats,.raid-sources{list-style:none;display:grid;gap:var(--space-2);margin-top:var(--space-3)}.raid-stat{display:grid;grid-template-columns:6.5rem 1fr auto;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.raid-stat-name{color:var(--color-text-muted)}.raid-stat-bar{height:.5rem;border-radius:var(--radius);background:var(--color-surface-muted);overflow:hidden}.raid-stat-fill{display:block;height:100%;border-radius:var(--radius);background:var(--color-accent);transition:width var(--motion-medium) var(--ease-soft)}.raid-stat-value{font-weight:600;font-variant-numeric:tabular-nums}.raid-stat-passive{color:var(--color-accent);font-size:var(--text-xs)}.raid-stat-base{grid-column:2 / -1;margin-top:-2px;font-size:var(--text-xs);color:var(--color-text-muted)}.raid-sources-title{margin-top:var(--space-4);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.raid-source{display:grid;grid-template-columns:1fr auto;gap:0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border);font-size:var(--text-sm)}.raid-source-name{font-weight:600}.raid-source-tier{font-size:var(--text-xs);color:var(--color-text-muted)}.raid-source[data-tier=legendary] .raid-source-tier,.raid-source[data-tier=mythic] .raid-source-tier{color:var(--color-accent)}.raid-source[data-tier=rare],.raid-gate-pedestal[data-tier=rare],.odds-row[data-rarity=rare],.chest-reveal-prize[data-rarity=rare]{--tier-ring: var(--tier-ring-rare)}.raid-source[data-tier=epic],.raid-gate-pedestal[data-tier=epic],.odds-row[data-rarity=epic],.chest-reveal-prize[data-rarity=epic]{--tier-ring: var(--tier-ring-epic)}.raid-source[data-tier=legendary],.raid-gate-pedestal[data-tier=legendary],.odds-row[data-rarity=legendary],.chest-reveal-prize[data-rarity=legendary]{--tier-ring: var(--tier-ring-legendary)}.raid-source[data-tier=mythic],.raid-gate-pedestal[data-tier=mythic],.odds-row[data-rarity=mythic],.chest-reveal-prize[data-rarity=mythic]{--tier-ring: var(--tier-ring-mythic)}.raid-gate-pedestal .raid-gate-figure{border-radius:50%;box-shadow:0 0 0 2px var(--tier-ring),0 0 12px -2px var(--tier-ring);filter:drop-shadow(0 2px 3px var(--shadow-color))}.odds-row[data-rarity]{box-shadow:inset 2px 0 0 var(--tier-ring)}.raid-source-level{grid-column:1 / -1;font-size:var(--text-xs);color:var(--color-text-muted)}.gear-diff-slots,.gear-diff-picks{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none}.gear-diff-bare{margin:var(--space-2) 0 0}.gear-diff-head{margin:var(--space-3) 0 var(--space-1);font-size:var(--text-sm)}.gear-diff-to{font-weight:600}.gear-diff-rows{display:grid;gap:2px;margin:0;padding:0;list-style:none}.gear-diff-row{display:grid;grid-template-columns:1fr 3rem 3rem 3.5rem;align-items:baseline;padding:var(--space-1) 0;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.gear-diff-row[data-change=same]{color:var(--color-text-muted)}.gear-diff-was{color:var(--color-text-muted);text-align:right}.gear-diff-now{text-align:right}.gear-diff-delta{text-align:right;font-weight:600}.gear-diff-row[data-change=up] .gear-diff-delta{color:var(--color-success)}.gear-diff-row[data-change=down] .gear-diff-delta{color:var(--color-danger)}.gear-diff-net{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:600}.gear-diff-net[data-change=up]{color:var(--color-success)}.gear-diff-net[data-change=down]{color:var(--color-danger)}.gear-diff-net[data-change=same]{color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){.raid-stat-fill{transition:none}}.plot-list{list-style:none;display:grid;gap:var(--space-2);margin-top:var(--space-3)}.plot{border:var(--border-width) solid var(--color-border);border-radius:var(--radius);overflow:hidden}.plot:not([data-planted]){border-style:dashed}.plot[data-planted]{border-color:var(--color-accent)}.plot-head{display:grid;gap:2px;width:100%;min-height:var(--tap);padding:var(--space-2) var(--space-3);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.plot-name{font-weight:600;font-size:var(--text-sm)}.plot-state{font-size:var(--text-xs);color:var(--color-accent)}.plot:not([data-planted]) .plot-state{color:var(--color-text-muted)}.plot-blurb{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--line-body)}.plot-choices{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--space-1);padding:0 var(--space-2) var(--space-2)}.plot-choice{display:grid;gap:1px;width:100%;min-height:var(--space-7);padding:var(--space-1) var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);color:inherit;font:inherit;text-align:left;cursor:pointer}.plot-choice[data-owned]{border-color:var(--color-accent)}.plot-choice:disabled{opacity:.45;cursor:not-allowed}.plot-choice-name{font-size:var(--text-xs);font-weight:600}.plot-choice-note{font-size:var(--text-xs);color:var(--color-text-muted)}.plot-next{margin-top:var(--space-3)}.garden-habitat{position:absolute;inset:auto 0 var(--space-2);z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:var(--space-4);padding:0 var(--space-3);pointer-events:none}.garden-resident{display:block;width:2.1rem;height:2.1rem;opacity:.55;animation:resident-roam var(--resident-pace, 6s) ease-in-out var(--resident-delay, 0s) infinite alternate,resident-react var(--motion-slow) var(--ease-soft) var(--resident-delay, 0s) 1}.garden-resident svg{width:100%;height:100%}.garden-resident[data-active]{width:2.7rem;height:2.7rem;opacity:.9}@keyframes resident-roam{0%{transform:translate(-.5rem)}to{transform:translate(.5rem,-.15rem)}}@keyframes resident-react{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-.5rem) scale(1.1)}to{transform:translateY(0) scale(1)}}@media(max-width:24rem){.garden-habitat{gap:var(--space-2)}.garden-resident{width:1.6rem;height:1.6rem}}@media(prefers-reduced-motion:reduce){.garden-resident{animation:none}}html{-webkit-tap-highlight-color:transparent}a,button,input,select,textarea,summary,label,[role=button]{touch-action:manipulation}:root:not([data-calm=true]) .quiet,:root:not([data-calm=true]) .listrow,:root:not([data-calm=true]) .chip{transition:transform .1s ease-out}:root:not([data-calm=true]) .quiet:active,:root:not([data-calm=true]) .listrow:active,:root:not([data-calm=true]) .chip:active{transform:scale(.98)}@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.home-today,.tabbar,.menu-button,.status-hud,.chat{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface)}.menu-scrim,.popup-scrim,.cmd-scrim{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-contrast:more){.set-block,.invite,.listrow,.quiet,.field,.pair-sheet,.tabbar{border-color:var(--color-text-muted)}}.pair-sheet{position:fixed;z-index:var(--z-sheet);left:max(env(safe-area-inset-left),var(--space-2));right:max(env(safe-area-inset-right),var(--space-2));bottom:calc(env(safe-area-inset-bottom) + var(--space-2));max-width:var(--shell-max);margin-inline:auto;max-height:calc(100dvh - env(safe-area-inset-top) - var(--space-7));overflow-y:auto;padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow);transform-origin:bottom center;animation:pair-sheet-in var(--motion-medium) cubic-bezier(.32,.72,0,1)}@keyframes pair-sheet-in{0%{opacity:0;transform:translateY(var(--space-4))}to{opacity:1;transform:translateY(0)}}:root[data-calm=true] .pair-sheet{animation:none}.pair-sheet-grip{display:block;width:36px;height:4px;margin:0 auto var(--space-3);border-radius:2px;background:var(--color-border)}.pair-sheet-rows{display:grid;gap:var(--space-2);margin:var(--space-3) 0}.invite-actions{display:flex;justify-content:center;gap:var(--space-2)}.invite-actions .quiet{width:auto;padding-inline:var(--space-5)}.connections{display:grid;gap:var(--stack)}.login-award .chips{list-style:none;margin:0;padding:0}.login-award-said{text-align:center}.purse-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.purse-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.garden-victory-loot{font-size:var(--text-sm);color:var(--color-text)}.popup-panel{position:fixed;z-index:var(--z-sheet);left:50%;top:50%;width:min(24rem,calc(100vw - var(--space-6)));max-height:calc(100dvh - var(--space-7));overflow-y:auto;padding:var(--space-4);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow);transform:translate(-50%,-50%);animation:popup-in var(--motion-medium) var(--ease-soft)}@keyframes popup-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}:root[data-calm=true] .popup-panel{animation:none}.boss-gate-rewards{margin:var(--space-3) 0 0;padding-left:var(--space-4);font-size:var(--text-sm);color:var(--color-text)}.boss-gate-rewards li+li{margin-top:var(--space-1)}.login-popup .chips{list-style:none;padding:0}.popup-actions{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.costume-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:block;pointer-events:none}.costume-layer svg{width:100%;height:100%;display:block}.costume-art{position:relative}.friend-house{display:flex;align-items:center;gap:var(--space-4)}.friend-birb{position:relative;width:96px;height:96px;flex:none}.friend-birb svg{width:100%;height:100%;display:block}.friend-facts{display:grid;gap:var(--space-2);margin:0;flex:1}.friend-facts div{display:flex;justify-content:space-between;gap:var(--space-3)}.friend-facts dt{color:var(--color-text-muted);font-size:var(--text-sm)}.friend-facts dd{margin:0;font-weight:600}.costume-button[data-owned=false] .costume-art{filter:grayscale(1) brightness(.55);opacity:.6}.costume-button[data-owned=false]:disabled{opacity:1}.island-path{display:grid;gap:var(--space-3)}.island-path-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.island-path-stars{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-accent)}.island-path-where{font-size:var(--text-sm);color:var(--color-text-muted)}.island-path-enter{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none}.island-path-list,.island-path-stages{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.island-path-list{position:relative}.island-path-list:before{content:"";position:absolute;top:1rem;bottom:1rem;left:1rem;border-left:2px dashed var(--color-border)}.island-path-island{position:relative}.island-path-island:nth-child(2n) .island-path-row{margin-left:var(--space-4)}.island-path-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap)}.island-path-num{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--color-surface);border:var(--border-width) solid var(--color-border);font-weight:700;position:relative;z-index:1}.island-path-island[data-state=done] .island-path-num{background:var(--color-success);color:var(--color-base);border-color:transparent}.island-path-island[data-state=current] .island-path-num{background:var(--color-accent);color:var(--color-base);border-color:transparent}.island-path-island[data-state=locked]{opacity:.55}.island-path-name{flex:1 1 auto;display:grid;min-width:0}.island-path-title{font-weight:600}.island-path-sub{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}.island-path-stars-row{display:flex;gap:var(--space-1)}.island-path-stages{margin:var(--space-2) 0 var(--space-2) var(--space-5);padding:var(--space-3);border-radius:var(--radius-large);background:var(--color-surface-muted)}.island-path-stage{display:flex;align-items:center;gap:var(--space-3)}.island-path-dot{flex:0 0 auto;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:999px;border:var(--border-width) solid var(--color-border);font-size:var(--text-sm)}.island-path-stage[data-type=SemiBoss] .island-path-dot,.island-path-stage[data-type=Boss] .island-path-dot{border-radius:var(--radius)}.island-path-stage[data-state=cleared] .island-path-dot{background:var(--color-success);color:var(--color-base);border-color:transparent}.island-path-stage[data-state=here] .island-path-dot{background:var(--color-accent);color:var(--color-base);border-color:transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 30%,transparent)}.island-path-stage[data-state=ahead]{color:var(--color-text-muted)}.island-path-stage-name{flex:1 1 auto;min-width:0}.island-path-here{flex:0 0 auto;padding:2px var(--space-2);border-radius:999px;background:var(--color-accent);color:var(--color-base);font-size:var(--text-xs);font-weight:700}.island-path-star-slot{display:flex;justify-content:center}.star-chest{position:relative;display:grid;place-items:center;width:3rem;height:2.6rem;padding:0;border:none;background:none;color:inherit;cursor:pointer}.island-path-star-slot .star-chest{width:4rem;height:3.4rem}.star-chest .chest-art{width:100%;height:100%}.star-chest-badge{position:absolute;top:-2px;right:-2px;font-size:.9rem;line-height:1;color:var(--color-accent)}.star-chest[data-state=locked]{opacity:.35;filter:grayscale(1);cursor:default}.star-chest[data-state=opened]{opacity:.5;cursor:default}.star-chest[data-state=opened] .star-chest-badge{color:var(--color-text-muted)}.star-chest[data-state=ready]{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-accent) 70%,transparent));animation:star-chest-glow 1.6s ease-in-out infinite alternate}.star-chest-cta{position:absolute;bottom:-.5rem;padding:0 var(--space-1);border-radius:999px;background:var(--color-accent);color:var(--color-base);font-size:.65rem;font-weight:700}.star-chest:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius)}@keyframes star-chest-glow{to{transform:translateY(-2px) scale(1.04)}}@media(prefers-reduced-motion:reduce){.star-chest[data-state=ready]{animation:none}}:root[data-calm=true] .star-chest[data-state=ready]{animation:none}
