:root{--paper: #edefe9;--surface: #f8f9f5;--surface-2: #f1f3ec;--ink: #11161a;--ink-soft: #5a6168;--line: #d4d8cd;--line-strong: #c2c7b8;--accent: #243be0;--accent-ink: #1a2bb0;--safe: #1c6b53;--warn: #b4541c;--radius: 14px;--radius-sm: 9px;--maxw: 1080px;--shadow-sm: 0 1px 0 rgba(17, 22, 26, .04), 0 1px 2px rgba(17, 22, 26, .05);--shadow: 0 2px 4px rgba(17, 22, 26, .05), 0 8px 24px -12px rgba(17, 22, 26, .18);--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}html{color-scheme:light}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0;text-wrap:balance}h1{font-size:clamp(2.4rem,6vw,4.1rem)}h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}h3{font-size:1.18rem;letter-spacing:-.01em}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}.kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;gap:.5ch}.rail{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--safe);display:inline-flex;align-items:center;gap:.6ch}.rail:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--safe);box-shadow:0 0 0 3px #1c6b5329;animation:pulse 2.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.btn{font-family:var(--font-display);font-weight:600;font-size:.98rem;letter-spacing:-.01em;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:.7em 1.25em;border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;display:inline-flex;align-items:center;gap:.6ch;text-decoration:none}.btn:hover{background:var(--accent-ink);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0)}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--surface-2);color:var(--ink)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}.boundary{position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow)}.boundary:after{content:"";position:absolute;inset:7px;border:1px dashed var(--line-strong);border-radius:calc(var(--radius) - 6px);pointer-events:none}.boundary__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:13px 18px;border-bottom:1px dashed var(--line);position:relative;z-index:1}.boundary__body{padding:22px;position:relative;z-index:1}@media(max-width:560px){.boundary__body{padding:16px}}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-size:.82rem;color:var(--ink-soft);margin-bottom:5px;font-weight:600}input[type=number],input[type=text],select{width:100%;font-family:var(--font-body);font-size:1rem;padding:.6em .7em;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}input:focus,select:focus{border-color:var(--accent)}input[type=range]{width:100%;accent-color:var(--accent)}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:480px){.row{grid-template-columns:1fr}}.result{font-family:var(--font-mono);background:var(--ink);color:var(--paper);border-radius:var(--radius-sm);padding:16px 18px;margin-top:4px}.result .big{font-size:2rem;font-weight:700;letter-spacing:-.02em}.result .sub{color:#b9c0c7;font-size:.82rem}.muted{color:var(--ink-soft)}.small{font-size:.86rem}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);padding:30px 18px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone.is-over{border-color:var(--accent);background:#e7eafc}hr.sep{border:none;border-top:1px solid var(--line);margin:28px 0}.tipw{display:inline-flex;vertical-align:middle}.infolink{position:relative;display:inline-grid;place-items:center;flex:none;margin-left:4px;color:var(--app-ink-soft, var(--ink-soft));opacity:.85;transition:opacity .18s ease,color .18s ease,transform .18s ease}.infolink:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}.tipw:hover .infolink,.infolink:focus-visible{opacity:1;color:var(--app-accent, var(--accent));transform:scale(1.12)}.tip{position:fixed;inset:auto;margin:0;z-index:60;width:max-content;max-width:min(272px,calc(100vw - 24px));padding:11px 13px;border-radius:12px;background:var(--app-surface, var(--surface));border:1px solid var(--app-line, var(--line));box-shadow:0 10px 30px #00000024;text-align:left;font-family:var(--font-body);font-size:1rem;font-weight:400;font-style:normal;text-transform:none;letter-spacing:normal;line-height:1.45;opacity:0;transform:translateY(5px) scale(.97);transition:opacity .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.tip:popover-open{display:grid;gap:4px}.tip[data-show]{opacity:1;transform:translateY(0) scale(1)}.tip[data-below]{transform:translateY(-5px) scale(.97)}.tip[data-below][data-show]{transform:translateY(0) scale(1)}.tip__t{font-size:.82rem;font-weight:800;letter-spacing:-.01em;color:var(--app-ink, var(--ink))}.tip__s{font-size:.8rem;line-height:1.45;font-weight:400;color:var(--app-ink-soft, var(--ink-soft))}.tip__m{font-size:.72rem;font-weight:600;color:var(--app-ink-faint, var(--ink-faint))}.tip__go{font-size:.74rem;font-weight:700;color:color-mix(in srgb,var(--app-accent, var(--accent)) 45%,var(--app-ink, var(--ink)))}@media(prefers-reduced-motion:reduce){.infolink,.tip{transition-duration:.01ms}.tipw:hover .infolink,.infolink:focus-visible{transform:none}.tip,.tip[data-below]{transform:none}}.axkey{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px;margin-top:8px;padding-top:7px;border-top:1px dashed var(--app-line)}.axkey__l{font-size:.68rem;color:var(--app-ink-soft)}.axkey__t{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:var(--app-ink-soft)}:root{--app-font: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--app-mono: "Spline Sans Mono", ui-monospace, monospace;--ease: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.33, 1, .68, 1);--app-radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--fs-xs: .78rem;--fs-sm: .88rem;--fs-md: 1rem;--fs-lg: 1.22rem;--fs-xl: 1.6rem;--fs-2xl: 2.1rem;--fs-3xl: 2.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--sport-run: #2fbf5b;--sport-ride: #6b6bf5;--sport-swim: #14a5c4;--sport-row: #e08a2b;--sport-ski: #4fa8e8;--sport-walk: #3fc0a0;--sport-strength: #c25a5a;--sport-other: #98a2b3;--zone-1: #5aa9e6;--zone-2: #2fbf8f;--zone-3: #f0c23c;--zone-4: #ef8f3c;--zone-5: #e8503f;--zone-6: #9333ea;--app-accent: #f4cd52;--app-accent-soft: #f7d873;--app-on-accent: #1a1a1a;--app-danger: #ff6a4d;--app-positive: #2fbf5b;--app-caution: #ef9d28}:root[data-theme=dark]{--app-bg: #0d0f13;--app-surface: #161922;--app-surface-2: #1d212c;--app-line: #283041;--app-ink: #f1f4fa;--app-ink-soft: #9aa6bd;--app-ink-faint: #6b7689;--app-nav-bg: #0d0f13;--app-nav-surface: #1d212c;--app-nav-line: #283041;--app-positive-ink: #4ad07a;--app-danger-ink: #ff8a72;--app-caution-ink: #f2b347;--app-accent-ink: var(--app-accent-soft);--ai: #a970ff;--ai-soft: #7c4ddb;--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 8px 28px -8px rgba(0,0,0,.55);color-scheme:dark}:root,:root[data-theme=light]{--app-bg: #ffffff;--app-surface: #ffffff;--app-surface-2: #eeede9;--app-line: #e3e0da;--app-ink: #1a1a1a;--app-ink-soft: #6e6450;--app-nav-bg: #fbf4dd;--app-nav-surface: #fbf0c9;--app-nav-line: #ece0bd;--app-ink-faint: #76694f;--app-positive-ink: #1a7d3a;--app-danger-ink: #c2381f;--app-caution-ink: #8a5b12;--app-accent-ink: #8a6a12;--ai: #7c3aed;--ai-soft: #9333ea;--shadow-1: 0 1px 2px rgba(16,24,40,.06);--shadow-2: 0 10px 30px -10px rgba(16,24,40,.18);color-scheme:light}[data-sport=run]{--sport: var(--sport-run)}[data-sport=ride]{--sport: var(--sport-ride)}[data-sport=swim]{--sport: var(--sport-swim)}[data-sport=row]{--sport: var(--sport-row)}[data-sport=ski]{--sport: var(--sport-ski)}[data-sport=walk]{--sport: var(--sport-walk)}[data-sport=strength]{--sport: var(--sport-strength)}[data-sport=other]{--sport: var(--sport-other)}[data-sport]{--sport-tint: color-mix(in srgb, var(--sport) 16%, var(--app-surface));--sport-tint-soft: color-mix(in srgb, var(--sport) 9%, var(--app-surface));--sport-edge: var(--sport);--sport-ink: color-mix(in srgb, var(--sport) 60%, var(--app-ink))}[data-status=ready]{--status: var(--app-positive);--status-ink: var(--app-positive-ink)}[data-status=caution]{--status: var(--app-caution);--status-ink: var(--app-caution-ink)}[data-status=tired]{--status: var(--app-danger);--status-ink: var(--app-danger-ink)}[data-status]{--status-tint: color-mix(in srgb, var(--status) 15%, var(--app-surface));--status-edge: var(--status)}html{background:var(--app-bg)}.num,[data-num]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}body{margin:0;background:var(--app-bg);color:var(--app-ink);font-family:var(--app-font);-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit}.appmain :is(h1,h2){font-weight:800;letter-spacing:-.03em;line-height:1.04;text-wrap:balance}.appmain h1{font-size:var(--fs-2xl);margin:0 0 var(--space-2)}.appmain h2{font-size:var(--fs-xl)}.appmain :is(h3,h4){font-weight:700;letter-spacing:-.02em;text-wrap:balance}:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.tipw{position:relative;z-index:1}.infolink{position:relative;display:inline-flex}.infolink:before{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}a,button,summary,label,input,select{touch-action:manipulation}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5ch;min-height:48px;padding:0 22px;border-radius:11px;font-family:var(--app-font);font-weight:700;font-size:1rem;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.btn-primary{background:var(--app-accent);color:var(--app-on-accent)}.btn-primary:hover{background:var(--app-accent-soft);transform:translateY(-1px);box-shadow:0 6px 18px -8px color-mix(in srgb,var(--app-accent) 60%,transparent)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-1)}.btn-secondary{background:var(--app-surface-2);color:var(--app-ink);border-color:var(--app-line);box-shadow:var(--shadow-1)}.btn-secondary:hover{background:color-mix(in srgb,var(--app-ink) 6%,var(--app-surface-2));border-color:var(--app-ink-faint)}.btn-ghost{background:transparent;color:var(--app-ink);border-color:var(--app-line)}.btn-ghost:hover{background:var(--app-surface-2);border-color:var(--app-ink-faint)}.btn-danger{background:color-mix(in srgb,var(--app-danger) 12%,var(--app-surface));color:var(--app-danger-ink);border-color:color-mix(in srgb,var(--app-danger) 45%,var(--app-line))}.btn-danger:hover{background:color-mix(in srgb,var(--app-danger) 15%,var(--app-surface));border-color:var(--app-danger-ink)}.btn-ghost--danger{color:var(--app-danger-ink);border-color:color-mix(in srgb,var(--app-danger) 38%,var(--app-line))}.btn-ghost--danger:hover{background:color-mix(in srgb,var(--app-danger) 10%,transparent);border-color:var(--app-danger-ink);color:var(--app-danger-ink)}.btn-sm{min-height:44px;padding:0 16px;font-size:.9rem;border-radius:10px}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px;border-radius:11px}.btn-sm:focus-visible{border-radius:10px}.btn-primary svg,.btn-secondary svg,.btn-ghost svg,.btn-danger svg{width:1.1em;height:1.1em;flex:none}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.btn-primary[disabled],.btn-secondary[disabled],.btn-ghost[disabled],.btn-danger[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.btn-primary:hover,.btn-primary:active{transform:none}}.impbar{position:sticky;top:0;z-index:60;height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:#b3261e;color:#fff;font-size:.84rem;font-weight:600}.impbar__txt{display:inline-flex;align-items:center;gap:8px;min-width:0}.impbar__txt strong{font-weight:800}.impbar__txt svg{flex:none;opacity:.9}.impbar__form{margin:0;flex:none}.impbar__exit{min-height:30px;padding:0 14px;display:inline-flex;align-items:center;background:#fff;color:#b3261e;border:none;border-radius:7px;font:inherit;font-weight:800;font-size:.8rem;cursor:pointer;transition:transform .15s var(--ease),opacity .15s var(--ease)}.impbar__exit:hover{transform:scale(1.04)}.impbar__exit:active{transform:scale(.98)}.impbar__exit:focus-visible{outline:2px solid #fff;outline-offset:2px}.impbar{padding-top:env(safe-area-inset-top);height:calc(40px + env(safe-area-inset-top))}.is-impersonating .appbar{top:calc(40px + env(safe-area-inset-top));padding-top:var(--appbar-py)}.appbar{display:flex;align-items:center;gap:20px;--appbar-py: 12px;padding-top:calc(var(--appbar-py) + env(safe-area-inset-top));padding-inline:20px;padding-bottom:var(--appbar-py);border-bottom:1px solid var(--app-nav-line);position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--app-nav-bg) 88%,transparent);backdrop-filter:blur(10px)}.brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;transition:transform .4s var(--ease);transform-origin:left center}.brand:hover{transform:scale(1.03)}.brand:active{transform:scale(.99)}.brand__logo{height:40px;width:auto;display:block}.appnav{display:flex;gap:2px;margin-right:auto;margin-left:20px}.appnav__link{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--app-ink-soft);font-weight:600;font-size:.92rem;padding:0 14px;border-radius:10px;transition:color .3s var(--ease),background .3s var(--ease)}.appnav__link:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--app-accent);transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease)}.appnav__link:hover{color:var(--app-ink)}.appnav__link:hover:after{transform:scaleX(.5)}.appnav__link.is-active{color:var(--app-ink);background:var(--app-nav-surface)}.appnav__link.is-active:after{transform:scaleX(1)}.appnav--dense{margin-left:12px}@media(min-width:1241px)and (max-width:1360px){.nav-dense .appauth__who{max-width:100px}}.themetoggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:10px;background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink-soft);cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease),transform .2s var(--ease)}.themetoggle:hover{color:var(--app-ink);border-color:color-mix(in srgb,var(--app-accent) 50%,var(--app-line))}.themetoggle:active{transform:scale(.92)}.themetoggle svg{transition:transform .5s var(--ease)}.themetoggle:hover svg{transform:rotate(15deg)}.themetoggle__moon{display:none}:root[data-theme=light] .themetoggle__sun{display:none}:root[data-theme=light] .themetoggle__moon{display:inline}.appauth{display:flex;align-items:center;gap:10px}.appauth__who{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;color:var(--app-ink-soft);transition:color .2s var(--ease);max-width:200px}.appauth__who:hover{color:var(--app-ink)}.appauth__avatar{flex:none;width:30px;height:30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--app-nav-surface);border:1px solid var(--app-nav-line);font-size:.72rem;font-weight:800;letter-spacing:-.01em;color:var(--app-ink-soft)}.appauth__avimg{width:100%;height:100%;object-fit:cover;display:block}.appauth__who:hover .appauth__avatar{border-color:var(--app-accent)}.appauth__name{font-size:.84rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appauth__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:transparent;border:1px solid var(--app-line);color:var(--app-ink);border-radius:10px;padding:0 14px;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:none;font-family:var(--app-font);white-space:nowrap;flex:none;transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease),transform .2s var(--ease)}.appauth__btn:hover{border-color:var(--app-accent);background:color-mix(in srgb,var(--app-accent) 12%,transparent);color:var(--app-ink)}.appauth__btn:active{transform:scale(.96)}.appauth__gear{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;border-radius:10px;text-decoration:none;background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink-soft);cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease),transform .2s var(--ease)}.appauth__gear:hover{color:var(--app-ink);border-color:color-mix(in srgb,var(--app-accent) 50%,var(--app-line))}.appauth__gear:active{transform:scale(.92)}.appauth__gear svg{transition:transform .5s var(--ease)}.appauth__gear:hover svg{transform:rotate(30deg)}@media(min-width:821px)and (max-width:1100px){.appbar{gap:8px;padding-inline:12px}.brand__logo{height:34px}.appnav{gap:0;margin-left:8px}.appnav__link{padding:0 6px}.appauth{gap:6px}.appauth__who{max-width:100px}}.appmain{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:14px 20px 32px}.appmain :where(section,article,div,li,a,p,span):not([data-hscroll]){min-width:0}.appmain--wide{max-width:1500px}.appmain--bleed{max-width:none;padding:12px 20px 48px}@media(max-width:820px){.appmain--bleed{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}}@keyframes app-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.appmain{animation:app-rise .55s var(--ease) backwards}@media(prefers-reduced-motion:reduce){.appmain{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.appfoot{border-top:1px solid var(--app-line);padding:12px 20px;color:var(--app-ink-soft);font-size:.85rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.appfoot a{color:var(--app-ink-soft);text-decoration:none;margin-left:16px}.appfoot a:hover{color:var(--app-ink)}html[data-mode=beginner] .pro-only{display:none!important}.tabbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:color-mix(in srgb,var(--app-nav-bg) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--app-nav-line);padding-bottom:env(safe-area-inset-bottom)}.tabbar__link{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:8px 4px;min-height:54px;text-decoration:none;color:var(--app-ink-soft);font-size:.68rem;font-weight:600;-webkit-tap-highlight-color:transparent}.tabbar__link span{text-align:center;line-height:1.2}.tabbar__link svg{stroke-width:1.7}@media(max-width:430px){.tabbar__link{font-size:.64rem;padding:8px 3px}}@media(min-width:431px){.tabbar{justify-content:center}.tabbar__link{flex:0 1 132px}}.tabbar__more{appearance:none;background:none;border:0;margin:0;font-family:inherit;cursor:pointer;color:var(--app-ink-soft)}.tabbar__more.has-pip:after{content:"";position:absolute;top:6px;left:calc(50% + 7px);width:8px;height:8px;border-radius:50%;background:var(--app-danger)}.navsheet{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;justify-content:flex-end}.navsheet[hidden]{display:none}.navsheet__scrim{position:absolute;inset:0;appearance:none;border:0;padding:0;background:color-mix(in srgb,#000 42%,transparent);animation:sheet-fade .2s var(--ease)}.navsheet__panel{position:relative;margin:0 8px calc(68px + env(safe-area-inset-bottom));background:var(--app-nav-bg);border:1px solid var(--app-nav-line);border-radius:18px;padding:8px 8px 10px;box-shadow:0 -8px 40px color-mix(in srgb,#000 28%,transparent);animation:sheet-rise .26s var(--ease);max-height:60vh;overflow-y:auto}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.navsheet__grip{display:block;width:38px;height:4px;border-radius:999px;background:var(--app-line);margin:2px auto 8px}.navsheet__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.navsheet__link{position:relative;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:12px;text-decoration:none;color:var(--app-ink);font-size:.95rem;font-weight:600;transition:background .2s var(--ease)}.navsheet__link:hover{background:var(--app-nav-surface)}.navsheet__link.is-active{background:var(--app-nav-surface);font-weight:700}.navsheet__link.is-active svg{stroke-width:2.2}.navsheet__link .navpip{margin-left:auto}body.sheet-open{overflow:hidden}body.sheet-open .tabbar{backdrop-filter:none;opacity:.45}.tabbar__link.is-active{color:var(--app-ink);font-weight:700}.tabbar__link.is-active svg{stroke-width:2.1}.tabbar__link.is-active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--app-accent)}.appnav__link .navpip,.tabbar__link .navpip,.navsheet__link .navpip{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:var(--app-danger);color:#fff;font-size:.62rem;font-weight:800;line-height:1}.appnav__link .navpip{margin-left:6px}.tabbar__link .navpip{position:absolute;top:4px;left:calc(50% + 8px)}@media(max-width:820px){.appnav{display:none}.appbar{gap:6px;--appbar-py: 11px;padding-inline:12px}.appauth__name{display:none}.appauth__who{min-width:44px;justify-content:center}.appnav{margin-left:0}.brand__logo{height:32px}.appauth__btn{padding:8px 12px;min-height:44px;display:inline-flex;align-items:center}.appmain{padding:10px 11px calc(88px + env(safe-area-inset-bottom))}.appmain :where(h1){font-size:1.45rem;margin-block:0 8px}.appmain :where(h2){margin-block:0 7px}.appmain :where(section)+:where(section){margin-top:12px}.appmain :where(p){margin-block:0 8px}.appfoot{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.tabbar{display:flex}}@media(min-width:821px)and (max-width:1240px){.nav-dense .appnav{display:none}.nav-dense .tabbar{display:flex}.nav-dense .themetoggle{margin-left:auto}.nav-dense .appmain{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.nav-dense .appfoot{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}@media(max-width:400px){.appbar{gap:4px;--appbar-py: 10px;padding-inline:8px}.brand__logo{height:26px}.appauth{gap:4px}.appauth__btn{padding:7px 8px}.appauth__who{display:none}}
