.signin{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}.signin-card{width:100%;max-width:380px}.signin-title{margin:0 0 12px;line-height:0;color:var(--text)}.signin-error-code{display:block;margin-top:2px}.signin-needs{margin:2px 0}:root{--bg: #15100d;--bg-elev: #1e1713;--bg-elev-2: #271e19;--bg-input: #120d0a;--border: #3a2d25;--border-strong: #554236;--border-field: #806a5a;--text: #f3ebe4;--text-muted: #b5a497;--text-faint: #998779;--text-faint-on-tint: #ab998b;--accent: #e0a15e;--accent-strong: #f0b673;--accent-contrast: #1b120b;--accent-soft: rgba(224, 161, 94, .14);--accent-ink: #e0a15e;--nav-current: rgba(224, 161, 94, .24);--nav-cta-ring: rgba(224, 161, 94, .6);--success: #7cc48a;--success-soft: rgba(124, 196, 138, .14);--warning: #e9c46a;--warning-soft: rgba(233, 196, 106, .14);--danger: #e76f51;--danger-soft: rgba(231, 111, 81, .14);--info: #6fb1e7;--chart-weight: #e0a15e;--chart-flow: #6fb1e7;--chart-target: #7cc48a;--chart-grid: rgba(255, 255, 255, .07);--chart-axis: #998779;--compare-1: #e0a15e;--compare-2: #8496ff;--compare-3: #3cc4b4;--compare-4: #f49fd9;--compare-5: #ece4dc;--compare-6: #a7e3ff;--toggle-knob: #f3ebe4;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px;--radius-track: 4px;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--top-h: 56px;--nav-h: 64px;--rail-w: 0px;--gutter: 16px;--content-max: 1100px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--chrome-top: calc(var(--top-h) + var(--safe-top));--chrome-bottom: calc(var(--nav-h) + var(--safe-bottom));--status-scrim: var(--bg);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f7f2ed;--bg-elev: #ffffff;--bg-elev-2: #f1e9e1;--bg-input: #ffffff;--border: #e3d6ca;--border-strong: #cdb9a7;--border-field: #958070;--text: #2a1d15;--text-muted: #6d5a4c;--text-faint: #776556;--text-faint-on-tint: #715f51;--accent: #9c5f22;--accent-strong: #84501c;--accent-contrast: #ffffff;--accent-soft: rgba(156, 95, 34, .12);--accent-ink: #87501a;--nav-current: rgba(156, 95, 34, .18);--nav-cta-ring: rgba(156, 95, 34, .55);--success: #2b7339;--success-soft: rgba(43, 115, 57, .12);--warning: #865c00;--warning-soft: rgba(134, 92, 0, .12);--danger: #a93d27;--danger-soft: rgba(169, 61, 39, .12);--info: #27679c;--chart-weight: #b8732f;--chart-flow: #2f7fbf;--chart-target: #3f9a52;--chart-grid: rgba(0, 0, 0, .07);--chart-axis: #776556;--compare-1: #b8732f;--compare-2: #3f4fc0;--compare-3: #13887a;--compare-4: #c0479f;--compare-5: #4a3f38;--compare-6: #5c8fd6;--toggle-knob: #ffffff;--shadow: 0 6px 24px rgba(60, 35, 15, .12);color-scheme:light}}@media(display-mode:standalone)and (prefers-color-scheme:light){:root{--status-scrim: #2a1d15}}@media(min-width:700px){:root{--top-h: 60px;--nav-h: 72px;--gutter: 24px}}@media(min-width:700px)and (max-height:520px){:root{--nav-h: 56px}}@media(min-width:1024px){:root{--nav-h: 0px;--rail-w: 88px;--gutter: 28px;--content-max: 1280px}}@media(min-width:1440px){:root{--rail-w: 232px}}:root.focus-mode{--top-h: 0px;--nav-h: 0px;--rail-w: 0px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}@media(min-width:700px)and (pointer:coarse){body{font-size:16px}}@media(display-mode:standalone){html,body{overscroll-behavior:none}}html.focus-mode,html.focus-mode body{overscroll-behavior:none}html.scroll-locked{overflow:hidden}a{color:var(--accent-ink);text-decoration:none}@media(hover:hover){a:hover{text-decoration:underline}}a,button,input,select,textarea,label,summary,[role=button],[role=tab],[role=switch]{touch-action:manipulation}button,.btn,.chip,.nav-item,.scale-pill,.topbar .brand{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a:focus-visible,button:focus-visible,summary:focus-visible,[role=tab]:focus-visible,[role=radio]:focus-visible,.btn:focus-visible,.chip:focus-visible,.list-item:focus-visible,.card.interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none}[data-route-focus]:focus{outline:none}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:650}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1.05rem}.page-header h2{font-size:1.5rem}@media(min-width:700px){h1,.page-header h2{font-size:1.65rem}}p{margin:0}hr{border:0;border-top:1px solid var(--border);margin:16px 0}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-shell:before{content:"";position:fixed;top:0;left:0;right:0;z-index:50;height:var(--safe-top);background:var(--status-scrim);pointer-events:none}.topbar{position:sticky;top:0;z-index:20;height:var(--chrome-top);display:flex;align-items:center;gap:12px;padding:var(--safe-top) max(16px,var(--safe-right)) 0 max(16px,var(--safe-left));background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar .brand{display:flex;align-items:center;border-radius:var(--radius-sm);color:var(--text);text-decoration:none}@media(pointer:coarse){.topbar .brand{min-height:44px}}@media(max-width:699px){.topbar .brand svg{width:103px;height:18px}.topbar .topbar-settings.active{background:var(--accent-soft);color:var(--accent-ink)}.scale-pill.active{border-color:var(--accent)}}.logo-emblem{fill:var(--accent)}.topbar .spacer{flex:1}.skip-link{position:fixed;top:max(8px,var(--safe-top));left:max(8px,var(--safe-left));z-index:100;padding:10px 16px;border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);font-weight:650;transform:translateY(calc(-100% - 16px - var(--safe-top)))}.skip-link:focus{transform:none;outline:2px solid var(--text);outline-offset:2px}.main:focus{outline:none}.main{flex:1;width:100%;min-width:0;max-width:calc(var(--content-max) + 2 * var(--gutter));margin:0 auto;padding:var(--gutter) max(var(--gutter),var(--safe-right)) calc(var(--chrome-bottom) + 24px) max(var(--gutter),var(--safe-left))}.nav-item{text-decoration:none}.nav-icon{display:grid;place-items:center;flex-shrink:0}.nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:var(--chrome-bottom);padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);display:flex;justify-content:center;background:var(--bg-elev);border-top:1px solid var(--border)}.bottom-nav .nav-item{flex:1 1 0;min-width:0;max-width:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.7rem;color:var(--text-faint)}.bottom-nav .nav-item.not-phone{display:none}.bottom-nav .nav-icon svg{width:22px;height:22px}.bottom-nav .nav-item.active{color:var(--accent-ink)}.bottom-nav .brew-cta .nav-icon{width:46px;height:46px;margin-top:-18px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow)}.bottom-nav .brew-cta .nav-icon svg{width:24px;height:24px}.nav-rail{display:none}@media(min-width:700px){.topbar{padding-left:max(24px,var(--safe-left));padding-right:max(24px,var(--safe-right))}.topbar .topbar-settings{display:none}.bottom-nav{padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right))}.bottom-nav .nav-item,.bottom-nav .nav-item.not-phone{display:flex;max-width:112px;gap:4px;font-size:.82rem;font-weight:600}.bottom-nav .nav-icon{width:56px;height:32px;border-radius:var(--radius-pill);transition:background .15s}.bottom-nav .nav-icon svg{width:26px;height:26px}.bottom-nav .nav-item.active:not(.brew-cta) .nav-icon{background:var(--accent-soft)}.bottom-nav .brew-cta .nav-icon{width:60px;height:60px;margin-top:-26px;border-radius:50%}.bottom-nav .brew-cta .nav-icon svg{width:28px;height:28px}.bottom-nav .brew-cta.active .nav-icon{box-shadow:0 0 0 4px var(--accent-soft),var(--shadow)}}@media(min-width:700px)and (max-height:520px){.bottom-nav .nav-icon{height:26px}.bottom-nav .brew-cta .nav-icon{width:48px;height:48px;margin-top:-16px}}@media(min-width:1024px){.app-shell{display:grid;grid-template-columns:calc(var(--rail-w) + var(--safe-left)) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"top top" "rail main"}.topbar{grid-area:top;padding-left:calc(var(--safe-left) + (var(--rail-w) - 35.8px) / 2)}.main{grid-area:main}.bottom-nav{display:none}.nav-rail{grid-area:rail;display:flex;flex-direction:column;gap:4px;position:sticky;top:var(--chrome-top);align-self:start;height:calc(100vh - var(--chrome-top));height:calc(100dvh - var(--chrome-top));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:12px 6px calc(12px + var(--safe-bottom)) calc(6px + var(--safe-left));border-right:1px solid var(--border)}.nav-rail .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:4px 0;border-radius:var(--radius);color:var(--text-muted);font-size:.75rem;font-weight:600}.nav-rail .nav-icon{width:56px;height:32px;border-radius:var(--radius-pill);transition:background .15s,box-shadow .15s}.nav-rail .nav-icon svg{width:24px;height:24px}.nav-rail .nav-item.active{color:var(--text);font-weight:700}.nav-rail .nav-item.active .nav-icon{background:var(--nav-current);color:var(--accent-ink)}.nav-rail .brew-cta{color:var(--accent-ink)}.nav-rail .brew-cta .nav-icon{box-shadow:inset 0 0 0 1.5px var(--nav-cta-ring)}.main{padding-bottom:calc(var(--chrome-bottom) + 48px)}}@media(min-width:1440px){.topbar{padding-left:calc(var(--safe-left) + 24px)}.nav-rail{gap:2px;padding:16px 12px calc(16px + var(--safe-bottom)) calc(12px + var(--safe-left))}.nav-rail .nav-item{flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);font-size:inherit;font-weight:500}.nav-rail .nav-icon,.nav-rail .brew-cta .nav-icon,.nav-rail .nav-item.active .nav-icon{width:auto;height:auto;border-radius:0;background:none;color:inherit;box-shadow:none}.nav-rail .nav-icon svg{width:20px;height:20px}.nav-rail .nav-item.active{background:var(--nav-current);font-weight:650}.nav-rail .nav-item.active .nav-icon{color:var(--accent-ink)}.nav-rail .nav-item.brew-cta{margin:6px 0;font-weight:650;box-shadow:inset 0 0 0 1.5px var(--nav-cta-ring)}}@media(hover:hover){.topbar .brand:hover,.nav-item:hover{text-decoration:none}.bottom-nav .nav-item:not(.active):hover{color:var(--text-muted)}.nav-rail .nav-item:not(.active):not(.brew-cta):hover{color:var(--text)}.nav-rail .nav-item:not(.active):hover .nav-icon{background:var(--bg-elev-2)}}@media(hover:hover)and (min-width:1440px){.nav-rail .nav-item:not(.active):hover{background:var(--bg-elev)}.nav-rail .nav-item:not(.active):hover .nav-icon{background:none}}.nav-item:active{opacity:.75}@media(min-width:700px)and (max-width:1439px){.nav-item:active{opacity:1}.nav-item:active:not(.brew-cta):not(.active) .nav-icon,.nav-rail .nav-item.brew-cta:active:not(.active) .nav-icon{background:var(--bg-elev-2)}}.app-shell.focus{display:block}.app-shell.focus .main{max-width:none;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:max(10px,var(--safe-top)) max(12px,var(--safe-right)) max(10px,var(--safe-bottom)) max(12px,var(--safe-left))}:where(.app-shell.focus .main)>*{flex:1 0 auto}.page{display:flex;flex-direction:column;gap:16px}.page-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-header .titles{flex:1;min-width:0}.page-header .subtitle{color:var(--text-muted);font-size:.9rem;margin-top:2px}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:6px}.stack-lg{display:flex;flex-direction:column;gap:20px}.row{display:flex;align-items:center;gap:10px}.row-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.grow{flex:1;min-width:0}.grid{display:grid;gap:12px}.grid-2{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-auto{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media(max-width:560px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:700px){.page{gap:20px}}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.text-lg{font-size:1.15rem}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.bold{font-weight:650}.center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}table.sr-only{position:fixed;top:0;left:0}.kicker{font-size:.75rem;font-weight:650;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.decaf-mark{display:inline-flex;flex-shrink:0;vertical-align:-.1em;color:var(--text-muted)}.decaf-mark svg{width:.85em;height:.85em}.bean-name{display:inline-flex;align-items:center;gap:.3em;min-width:0;max-width:100%;vertical-align:bottom}.freshness{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-muted);min-width:0}.freshness .dot{width:7px;height:7px}.freshness.resting .dot{background:var(--info)}.freshness.fresh .dot{background:var(--success)}.freshness.aging .dot{background:var(--warning)}.freshness.stale .dot{background:var(--text-faint)}.freshness .stage{color:var(--text-faint)}.success{color:var(--success)}.warning{color:var(--warning)}.danger{color:var(--danger)}.accent{color:var(--accent-ink)}.hidden{display:none!important}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.flat{background:transparent}.card.pad-0{padding:0}.card.interactive{cursor:pointer;transition:border-color .15s,transform .16s var(--ease-out)}.card.interactive:active{transform:scale(.995);border-color:var(--border-strong)}@media(hover:hover){.card.interactive:hover{border-color:var(--border-strong)}}@media(min-width:700px){.card{padding:20px}}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-title{font-weight:650;font-size:1rem}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;max-width:100%;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elev-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s,transform .16s var(--ease-out)}.btn>svg,.btn>.spinner{flex-shrink:0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.danger{background:var(--danger-soft);border-color:transparent;color:var(--danger)}.btn.success{background:var(--success-soft);border-color:transparent;color:var(--success)}.btn.sm{height:32px;padding:0 12px;font-size:.85rem}.btn.lg{height:52px;padding:0 22px;font-size:1.05rem;border-radius:var(--radius)}.btn.xl{height:64px;padding:0 28px;font-size:1.2rem;border-radius:var(--radius-lg)}.btn.block{width:100%}.btn.icon{width:40px;padding:0}.btn.icon.sm{width:32px}.btn:active:not(:disabled){transform:scale(.98);border-color:var(--accent)}.btn.primary:active:not(:disabled){background:var(--accent-strong)}.btn.ghost:active:not(:disabled){background:var(--bg-elev-2);border-color:transparent;color:var(--text)}.btn.danger:active:not(:disabled){border-color:var(--danger)}.btn.success:active:not(:disabled){border-color:var(--success)}@media(hover:hover){.btn:hover{text-decoration:none}.btn:hover:not(:disabled){border-color:var(--accent)}.btn.primary:hover:not(:disabled){background:var(--accent-strong)}.btn.ghost:hover:not(:disabled){background:var(--bg-elev-2);border-color:transparent;color:var(--text)}.btn.danger:hover:not(:disabled){border-color:var(--danger)}}@media(pointer:coarse){.btn{height:48px;padding:0 18px}.btn.sm{height:44px;padding:0 14px;font-size:.9rem}.btn.lg{height:56px;padding:0 24px}.btn.xl{height:64px}.btn.icon{width:48px}.btn.icon.sm{width:44px}}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.field-label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.field .hint{font-size:.75rem;color:var(--text-faint)}.field .error{font-size:.75rem;color:var(--danger)}.input,.select,.textarea{width:100%;min-width:0;height:42px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--border-field);background:var(--bg-input);color:var(--text);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-faint);opacity:1}.input:focus,.select:focus,.textarea:focus{position:relative;z-index:1;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 0 4px var(--accent-soft)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 1px var(--danger),0 0 0 4px var(--danger-soft)}.input-group{display:flex;align-items:stretch}.input-group .input{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.input-group .addon{display:flex;align-items:center;padding:0 10px;border:1px solid var(--border-field);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--bg-elev-2);color:var(--text-muted);font-size:.85rem}.input-group .addon.prefix{border-left:1px solid var(--border-field);border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-family:var(--font-mono)}.input-group .addon.prefix+.input{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.input-group .addon.prefix+.input:not(:last-child){border-radius:0}.stepper{display:flex;align-items:stretch;gap:6px}.stepper .input{text-align:center;font-family:var(--font-mono)}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1 / -1}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}@media(pointer:coarse){.input,.select{height:48px;font-size:16px}.textarea{font-size:16px}.input-group .addon{padding:0 12px;font-size:.9rem}.form-grid{gap:16px}}@media(pointer:coarse){.page:has(:is(input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=reset],[type=file],[type=color],[type=date]),textarea):focus) :is(.action-bar,.bean-form-actions,.bw-actionbar,.set-savebar){position:static}}.toggle{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.toggle input:disabled+.track{cursor:not-allowed}.toggle .track{width:42px;height:24px;border-radius:var(--radius-pill);background:var(--border-field);position:relative;transition:background .15s;flex-shrink:0}.toggle .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--toggle-knob);transition:transform .15s,background .15s}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translate(18px);background:var(--accent-contrast)}@media(pointer:coarse){.toggle{min-height:44px;gap:12px}.toggle .track{width:52px;height:30px}.toggle .track:after{width:24px;height:24px}.toggle input:checked+.track:after{transform:translate(22px)}}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:650;letter-spacing:.02em;background:var(--bg-elev-2);color:var(--text-muted);white-space:nowrap}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--border-field);background:transparent;color:var(--text-muted);font:inherit;font-size:.85rem;cursor:pointer}.chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.chip .x{opacity:.6}.chip:active{border-color:var(--text-faint)}@media(pointer:coarse){.chip{height:44px;padding:0 14px;font-size:.9rem}}.tabs{display:flex;gap:4px;padding:4px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.tabs button{flex:1;appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-weight:600;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.tabs button.active{background:var(--bg-elev-2);color:var(--text)}.tabs button:active:not(.active){background:color-mix(in srgb,var(--bg-elev-2) 60%,transparent)}.tab-panel{display:flex;flex-direction:column;gap:inherit;min-width:0}@media(pointer:coarse){.tabs button{min-height:44px;padding:8px 14px}}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.list-item:last-child{border-bottom:0}a.list-item:active,button.list-item:active{background:color-mix(in srgb,var(--bg-elev-2) 70%,transparent)}@media(hover:hover){.list-item:hover{text-decoration:none;background:color-mix(in srgb,var(--bg-elev-2) 50%,transparent)}}@media(pointer:coarse){.list-item{min-height:56px;padding:14px 4px}}.stat{display:flex;flex-direction:column;gap:2px}.stat .label{font-size:.75rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.stat .value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.stat .value small{font-size:.75rem;color:var(--text-muted);font-weight:500;margin-left:2px}.progress{height:8px;border-radius:var(--radius-track);background:var(--bg-elev-2);overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:var(--radius-track);transform:translate(-100%);transition:transform .2s linear}.progress.success>div{background:var(--success)}.progress.warning>div{background:var(--warning)}.progress.danger>div{background:var(--danger)}.weight-display{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:clamp(3.2rem,min(14vw,15dvh),7rem);line-height:1;letter-spacing:-.03em}.weight-display .unit{font-size:.35em;color:var(--text-muted);margin-left:.15em;font-weight:600}.weight-display.negative{color:var(--text-faint)}.scale-pill{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;white-space:nowrap;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:none}.scale-pill:active{border-color:var(--border-strong)}@media(hover:hover){.scale-pill:hover{text-decoration:none;border-color:var(--border-strong)}}@media(pointer:coarse){.scale-pill{height:44px;padding:0 14px}}@media(min-width:700px){.scale-pill{gap:10px;font-size:inherit}}@media(max-width:359px){.scale-pill .pill-battery{display:none}}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex-shrink:0}.dot.ok{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.dot.busy{background:var(--warning);animation:pulse 1s infinite}.dot.err{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.dot.busy{animation:none}}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-elev-2);border:1px solid var(--border);font-size:.9rem}.banner.info{background:color-mix(in srgb,var(--info) 12%,transparent);border-color:transparent}.banner.warning{background:var(--warning-soft);border-color:transparent}.banner.danger{background:var(--danger-soft);border-color:transparent}.banner.success{background:var(--success-soft);border-color:transparent}.banner>.grow{color:var(--text)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:36px 16px;color:var(--text-muted)}.empty-state .icon{color:var(--text-faint)}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:pulse 1.6s ease-in-out infinite}}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:calc(var(--safe-top) + 12px) 0 0;overscroll-behavior:contain}.modal-backdrop:before{content:"";position:absolute;inset:0;z-index:-1;background:#0000008c;animation:fade .25s var(--ease-out)}.modal{display:flex;flex-direction:column;width:100%;max-width:640px;max-height:92vh;max-height:92dvh;overflow:hidden;background:var(--bg-elev);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);box-shadow:var(--shadow);animation:sheet-in .5s var(--ease-drawer)}.modal:focus{outline:none}.modal-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px 8px 18px}.modal-header h2{min-width:0}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 18px 18px}.modal-footer{flex:none;padding:12px 18px;border-top:1px solid var(--border)}.modal-footer:empty{display:none}.discard-question{align-self:center;font-weight:600}@media(max-width:480px){.modal-footer .discard-question{flex-basis:100%}}@media(min-width:700px){.modal-backdrop{align-items:center;padding:max(24px,var(--safe-top)) max(24px,var(--safe-right)) max(24px,var(--safe-bottom)) max(24px,var(--safe-left))}.modal{max-height:100%;padding:0;border-bottom:1px solid var(--border);border-radius:var(--radius-lg);animation:dialog-in .25s var(--ease-out)}.modal-header{padding:16px 14px 10px 24px}.modal-body{padding:6px 24px 24px}.modal-footer{padding:14px 24px}}@keyframes fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@media(prefers-reduced-motion:reduce){.modal{animation:fade .2s ease-out}}.toast-stack{position:fixed;z-index:200;left:50%;transform:translate(-50%);bottom:calc(var(--chrome-bottom) + 12px);display:flex;flex-direction:column;gap:8px;width:min(calc(100vw - 32px),420px);pointer-events:none;clip-path:inset(-100vh -100vw -12px -100vw)}.toast{pointer-events:auto;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-size:.9rem;transition:opacity .4s ease,transform .4s ease}.toast[data-state=entering],.toast[data-state=leaving]{opacity:0;transform:translateY(100%)}.toast[data-state=leaving]{transition-duration:.2s;pointer-events:none}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--danger)}.toast:has(>.toast-action){display:flex;align-items:center;gap:12px;padding-top:6px;padding-bottom:6px}.toast>.toast-action{margin:0 -6px 0 auto;color:var(--accent-ink)}@media(pointer:coarse){.toast{padding:14px 16px;font-size:inherit}}@media(min-width:1024px){.toast-stack{left:auto;right:calc(24px + var(--safe-right));bottom:calc(24px + var(--safe-bottom));transform:none;width:min(calc(100vw - 48px),400px)}}html.focus-mode .toast-stack{top:calc(var(--safe-top) + 12px);bottom:auto;left:50%;right:auto;transform:translate(-50%);clip-path:inset(-12px -100vw -100vh -100vw)}html.focus-mode .toast[data-state=entering],html.focus-mode .toast[data-state=leaving]{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.toast[data-state=entering],.toast[data-state=leaving],html.focus-mode .toast[data-state=entering],html.focus-mode .toast[data-state=leaving]{transform:none}}.rating{display:inline-flex;gap:2px}.rating button{appearance:none;border:0;background:none;padding:2px;cursor:pointer;color:var(--border-field);line-height:0;border-radius:var(--radius-sm)}.rating button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rating button.on{color:var(--accent-ink)}.rating.readonly button{cursor:default}@media(pointer:coarse){.rating:not(.readonly){gap:0}.rating:not(.readonly) button{padding:6px}}.chart{display:flex;flex-direction:column;gap:8px;min-width:0}.chart-key{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:.82rem;color:var(--text-muted)}.chart-key-item{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.chart-key-item:before{content:"";flex-shrink:0;align-self:center;width:16px;height:3px;border-radius:var(--radius-track);background:var(--key-color, currentColor)}.chart-key-item.dashed:before{background:repeating-linear-gradient(90deg,var(--key-color, currentColor) 0 4px,transparent 4px 7px)}.chart-key-value{min-width:7ch;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.chart-key-at{margin-left:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-faint)}.chart-wrap{width:100%;position:relative}.chart-wrap .u-select{background:var(--accent-soft)}.chart-wrap .u-over{touch-action:pan-y}.action-bar{position:sticky;bottom:calc(var(--chrome-bottom) + 10px);z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.action-bar-status{flex:1 1 12em;min-width:0;padding-left:4px;font-size:.9rem;color:var(--text-muted)}.action-bar-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}@media(min-width:1024px){.action-bar{bottom:calc(var(--chrome-bottom) + 16px)}}@media(max-width:559px){.action-bar-actions{flex:1 1 100%}.action-bar-actions>.btn{flex:1 1 0}}.btn:has(>.confirm-q){position:relative}.confirm-q{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 8px;visibility:hidden}.confirm-q>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.armed{border-color:currentColor;-webkit-text-fill-color:transparent}.btn.armed>svg{visibility:hidden}.btn.armed>.confirm-q{visibility:visible;-webkit-text-fill-color:currentColor}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-size:.75rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:650;padding:8px;border-bottom:1px solid var(--border)}.table td{padding:10px 8px;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain}@media(pointer:coarse){.table td{padding:12px 8px}}
