:root{--bg:#08080A;--bg-2:#0D0D10;--surface:#121215;--surface-2:#1A1A1E;--glass:rgba(255,255,255,.045);--glass-line:rgba(255,255,255,.09);--ink:#FFFFFF;--ink-2:#9C9CA3;--ink-3:#7E7E85;--line:#1D1D21;--line-2:#2B2B31;--ink-invert:#08080A;--accent:#8A9A5B;--accent-2:#6C7B44;--on-accent:#0E1207;--accent-wash:rgba(138,154,91,.15);--accent-line:rgba(138,154,91,.46);--accent-glow:rgba(138,154,91,.40);--hot:var(--accent);--hot-2:var(--accent-2);--hot-on:var(--on-accent);--hot-wash:var(--accent-wash);--hot-glow:none;--cool:var(--accent);--cool-wash:var(--accent-wash);--violet:var(--accent);--pos:var(--accent);--grad-hot:var(--accent);--grad-cool:var(--accent);--grad-header:transparent;--on-header:var(--accent);--r-sm:var(--r-s);--r:var(--r-m);--warn:#D9A441;--crit:#E5533D;--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 30px -20px rgba(0,0,0,.8);--shadow-lg:0 2px 8px rgba(0,0,0,.4),0 34px 70px -34px rgba(0,0,0,.9);--ring:0 0 0 2px var(--bg),0 0 0 4px var(--ink);--fast:120ms;--base:200ms;--slow:420ms;--spring:300ms;--ease:cubic-bezier(.2,.8,.25,1);--springy:cubic-bezier(.34,1.4,.5,1);--tap:46px;--avatar:38px;--avatar-sm:26px;--avatar-lg:72px;--icon:21px;--hair:1px;--display:"Arial Black","Segoe UI Black","Helvetica Neue",Helvetica,Arial,sans-serif;--body:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--mono:"SFMono-Regular",ui-monospace,Consolas,Menlo,monospace;--r-s:10px;--r-m:16px;--r-l:24px;--shell:720px;--pad:20px;--mark:url(/jambo-mark.svg);color-scheme:dark}@media (min-width:520px){:root{--pad:28px}}@media (min-width:1000px){:root{--shell:1120px;--pad:40px}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#FBFBFC;--bg-2:#F3F4F6;--surface:#FFFFFF;--surface-2:#F1F2F5;--glass:rgba(10,11,14,.025);--glass-line:rgba(10,11,14,.09);--ink:#0A0A0B;--ink-2:#63636B;--ink-3:#6D6D74;--line:#E8E8EA;--line-2:#D4D4D8;--ink-invert:#FFFFFF;--accent:#5A6A2A;--accent-2:#47531F;--on-accent:#FFFFFF;--accent-wash:rgba(90,106,42,.10);--accent-line:rgba(90,106,42,.38);--accent-glow:rgba(90,106,42,.28);--warn:#9A6B00;--crit:#C32D1C;--ring:0 0 0 2px var(--bg),0 0 0 4px var(--ink);--shadow:0 1px 2px rgba(10,12,20,.05),0 12px 30px -22px rgba(10,12,20,.24);--shadow-lg:0 2px 6px rgba(10,12,20,.06),0 34px 70px -38px rgba(10,12,20,.34);--mark:url(/jambo-mark.svg);color-scheme:light}}:root[data-theme=light]{--bg:#FBFBFC;--bg-2:#F3F3F5;--surface:#FFFFFF;--surface-2:#F1F1F4;--glass:rgba(10,10,12,.025);--glass-line:rgba(10,10,12,.09);--ink:#0A0A0B;--ink-2:#63636B;--ink-3:#6D6D74;--line:#E8E8EA;--line-2:#D4D4D8;--ink-invert:#FFFFFF;--accent:#5A6A2A;--accent-2:#47531F;--on-accent:#FFFFFF;--accent-wash:rgba(90,106,42,.10);--accent-line:rgba(90,106,42,.38);--accent-glow:rgba(90,106,42,.28);--warn:#9A6B00;--crit:#C32D1C;--ring:0 0 0 2px var(--bg),0 0 0 4px var(--ink);--shadow:0 1px 2px rgba(10,12,20,.05),0 12px 30px -22px rgba(10,12,20,.24);--shadow-lg:0 2px 6px rgba(10,12,20,.06),0 34px 70px -38px rgba(10,12,20,.34);--mark:url(/jambo-mark.svg);color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh}figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}button{font:inherit;background:none;border:none;padding:0}a,button{color:inherit}a{text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.app{display:flex;flex-direction:column;min-height:100dvh}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--pad)}.content{flex:1 1 auto;padding-top:8px;padding-bottom:calc(74px + 10px + 28px + env(safe-area-inset-bottom))}@media (min-width:1000px){.content{padding-bottom:64px;padding-top:24px}}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 88%,transparent) 0,color-mix(in srgb,var(--bg) 74%,transparent) 66%,transparent 100%);backdrop-filter:blur(20px) saturate(1.9);-webkit-backdrop-filter:blur(20px) saturate(1.9)}.topbar-inner{gap:10px;min-height:62px}.brand,.topbar-inner{display:flex;align-items:center}.brand{margin-right:auto}.brand-mark{display:block;width:112px;aspect-ratio:2400/1200;background-color:var(--ink);-webkit-mask:var(--mark) center /contain no-repeat;mask:var(--mark) center /contain no-repeat}@media (min-width:1000px){.brand-mark{width:128px}}.me-chip{display:inline-flex;border-radius:50%;margin-left:4px;transition:transform var(--spring) var(--springy)}.me-chip:active{transform:scale(.88)}.me-chip .avatar,.me-chip img.avatar{width:38px;height:38px;object-fit:cover;box-shadow:0 0 0 1.5px var(--line-2),0 2px 8px -2px rgba(0,0,0,.6)}.me-chip.is-streak .avatar,.me-chip.is-streak img.avatar{box-shadow:0 0 0 2px var(--accent),0 0 14px -3px var(--accent-glow)}.topbar-actions{display:flex;align-items:center;gap:2px}.appswitch{flex:none;gap:2px;padding:3px;margin-right:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-2)}.appswitch,.appswitch-seg{display:inline-flex;align-items:center}.appswitch-seg{height:32px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:650;letter-spacing:.01em;white-space:nowrap;color:var(--ink-2);text-decoration:none;transition:color .14s ease,background .14s ease}.appswitch-seg[aria-current=page]{background:var(--accent);color:var(--on-accent)}a.appswitch-seg:hover{color:var(--ink);background:var(--glass)}a.appswitch-seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.appswitch-seg{transition:none}}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;color:var(--ink-2);cursor:pointer;transition:color .16s ease,background .16s ease;flex:0 0 auto}.icon-btn:hover{color:var(--ink);background:var(--glass)}.icon-btn svg{width:21px;height:21px}.icon-dot{position:absolute;top:9px;right:10px;width:7px;height:7px;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}.bell,.icon-dot{border-radius:999px}.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--ink-2);flex:0 0 auto}.bell:hover{background:var(--glass);color:var(--ink)}.bell-count{position:absolute;top:6px;right:4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.topnav{display:none;margin-left:20px;gap:2px}@media (min-width:1000px){.topnav{display:flex}}.topnav a{font-size:14px;font-weight:550;padding:8px 14px;border-radius:999px;color:var(--ink-2);transition:color .16s ease,background .16s ease;white-space:nowrap}.topnav a:hover,.topnav a[aria-current=page]{color:var(--ink);background:var(--glass)}.topnav a[aria-current=page]{font-weight:650}.gnav{position:fixed;left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 16px;pointer-events:none}@media (min-width:1000px){.gnav{display:none}}.gnav-glass{pointer-events:auto;position:relative;display:flex;align-items:center;gap:2px;height:74px;padding:0 10px;border-radius:34px;isolation:isolate;backdrop-filter:blur(34px) saturate(2.8) brightness(1.12);-webkit-backdrop-filter:blur(34px) saturate(2.8) brightness(1.12);background:linear-gradient(180deg,rgba(38,38,44,.34),rgba(16,16,20,.44));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 0 0 .5px rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.3),0 16px 40px -12px rgba(0,0,0,.7),0 4px 12px -4px rgba(0,0,0,.5);transition:height var(--spring) var(--springy),border-radius var(--spring) var(--springy)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .gnav-glass{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(248,248,250,.6));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(0,0,0,.05),0 14px 34px -14px rgba(0,0,0,.24),0 3px 10px -4px rgba(0,0,0,.12)}}:root[data-theme=light] .gnav-glass{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(248,248,250,.6));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(0,0,0,.05),0 14px 34px -14px rgba(0,0,0,.24),0 3px 10px -4px rgba(0,0,0,.12)}.gpill{position:absolute;left:0;top:50%;height:52px;margin-top:-26px;border-radius:26px;z-index:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 46%,transparent),color-mix(in srgb,var(--accent) 26%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 0 22px -4px var(--accent-glow);transition:transform var(--spring) var(--springy),width var(--spring) var(--springy),height var(--base) var(--ease);will-change:transform}.gnav.is-compact .gpill{height:44px;margin-top:-22px}:root[data-theme=light] .gnav-glass,html:not([data-theme=dark]) .gnav-glass{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,0,0,.06),0 10px 30px -12px rgba(0,0,0,.22),0 2px 6px -2px rgba(0,0,0,.1)}.gnav.is-compact .gnav-glass{height:60px;border-radius:30px}.gnav.is-compact .gtab-label{max-height:0;opacity:0;margin-top:0}.gtab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:62px;padding:0 12px;align-self:stretch;color:rgba(255,255,255,.58);transition:color var(--base) var(--ease)}.gtab[aria-current=page]{color:#fff}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .gtab{color:rgba(20,20,24,.62)}:root:not([data-theme=dark]) .gtab[aria-current=page]{color:#0A0A0B}}:root[data-theme=light] .gtab{color:rgba(20,20,24,.62)}:root[data-theme=light] .gtab[aria-current=page]{color:#0A0A0B}.gtab-ink{display:flex;transition:transform var(--spring) var(--springy)}.gtab-ink svg{width:23px;height:23px}.gtab[aria-current=page] .gtab-ink{transform:translateY(-1px)}.gtab:active .gtab-ink{transform:scale(.88)}.gtab-label{font-size:10.5px;font-weight:660;letter-spacing:.01em;line-height:1.2;max-height:14px;margin-top:4px;opacity:1;overflow:hidden;transition:max-height var(--base) var(--ease),opacity var(--fast) var(--ease),margin-top var(--base) var(--ease)}.gorb{position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:0 6px;border-radius:50%;color:var(--on-accent);cursor:pointer;background:radial-gradient(120% 120% at 50% 0,color-mix(in srgb,var(--accent) 76%,#fff) 0,var(--accent) 46%,var(--accent-2) 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.5),inset 0 -2px 5px rgba(0,0,0,.26),0 0 22px -2px var(--accent-glow),0 6px 16px -4px rgba(0,0,0,.55);transition:transform var(--spring) var(--springy),width var(--spring) var(--springy),height var(--spring) var(--springy);will-change:transform}.gorb svg{width:23px;height:23px;transition:transform var(--spring) var(--springy)}.gorb:active{transform:scale(.9)}.gorb.is-open svg{transform:rotate(135deg)}.gnav.is-compact .gorb{width:46px;height:46px}.gnav-menu{pointer-events:auto;display:flex;flex-direction:column;gap:2px;width:min(280px,calc(100vw - 44px));padding:6px;border-radius:24px;transform-origin:bottom center;backdrop-filter:blur(28px) saturate(2.1) brightness(1.06);-webkit-backdrop-filter:blur(28px) saturate(2.1) brightness(1.06);background:linear-gradient(to bottom,color-mix(in srgb,var(--surface) 68%,transparent),color-mix(in srgb,var(--bg) 76%,transparent));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.3),0 16px 40px -12px rgba(0,0,0,.7);animation:menu-grow .26s var(--ease) both}@keyframes menu-grow{0%{opacity:0;transform:translateY(14px) scale(.86)}to{opacity:1;transform:none}}.gnav-action{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:18px;animation:action-in .22s var(--ease) both;transition:background var(--fast) var(--ease)}.gnav-action:active{background:color-mix(in srgb,var(--ink) 10%,transparent)}.gnav-action-label{font-size:15px;font-weight:650}.gnav-action-hint{font-size:12.5px;color:var(--ink-2)}@keyframes action-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gnav-scrim{position:fixed;inset:0;z-index:49;border:none;background:rgba(0,0,0,.32);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;animation:fade-in .2s var(--ease) both}@media (prefers-reduced-motion:reduce){.gnav-glass,.gorb,.gtab,.gtab-label,.gtab:before{transition:none}.gnav-action,.gnav-menu,.gnav-scrim{animation:none}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:stretch;padding:0 4px calc(env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 62%,color-mix(in srgb,var(--bg) 78%,transparent));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}@media (min-width:1000px){.tabbar{display:none}}.tabbar a{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:9px 2px 10px;color:var(--ink-3);transition:color var(--fast) var(--ease)}.tabbar a[aria-current=page]{color:var(--ink)}.tabbar a:before{content:"";position:absolute;top:0;left:50%;width:20px;height:2px;border-radius:0 0 2px 2px;background:var(--ink);transform:translateX(-50%) scaleX(0);transition:transform var(--base) var(--ease)}.tabbar a[aria-current=page]:before{transform:translateX(-50%) scaleX(1)}.tabbar svg{width:22px;height:22px}.tabbar .tab-label{font-size:9.5px;font-weight:620;letter-spacing:.02em;line-height:1}.tabbar a[aria-current=page] .tab-label{font-weight:700}.tab-add{flex:0 0 auto;align-self:center;display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 4px;border-radius:50%;background:var(--ink);color:var(--ink-invert);cursor:pointer;transition:transform var(--base) var(--ease)}.tab-add svg{width:21px;height:21px}.tab-add:active{transform:scale(.9)}.tab-add.is-open{transform:rotate(45deg)}.h1,.title{font-size:26px;font-weight:700;letter-spacing:-.022em;line-height:1.1}.h2{font-size:20px;font-weight:680;letter-spacing:-.016em;line-height:1.15}.h3{font-size:16px;font-weight:620;letter-spacing:-.008em;line-height:1.3}.display{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:clamp(30px,8vw,44px)}.flare{color:var(--accent)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.small{font-size:14px}.meta{font-size:13px;color:var(--ink-2);line-height:1.4}.eyebrow,.section-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.page-head{gap:6px}.page-head,.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.between{justify-content:space-between}.wrap-row{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.g4{gap:4px}.g6{gap:6px}.g8{gap:8px}.g10{gap:10px}.g12{gap:12px}.g16{gap:16px}.g20{gap:20px}.g24{gap:24px}.g32{gap:32px}.grid{display:grid;grid-gap:12px;gap:12px}.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.cols-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (min-width:1000px){.split{display:grid;grid-template-columns:1.6fr 1fr;grid-gap:32px;gap:32px;align-items:start}}.screen{gap:36px;padding-top:4px}.screen,.section{display:flex;flex-direction:column}.section{gap:14px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.sec-head .link{font-size:13px;font-weight:600;color:var(--accent)}.metric{display:flex;flex-direction:column;gap:4px;min-width:0}.metric-value{font-family:var(--display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:900;font-size:30px;line-height:1;letter-spacing:-.04em;color:var(--ink)}.metric-value sub{font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:0;vertical-align:baseline;color:var(--ink-2);margin-left:3px}.metric-label{font-size:12.5px;color:var(--ink-2);line-height:1.3}.metric.is-lg .metric-value{font-size:clamp(42px,12vw,58px)}.metric.is-xl .metric-value{font-size:clamp(64px,21vw,104px);letter-spacing:-.05em}.metric.is-accent .metric-value{color:var(--accent)}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.metric-strip>*{padding:0 14px;border-left:1px solid var(--line)}.metric-strip>:first-child{padding-left:0;border-left:none}.rows{flex-direction:column}.rows,.rw{display:flex}.rw{align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);transition:opacity .16s ease}.rows>.rw:last-child{border-bottom:none}a.rw:active{opacity:.6}.rw-lead{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:52px}.rw-time{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:19px;letter-spacing:-.03em;line-height:1}.rw-sub{font-size:11px;color:var(--ink-3)}.rw-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.rw-title{font-size:16px;font-weight:620;letter-spacing:-.008em}.rw-meta{font-size:13px;color:var(--ink-2)}.rw-end{flex:0 0 auto;display:flex;align-items:center;gap:10px}.chev{color:var(--ink-3);width:18px;height:18px;flex:0 0 auto}.card,.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:18px;display:flex;flex-direction:column;gap:14px}.is-now{background:var(--accent-wash)}.card-live,.is-now{border-color:var(--accent-line)}.card-hero{border:1px solid var(--line);border-radius:var(--r-l);padding:22px;background:var(--surface);display:flex;flex-direction:column;gap:14px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.cimg{position:relative;width:100%;border-radius:var(--r-m);overflow:hidden;isolation:isolate}.cimg-field,.cimg-photo,.cimg-scrim{position:absolute;inset:0}.cimg-photo{width:100%;height:100%;object-fit:cover}.cimg-scrim{background:linear-gradient(0deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.28) 45%,transparent 78%)}.cimg-over{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:18px}.cimg-chip{display:block;width:56px}.cimg-chip .cimg{border-radius:var(--r-s)}.cimg-chip .cimg-scrim{display:none}.feature{display:block}.feature-when{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78)}.feature-name{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(28px,8vw,40px);line-height:.92;letter-spacing:-.035em;color:#fff}.feature-meta{font-size:13.5px;color:rgba(255,255,255,.8)}.pack{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);transition:border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.pack:active{transform:scale(.99)}.pack:hover{border-color:var(--line-2)}.pack.is-current{border-color:var(--accent-line);background:var(--accent-wash)}.pack-name{font-size:16px;font-weight:680;letter-spacing:-.01em}.pack-price{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.035em;line-height:1}.g2{gap:2px}.price-row{display:flex;align-items:baseline;gap:12px}.price-big{font-family:var(--display);font-weight:900;font-size:clamp(46px,14vw,64px);letter-spacing:-.05em;line-height:1}.pay{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);animation:enter var(--base) var(--ease) both}.pay-line{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}.done,.pay-line{display:flex;align-items:center;gap:12px}.done{flex-direction:column;padding:28px 20px;border-radius:var(--r-l);border:1px solid var(--accent-line);background:var(--accent-wash);text-align:center;animation:enter var(--base) var(--ease) both}.done .btn{width:100%;margin-top:6px}.done-tick{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--on-accent);animation:pop .42s var(--springy) both}.done-tick svg{width:27px;height:27px}.hero{display:flex;flex-direction:column;gap:10px;padding:10px 0 2px}.hero-day{font-size:12px;font-weight:650;letter-spacing:.12em;color:var(--ink-3)}.hero-day,.hero-greet{text-transform:uppercase}.hero-greet{font-family:var(--display);font-weight:900;font-size:clamp(34px,10vw,52px);line-height:.88;letter-spacing:-.038em}.hero-name{color:var(--ink-2)}.prompt{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:var(--r-l);border:1px dashed var(--line-2)}.prompt-title{font-size:17px;font-weight:700;letter-spacing:-.015em}.streak{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--accent)}.week-facts{display:flex;gap:26px;padding-top:4px}.week-facts .metric-value{font-size:24px}.rise-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);transition:border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.rise-card:active{transform:scale(.99)}.rise-card:hover{border-color:var(--line-2)}.up{position:relative;display:flex;flex-direction:column;gap:18px;padding:24px 22px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);overflow:hidden}.up.is-now{border-color:var(--accent-line)}.up.is-now:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.up-when{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.up.is-now .up-when{color:var(--accent)}.up-name{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,8.6vw,44px);line-height:.9;letter-spacing:-.036em}.up-facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--ink-2)}.up-facts b{font-weight:700;color:var(--ink)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.up-actions{display:flex;gap:8px;flex-wrap:wrap}.up-actions>*{flex:1 1 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:13px 22px;min-height:50px;font-size:15px;font-weight:680;letter-spacing:-.005em;cursor:pointer;background:var(--accent);color:var(--on-accent);box-shadow:0 4px 16px -6px var(--accent-glow);transition:transform var(--fast) var(--ease),filter var(--fast) var(--ease);white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:scale(.975)}.btn:disabled{opacity:.32;cursor:not-allowed;box-shadow:none}.btn-plain{background:var(--ink);color:var(--ink-invert);box-shadow:none}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn-ghost:hover:not(:disabled){background:var(--glass);opacity:1}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-quiet{background:var(--glass);color:var(--ink-2);border-color:transparent}.btn-quiet:hover:not(:disabled){color:var(--ink);filter:none}.btn-cool{background:var(--glass);color:var(--ink)}.btn-sm{padding:9px 16px;min-height:40px;font-size:14px}.btn-lg{min-height:58px;font-size:17px;font-weight:700}.btn-block{width:100%}.pill{font-size:11.5px;font-weight:650;letter-spacing:.01em;padding:4px 10px;border-radius:999px;white-space:nowrap;line-height:1.5;background:var(--glass);border:1px solid transparent;color:var(--ink-2)}.pill-solid{background:var(--accent);color:var(--on-accent)}.pill-booked,.pill-hold{color:var(--accent);background:var(--accent-wash)}.pill-wait{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.pill-full{color:var(--ink-3)}.pill-risk{color:var(--crit);background:color-mix(in srgb,var(--crit) 14%,transparent)}.pill-plan{color:var(--accent);background:var(--accent-wash)}.pr-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pr-badge svg{width:13px;height:13px}.seg{display:flex;gap:2px;padding:3px;border-radius:999px;background:var(--glass);align-self:flex-start;max-width:100%;overflow-x:auto}.seg a,.seg button{padding:8px 15px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;cursor:pointer;transition:color .16s ease,background .16s ease}.seg a[aria-current=true],.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:680}.dots{gap:7px;align-items:center}.dot,.dots{display:flex}.dot{width:100%;height:34px;flex:1 1;border-radius:8px;background:var(--glass);align-items:flex-end;justify-content:center;padding-bottom:5px;font-size:10px;font-weight:700;color:var(--ink-3)}.dot.is-on{background:var(--accent);color:var(--on-accent)}.dot.is-today{box-shadow:inset 0 0 0 1.5px var(--accent-line)}.ring-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ring-track{stroke:var(--line)}.ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.3,1)}.ring-mid{position:absolute;flex-direction:column;gap:1px}.avatar,.ring-mid{display:flex;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);justify-content:center;font-size:13px;font-weight:700;flex:0 0 auto;letter-spacing:-.01em}.avatar-sm{width:28px;height:28px;font-size:10.5px}.avatar-lg{width:60px;height:60px;font-size:19px}.avatar-hot{background:var(--accent);color:var(--on-accent)}.avatar-stack{display:flex;align-items:center}.avatar-stack .avatar,.avatar-stack img.avatar{margin-left:-11px;box-shadow:0 0 0 2px var(--bg);object-fit:cover}.avatar-stack .avatar:first-child{margin-left:0}.avatar-stack .avatar-more{margin-left:-11px;box-shadow:0 0 0 2px var(--bg);background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:700}.who{display:flex;align-items:center;gap:12px;padding:14px 0}.who-text{font-size:13.5px;color:var(--ink-2)}.who-text b{color:var(--ink);font-weight:650}.screen>*{animation:enter var(--base) var(--ease) both}.screen>:first-child{animation-delay:0s}.screen>:nth-child(2){animation-delay:24ms}.screen>:nth-child(3){animation-delay:48ms}.screen>:nth-child(4){animation-delay:72ms}.screen>:nth-child(n+5){animation-delay:90ms}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen>*{animation:none}}.rafiki{display:flex;gap:12px;align-items:flex-start;padding:2px 0}.rafiki-dot{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--accent-wash);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:14px}.rafiki-body{font-size:15px;line-height:1.5;color:var(--ink-2)}.rafiki-body b{color:var(--ink);font-weight:620}.rafiki-name{display:none}.lb-row{display:grid;grid-template-columns:26px 28px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.lb-row:last-child{border-bottom:none}.lb-row.is-me .lb-name{font-weight:700;color:var(--accent)}.lb-pos{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-3);font-weight:650}.lb-row.is-me .lb-pos{color:var(--accent)}.lb-name{font-size:15px}.lb-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;letter-spacing:-.02em}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:12px;font-weight:620;color:var(--ink-2)}.input{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-s);padding:13px 14px;color:var(--ink);font-family:var(--body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:17px;width:100%;min-height:50px}.input::placeholder{color:var(--ink-3)}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}textarea.input{font-size:16px;line-height:1.5;resize:vertical;min-height:0}.switch-group{display:flex;gap:6px}.switch{flex:1 1;padding:12px 10px;min-height:46px;border-radius:var(--r-s);border:1px solid var(--line-2);background:transparent;color:var(--ink-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .16s ease}.switch:hover{color:var(--ink);border-color:var(--ink-3)}.switch[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:680}.switch-group.is-stacked{flex-direction:column}.switch-group.is-stacked .switch{text-align:left;padding:13px 16px}.reactions{display:flex;gap:6px;flex-wrap:wrap}.reaction{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-2);cursor:pointer;transition:transform .12s ease,background .16s ease,color .16s ease,border-color .16s ease;min-height:38px}.reaction:hover{border-color:var(--line-2);color:var(--ink)}.reaction:active{transform:scale(.9)}.reaction.is-on{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent)}.reaction.is-on .reaction-face{animation:react-pop .34s var(--springy) both}@keyframes react-pop{0%{transform:scale(1)}40%{transform:scale(1.32) rotate(-7deg)}to{transform:scale(1)}}.pr-badge{box-shadow:0 0 16px -4px var(--accent-glow)}.fin .pr-badge,.pop .pr-badge{animation:pr-lift .62s var(--springy) both}@keyframes pr-lift{0%{opacity:0;transform:scale(.7)}55%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fin .pr-badge,.pop .pr-badge,.reaction.is-on .reaction-face{animation:none}}.reaction-face{font-size:15px;line-height:1}.reaction-label{font-size:12.5px;font-weight:620;white-space:nowrap}.reaction-count{font-size:12.5px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reacted-by{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0;border:0;background:none;color:var(--ink-2);font:inherit;font-size:13px;text-align:left;cursor:pointer}.reacted-by-faces{display:inline-flex;flex:none}.reacted-by-faces>*{position:relative;margin-left:-6px;border-radius:50%;box-shadow:0 0 0 2px var(--bg)}.reacted-by-faces>:first-child{margin-left:0;z-index:3}.reacted-by-faces>:nth-child(2){z-index:2}.reacted-by-faces>:nth-child(3){z-index:1}.reacted-by-emoji{flex:none;font-size:13px;letter-spacing:1px}.reacted-by-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reacted-by:hover .reacted-by-names{color:var(--ink)}.reacted-list{list-style:none;margin:0;padding:6px 0 2px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line)}.reacted-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink)}.reacted-list a{color:var(--ink);font-weight:600}@media (max-width:479px){.reaction-label{display:none}.reaction{padding:7px 15px}.reaction-face{font-size:16px}}.post{display:flex;flex-direction:column;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.post:last-child{border-bottom:none}.post-who{display:flex;align-items:center;gap:10px}.post-name{font-size:14.5px;font-weight:650}.post-when{font-size:12.5px;color:var(--ink-3)}.post-body{font-size:15.5px;line-height:1.5}.post-result{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--bg-2);transition:border-color var(--fast) var(--ease)}.post-result:active{border-color:var(--line-2)}.post-result.is-pr{border-color:var(--accent-line)}.post-result-name{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.hl{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap}.hl-item{display:flex;flex-direction:column;gap:2px}.hl-value{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:20px;line-height:1;letter-spacing:-.035em;color:var(--ink-2)}.hl-value sub{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:0;vertical-align:baseline;margin-left:2px}.hl-label{font-size:11.5px;color:var(--ink-3)}.hl-item.is-lead .hl-value{font-size:clamp(40px,12vw,52px);letter-spacing:-.05em;color:var(--ink)}.hl-item.is-lead .hl-value sub{font-size:16px}.hl-item.is-lead .hl-label{font-size:12.5px;color:var(--ink-2)}.hl-item.is-accent .hl-value{color:var(--accent)}.post-menu{border:none;background:none;color:var(--ink-3);font-size:12px;cursor:pointer;padding:6px}.post-menu:hover{color:var(--ink)}.post-menu.is-danger{color:var(--crit)}.shot-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr 1fr}.shot-grid.is-single{grid-template-columns:1fr}.shot{position:relative;border-radius:var(--r-m);overflow:hidden;background:var(--surface-2)}.shot img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}.shot{touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.shot-burst{position:absolute;left:50%;top:50%;font-size:84px;line-height:1;pointer-events:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));animation:shot-burst .76s var(--springy) forwards}@keyframes shot-burst{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}22%{transform:translate(-50%,-50%) scale(1.15);opacity:1}38%{transform:translate(-50%,-50%) scale(.95);opacity:1}75%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-62%) scale(.9);opacity:0}}@media (prefers-reduced-motion:reduce){.shot-burst{animation-duration:1ms}}.shot-remove{position:absolute;top:8px;right:8px;padding:5px 10px;border-radius:999px;border:none;background:rgba(0,0,0,.7);color:#fff;font-size:11px;cursor:pointer}.suggest{align-items:center;gap:8px;min-width:124px;padding:16px 12px;border-radius:var(--r-m);border:1px solid var(--line)}.hero-you,.suggest{display:flex;flex-direction:column}.hero-you{gap:14px;padding:8px 0 4px}.hero-you-top{display:flex;align-items:flex-start;justify-content:space-between}.hero-you-tools{display:flex;align-items:center;gap:4px}.hero-you-top .avatar{box-shadow:0 0 0 2px var(--line-2),0 8px 24px -10px rgba(0,0,0,.8)}.hero-you-name{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(34px,10vw,50px);line-height:.88;letter-spacing:-.04em}.hero-you-full{font-size:15.5px;font-weight:600;color:var(--ink-2)}.hero-chips{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:640;color:var(--ink-2)}.chip.is-hot{color:var(--accent);border-color:var(--accent-line);background:var(--accent-wash)}.hero-social{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:2px}.hero-social>*{flex:1 1;display:flex;flex-direction:column;gap:3px;padding-right:14px}.hero-social strong{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.04em;line-height:1}.hero-social strong sub{font-family:var(--body);font-size:12px;font-weight:600;vertical-align:baseline;color:var(--ink-2);margin-left:2px}.hero-social em{font-style:normal;font-size:12px;color:var(--ink-2)}.cal{display:flex;flex-direction:column;gap:10px}.cal-grid,.cal-head{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.cal-head span{text-align:center;font-size:10.5px;font-weight:700;color:var(--ink-3)}.cal-day{position:relative;aspect-ratio:1;border-radius:12px;border:none;background:var(--glass);display:flex;align-items:center;justify-content:center;cursor:pointer;animation:cal-in .32s var(--ease) both;transition:background var(--fast) var(--ease),transform var(--fast) var(--ease)}.cal-day:active{transform:scale(.9)}.cal-day.is-future{opacity:.35}.cal-day.is-today{box-shadow:inset 0 0 0 1.5px var(--line-2)}.cal-day.is-picked{box-shadow:inset 0 0 0 2px var(--ink)}.cal-dot{width:8px;height:8px;border-radius:50%;background:var(--line-2);transition:all var(--base) var(--ease)}.cal-day.is-on .cal-dot{background:var(--accent)}.cal-day.is-on .cal-dot.w1{width:9px;height:9px}.cal-day.is-on .cal-dot.w2{width:13px;height:13px}.cal-day.is-on .cal-dot.w3{width:17px;height:17px}.cal-day.is-pr .cal-dot{box-shadow:0 0 12px 1px var(--accent-glow)}.cal-stack{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--accent)}@keyframes cal-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.cal-read{font-size:13px;color:var(--ink-2);min-height:19px}.cal-read b{color:var(--ink);font-weight:650}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px 14px;gap:18px 14px;padding-top:4px}@media (min-width:520px){.stat-row{grid-template-columns:repeat(4,1fr)}}.stat-row .metric-value{font-size:27px}.graph{display:flex;flex-direction:column;gap:16px}.graph-bars{display:flex;align-items:flex-end;gap:6px;height:132px}.graph-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.graph-value{font-size:10.5px;font-weight:700;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.graph-bar{width:100%;border-radius:7px 7px 3px 3px;background:linear-gradient(to top,color-mix(in srgb,var(--accent) 42%,transparent),var(--accent));min-height:3px;transform-origin:bottom center;transition:transform .56s var(--springy);will-change:transform}.graph-col:last-child .graph-bar{box-shadow:0 0 16px -3px var(--accent-glow)}.graph-label{font-size:10px;color:var(--ink-3);white-space:nowrap}.photos{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.photo{aspect-ratio:1;border-radius:var(--r-s);overflow:hidden;background:var(--surface-2);animation:enter .32s var(--ease) both}.photo img{width:100%;height:100%;object-fit:cover}.pr-card{position:relative;display:flex;flex-direction:column;gap:3px;min-width:132px;padding:16px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);transition:transform var(--fast) var(--ease)}.pr-card:active{transform:scale(.97)}.pr-card.is-fresh{border-color:var(--accent-line);box-shadow:0 0 20px -8px var(--accent-glow)}.pr-flag{position:absolute;top:10px;right:10px;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.pr-value{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.045em;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pr-value sub{font-family:var(--body);font-size:13px;font-weight:600;vertical-align:baseline;color:var(--ink-2);margin-left:2px}.pr-name{font-size:13.5px;font-weight:640}.pr-when{font-size:11.5px;color:var(--ink-3)}.badges{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.badge{display:flex;flex-direction:column;gap:3px;padding:15px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);animation:enter .34s var(--ease) both}.badge.is-fresh{border-color:var(--accent-line)}.badge-glyph{font-size:20px;line-height:1;margin-bottom:4px}.badge-title{font-size:14px;font-weight:680;letter-spacing:-.01em}.badge-detail{font-size:11.5px;color:var(--ink-3);line-height:1.35}.mate{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px;transition:transform var(--fast) var(--ease)}.mate:active{transform:scale(.94)}.mate-name{font-size:13px;font-weight:640}.mate-times{font-size:10.5px;color:var(--ink-3)}.row-hl{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}.row-hl b{color:var(--ink);font-weight:680;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.athlete-head{display:flex;gap:16px;align-items:center}.athlete-counts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:0;gap:0}.athlete-counts a,.athlete-counts span{display:flex;flex-direction:column;gap:2px}.athlete-counts strong{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:24px;letter-spacing:-.04em}.athlete-counts em{font-style:normal;font-size:12px;color:var(--ink-2)}.sheet-scrim{position:fixed;inset:0;z-index:60;border:none;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer;animation:fade-in .16s ease both}.sheet{position:fixed;z-index:61;left:10px;right:10px;bottom:calc(80px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);animation:sheet-up .2s cubic-bezier(.2,.9,.3,1) both}@media (min-width:1000px){.sheet{left:auto;right:24px;bottom:24px;width:340px}}.sheet-grip{display:none}.sheet-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r-m);transition:background .14s ease}.sheet-row:active{background:var(--glass)}.sheet-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--accent-wash);color:var(--accent)}.sheet-icon svg{width:20px;height:20px}.sheet-go{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wo{position:fixed;inset:0;z-index:80;background:var(--bg);flex-direction:column;padding:calc(14px + env(safe-area-inset-top)) var(--pad) calc(18px + env(safe-area-inset-bottom))}.wo,.wo-top{display:flex}.wo-top{align-items:center;justify-content:space-between;gap:12px;min-height:44px}.wo-quit{font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer}.wo-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;color:var(--ink-2)}.wo-steps{display:flex;gap:5px;margin-top:16px}.wo-step{flex:1 1;height:3px;border-radius:2px;background:var(--line)}.wo-step.is-done,.wo-step.is-here{background:var(--accent)}.wo-step.is-here{opacity:.45}.wo-mid{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:24px 0}.wo-move{font-family:var(--display);font-weight:900;font-size:clamp(32px,9.5vw,52px);line-height:.92;letter-spacing:-.035em}.wo-move,.wo-set{text-transform:uppercase}.wo-set{font-size:14px;font-weight:650;color:var(--accent);letter-spacing:.04em}.wo-load{display:flex;align-items:baseline;gap:10px}.wo-load-n{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(66px,21vw,108px);line-height:.84;letter-spacing:-.055em}.wo-load-u{font-size:20px;font-weight:700;color:var(--ink-2)}.wo-stepper{gap:10px}.wo-bump,.wo-stepper{display:flex;align-items:center}.wo-bump{width:54px;height:54px;border-radius:50%;border:1px solid var(--line-2);color:var(--ink);font-size:22px;font-weight:400;justify-content:center;cursor:pointer;flex:0 0 auto}.wo-bump:active{background:var(--glass)}.wo-last{font-size:14px;color:var(--ink-2)}.wo-last b{color:var(--ink);font-weight:650}.wo-foot{gap:10px}.fin,.wo-foot{display:flex;flex-direction:column}.fin{gap:30px;padding:20px 0 8px}.fin-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.fin-hero{display:flex;flex-direction:column;gap:6px}.pop{animation:pop .5s cubic-bezier(.2,1.3,.4,1) both}.rise{animation:rise .5s cubic-bezier(.2,.9,.3,1) both}.rise-1{animation-delay:.06s}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.18s}.rise-4{animation-delay:.24s}@keyframes pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--line);stroke-width:1}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:var(--accent-wash)}.chart-dot{fill:var(--accent)}.chart-label{font-size:9px;fill:var(--ink-3)}.bar{fill:var(--line-2)}.bar.is-on{fill:var(--accent)}.bar.is-mid{fill:var(--line-2)}.divider{height:1px;background:var(--line)}.empty{padding:32px 20px;text-align:center;color:var(--ink-3);font-size:15px;border:1px dashed var(--line-2);border-radius:var(--r-m)}.scroller{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;margin:0 calc(var(--pad) * -1);padding-inline:var(--pad)}.scroller>*{scroll-snap-align:start;flex:0 0 auto}.link-hot{color:var(--accent);font-weight:600;font-size:13px}.meter{height:4px;background:var(--line);overflow:hidden}.meter,.meter>i{border-radius:2px}.meter>i{display:block;height:100%;background:var(--accent);transition:width .4s cubic-bezier(.2,.7,.3,1)}.meter>i.is-warn{background:var(--warn)}.meter>i.is-full{background:var(--line-2)}.meter>i.is-cool{background:var(--accent)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;display:flex;flex-direction:column;gap:5px}.stat-value{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:30px;line-height:1;letter-spacing:-.04em;color:var(--ink)}.stat-value small{font-size:13px;font-weight:600;letter-spacing:0;color:var(--ink-2);font-family:var(--body)}.stat-label{font-size:12.5px;color:var(--ink-2);line-height:1.35}.big-number{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:clamp(46px,13vw,66px);line-height:.9;letter-spacing:-.05em}.big-number small{font-size:18px;font-weight:600;color:var(--ink-2);letter-spacing:0;font-family:var(--body)}.class-row{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.class-time{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:19px;letter-spacing:-.03em;line-height:1}.class-dur{font-size:11px;color:var(--ink-3)}.people-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.people-row:last-child{border-bottom:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.launch{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#08080A;transition:opacity .35s var(--ease),transform .35s var(--ease)}:root[data-launch=leaving] .launch{opacity:0;transform:scale(1.04);pointer-events:none}:root[data-launch=done] .launch{display:none}.launch-lockup{position:relative;width:min(58vw,250px);aspect-ratio:2400/1200;animation:launch-settle .9s var(--ease) .25s both}.launch-strap,.launch-word{position:absolute;inset:0;-webkit-mask:url(/jambo-mark.svg) center/contain no-repeat;mask:url(/jambo-mark.svg) center/contain no-repeat}.launch-word{-webkit-clip-path:inset(0 0 27% 0);clip-path:inset(0 0 27% 0);background:linear-gradient(102deg,#fff,#fff 36%,rgba(255,255,255,.55) 46%,#fff 57%,#fff);background-size:320% 100%;background-position:100% 0;animation:launch-sheen .8s var(--ease) .7s both}.launch-strap{-webkit-clip-path:inset(73% 0 0 0);clip-path:inset(73% 0 0 0);background:#fff;animation:launch-strap .45s var(--ease) .95s both}@keyframes launch-settle{0%{opacity:0;transform:scale(.88)}55%{opacity:1;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes launch-sheen{0%{background-position:100% 0}to{background-position:0 0}}@keyframes launch-strap{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.launch-lockup,.launch-strap,.launch-word{animation:none}.launch-word{background:#fff}}.nav-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;pointer-events:none;opacity:0;transition:opacity .2s ease}.nav-progress[data-running=yes]{opacity:1}.nav-progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .28s cubic-bezier(.25,.8,.3,1)}@media (prefers-reduced-motion:reduce){.nav-progress i{transition:none}}.auth-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(20px,6vw,56px) var(--pad)}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(22px,5vw,32px);display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow-lg)}.auth-card-wide{max-width:560px}.auth-mark{width:150px;height:50px}.doorway{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.doorway-pick{display:block;text-align:left;padding:12px 13px;border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--surface);color:var(--ink-2);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.doorway-pick strong{display:block;font-family:var(--display);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink-2)}.doorway-pick span{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:var(--ink-3)}.doorway-pick[data-on=yes]{background:var(--accent-wash);border-color:var(--accent-line)}.doorway-pick[data-on=yes] strong{color:var(--ink)}.doorway-pick[data-on=yes] span{color:var(--ink-2)}.doorway-pick:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:380px){.doorway{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.doorway-pick{transition:none}}.plan-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border-radius:var(--r-m);border:1px solid var(--line-2);background:transparent;color:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease}.plan-option:hover{border-color:var(--accent)}.plan-option.is-picked{border-color:var(--accent-line);background:var(--accent-wash)}.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.check input{margin-top:3px;width:20px;height:20px;accent-color:var(--accent);flex:0 0 auto}.pass{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,5vw,28px);display:flex;flex-direction:column;gap:18px;align-items:center}.pass .qr{background:#fff;padding:14px;border-radius:var(--r-m);width:min(260px,68vw)}.pass .qr img,.pass .qr svg{width:100%;height:auto;display:block}.kiosk{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:var(--pad);text-align:center}.kiosk-status{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,7vw,58px);line-height:.95;letter-spacing:-.03em}.kiosk-ok{color:var(--accent)}.kiosk-bad{color:var(--crit)}.note-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}.note-row:last-child{border-bottom:none}.note-row.is-unread .note-dot{background:var(--accent);color:var(--on-accent)}.note-dot{width:36px;height:36px;border-radius:11px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--glass);font-size:16px}.toast-wrap{position:fixed;left:50%;transform:translateX(-50%);bottom:88px;z-index:90;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 24px));pointer-events:none}@media (min-width:1000px){.toast-wrap{bottom:28px}}.toast{background:var(--surface);border:1px solid var(--line-2);color:var(--ink);border-radius:var(--r-m);padding:14px 18px;font-size:15px;box-shadow:var(--shadow-lg);animation:toast-in .26s cubic-bezier(.2,.7,.3,1)}.toast.is-pr{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:650}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}table{border-collapse:collapse;width:100%;min-width:660px}td,th{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:middle}th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;background:var(--surface-2);white-space:nowrap}tbody tr:last-child td{border-bottom:none}td.n{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.risk{height:8px;width:96px;border-radius:4px;background:var(--line);overflow:hidden;flex:0 0 auto}.risk>i{display:block;height:100%;background:var(--crit)}.risk>i.mid{background:var(--warn)}.risk>i.low{background:var(--accent)}.content:has(.auth-shell),.content:has(.kiosk){padding:0}.shell:has(.auth-shell),.shell:has(.kiosk){max-width:none;padding:0}.office{display:block}.office-nav{display:none}.office-main{width:100%}@media (min-width:1000px){.office{display:grid;grid-template-columns:258px 1fr;grid-gap:36px;gap:36px;align-items:start}.office-nav{display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:76px;max-height:calc(100dvh - 110px);padding:20px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--surface);overflow-y:auto}}.office-brand{display:block}.office-brand .brand-mark{width:132px;height:44px}.office-links{display:flex;flex-direction:column;gap:2px}.office-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--r-s);color:var(--ink-2);transition:background .16s ease,color .16s ease}.office-link:hover{background:var(--glass);color:var(--ink)}.office-link[aria-current=page]{background:var(--accent);color:var(--on-accent)}.office-link-label{font-size:15px;font-weight:620;line-height:1.2}.office-link-hint{font-size:12px;color:var(--ink-3);line-height:1.35}.office-link[aria-current=page] .office-link-hint{color:rgba(255,255,255,.8)}.office-count{min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--crit);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.office-link[aria-current=page] .office-count{background:rgba(0,0,0,.45)}.office-foot{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--line);margin-top:auto;font-size:13px;color:var(--ink-2)}.office-main .table-wrap table{min-width:720px}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.figure{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;display:flex;flex-direction:column;gap:5px}.figure-value{font-family:var(--display);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:27px;letter-spacing:-.04em;line-height:1}.figure-label{font-size:13px;color:var(--ink-2);line-height:1.4}.figure-up{color:var(--accent)}.figure-down{color:var(--crit)}.barline{display:grid;grid-template-columns:56px 1fr auto;grid-gap:12px;gap:12px;align-items:center}.barline-track{height:10px;border-radius:5px;background:var(--line);overflow:hidden;display:flex}.barline-track i{display:block;height:100%}.barline-in{background:var(--accent)}.barline-out{background:var(--line-2)}.rota{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(146px,1fr))}.rota-day{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);padding:13px;display:flex;flex-direction:column;gap:9px;min-height:140px}.rota-day.is-today{border-color:var(--accent-line)}.rota-shift{border-radius:var(--r-s);background:var(--glass);padding:7px 9px;font-size:12.5px;line-height:1.35}@media (min-width:1000px){.topnav[data-hide-in-office=yes]{display:none}}@media print{.btn,.office-nav,.tabbar,.toast-wrap,.topbar{display:none!important}body{background:#fff;color:#000}.office{display:block}.card,.figure,.table-wrap,.tile{page-break-inside:avoid;break-inside:avoid;border-color:#ccc;box-shadow:none;background:#fff}.figure-value,.h1,.h2,.title{color:#000}.content{padding:0}}.lvl{display:flex;flex-direction:column;gap:8px;padding:4px 0 2px}.lvl-name{font-size:14px;color:var(--ink-2)}.lvl-name b{color:var(--ink);font-weight:750}.lvl-xp{font-size:13.5px;font-weight:700;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lvl-track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.lvl-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 62%,transparent),var(--accent));box-shadow:0 0 12px -2px var(--accent-glow);transition:width .9s var(--ease)}.goals{gap:18px}.goal,.goals{display:flex;flex-direction:column}.goal{gap:9px}.goal-label{font-size:15px;font-weight:650}.goal-count{font-size:13px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal.is-done .goal-count{color:var(--accent);font-weight:700}.goal-dots{display:flex;gap:8px}.goal-dot{flex:1 1;height:8px;border-radius:4px;background:var(--line);transition:background var(--base) var(--ease)}.goal-dot.is-on{background:var(--accent)}.goal-track{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.goal-fill{display:block;height:100%;border-radius:4px;background:var(--accent);transition:width .8s var(--ease)}.goal-line{font-size:13.5px;color:var(--ink-2)}.xp-gain{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;padding:14px 18px;border-radius:var(--r-m);border:1px solid var(--accent-line);background:var(--accent-wash);animation:enter var(--base) var(--ease) both}.xp-amount{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.04em;line-height:1;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xp-unit{font-size:14px;font-weight:700;color:var(--accent)}.xp-note{font-size:13px;color:var(--ink-2);width:100%}.mate-av{position:relative;display:block}.mate-dot{position:absolute;right:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2.5px var(--bg)}.msg-unread{color:var(--ink);font-weight:620}.msg-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-boards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.mini-board{display:flex;flex-direction:column;gap:3px;padding:14px 12px;border-radius:var(--r-m);border:1px solid var(--line)}.mini-title{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.mini-name{font-size:14.5px;font-weight:680}.mini-value{font-size:12px;color:var(--ink-2)}.chat-screen{display:flex;flex-direction:column;min-height:calc(100dvh - 120px)}.chat-head{gap:8px;padding:4px 0 14px;border-bottom:1px solid var(--line)}.chat-head,.chat-who{display:flex;align-items:center}.chat-who{gap:11px}.chat-name{font-size:15.5px;font-weight:680}.chat-state{font-size:12px;color:var(--ink-2)}.chat{flex-direction:column;min-height:0}.chat,.chat-log{display:flex;flex:1 1 auto}.chat-log{flex-direction:column;gap:3px;padding:18px 0;overflow-y:auto}.bubble{position:relative;align-self:flex-start;max-width:78%;padding:10px 14px 16px;border-radius:18px 18px 18px 6px;background:var(--surface);border:1px solid var(--line);font-size:15.5px;line-height:1.4;animation:bubble-in .22s var(--ease) both}.bubble.is-mine{align-self:flex-end;background:var(--accent);border-color:transparent;color:var(--on-accent);border-radius:18px 18px 6px 18px}.bubble.is-first{margin-top:10px}.bubble-time{position:absolute;right:11px;bottom:5px;font-size:10px;opacity:.55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.chat-bar{position:-webkit-sticky;position:sticky;bottom:0;gap:8px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 70%,transparent)}.chat-bar,.chat-send{display:flex;align-items:center}.chat-send{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--on-accent);justify-content:center;cursor:pointer;transition:transform var(--fast) var(--ease),opacity var(--fast) var(--ease)}.chat-send svg{width:20px;height:20px}.chat-send:active{transform:scale(.9)}.chat-send:disabled{opacity:.3;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.bubble,.goal-fill,.lvl-fill{transition:none;animation:none}}.gpill{pointer-events:none}.tdays{display:flex;flex-direction:column;gap:14px}.tdays-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--pad);scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:2px var(--pad) 4px}.tdays-strip::-webkit-scrollbar{display:none}.tday{flex:none;scroll-snap-align:start;width:58px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.tday:active{transform:scale(.94)}.tday-wk{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.tday-num{font-family:var(--display);font-weight:900;font-size:24px;line-height:1;letter-spacing:-.03em}.tday-dot{width:5px;height:5px;border-radius:50%;background:transparent}.tday-dot[data-on=yes]{background:var(--accent)}.tday[data-empty=yes] .tday-num{color:var(--ink-3)}.tday[data-picked=yes]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tday[data-picked=yes] .tday-num,.tday[data-picked=yes] .tday-wk{color:var(--on-accent)}.tday[data-picked=yes] .tday-dot[data-on=yes]{background:var(--on-accent)}.tday:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tdays-head{margin:4px 0 0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.tdays-none{margin:0;padding:22px 0;color:var(--ink-2);font-size:14.5px}.slots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.slot{position:relative;display:grid;grid-template-columns:60px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:14px 14px 14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.slot-open{position:absolute;inset:0;z-index:1;border-radius:inherit}.slot-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slot-act{position:relative;z-index:2}.slot-time{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;line-height:1}.slot-body{display:flex;flex-direction:column;gap:4px;min-width:0}.slot-name{font-size:15.5px;font-weight:650;line-height:1.25}.slot-meta{font-size:12.5px;color:var(--ink-2)}.slot[data-state=booked],.slot[data-state=held]{border-color:var(--accent-line);background:var(--accent-wash)}.slot-live{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--accent)}.slot-live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);animation:slot-live 1.6s ease-in-out infinite}@keyframes slot-live{50%{opacity:.35}}.train-need{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--accent-line);border-radius:18px;background:var(--accent-wash);color:var(--ink)}.train-need strong{font-size:15px;font-weight:700}.train-need span span{font-size:13px;color:var(--ink-2)}.train-pack{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding:16px 0 4px;border-top:1px solid var(--line);color:var(--ink)}.train-pack-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.train-pack-value{font-size:15px;font-weight:650}@media (prefers-reduced-motion:reduce){.tday{transition:none}.slot-live:before{animation:none}}.live{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-2)}.live-item{display:inline-flex;align-items:center;gap:6px}.live-item b{color:var(--ink);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.8s ease-in-out infinite}.quick{display:flex;gap:6px;overflow-x:auto;margin:0 calc(var(--pad) * -1);padding:2px var(--pad)}.quick-btn{flex:0 0 auto;padding:8px 15px;border-radius:999px;font-size:13.5px;font-weight:640;color:var(--ink-2);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(1.8);-webkit-backdrop-filter:blur(14px) saturate(1.8);background:color-mix(in srgb,var(--surface) 55%,transparent);transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease),transform var(--fast) var(--ease)}.quick-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;line-height:1}.quick-btn:active{transform:scale(.95)}.quick-btn:hover{color:var(--ink);border-color:var(--line-2)}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.have{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r-l);border:1px solid var(--accent-line);background:var(--accent-wash)}.have.is-empty{border-color:var(--line);background:transparent;border-style:dashed}.have-name{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.have-big{font-family:var(--display);font-weight:900;font-size:clamp(40px,12vw,54px);line-height:1;letter-spacing:-.05em}.have-big sub{font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:0;vertical-align:baseline;color:var(--ink-2);margin-left:8px}.bubble-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;max-width:82%;align-self:flex-start}.bubble-row.is-mine{align-self:flex-end;align-items:flex-end}.bubble-row .bubble{max-width:100%}.bubble.is-bare{padding:4px 4px 14px}.bubble-shots{display:grid;grid-gap:3px;gap:3px;border-radius:13px;overflow:hidden;margin-bottom:8px}.bubble.is-bare .bubble-shots{margin-bottom:0}.bubble-shots[data-count="1"]{grid-template-columns:1fr}.bubble-shots[data-count="2"],.bubble-shots[data-count="3"],.bubble-shots[data-count="4"]{grid-template-columns:1fr 1fr}.bubble-shots[data-count="3"] img:first-child{grid-column:1/-1}.bubble-shots img{display:block;width:100%;max-height:320px;object-fit:cover;background:var(--surface-2)}.bubble-shots[data-count="1"] img{max-height:380px}.bubble-shots:not([data-count="1"]) img{aspect-ratio:1;max-height:none}.bubble-text{display:block}.bubble-add,.bubble-react{display:flex;align-items:center;gap:2px;margin-top:-9px;margin-right:8px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);background:var(--bg-2);font-size:13px;line-height:1;cursor:pointer;z-index:1;transition:transform var(--fast) var(--ease)}.bubble-row.is-mine .bubble-add,.bubble-row.is-mine .bubble-react{margin-right:0;margin-left:8px}.bubble-add:active,.bubble-react:active{transform:scale(.92)}.bubble-react span[data-mine=yes]{filter:none}.bubble-add{width:24px;height:24px;padding:0;justify-content:center;color:var(--ink-3);opacity:0;transition:opacity var(--fast) var(--ease)}.bubble-add svg{width:14px;height:14px}@media (hover:hover){.bubble-add:focus-visible,.bubble-row:hover .bubble-add{opacity:1}}@media (hover:none){.bubble-add{opacity:.5}}.bubble-picker{display:flex;gap:2px;margin-top:6px;padding:5px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg,0 12px 30px -10px rgba(0,0,0,.55));animation:picker-in .16s var(--ease) both}.bubble-picker button{width:34px;height:34px;border-radius:50%;font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}.bubble-picker button:hover{background:var(--surface-2)}.bubble-picker button:active{transform:scale(.86)}@keyframes picker-in{0%{opacity:0;transform:translateY(-4px) scale(.94)}}.chat-tray{display:flex;gap:8px;padding:10px 0 2px;overflow-x:auto}.chat-shot{position:relative;flex:none}.chat-shot img{display:block;width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}.chat-shot button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;background:var(--bg-2);color:var(--ink);font-size:15px;line-height:1;place-items:center;cursor:pointer}.chat-clip,.chat-shot button{border-radius:50%;border:1px solid var(--line);display:grid}.chat-clip{flex:0 0 auto;width:42px;height:42px;background:var(--surface);color:var(--ink-2);place-items:center;cursor:pointer;transition:transform var(--fast) var(--ease),color var(--fast) var(--ease)}.chat-clip svg{width:19px;height:19px}.chat-clip:active{transform:scale(.9)}.chat-clip:disabled{opacity:.4;cursor:not-allowed}.chat-clip-wait{width:15px;height:15px;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:chat-spin .62s linear infinite}@keyframes chat-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.bubble-picker{animation:none}.chat-clip-wait{animation-duration:2s}}.rw-pair{gap:0}.rw-open{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:14px;padding:1px 0}.rw-open:active{opacity:.6}.rw-act{flex:none;margin-left:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.qb,.sr-only{white-space:nowrap}.qb{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:66px;height:34px;padding:0 13px;border-radius:999px;font-size:13.5px;font-weight:640;cursor:pointer;transition:transform var(--fast) var(--ease),opacity var(--fast) var(--ease)}.qb:active{transform:scale(.94)}.qb:disabled{opacity:.5;cursor:default}.qb-go{background:var(--accent);color:var(--on-accent)}.qb-quiet{color:var(--ink-2);border:1px solid var(--line-2)}.qb-in,.qb-quiet{background:transparent}.qb-in{color:var(--accent);border:1px solid var(--accent-line);cursor:default}.qb-in svg{width:13px;height:13px}.qb-wait{background:transparent;color:var(--ink-3);border:1px dashed var(--line-2);cursor:default}.maker{--maker-ink:var(--ink-3);--maker-strong:var(--ink-2);--maker-hover:var(--accent);display:inline-flex;align-items:center;gap:10px;min-height:32px;max-width:100%;font-size:12px;line-height:1.4;color:var(--maker-ink);text-decoration:none;border-radius:8px;-webkit-tap-highlight-color:transparent}.maker-mark{flex:none;width:16px;aspect-ratio:175/225;background-color:var(--maker-ink);-webkit-mask:url(/saltlight-mark.svg) center/contain no-repeat;mask:url(/saltlight-mark.svg) center/contain no-repeat;transition:background-color .25s ease,transform .35s cubic-bezier(.22,.78,.27,1)}.maker-text{min-width:0}.maker-name{color:var(--maker-strong);font-weight:600;background:linear-gradient(currentColor,currentColor) 0 100% /0 1px no-repeat;transition:color .25s ease,background-size .35s cubic-bezier(.22,.78,.27,1)}.maker:focus-visible .maker-name,.maker:hover .maker-name{color:var(--maker-hover);background-size:100% 1px}.maker:focus-visible .maker-mark,.maker:hover .maker-mark{background-color:var(--maker-hover);transform:translateY(-1px)}.maker:focus-visible{outline:2px solid var(--maker-hover);outline-offset:4px}@media (prefers-reduced-motion:reduce){.maker-mark,.maker-name{transition:none}.maker:focus-visible .maker-mark,.maker:hover .maker-mark{transform:none}}.auth-shell:has(.auth-maker){flex-direction:column;gap:20px}