:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08071c;--bg-glow-1:#7c3aed47;--bg-glow-2:#2563eb3d;--bg-glow-3:#22d3ee14;--surface:#18153aa8;--surface-solid:#141233;--surface-2:#29245c8c;--surface-3:#3e378280;--glass:#0e0c26b8;--border:#a78bfa21;--border-strong:#a78bfa47;--grid:#a78bfa14;--text:#f0edff;--muted:#a9a3d6;--faint:#8f8ac4;--violet:#8b5cf6;--violet-2:#a78bfa;--indigo:#6366f1;--blue:#3b82f6;--blue-2:#60a5fa;--cyan:#22d3ee;--pink:#f472b6;--success:#34d399;--warning:#fbbf24;--danger:#fb7185;--accent:linear-gradient(135deg, #c4b5fd 0%, #8b5cf6 38%, #6366f1 64%, #3b82f6 100%);--accent-strong:linear-gradient(135deg, #a78bfa 0%, #7c3aed 38%, #5850ec 64%, #3b82f6 100%);--accent-soft:linear-gradient(135deg, #8b5cf638, #3b82f62e);--on-accent:#fff;--focus:#a78bfa;--series-gravity:#a78bfa;--series-temp:#f472b6;--series-velocity:#22d3ee;--series-battery:#34d399;--series-rssi:#fbbf24;--series-tilt:#60a5fa;--chart-text:var(--muted);--chart-grid:var(--grid);--chart-bg:transparent;--code-bg:#05041499;--backdrop:#05041499;--shine:linear-gradient(90deg, #c4b5fd, #f0abfc, #93c5fd, #c4b5fd);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a9a3d6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--radius-sm:.55rem;--radius:.9rem;--radius-lg:1.25rem;--radius-xl:1.6rem;--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #030214e6;--shadow-lg:0 30px 90px -20px #030214d9;--glow:0 12px 34px -12px #7c3aedbf;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f2ff;--bg-glow-1:#8b5cf629;--bg-glow-2:#3b82f624;--bg-glow-3:#22d3ee12;--surface:#ffffffc7;--surface-solid:#fff;--surface-2:#ede9feb3;--surface-3:#ddd6febf;--glass:#faf9ffd1;--border:#4c1d951f;--border-strong:#4c1d953d;--grid:#4c1d951a;--text:#1d1846;--muted:#4f4987;--faint:#5f5896;--violet:#7c3aed;--violet-2:#6d28d9;--indigo:#4f46e5;--blue:#2563eb;--blue-2:#2563eb;--cyan:#0e7490;--pink:#be185d;--success:#047857;--warning:#9a4708;--danger:#be123c;--accent:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 38%, #4f46e5 64%, #2563eb 100%);--accent-strong:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 38%, #4f46e5 64%, #2563eb 100%);--accent-soft:linear-gradient(135deg, #8b5cf629, #3b82f61f);--focus:#6d28d9;--series-gravity:#7c3aed;--series-temp:#db2777;--series-velocity:#0891b2;--series-battery:#059669;--series-rssi:#d97706;--series-tilt:#2563eb;--code-bg:#f6f4ff;--backdrop:#1d184659;--shine:linear-gradient(90deg, #7c3aed, #c026d3, #2563eb, #7c3aed);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f4987' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #311e7859;--shadow-lg:0 30px 80px -24px #311e7866;--glow:0 12px 30px -12px #7c3aed80}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f2ff;--bg-glow-1:#8b5cf629;--bg-glow-2:#3b82f624;--bg-glow-3:#22d3ee12;--surface:#ffffffc7;--surface-solid:#fff;--surface-2:#ede9feb3;--surface-3:#ddd6febf;--glass:#faf9ffd1;--border:#4c1d951f;--border-strong:#4c1d953d;--grid:#4c1d951a;--text:#1d1846;--muted:#4f4987;--faint:#5f5896;--violet:#7c3aed;--violet-2:#6d28d9;--indigo:#4f46e5;--blue:#2563eb;--blue-2:#2563eb;--cyan:#0e7490;--pink:#be185d;--success:#047857;--warning:#9a4708;--danger:#be123c;--accent:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 38%, #4f46e5 64%, #2563eb 100%);--accent-strong:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 38%, #4f46e5 64%, #2563eb 100%);--accent-soft:linear-gradient(135deg, #8b5cf629, #3b82f61f);--focus:#6d28d9;--series-gravity:#7c3aed;--series-temp:#db2777;--series-velocity:#0891b2;--series-battery:#059669;--series-rssi:#d97706;--series-tilt:#2563eb;--code-bg:#f6f4ff;--backdrop:#1d184659;--shine:linear-gradient(90deg, #7c3aed, #c026d3, #2563eb, #7c3aed);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234f4987' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #311e7859;--shadow-lg:0 30px 80px -24px #311e7866;--glow:0 12px 30px -12px #7c3aed80}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{letter-spacing:-.02em;line-height:1.15}a{color:inherit;text-decoration:none}code,pre,textarea.code{font-family:var(--mono)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main:focus,.modal:focus{outline:none}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--accent-strong);color:var(--on-accent);box-shadow:var(--shadow-lg);border-radius:999px;padding:.6rem 1rem;font-weight:650;position:fixed;top:.6rem;left:.6rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.link-btn{color:var(--violet-2);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn:hover{color:var(--text)}.app{isolation:isolate;min-height:100vh;position:relative}.ambient{z-index:-1;pointer-events:none;background:radial-gradient(60rem 40rem at 8% -10%, var(--bg-glow-1), transparent 60%), radial-gradient(50rem 40rem at 105% 10%, var(--bg-glow-2), transparent 60%), radial-gradient(40rem 30rem at 50% 120%, var(--bg-glow-3), transparent 60%);position:fixed;inset:0}.topbar{z-index:20;padding:.7rem clamp(.9rem,3vw,2rem);padding-top:max(.7rem, env(safe-area-inset-top));border-bottom:1px solid var(--border);align-items:center;gap:1rem;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.4);position:absolute;inset:0}.brand{cursor:pointer;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.6rem;min-width:0;padding:0;display:flex}.brand img{width:2.1rem;height:2.1rem;box-shadow:var(--glow);border-radius:.6rem;flex-shrink:0}.brand-name{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em;background:var(--accent);color:#0000;-webkit-background-clip:text;background-clip:text;max-width:16rem;font-size:1.15rem;font-weight:750;overflow:hidden}.nav{gap:.25rem;margin-left:1rem;display:flex}.nav a{color:var(--muted);transition:color .2s var(--ease), background .2s var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .85rem;font-size:.93rem;font-weight:560;display:flex}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a.active{color:var(--text);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border-strong)}.topbar-end{align-items:center;gap:.6rem;margin-left:auto;display:flex}.menu-wrap{position:relative}.menu-btn[aria-expanded=true]{color:var(--text);background:var(--surface-2)}.menu-pop{z-index:40;border-radius:var(--radius-lg);background:var(--surface-solid);border:1px solid var(--border-strong);width:max-content;max-width:min(22rem,100vw - 1.5rem);box-shadow:var(--shadow-lg);animation:pop .25s var(--spring);flex-direction:column;gap:.9rem;padding:1rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.menu-section{flex-direction:column;align-items:flex-start;gap:.45rem;display:flex}.menu-item{border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:center;column-gap:.6rem;min-height:2.75rem;margin:0 -.5rem -.4rem;padding:.45rem .6rem;font-weight:650;display:grid}.menu-item .small{grid-column:2;font-weight:400}.menu-item:hover{background:var(--surface-2)}.menu-item svg{color:var(--violet-2);grid-row:span 2}.hub-warnings{flex-direction:column;gap:1px;display:flex}.hub-warning{color:var(--text);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-bottom:1px solid color-mix(in srgb, var(--warning) 35%, transparent);align-items:center;gap:.6rem;padding:.35rem clamp(.9rem,3vw,2rem);font-size:.88rem;display:flex}.hub-warning.error{background:color-mix(in srgb, var(--danger) 14%, var(--bg));border-bottom-color:color-mix(in srgb, var(--danger) 35%, transparent)}.hub-warning>svg{color:var(--warning);flex-shrink:0}.hub-warning.error>svg{color:var(--danger)}.hub-warning p{flex:1;min-width:0;margin:0}.hub-warning-link{text-underline-offset:2px;white-space:nowrap;font-weight:650;text-decoration:underline}.hub-warning .icon-btn{color:var(--muted)}.live-dot{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.8rem;font-weight:600;display:inline-flex}.live-dot .dot{background:var(--faint);border-radius:50%;width:.5rem;height:.5rem}.live-dot.open .dot{background:var(--success);animation:2.4s infinite pulse;box-shadow:0 0 #34d39999}.live-dot.connecting .dot{background:var(--warning)}@keyframes pulse{0%{box-shadow:0 0 #34d3998c}70%{box-shadow:0 0 0 .55rem #34d39900}to{box-shadow:0 0 #34d39900}}main{width:min(100%,82rem);margin:0 auto;padding:clamp(1rem,3vw,2rem) clamp(.9rem,3vw,2rem) 6rem}main>.notice{margin-bottom:1rem}.page{animation:page-in .35s var(--ease);flex-direction:column;gap:1.4rem;display:flex}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-head h1{margin:0;font-size:clamp(1.6rem,3.5vw,2.2rem)}.page-head p{color:var(--muted);margin:.3rem 0 0}.back{color:var(--muted);align-items:center;gap:.3rem;margin-bottom:.4rem;font-size:.9rem;font-weight:560;display:inline-flex}.back:hover{color:var(--text)}@media (width<=760px){.nav{left:.6rem;right:.6rem;bottom:max(.6rem, env(safe-area-inset-bottom));z-index:30;background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.4);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:1.3rem;justify-content:space-around;margin:0;padding:.35rem;position:fixed}.nav a{border-radius:.9rem;flex-direction:column;flex:1;gap:.15rem;min-height:2.75rem;padding:.4rem .5rem;font-size:.7rem}.topbar{gap:.6rem}.topbar-end{gap:.4rem}.brand-name{max-width:42vw}.live-dot{padding:.35rem .55rem}.live-dot .label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hide-mobile{display:none}.hub-warning{align-items:flex-start;font-size:.84rem}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);padding:clamp(1rem,2.4vw,1.4rem)}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.panel-head h2,.panel-head h3{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}.panel-head p{color:var(--muted);margin:.15rem 0 0;font-size:.9rem}.collapsible:not(.open)>.panel-head{margin-bottom:0}.panel-toggle{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;min-width:0;margin:-.3rem -.45rem;padding:.3rem .45rem;display:inline-flex}.panel-toggle:hover{background:var(--surface-2)}.panel-chevron{color:var(--muted);transition:transform .2s var(--ease);flex:none}.collapsible.open .panel-chevron{transform:rotate(90deg)}.grid{gap:1rem;display:grid}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.spacer{flex:1}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.85rem}.hint{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.divider{background:var(--border);border:0;height:1px;margin:1rem 0}.btn{border:1px solid var(--border-strong);background:var(--surface-2);min-height:2.5rem;color:var(--text);cursor:pointer;white-space:nowrap;transition:transform .15s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.92rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--violet-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent-strong);color:var(--on-accent);box-shadow:var(--glow);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--accent-strong);filter:brightness(1.08)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){color:var(--text);background:var(--surface-2);border-color:#0000}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 18%, transparent);border-color:var(--danger)}.btn.small{min-height:2rem;padding:.3rem .75rem;font-size:.82rem}.btn.icon{width:2.4rem;padding:0}.btn.icon.small{width:2rem}.fieldset{border:0;flex-direction:column;gap:.45rem;min-width:0;margin:0;padding:0;display:flex}.fieldset>legend{color:var(--muted);letter-spacing:.01em;margin-bottom:.45rem;padding:0;font-size:.82rem;font-weight:650}.fieldset>.hint{margin:0}.subhead{margin:0 0 .2rem;font-size:1rem}.choice-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.5rem;display:grid}.choice{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.7rem .8rem;transition:border-color .2s,background .2s;display:flex}.choice:hover{border-color:var(--violet-2)}.choice.on{background:var(--accent-soft);border-color:var(--violet-2)}.choice input{accent-color:var(--violet);flex-shrink:0;width:1rem;height:1rem;margin-top:.25rem}.choice span{flex-direction:column;gap:.2rem;min-width:0;display:flex}.choice:has(input:disabled){cursor:default}.formula{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.field>span,.label{color:var(--muted);letter-spacing:.01em;font-size:.82rem;font-weight:650}.field>span.hint{font-weight:400}.field-error,.field>span.field-error{color:var(--danger);margin:0;font-size:.8rem;font-weight:500}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-solid);width:100%;min-height:2.6rem;color:var(--text);padding:.55rem .8rem;transition:border-color .2s,box-shadow .2s}.input:focus,.select:focus,.textarea:focus{border-color:var(--violet-2);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 25%, transparent);outline:none}.textarea{resize:vertical;min-height:7rem;line-height:1.45}.textarea.code{tab-size:2;white-space:pre;min-height:16rem;font-size:.84rem}.select{appearance:none;background-image:var(--select-arrow);background-position:right .7rem center;background-repeat:no-repeat;padding-right:2.2rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.9rem;display:grid}.check{cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.92rem;display:flex}.check input{accent-color:var(--violet);width:1rem;height:1rem;margin-top:.2rem}.check small{color:var(--muted);font-size:.8rem;display:block}.switch{border:1px solid var(--border-strong);background:var(--surface-3);cursor:pointer;width:2.8rem;height:1.6rem;transition:background .25s var(--ease);border-radius:999px;flex-shrink:0;padding:0;display:inline-flex;position:relative}.switch:after{content:"";width:1.18rem;height:1.18rem;transition:transform .3s var(--spring);background:#fff;border-radius:50%;position:absolute;top:.16rem;left:.16rem;box-shadow:0 2px 6px #00000059}.switch.on{background:var(--accent);border-color:#0000}.switch.on:after{transform:translate(1.2rem)}.switch:disabled{opacity:.5;cursor:not-allowed}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:.15rem;padding:.2rem;display:inline-flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.8rem;font-weight:650;transition:background .2s,color .2s;display:inline-flex}.segmented button:hover:not(:disabled):not(.on){color:var(--text)}.segmented button:disabled{cursor:not-allowed;opacity:.6}.segmented button.on{background:var(--accent-strong);color:var(--on-accent)}.segmented button.on:disabled{opacity:.75}.palette-picker{flex-wrap:wrap;gap:.4rem;display:flex}.palette-picker button{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .8rem .3rem .35rem;font-size:.8rem;font-weight:650;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.palette-picker button:hover:not(.on){color:var(--text);border-color:var(--border-strong)}.palette-picker button.on{color:var(--text);border-color:var(--violet-2);background:var(--accent-soft)}.palette-swatch{background:var(--swatch);width:1.25rem;height:1.25rem;box-shadow:inset 0 0 0 1px #fff3, 0 0 0 1px var(--border-strong);transition:box-shadow .2s var(--ease), transform .3s var(--spring);border-radius:50%;flex-shrink:0}.palette-picker.compact{gap:.3rem}.palette-picker.compact button,.palette-picker.compact button.on{background:0 0;border-color:#0000;justify-content:center;padding:.25rem}.palette-picker.compact .palette-swatch{width:1.6rem;height:1.6rem}.palette-picker.compact button:hover:not(.on) .palette-swatch{transform:scale(1.1)}.palette-picker.compact button.on .palette-swatch{box-shadow:0 0 0 2px var(--surface-solid), 0 0 0 4px var(--violet-2)}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.78rem;font-weight:650;display:inline-flex}button.chip{cursor:pointer}button.chip:hover{border-color:var(--violet-2);color:var(--text)}.chip.toggle{min-height:2rem;padding-inline:.8rem}.chip.on{color:var(--text);border-color:var(--border-strong);background:var(--accent-soft)}.chip .swatch{border-radius:50%;width:.55rem;height:.55rem}.chip.success{color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent)}.chip.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.chip.warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 35%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent)}.chip.brew{color:var(--text);background:var(--accent-soft);border-color:var(--border-strong)}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip-option{flex:none;align-items:center;gap:.4rem;display:inline-flex}.chips-divider{background:var(--border-strong);flex:none;width:1px;height:1.1rem;margin-inline:.1rem}.stepper{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.1rem;padding:.1rem .15rem .1rem .65rem;font-size:.78rem;font-weight:650;display:inline-flex}.stepper.on{color:var(--text);border-color:var(--border-strong);background:var(--accent-soft)}.stepper-label{margin-right:.15rem}.stepper .icon-btn{width:1.45rem;height:1.45rem;color:var(--muted);border-radius:999px;padding:0}.stepper .icon-btn:hover:not(:disabled){color:var(--text);background:var(--surface)}.stepper .icon-btn:disabled{opacity:.35;cursor:default}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:1rem;color:var(--text)}.chart-controls{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.75rem;display:flex}.notice{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--accent-soft);align-items:flex-start;gap:.8rem;padding:.9rem 1rem;display:flex}.notice.warning{background:color-mix(in srgb, var(--warning) 10%, transparent);border-color:color-mix(in srgb, var(--warning) 35%, transparent)}.notice.danger{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.notice p{margin:0}.notice .grow{flex:1}.empty{text-align:center;padding:clamp(2rem,6vw,4rem) 1rem}.empty h2{margin-bottom:.4rem}.empty p{color:var(--muted);max-width:34rem;margin:0 auto 1rem}.empty .art{width:7rem;height:7rem;filter:drop-shadow(0 18px 30px color-mix(in srgb, var(--violet) 45%, transparent));margin:0 auto 1rem;animation:5s ease-in-out infinite float;display:block}@keyframes float{50%{transform:translateY(-8px)rotate(3deg)}}.card-link:after{content:"";z-index:1;border-radius:var(--radius-lg);position:absolute;inset:0}.card-link:focus-visible{outline:none}.card-link:focus-visible:after{outline:2px solid var(--focus);outline-offset:2px}.pill-row .card-link:after{border-radius:var(--radius)}.pill-card{--pill:var(--violet-2);isolation:isolate;transition:transform .25s var(--ease), border-color .25s, box-shadow .25s;flex-direction:column;gap:.9rem;display:flex;position:relative;overflow:hidden;container:pill-card/inline-size}.pill-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(28rem 14rem at 100% 0%, color-mix(in srgb, var(--pill) 22%, transparent), transparent 70%);position:absolute;inset:0}.pill-card:hover,.pill-card:focus-within{border-color:color-mix(in srgb, var(--pill) 55%, transparent);box-shadow:var(--shadow), 0 18px 40px -22px var(--pill);transform:translateY(-3px)}.pill-card.offline{filter:saturate(.6)}.pill-card-head{align-items:center;gap:.75rem;display:flex}.pill-card-head h2,.pill-card-head h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.12rem;overflow:hidden}.pill-card-head .sub{color:var(--muted);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.status-dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.status-dot.on{background:var(--success);box-shadow:0 0 10px var(--success)}.big-readings{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex;position:relative}.reading-label{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);font-size:.72rem;font-weight:700}.gravity-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg, var(--text) 10%, var(--pill) 120%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.3rem,6vw,2.9rem);font-weight:760;line-height:1}.gravity-value .tail{opacity:.55}.gravity-value .unit,.temp-value .unit{letter-spacing:0;-webkit-text-fill-color:var(--muted);margin-left:.25rem;font-size:.4em;font-weight:650}.temp-value{letter-spacing:-.03em;text-align:right;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700;line-height:1}.trend{color:var(--muted);align-items:center;gap:.25rem;margin-top:.35rem;font-size:.8rem;font-weight:650;display:inline-flex}.trend.down{color:var(--cyan)}.trend.up{color:var(--warning)}.mini-stats{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid;position:relative}@container pill-card (width<=27rem){.mini-stats{grid-template-columns:repeat(2,1fr)}}.mini-stat{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;padding:.45rem .55rem;font-size:.85rem;font-weight:650;display:flex}.mini-stat .k{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.25rem;font-size:.68rem;font-weight:650;display:flex}.sparkline{width:100%;height:3.6rem;display:block;position:relative}.card-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex;position:relative}.ferment{border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--border-strong);flex-direction:column;gap:.4rem;padding:.7rem .8rem;display:flex;position:relative}.ferment-top{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;font-weight:650;display:flex}.ferment-top .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar{background:var(--surface-3);border-radius:999px;height:.5rem;position:relative;overflow:hidden}.bar>i{border-radius:inherit;background:var(--accent);box-shadow:0 0 14px color-mix(in srgb, var(--violet) 70%, transparent);transition:width .8s var(--ease);position:absolute;inset:0 auto 0 0}.ferment-scale{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.72rem;display:flex}.nearby{border-style:dashed;border-color:var(--border-strong);background:linear-gradient(120deg, color-mix(in srgb, var(--violet) 14%, transparent), color-mix(in srgb, var(--blue) 8%, transparent));flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.nearby .radar{background:var(--accent-strong);width:2.8rem;height:2.8rem;color:var(--on-accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.nearby .radar:after{content:"";border:2px solid var(--violet-2);border-radius:50%;animation:2s infinite ping;position:absolute;inset:-4px}@keyframes ping{0%{opacity:.9;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}.nearby .info{flex:1;min-width:14rem}.nearby h2,.nearby h3{margin:0 0 .15rem;font-size:1rem}@media (width<=640px){.nearby form{width:100%}.nearby form .input{flex:10rem;width:auto!important}}.hero{--pill:var(--violet-2);grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(40rem 18rem at 0% 0%, color-mix(in srgb, var(--pill) 24%, transparent), transparent 70%);position:absolute;inset:0}.hero>*{position:relative}.hero h1{margin:0;font-size:clamp(1.5rem,4vw,2.2rem)}.hero .meta{color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;margin-top:.4rem;font-size:.85rem;display:flex}.hero-figures{align-items:flex-end;gap:1.6rem;display:flex}@media (width<=760px){.hero{grid-template-columns:auto 1fr}.hero-figures{grid-column:1/-1;justify-content:space-between}}.pill-figure{width:4.6rem;height:4.6rem;filter:drop-shadow(0 12px 22px color-mix(in srgb, var(--pill) 60%, transparent))}.pill-figure g{transition:transform 1.2s var(--spring)}.thermo-badge{--pill:var(--violet-2);color:#fff;background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--pill) 55%, #fff), var(--pill) 70%);box-shadow:0 10px 22px -8px color-mix(in srgb, var(--pill) 70%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.thermo-badge.offline{filter:grayscale(.8);opacity:.7}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));gap:.75rem;display:grid}.tile{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;gap:.3rem;min-width:0;padding:.85rem .95rem;display:flex;position:relative}.tile .k{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700;display:flex}.tile .k svg{color:var(--violet-2)}.tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;font-weight:720;overflow:hidden}.tile .v small{color:var(--muted);margin-left:.2rem;font-size:.65em;font-weight:650}.tile .s{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.tile.mono .v{font-family:var(--mono);white-space:normal;overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.battery-bar{background:var(--surface-3);border-radius:999px;height:.3rem;overflow:hidden}.battery-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--success), #6ee7b7);height:100%;display:block}.battery-bar.low i{background:linear-gradient(90deg, var(--danger), var(--warning))}.signal-bars{align-items:flex-end;gap:2px;height:.85rem;display:inline-flex}.signal-bars i{background:var(--surface-3);border-radius:1px;width:3px}.signal-bars i.on{background:var(--violet-2)}.signal-bars.weak i.on{background:var(--warning)}.signal-bars.very-weak i{background:color-mix(in srgb, var(--danger) 45%, transparent)}.signal-quality.weak{color:var(--warning)}.signal-quality.very-weak{color:var(--danger)}.mini-stat .signal-quality{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.chart-wrap{min-height:15rem;position:relative}.chart-empty{color:var(--muted);pointer-events:none;place-items:center;font-size:.9rem;display:grid;position:absolute;inset:0}.chart-wrap .u-legend{color:var(--muted);text-align:left;margin-top:.4rem;font-size:.8rem}.chart-wrap .u-legend .u-series{padding:.1rem .5rem .1rem 0}.chart-wrap .u-legend .u-marker{border-radius:50%;width:.55rem;height:.55rem}.chart-wrap .u-legend th{font-weight:600}.chart-wrap .u-legend td{font-variant-numeric:tabular-nums;color:var(--text)}.chart-wrap .u-select{background:color-mix(in srgb, var(--violet) 16%, transparent)}.chart-wrap .u-cursor-pt{border-width:2px!important}.list{flex-direction:column;display:flex}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:.9rem;padding:.8rem .2rem;display:flex}.list-item:last-child{border-bottom:0}.list-item .grow{flex:1;min-width:0}.list-item h4{margin:0;font-size:.98rem}.list-item p{color:var(--muted);margin:.1rem 0 0;font-size:.83rem}a.list-item:hover h4{color:var(--violet-2)}.kv{grid-template-columns:max-content 1fr;gap:.45rem 1.2rem;margin:0;font-size:.9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.stat-row{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:.7rem;display:grid}.stat{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);padding:.7rem .8rem}.stat .k{text-transform:uppercase;letter-spacing:.07em;color:var(--faint);font-size:.7rem;font-weight:700}.stat .v{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:720}.stat .v small{color:var(--muted);margin-left:.15rem;font-size:.65em}.sparkle-line{letter-spacing:.01em;background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:999px;align-items:center;gap:.4rem;margin-top:.4rem;padding:.35rem .85rem;font-size:.95rem;font-weight:750;display:inline-flex}.sparkle-line .shine{background:var(--shine);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shine}.sparkle-line .spark{animation:1.8s ease-in-out infinite twinkle;display:inline-block}.sparkle-line .spark:last-child{animation-delay:.9s}@keyframes shine{to{background-position:200%}}@keyframes twinkle{50%{opacity:.7;transform:scale(1.3)rotate(15deg)}}.hook-card{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;display:grid}.hook-card .badge{background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:.9rem;place-items:center;width:3rem;height:3rem;font-size:1.5rem;display:grid}.hook-card h3{margin:0;font-size:1.05rem}.hook-card .url{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.hook-card.disabled{opacity:.65}@media (width<=640px){.hook-card{grid-template-columns:auto 1fr}.hook-card .actions{grid-column:1/-1}}.presets{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.75rem;display:grid}.preset{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;align-items:center;gap:.8rem;padding:.9rem;display:flex}.preset:hover{border-color:var(--violet-2);box-shadow:var(--glow);transform:translateY(-2px)}.preset .badge{background:var(--accent-soft);border-radius:.8rem;flex-shrink:0;place-items:center;width:2.8rem;height:2.8rem;font-size:1.6rem;display:grid}.preset strong{display:block}.preset span{color:var(--muted);font-size:.8rem}.editor{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.editor .sticky{position:sticky;top:5rem}@media (width<=980px){.editor{grid-template-columns:1fr}.editor .sticky{position:static}}.var-chips{flex-wrap:wrap;gap:.3rem;max-height:9.5rem;padding:.2rem;display:flex;overflow:auto}.var-chips button{font-family:var(--mono);border:1px solid var(--border);background:var(--surface-2);color:var(--violet-2);cursor:pointer;border-radius:.4rem;padding:.2rem .5rem;font-size:.74rem}.var-chips button:hover{border-color:var(--violet-2);background:var(--surface-3)}.code-block{border-radius:var(--radius-sm);background:var(--code-bg);border:1px solid var(--border);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;max-height:26rem;margin:0;padding:.85rem 1rem;font-size:.8rem;line-height:1.5;overflow:auto}.method{font-family:var(--mono);background:var(--accent-strong);color:var(--on-accent);border-radius:.35rem;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.header-row{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;align-items:center;gap:.5rem;display:grid}.steps{color:var(--muted);margin:0;padding-left:1.2rem;font-size:.88rem}.steps li{margin-bottom:.3rem}.delivery{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.6rem .2rem;font-size:.86rem;display:grid}.delivery:last-child{border-bottom:0}.delivery-detail{padding:0 0 .8rem}.modal-backdrop{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(6px);animation:fade .2s var(--ease);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-xl);background:var(--surface-solid);border:1px solid var(--border-strong);width:min(100%,34rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);animation:pop .3s var(--spring);padding:clamp(1.1rem,3vw,1.6rem);overflow:auto}.modal.wide{width:min(100%,46rem)}.modal h2{margin:0 0 .3rem;font-size:1.3rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:1.3rem;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(8px)}}.toasts{z-index:60;flex-direction:column;gap:.5rem;width:min(24rem,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}@media (width<=760px){.toasts{bottom:6rem}}.toast{text-align:left;border-radius:var(--radius);background:var(--surface-solid);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);cursor:pointer;animation:pop .3s var(--spring);align-items:flex-start;gap:.7rem;padding:.8rem .9rem;display:flex}.toast strong{font-size:.92rem;display:block}.toast span{color:var(--muted);font-size:.84rem}.toast.success svg{color:var(--success)}.toast.error svg{color:var(--danger)}.toast.warning svg{color:var(--warning)}.toast.info svg{color:var(--violet-2)}.skeleton{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--surface) 0%, var(--surface-3) 50%, var(--surface) 100%);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.color-swatches{flex-wrap:wrap;gap:.45rem;display:flex}.color-swatches button{cursor:pointer;width:1.9rem;height:1.9rem;transition:transform .2s var(--spring);border:2px solid #0000;border-radius:50%}.color-swatches button.on{border-color:var(--text);transform:scale(1.12)}.inline-edit{align-items:center;gap:.4rem;display:flex}.inline-edit .input{max-width:22rem;font-size:1.3rem;font-weight:700}.icon-btn{color:var(--faint);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:.25rem;display:inline-grid}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.ble-chip.scanning{color:var(--success)}.ble-chip.error{color:var(--danger)}.footer{text-align:center;color:var(--faint);margin-top:2.5rem;font-size:.8rem}.footer a{color:var(--muted);text-underline-offset:2px;text-decoration:underline}@media (pointer:coarse){.btn,.btn.small{min-height:2.75rem}.btn.icon,.btn.icon.small{width:2.75rem}.icon-btn,.segmented button,.palette-picker button{min-width:2.75rem;min-height:2.75rem}button.chip,a.chip,.chip.toggle{min-height:2.75rem;padding-inline:.9rem}.brand{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);vertical-align:-.1em;border-top-color:currentColor;border-radius:50%;width:.9em;height:.9em;animation:.8s linear infinite screen-spin;display:inline-block}@keyframes screen-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.notice.success{background:color-mix(in srgb, var(--success) 10%, transparent);border-color:color-mix(in srgb, var(--success) 35%, transparent)}.notice.success>svg{color:var(--success)}.btn.ghost.danger{color:var(--danger);background:0 0;border-color:#0000}.btn.ghost.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent)}.nav-icon{display:inline-flex;position:relative}.nav-badge{background:var(--warning);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:-2px;right:-4px}@media (width<=760px){.nav{padding-inline:.2rem}.nav a{min-width:0;padding-inline:.1rem;font-size:.66rem}.nav a>span:not(.nav-icon){text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}:root[data-palette=ocean][data-theme=dark]{--bg:#031019;--bg-glow-1:#06b6d438;--bg-glow-2:#2563eb3d;--bg-glow-3:#2dd4bf14;--surface:#0c2638a3;--surface-solid:#0b2232;--surface-2:#143e588c;--surface-3:#1e587a80;--glass:#031420bd;--border:#67e8f921;--border-strong:#67e8f947;--grid:#67e8f914;--text:#e9f8ff;--muted:#9ac3d6;--faint:#80abc0;--violet:#0891b2;--violet-2:#22d3ee;--indigo:#0ea5e9;--blue:#3b82f6;--blue-2:#60a5fa;--accent:linear-gradient(135deg, #a5f3fc 0%, #22d3ee 38%, #0ea5e9 64%, #3b82f6 100%);--accent-strong:linear-gradient(135deg, #0891b2 0%, #0e7490 38%, #0369a1 64%, #1d4ed8 100%);--accent-soft:linear-gradient(135deg, #06b6d438, #3b82f62e);--focus:#22d3ee;--series-gravity:#22d3ee;--series-velocity:#a78bfa;--code-bg:#01090f99;--backdrop:#01090f99;--shine:linear-gradient(90deg, #a5f3fc, #99f6e4, #93c5fd, #a5f3fc);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ac3d6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #010810e6;--shadow-lg:0 30px 90px -20px #010810d9;--glow:0 12px 34px -12px #06b6d499}:root[data-palette=ocean][data-theme=light]{--bg:#eff9fc;--bg-glow-1:#06b6d429;--bg-glow-2:#3b82f621;--bg-glow-3:#2dd4bf14;--surface:#ffffffc7;--surface-solid:#fff;--surface-2:#e0f2febf;--surface-3:#bae6fdb3;--glass:#f6fcffd1;--border:#0833441f;--border-strong:#0833443d;--grid:#0833441a;--text:#0b2433;--muted:#3b5f72;--faint:#4b6f82;--violet:#0891b2;--violet-2:#0e7490;--indigo:#0284c7;--blue:#2563eb;--blue-2:#2563eb;--accent:linear-gradient(135deg, #0891b2 0%, #0e7490 38%, #0369a1 64%, #2563eb 100%);--accent-strong:linear-gradient(135deg, #0891b2 0%, #0e7490 38%, #0369a1 64%, #1d4ed8 100%);--accent-soft:linear-gradient(135deg, #06b6d429, #3b82f61f);--focus:#0e7490;--series-gravity:#0891b2;--series-velocity:#7c3aed;--code-bg:#f1f9fc;--backdrop:#0b243359;--shine:linear-gradient(90deg, #0891b2, #0d9488, #2563eb, #0891b2);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233b5f72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #083c5a59;--shadow-lg:0 30px 80px -24px #083c5a66;--glow:0 12px 30px -12px #0891b280}:root[data-palette=hops][data-theme=dark]{--bg:#06110a;--bg-glow-1:#84cc1633;--bg-glow-2:#10b98133;--bg-glow-3:#facc150f;--surface:#122a1ca3;--surface-solid:#0f2418;--surface-2:#1e422c8c;--surface-3:#2e5e3e80;--glass:#06140cbd;--border:#bbf7d021;--border-strong:#bbf7d045;--grid:#bbf7d014;--text:#eefcf2;--muted:#a4c8b0;--faint:#88ae95;--violet:#84cc16;--violet-2:#a3e635;--indigo:#22c55e;--blue:#10b981;--blue-2:#34d399;--accent:linear-gradient(135deg, #ecfccb 0%, #a3e635 38%, #4ade80 64%, #10b981 100%);--accent-strong:linear-gradient(135deg, #d9f99d 0%, #a3e635 38%, #4ade80 64%, #34d399 100%);--accent-soft:linear-gradient(135deg, #84cc1633, #10b98129);--on-accent:#052e16;--focus:#a3e635;--series-gravity:#a3e635;--code-bg:#02090599;--backdrop:#02090599;--shine:linear-gradient(90deg, #d9f99d, #fde68a, #6ee7b7, #d9f99d);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a4c8b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #010804e6;--shadow-lg:0 30px 90px -20px #010804d9;--glow:0 12px 34px -12px #84cc1680}:root[data-palette=hops][data-theme=light]{--bg:#f3f8ec;--bg-glow-1:#84cc1629;--bg-glow-2:#10b9811f;--bg-glow-3:#eab30812;--surface:#fffc;--surface-solid:#fff;--surface-2:#e6f4d6bf;--surface-3:#d0eabab3;--glass:#fafdf6d1;--border:#14532d1f;--border-strong:#14532d3d;--grid:#14532d1a;--text:#11261a;--muted:#415e4c;--faint:#52705d;--violet:#4d7c0f;--violet-2:#3f6212;--indigo:#15803d;--blue:#047857;--blue-2:#047857;--accent:linear-gradient(135deg, #4d7c0f 0%, #3f6212 38%, #15803d 64%, #047857 100%);--accent-strong:linear-gradient(135deg, #4d7c0f 0%, #3f6212 38%, #166534 64%, #047857 100%);--accent-soft:linear-gradient(135deg, #65a30d29, #0478571f);--focus:#3f6212;--series-gravity:#4d7c0f;--code-bg:#f5faf0;--backdrop:#11261a59;--shine:linear-gradient(90deg, #4d7c0f, #a16207, #047857, #4d7c0f);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23415e4c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #16462352;--shadow-lg:0 30px 80px -24px #16462361;--glow:0 12px 30px -12px #4d7c0f73}:root[data-palette=amber][data-theme=dark]{--bg:#130c06;--bg-glow-1:#f59e0b33;--bg-glow-2:#ea580c33;--bg-glow-3:#fbbf240f;--surface:#2e1e10a3;--surface-solid:#241709;--surface-2:#4a301885;--surface-3:#6a44207a;--glass:#160e07bd;--border:#fdd8a021;--border-strong:#fdd8a045;--grid:#fdd8a014;--text:#fff6ea;--muted:#d4b896;--faint:#bc9e7c;--violet:#f59e0b;--violet-2:#fbbf24;--indigo:#f97316;--blue:#ea580c;--blue-2:#fb923c;--warning:#fb923c;--accent:linear-gradient(135deg, #fef3c7 0%, #fbbf24 38%, #f59e0b 64%, #ea580c 100%);--accent-strong:linear-gradient(135deg, #fde68a 0%, #fbbf24 38%, #f59e0b 64%, #f97316 100%);--accent-soft:linear-gradient(135deg, #f59e0b33, #ea580c29);--on-accent:#241405;--focus:#fbbf24;--series-gravity:#fbbf24;--series-rssi:#c4b5fd;--code-bg:#0a060299;--backdrop:#0a060299;--shine:linear-gradient(90deg, #fde68a, #fdba74, #fef3c7, #fde68a);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23d4b896' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #080401e6;--shadow-lg:0 30px 90px -20px #080401d9;--glow:0 12px 34px -12px #f59e0b80}:root[data-palette=amber][data-theme=light]{--bg:#fdf7ef;--bg-glow-1:#f59e0b29;--bg-glow-2:#ea580c1c;--bg-glow-3:#facc1514;--surface:#fffc;--surface-solid:#fff;--surface-2:#fef0d6bf;--surface-3:#fddeb0b3;--glass:#fffbf5d1;--border:#78350f1f;--border-strong:#78350f3d;--grid:#78350f1a;--text:#2b1a0a;--muted:#6b4d2f;--faint:#7a5b3c;--violet:#d97706;--violet-2:#92400e;--indigo:#ea580c;--blue:#c2410c;--blue-2:#c2410c;--warning:#c2410c;--accent:linear-gradient(135deg, #d97706 0%, #b45309 38%, #c2410c 64%, #9a3412 100%);--accent-strong:linear-gradient(135deg, #d97706 0%, #b45309 38%, #c2410c 64%, #9a3412 100%);--accent-soft:linear-gradient(135deg, #f59e0b2e, #ea580c1f);--focus:#92400e;--series-gravity:#d97706;--series-rssi:#7c3aed;--code-bg:#fdf8f1;--backdrop:#2b1a0a59;--shine:linear-gradient(90deg, #b45309, #ea580c, #a16207, #b45309);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b4d2f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #6e3c0f52;--shadow-lg:0 30px 80px -24px #6e3c0f61;--glow:0 12px 30px -12px #d9770673}:root[data-palette=rose][data-theme=dark]{--bg:#14070f;--bg-glow-1:#ec48993d;--bg-glow-2:#f9731624;--bg-glow-3:#a855f71a;--surface:#321226a3;--surface-solid:#27101f;--surface-2:#521e3e85;--surface-3:#722c567a;--glass:#180812bd;--border:#fbcfe821;--border-strong:#fbcfe845;--grid:#fbcfe814;--text:#fff0f7;--muted:#d7a9c0;--faint:#c28ea8;--violet:#ec4899;--violet-2:#f472b6;--indigo:#f43f5e;--blue:#f97316;--blue-2:#fb923c;--danger:#f87171;--series-temp:#fb923c;--accent:linear-gradient(135deg, #fbcfe8 0%, #f472b6 38%, #fb7185 64%, #fb923c 100%);--accent-strong:linear-gradient(135deg, #f472b6 0%, #db2777 38%, #e11d48 64%, #ea580c 100%);--accent-soft:linear-gradient(135deg, #ec489938, #f9731624);--focus:#f472b6;--series-gravity:#f472b6;--code-bg:#0c030999;--backdrop:#0c030999;--shine:linear-gradient(90deg, #fbcfe8, #fed7aa, #f5d0fe, #fbcfe8);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23d7a9c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #0a0207e6;--shadow-lg:0 30px 90px -20px #0a0207d9;--glow:0 12px 34px -12px #db2777b3}:root[data-palette=rose][data-theme=light]{--bg:#fdf2f7;--bg-glow-1:#ec489924;--bg-glow-2:#f973161a;--bg-glow-3:#a855f712;--surface:#fffc;--surface-solid:#fff;--surface-2:#fce7f3bf;--surface-3:#fbcfe8b3;--glass:#fff8fcd1;--border:#8318431f;--border-strong:#8318433d;--grid:#8318431a;--text:#2d0f1f;--muted:#6d3c54;--faint:#7c4b63;--violet:#db2777;--violet-2:#be185d;--indigo:#e11d48;--blue:#ea580c;--blue-2:#c2410c;--danger:#b91c1c;--series-temp:#ea580c;--accent:linear-gradient(135deg, #ec4899 0%, #db2777 38%, #e11d48 64%, #ea580c 100%);--accent-strong:linear-gradient(135deg, #ec4899 0%, #db2777 38%, #be123c 64%, #c2410c 100%);--accent-soft:linear-gradient(135deg, #ec489924, #f973161a);--focus:#be185d;--series-gravity:#db2777;--code-bg:#fdf5f9;--backdrop:#2d0f1f59;--shine:linear-gradient(90deg, #db2777, #ea580c, #c026d3, #db2777);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d3c54' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #70143e4d;--shadow-lg:0 30px 80px -24px #70143e5c;--glow:0 12px 30px -12px #db277773}:root[data-palette=graphite][data-theme=dark]{--bg:#0a0a0c;--bg-glow-1:#a1a1aa1f;--bg-glow-2:#71717a1f;--bg-glow-3:#f4f4f50a;--surface:#1e1e22a8;--surface-solid:#18181b;--surface-2:#3030368c;--surface-3:#46464e80;--glass:#0c0c0ec2;--border:#e4e4e71a;--border-strong:#e4e4e738;--grid:#e4e4e712;--text:#fafafa;--muted:#a1a1aa;--faint:#8d8d96;--violet:#a1a1aa;--violet-2:#e4e4e7;--indigo:#d4d4d8;--blue:#71717a;--blue-2:#a1a1aa;--accent:linear-gradient(135deg, #fff 0%, #e4e4e7 38%, #a1a1aa 100%);--accent-strong:linear-gradient(135deg, #fff 0%, #f4f4f5 50%, #d4d4d8 100%);--accent-soft:linear-gradient(135deg, #f4f4f51a, #a1a1aa14);--on-accent:#09090b;--focus:#e4e4e7;--series-gravity:#e4e4e7;--code-bg:#00000080;--backdrop:#0009;--shine:linear-gradient(90deg, #fff, #a1a1aa, #e4e4e7, #fff);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffff0d inset, 0 20px 50px -24px #000000e6;--shadow-lg:0 30px 90px -20px #000000d9;--glow:0 12px 34px -12px #ffffff2e}:root[data-palette=graphite][data-theme=light]{--bg:#f4f4f5;--bg-glow-1:#71717a1a;--bg-glow-2:#a1a1aa1f;--bg-glow-3:#18181b08;--surface:#fffc;--surface-solid:#fff;--surface-2:#e4e4e799;--surface-3:#d4d4d8a6;--glass:#fafafad6;--border:#18181b1c;--border-strong:#18181b38;--grid:#18181b14;--text:#18181b;--muted:#52525b;--faint:#5f5f68;--violet:#52525b;--violet-2:#27272a;--indigo:#3f3f46;--blue:#71717a;--blue-2:#52525b;--accent:linear-gradient(135deg, #71717a 0%, #3f3f46 38%, #27272a 64%, #09090b 100%);--accent-strong:linear-gradient(135deg, #52525b 0%, #3f3f46 38%, #27272a 64%, #18181b 100%);--accent-soft:linear-gradient(135deg, #18181b14, #52525b0f);--focus:#27272a;--series-gravity:#3f3f46;--code-bg:#f8f8f9;--backdrop:#18181b59;--shine:linear-gradient(90deg, #18181b, #71717a, #3f3f46, #18181b);--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--shadow:0 1px 0 #ffffffe6 inset, 0 18px 40px -24px #18181b40;--shadow-lg:0 30px 80px -24px #18181b4d;--glow:0 12px 30px -12px #18181b59}.modal.image-link-modal{width:min(100%,62rem)}.modal h2 svg{vertical-align:-.15em}.image-link-intro{margin:0 0 1.1rem;font-size:.92rem}.image-link{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.image-link-preview{position:sticky;top:0}.image-link-options{flex-direction:column;gap:1.15rem;min-width:0;display:flex}.image-link-options .row{gap:.6rem}.image-link-options .fieldset>.segmented{align-self:flex-start}.image-link-frame{flex-direction:column;align-items:center;gap:.5rem;margin:0;display:flex}.image-link-screen{border-radius:var(--radius-lg);width:100%;min-height:12rem;box-shadow:inset 0 0 0 1px #ffffff14, inset 0 2px 12px #0009, var(--shadow);background:radial-gradient(120% 80% at 50% 0,#ffffff0f,#0000 60%),linear-gradient(#17171c,#0b0b0f);place-items:center;padding:1rem;display:grid}.image-link-screen img,.image-link-screen .skeleton{height:auto;transition:opacity .25s var(--ease);border-radius:3px;display:block;box-shadow:0 12px 30px -14px #000c}.image-link-frame.loading img{opacity:.65}.image-link-frame figcaption{text-align:center;font-variant-numeric:tabular-nums}.image-link-busy{color:var(--faint)}.image-link-error{color:var(--danger);align-items:center;gap:.3rem;display:inline-flex}.image-link-size{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:.5rem;display:grid}.image-link-items{grid-template-columns:repeat(auto-fill,minmax(min(100%,12.5rem),1fr));gap:.35rem 1rem;display:grid}.image-link-address{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:1.4rem;padding-top:1.1rem;display:flex}.image-link-url{flex-wrap:wrap;gap:.5rem;display:flex}.image-link-url .input{font-family:var(--mono);flex:18rem;font-size:.8rem}@media (width<=820px){.image-link{grid-template-columns:minmax(0,1fr)}.image-link-preview{position:static}}.image-link-screens{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:1.1rem;padding-top:1rem;display:flex}.image-link-screens .label{align-items:center;gap:.4rem;display:flex}p.image-link-screens{display:block}.screen-thumb{aspect-ratio:1;width:7.5rem;color:var(--faint);box-shadow:inset 0 0 0 1px #ffffff14, var(--shadow);background:linear-gradient(#1d1d24,#0b0b0f);border-radius:.9rem;flex-shrink:0;place-items:center;padding:.45rem;display:grid}.screen-thumb.wide{width:10rem}.screen-thumb img{border-radius:2px;width:100%;height:auto;display:block}.screen-thumb.offline img,.screen-thumb.unknown img{opacity:.55;filter:grayscale(.6)}.screen-thumb-btn{cursor:pointer;background:0 0;border:0;border-radius:.9rem;padding:0}.screen-thumb-btn:hover .screen-thumb{box-shadow:inset 0 0 0 1px var(--violet-2), var(--shadow)}.screen-card{align-items:flex-start;gap:1rem;display:flex}.screen-card-body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.screen-card-body p{margin:0}.screen-card-title{flex-wrap:wrap;gap:.5rem}.screen-card-title h3{overflow-wrap:anywhere;margin:0}.screen-card-seen{align-items:center;gap:.45rem;display:flex}.screen-card-update{color:var(--violet-2)}.screen-card-problem{color:var(--danger)}.screen-card-actions{flex-wrap:wrap;gap:.4rem;margin-top:.3rem}@media (width<=420px){.screen-card{flex-direction:column}.screen-thumb-btn,.screen-card>.screen-thumb{align-self:center}}.screens-art{width:7rem;height:7rem;color:var(--violet-2);background:var(--accent-soft);border-radius:1.6rem;place-items:center;margin-bottom:.6rem;display:inline-grid}.screens-update>svg{color:var(--violet-2)}.chip.screen-chip{gap:.35rem}.chip.screen-chip .status-dot{width:.4rem;height:.4rem}.chip.screen-chip.offline,.chip.screen-chip.late{color:var(--warning)}.chip.screen-mark{color:var(--violet-2);padding-inline:.45rem}.wifi-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.wifi-row{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.wifi-row.likely{border-color:var(--border-strong);background:var(--accent-soft)}.wifi-row>svg{color:var(--muted);flex-shrink:0}.wifi-row.likely>svg{color:var(--violet-2)}.wifi-row .grow{flex-direction:column;flex:1;min-width:0;display:flex}.wifi-row strong{overflow-wrap:anywhere}.wifi-others summary{cursor:pointer;color:var(--muted);margin-bottom:.5rem;font-size:.9rem}.setup-steps{flex-direction:column;gap:.45rem;margin:.4rem 0 .8rem;padding:0;list-style:none;display:flex}.setup-steps li{color:var(--faint);align-items:center;gap:.6rem;font-size:.93rem;display:flex}.setup-steps li.done,.setup-steps li.on,.setup-steps li.failed{color:var(--text)}.setup-steps li.on{font-weight:600}.setup-steps li.skipped{text-decoration:line-through}.setup-step-mark{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:50%;flex-shrink:0;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:inline-grid}.setup-steps li.done .setup-step-mark{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.setup-steps li.on .setup-step-mark{color:var(--violet-2);border-color:var(--violet-2)}.setup-steps li.failed .setup-step-mark{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.setup-panel .notice{margin-bottom:.8rem}.setup-done{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-bottom:.8rem;display:flex}.setup-waiting{align-items:center;gap:.6rem;margin:0;display:flex}.browser-setup .setup-steps.browser{flex-flow:wrap;gap:.5rem 1.1rem}.found-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.found-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.found-row .grow{flex:1;min-width:12rem}.input.found-code{letter-spacing:.2em;width:9rem}.screen-editor-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));align-items:end;gap:.8rem;display:grid}.screen-editor input[type=range]{width:100%;accent-color:var(--violet)}.screen-details{border-top:1px solid var(--border);margin-top:1.2rem;padding-top:1rem}.screen-details summary{cursor:pointer;color:var(--muted);align-items:center;gap:.4rem;font-weight:560;display:flex}.screen-details[open] summary{margin-bottom:.8rem}.screen-details-actions{flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.screen-log{white-space:pre-wrap;max-height:60vh;font-size:.75rem;overflow:auto}.screens-experimental>svg{color:var(--warning)}.supported-screens h2 .chip{vertical-align:middle;margin-left:.4rem}.supported-models{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.8rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.supported-model{border:1px solid var(--border);background:var(--surface-2);border-radius:.8rem;flex-direction:column;gap:.45rem;padding:.9rem 1rem;display:flex}.supported-model p{margin:0}.supported-model-head{flex-wrap:nowrap;align-items:flex-start;gap:.6rem}.supported-model-head>svg{color:var(--violet-2);flex-shrink:0}.supported-model-head .grow{flex-direction:column;gap:.1rem;min-width:0;display:flex}.supported-model-link{color:var(--violet-2);align-items:center;gap:.3rem;display:inline-flex}.supported-disclaimer{margin:0 0 .6rem}.supported-others{grid-template-columns:max-content 1fr;align-items:baseline;gap:.55rem .7rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.supported-others li{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;display:grid}.supported-others .chip{justify-self:start}@media (width<=560px){.supported-others{grid-template-columns:1fr;gap:.8rem}.supported-others li{gap:.3rem}}.pill-page-top{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.pill-page-top .back{margin-bottom:0}.pill-page-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.pill-history .chart-toolbar{align-items:flex-start}.pill-chart{position:relative}@media (width<=640px){.panel.pill-history{padding-inline:.45rem}.pill-history>.panel-head,.pill-history>.panel-body>.chart-toolbar,.pill-history>.panel-body>.chart-controls,.pill-history>.panel-body>.notice{margin-inline:.45rem}.pill-history .chart-toolbar{flex-flow:column;align-items:stretch}.pill-history .chart-toolbar>*{min-width:0}}.pill-tiles .tile .k{flex-wrap:wrap;row-gap:.2rem}.tile-src{letter-spacing:0;text-transform:none;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.05rem .45rem;font-size:.66rem;font-weight:650}.tile-note{color:var(--muted);font-size:.76rem;line-height:1.35}.tile.tile-warn{border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.tile.tile-warn .v,.tile.tile-warn .tile-note{color:var(--warning)}.data-sources h3{gap:.45rem;margin:0 0 .2rem;font-size:1rem}.hint.source-lead{margin:0 0 .6rem}.source-choice{border-top:1px solid var(--border);flex-direction:column;gap:.45rem;padding:.9rem 0;display:flex}.segmented.source-seg{border-radius:var(--radius);flex-wrap:wrap;width:100%;max-width:46rem;display:flex}.segmented.source-seg button{white-space:normal;border-radius:calc(var(--radius) - .25rem);flex:12rem;padding:.5rem .8rem;font-size:.85rem;line-height:1.3}.segmented.source-seg.three button{flex-basis:6rem}.segmented.source-seg button:disabled{opacity:.45;cursor:not-allowed}.segmented.source-seg button:focus-visible{outline:2px solid var(--violet-2);outline-offset:1px}.hint.source-hint{margin:0}.source-now{color:var(--text);margin:0;font-size:.84rem}.source-hours{max-width:20rem}.source-note{margin:.2rem 0 1rem}.source-changes{margin:.3rem 0;padding-left:1.1rem;font-size:.88rem}.calib-intro{margin:.2rem 0 .9rem;font-size:.9rem}.segmented.calib-tabs{flex-wrap:wrap;max-width:100%;margin-bottom:1rem;display:flex}.calib-tabs button{flex:auto}.calib-tabs button:focus-visible{outline:2px solid var(--violet-2);outline-offset:1px}.calib-panel{flex-direction:column;gap:1rem;display:flex}.calib-live{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);padding:.75rem .9rem}.calib-live-head{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.88rem;display:flex}.calib-live-values{flex-wrap:wrap;gap:.3rem 1.2rem;margin-top:.35rem;font-size:1.15rem;font-weight:700;display:flex}.calib-warn{color:var(--warning);align-items:flex-start;gap:.4rem;margin:.45rem 0 0;font-size:.85rem;display:flex}.calib-warn svg{flex:none;margin-top:.2rem}.calib-step .kv{font-size:.92rem}.calib-add{flex-wrap:wrap;align-items:flex-end;gap:.8rem;display:flex}.calib-add .field{flex:10rem}.calib-tilt-now{flex-direction:column;gap:.1rem;min-width:6rem;display:flex}.calib-tilt-now strong{font-size:1.5rem;line-height:1.2}.calib-points{overflow-x:auto}.calib-table{border-collapse:collapse;width:100%;font-size:.86rem}.calib-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.3rem .4rem;font-size:.76rem;font-weight:650}.calib-table td{border-bottom:1px solid var(--border);padding:.3rem .4rem}.calib-off{color:var(--warning)}.tilt-fit{min-height:190px;margin-top:.8rem}.pill-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dash-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dash-toolbar .grow{flex:16rem;margin:0}.compact-empty{padding:2rem 1rem}.pill-rows{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pill-row{--pill:var(--violet-2);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);transition:border-color .2s, transform .2s var(--ease);grid-template-columns:auto minmax(9rem,1.6fr) repeat(5,minmax(4.5rem,1fr));align-items:center;gap:.4rem 1rem;padding:.65rem 1rem .65rem .8rem;display:grid;position:relative}.pill-row:hover{border-color:color-mix(in srgb, var(--pill) 55%, transparent);transform:translate(2px)}.pill-row.offline{filter:saturate(.6)}.pill-row-swatch{background:var(--pill);width:.35rem;min-height:2.2rem;box-shadow:0 0 12px color-mix(in srgb, var(--pill) 60%, transparent);border-radius:999px;align-self:stretch}.pill-row-name{flex-direction:column;min-width:0;display:flex}.pill-row-name .card-link{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.pill-row-name .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;min-width:0;font-size:.8rem;display:flex;overflow:hidden}.pill-row-val{flex-direction:column;min-width:0;display:flex}.pill-row-val .k{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-size:.68rem;font-weight:700}.pill-row-val .v{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.pill-row-val.main .v{font-size:1.15rem}.pill-row-val .v small{color:var(--muted);font-size:.72em;font-weight:600}.pill-row-val .v.low{color:var(--danger)}.pill-row-warn{color:var(--warning);display:inline-flex}@media (width<=900px){.pill-row{grid-template-columns:auto minmax(0,1fr) repeat(2,auto)}.pill-row-val.wide{display:none}}@media (width<=420px){.pill-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.2rem .8rem}.pill-row-val:not(.main):not(.wide){grid-column:3}.pill-row-swatch,.pill-row-name{grid-row:span 2}}.arrange-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.arrange-row{--pill:var(--violet-2);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.5rem .7rem;display:flex;position:relative}.arrange-row .pill-figure{flex-shrink:0;width:2.2rem;height:2.2rem}.arrange-row .grow{flex-direction:column;flex:1;min-width:0;display:flex}.arrange-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.arrange-row .btn[aria-disabled=true]{opacity:.4;cursor:default}.arrange-row.lifted{z-index:2;cursor:grabbing;border-color:color-mix(in srgb, var(--pill) 70%, transparent);box-shadow:var(--shadow-lg), 0 0 0 1px color-mix(in srgb, var(--pill) 50%, transparent);background:var(--surface-solid)}.arrange-list.dragging,.arrange-list.dragging *{cursor:grabbing}.drag-handle{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--muted);touch-action:none;place-items:center;margin:-.25rem 0 -.25rem -.35rem;display:grid}.arrange-row:hover .drag-handle{color:var(--text);background:var(--surface-2)}.guide{border-color:var(--border-strong);position:relative;overflow:hidden}.guide:before{content:"";pointer-events:none;background:radial-gradient(40rem 16rem at 0% 0%, var(--bg-glow-1), transparent 70%);position:absolute;inset:0}.guide>*{position:relative}.guide .panel-head{flex-wrap:nowrap;align-items:flex-start}.guide-hide{flex-shrink:0}.guide-progress{margin:-.3rem 0 1.1rem}.guide-steps{counter-reset:none;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.guide-step{border-radius:var(--radius);grid-template-columns:2rem 1fr;gap:.8rem;padding:.7rem .6rem;display:grid}.guide-step.current{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.guide-mark{width:2rem;height:2rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:50%;place-items:center;font-size:.9rem;font-weight:750;display:grid}.guide-step.current .guide-mark{color:var(--on-accent);background:var(--accent-strong);box-shadow:var(--glow);border-color:#0000}.guide-step.done .guide-mark{color:var(--success);background:color-mix(in srgb, var(--success) 14%, transparent);border-color:color-mix(in srgb, var(--success) 40%, transparent)}.guide-body{min-width:0;padding-top:.2rem}.guide-body h3{margin:0 0 .3rem;font-size:1rem}.guide-step.done .guide-body h3{color:var(--muted)}.guide-body p{color:var(--muted);margin:0 0 .6rem;font-size:.92rem}.guide-body p:last-child{margin-bottom:0}.guide-body a:not(.btn){color:var(--violet-2);text-underline-offset:2px;text-decoration:underline}.guide-body form{margin-top:.4rem}.guide-ok,.guide-warn{align-items:center;gap:.35rem;display:flex}.guide-body .guide-ok{color:var(--success)}.guide-body .guide-warn{color:var(--warning)}.guide-extras{color:var(--muted);flex-direction:column;gap:.45rem;margin:.2rem 0 0;padding:0;font-size:.92rem;list-style:none;display:flex}.guide-extras li{align-items:flex-start;gap:.5rem;display:flex}.guide-extras li svg{color:var(--violet-2);flex-shrink:0;margin-top:.2rem}.guide-extras li.done svg{color:var(--success)}.hero.brew-hero{grid-template-columns:1fr auto}@media (width<=760px){.hero.brew-hero{grid-template-columns:1fr;gap:.9rem}}.ev-icon{--ev:var(--violet-2);width:1.9rem;height:1.9rem;color:var(--ev);background:color-mix(in srgb, var(--ev) 16%, transparent);border:1px solid color-mix(in srgb, var(--ev) 40%, transparent);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.ev-head{align-items:center;gap:.45rem;margin:0;font-size:1rem;display:flex}.brew-timeline{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.brew-timeline li{align-items:flex-start;gap:.7rem;padding:.45rem 0;display:flex;position:relative}.brew-timeline li+li:before{content:"";background:var(--border-strong);width:2px;height:.9rem;position:absolute;top:-.45rem;left:calc(.95rem - 1px)}.brew-timeline .grow{flex:1;min-width:0}.brew-timeline .ev-title{overflow-wrap:anywhere;flex-wrap:wrap;gap:.1rem .45rem;font-size:.92rem;display:flex}.brew-timeline .ev-when{color:var(--muted);font-size:.78rem}.brew-timeline.compact li{padding:.3rem 0}.brew-timeline.compact li+li:before{height:.6rem;top:-.3rem}.kind-picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:.45rem;display:grid}.kind-picker button{--ev:var(--violet-2);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);min-height:2.6rem;color:var(--muted);text-align:left;cursor:pointer;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:flex}.kind-picker button svg{color:var(--ev);flex-shrink:0}.kind-picker button:hover{border-color:var(--ev);color:var(--text)}.kind-picker button.on{color:var(--text);border-color:var(--ev);background:color-mix(in srgb, var(--ev) 16%, transparent);box-shadow:0 0 0 1px var(--ev) inset}.stat .v.small-v{font-size:.95rem;line-height:1.3}.prediction-wait{grid-column:span 2}.stage-dot{vertical-align:middle;background:var(--faint);border-radius:50%;width:.55rem;height:.55rem;margin-right:.45rem;display:inline-block}.stage-dot.active{background:var(--violet-2);box-shadow:0 0 10px var(--violet-2)}.stage-dot.finishing{background:var(--warning)}.stage-dot.done{background:var(--success)}.compare-bar{align-items:center}.compare-check{border:2px solid var(--border-strong);color:#0000;background:var(--surface-2);border-radius:.4rem;flex-shrink:0;place-items:center;width:1.4rem;height:1.4rem;display:inline-grid}.compare-check.on{border-color:var(--violet);background:var(--violet);color:var(--on-accent)}.pill-card.picking,.list-item.picking{cursor:pointer}.pill-card.picked{border-color:var(--violet-2);box-shadow:0 0 0 1px var(--violet-2) inset, var(--shadow)}.list-item.picked h4{color:var(--violet-2)}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.chart-wrap.interactive{border-radius:var(--radius-sm)}.chart-wrap.interactive:focus-visible{outline:2px solid var(--violet-2);outline-offset:4px}.chart-wrap .u-over{touch-action:pan-y}.chart-wrap.interactive .u-over{cursor:crosshair}.chart-wrap .u-legend .u-implausible th:after{content:""}.chart-wrap .u-legend .u-implausible td{color:var(--muted)}.chart-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chart-zoom{z-index:3;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;padding:2px;display:flex;position:absolute;bottom:0;right:0}.chart-wrap.zoomable .u-legend{padding-right:6.8rem}@media (pointer:coarse){.chart-zoom{display:none}.chart-wrap.zoomable .u-legend{padding-right:0}}.chart-zoom .icon-btn{width:1.9rem;height:1.9rem;color:var(--muted);border-radius:999px}.chart-zoom .icon-btn:disabled{opacity:.35;cursor:default;background:0 0}.chart-pick{z-index:6;border-radius:var(--radius);background:var(--surface-solid);border:1px solid var(--border-strong);min-width:12.5rem;box-shadow:var(--shadow-lg);animation:chart-pop .18s var(--ease);padding:.55rem .6rem;position:absolute;transform:translate(-50%,calc(-100% - 14px))}.chart-pick.below{transform:translate(-50%,14px)}@keyframes chart-pop{0%{opacity:0}}.chart-pick-head{color:var(--muted);white-space:nowrap;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.chart-pick-head strong{color:var(--text);font-size:1rem}.chart-pick-head .icon-btn{margin-left:auto}.chart-pick-actions{justify-content:space-between;align-items:center;gap:.4rem;margin-top:.45rem;display:flex}.chart-pick-actions .btn{flex:1;justify-content:center}.chart-band-label{z-index:4;border:1px dashed var(--border-strong);background:color-mix(in srgb, var(--surface-solid) 86%, transparent);height:1.4rem;color:var(--muted);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:opacity .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:.3rem;padding:0 .55rem;font-size:.7rem;font-weight:650;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.chart-band-label:not(.shown):not(.open):not(:focus-visible){opacity:0;pointer-events:none}.chart-band-label.top{transform:translate(-50%)}.chart-band-label.narrow{width:1.4rem;padding:0}.chart-band-label:hover,.chart-band-label.open{color:var(--text);border-style:solid;border-color:var(--violet-2)}.chart-band-label:focus-visible{outline:2px solid var(--violet-2);outline-offset:2px}.chart-band-pop{min-width:15rem;max-width:17rem}.chart-band-pop .chart-pick-head strong{font-size:.9rem}.chart-band-when{color:var(--text);margin:.2rem 0 0;font-size:.8rem;font-weight:600}.chart-band-what{color:var(--muted);margin:.3rem 0 0;font-size:.76rem;line-height:1.4}.overview{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:pointer;height:3rem;margin-top:.6rem;position:relative;overflow:hidden}.overview .sparkline{height:100%}.overview-shade{background:color-mix(in srgb, var(--bg) 55%, transparent);pointer-events:none;position:absolute;top:0;bottom:0}.overview-window{border:1.5px solid var(--violet-2);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--violet) 8%, transparent);cursor:grab;position:absolute;top:0;bottom:0}.overview-window:active{cursor:grabbing}.overview-window:focus-visible{outline:2px solid var(--text);outline-offset:1px}.overview-handle{cursor:ew-resize;width:20px;position:absolute;top:0;bottom:0;left:-10px}.overview-handle.end{left:auto;right:-10px}.overview:not(.zoomed) .overview-handle{left:0}.overview:not(.zoomed) .overview-handle.end{left:auto;right:0}.overview-handle:after{content:"";background:var(--violet-2);pointer-events:none;border-radius:2px;width:4px;height:1.3rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.range-picker{flex-direction:column;gap:.5rem;min-width:0;max-width:100%;display:flex}.range-presets{scrollbar-width:none;max-width:100%;overflow-x:auto}.range-presets::-webkit-scrollbar{display:none}.range-presets button{white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;display:inline-flex}.range-presets button:focus-visible{outline:2px solid var(--violet-2);outline-offset:1px}.range-custom{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.6rem;padding:.7rem;display:flex}.range-custom .field{flex:12rem}.range-custom .field-error{flex-basis:100%}.range-custom-actions{min-height:2.6rem}.compare-chart{flex-direction:column;gap:.6rem;min-height:16rem;display:flex}.compare-legend{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.35rem 1rem;display:grid}.compare-day{color:var(--muted);grid-column:1/-1;font-size:.8rem;font-weight:650}.compare-key{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:.55rem;min-width:0;padding:.35rem .5rem;display:flex}.compare-key .swatch{border-radius:50%;flex-shrink:0;width:.8rem;height:.8rem}.compare-key .grow{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.compare-key strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.compare-key small{color:var(--muted);font-size:.76rem}.brew-summary{width:100%;max-width:52rem;margin:0 auto}.summary-actions .back{margin:0}.summary-sheet{flex-direction:column;gap:1.2rem;display:flex}.summary-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem 1.5rem;padding-bottom:.9rem;display:flex}.summary-head h1{margin:0;font-size:clamp(1.5rem,4vw,2.1rem)}.summary-sub{color:var(--muted);margin:.25rem 0 0}.summary-dates{text-align:right;font-variant-numeric:tabular-nums;font-size:.92rem}.summary-figures{grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:.6rem;margin:0;display:grid}.summary-figures>div{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);padding:.6rem .75rem}.summary-figures dt{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:.68rem;font-weight:700}.summary-figures dd{font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:1.2rem;font-weight:720}.summary-figures dd small{color:var(--muted);font-size:.72rem;font-weight:500;display:block}.summary-chart{margin:0}.summary-chart svg{width:100%;height:auto;display:block}.summary-chart-skeleton{aspect-ratio:720/280}.sc-grid line{stroke:var(--grid);stroke-width:1px}.sc-axis text,.sc-target text{fill:var(--muted);font:11px system-ui,sans-serif}.sc-gravity{fill:none;stroke-width:2.2px;stroke-linejoin:round}.sc-temp{fill:none;stroke:var(--series-temp);stroke-width:1.4px;stroke-dasharray:5 4}.sc-target line{stroke-width:1.2px;stroke-dasharray:6 6;opacity:.7}.sc-event line{stroke-width:1.2px;stroke-dasharray:3 3}.sc-event text{fill:#fff;font:700 10px system-ui,sans-serif}.summary-legend{flex-wrap:wrap;gap:.3rem 1.1rem;margin-top:.35rem;font-size:.8rem;display:flex}.summary-legend span{align-items:center;gap:.4rem;display:inline-flex}.summary-legend i{border-radius:2px;width:1.2rem;height:3px;display:inline-block}.summary-legend i.dashed{background:repeating-linear-gradient(90deg, var(--series-temp) 0 5px, transparent 5px 9px)}.summary-section h2{margin:0 0 .5rem;font-size:1.05rem}.summary-events{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.summary-events li{flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.9rem;display:flex}.summary-events .grow{overflow-wrap:anywhere;flex:1;min-width:12rem}.summary-events .ev-icon{width:1.5rem;height:1.5rem}.summary-event-no{background:var(--surface-3);border-radius:50%;place-items:center;width:1.3rem;height:1.3rem;font-size:.72rem;font-weight:700;display:inline-grid}.summary-notes{white-space:pre-wrap;margin:0}.summary-foot{border-top:1px solid var(--border);color:var(--muted);padding-top:.8rem;font-size:.78rem}@media (width<=520px){.summary-dates{text-align:left}}@page{margin:14mm}@media print{body:has(.brew-summary){--text:#111;--muted:#555;--faint:#777;--grid:#e2e2e2;--border:#d4d4d4;--surface-2:#f6f6f6;--surface-3:#e8e8e8;--series-temp:#d6336c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111;background:#fff!important}.brew-summary .summary-actions{display:none!important}body:has(.brew-summary) .ambient{display:none!important}body:has(.brew-summary) .topbar{display:none!important}body:has(.brew-summary) .nav{display:none!important}body:has(.brew-summary) .toasts{display:none!important}body:has(.brew-summary) main>:not(.brew-summary){display:none!important}body:has(.brew-summary) main{width:100%;max-width:none;padding:0}.brew-summary{max-width:none;animation:none}.summary-sheet{color:#111;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;border:0!important;padding:0!important}.summary-figures>div,.summary-chart,.summary-events li{break-inside:avoid}.summary-figures>div,.sc-gravity,.sc-event,.ev-icon,.summary-legend i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.preset .preset-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.preset .preset-name{font-size:inherit;color:var(--text);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.preset .preset-trust,.preset-trust{vertical-align:middle;padding:.1rem .45rem;font-size:.68rem}.hook-card.paused .badge{filter:grayscale(.8)}.wh-notice>svg{flex-shrink:0}.wh-pills .check:has(input:disabled){cursor:default;opacity:.6}.hook-notes{color:var(--warning);margin:.35rem 0 0;padding:0;font-size:.8rem;list-style:none}.hook-notes li+li{margin-top:.15rem}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.option-group{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);flex-direction:column;gap:.6rem;padding:.8rem .9rem;display:flex}.option-group .row .input.num{width:6.5rem}.inline-fields{flex-wrap:wrap;gap:.8rem 1.2rem;padding-left:1.6rem;display:flex}.inline-fields .field{min-width:9rem}.textarea.code.batch{min-height:7rem}.channel-kind{background:var(--accent-soft);border:1px solid var(--border-strong);width:2.4rem;height:2.4rem;color:var(--violet-2);border-radius:.75rem;flex-shrink:0;place-items:center;display:grid}.list-item.channel-off .channel-kind,.list-item.channel-off h4{opacity:.55}.list-item .chip.success,.list-item .chip.danger{margin-right:.2rem;padding:.05rem .5rem}.rule-send-to{align-items:center;gap:.35rem;display:flex}.list-item.channel-row{flex-wrap:wrap}.list-item.channel-row .grow{min-width:min(100%,14rem)}.channel-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.row.channel-name-row{align-items:flex-end}.channel-name-row>.row{min-height:2.6rem}.channel-editor{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.channel-help{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);padding:1rem}.channel-help h3{margin:0 0 .6rem;font-size:1rem}.stack.channel-links{gap:.35rem;margin-top:.7rem;font-size:.85rem}.channel-links a{color:var(--violet-2);align-items:center;gap:.3rem;display:inline-flex}.channel-secret{align-items:center;gap:.4rem;display:flex}.channel-secret .btn{flex-shrink:0}.channel-make-topic{align-self:flex-start}@media (width<=720px){.channel-editor{grid-template-columns:1fr}}.bt-section .bt-heading{margin:1.4rem 0 .35rem;font-size:.98rem}.bt-section .bt-heading+.hint{margin:0 0 .3rem}.bt-reason{color:var(--muted);margin-top:.2rem;font-size:.85rem;display:block}.bt-caught .bt-bar{max-width:22rem;margin:.4rem 0 .3rem}.bt-bar.low>i{background:var(--warning);box-shadow:none}.bt-caught p.bt-low{color:var(--warning)}.mqtt-section .input.mono{font-family:var(--mono);font-size:.88rem}.mqtt-section .mqtt-wide{grid-column:1/-1}.mqtt-section .mqtt-indent{max-width:22rem;padding-left:1.6rem}.mqtt-status{margin:0 0 1rem}.mqtt-status strong{display:block}.mqtt-help{border-top:1px solid var(--border);margin-top:1.2rem;padding-top:.9rem}.mqtt-help summary{cursor:pointer;color:var(--muted);font-size:.92rem;font-weight:650}.mqtt-help[open] summary{margin-bottom:.7rem}.mqtt-topics{gap:.5rem;margin:0 0 .8rem;padding-left:1.2rem;font-size:.88rem;line-height:1.5;display:grid}.mqtt-topics code,.mqtt-help p{overflow-wrap:anywhere}.mqtt-help a{align-items:center;gap:.3rem;text-decoration:underline;display:inline-flex}.token-form{flex-wrap:wrap;align-items:flex-end;gap:.8rem;display:flex}.token-form .field:first-child{flex:14rem}.token-value{-webkit-user-select:all;user-select:all;font-size:.85rem}.backup-section .mono,.backup-section .input.mono{font-family:var(--mono);overflow-wrap:anywhere;font-size:.88rem}.backup-targets{margin-bottom:1rem}.backup-targets .list-item h4,.backup-files .list-item h4{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.backup-icon{background:var(--accent-soft);width:2.2rem;height:2.2rem;color:var(--violet);border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.backup-error{color:var(--danger);margin:.2rem 0 0;font-size:.86rem}.backup-note{color:var(--muted);margin:.2rem 0 0;font-size:.86rem}.backup-actions{margin-bottom:.4rem}.backup-section .btn.danger-text{color:var(--danger)}.backup-restored{margin-bottom:1rem}.backup-subhead{margin:1.2rem 0 .2rem;font-size:.95rem}.backup-files{max-height:22rem;overflow-y:auto}.backup-files .list-item{flex-wrap:wrap}.backup-options{margin-top:.4rem}.backup-option .hint{margin:.4rem 0 0}.backup-option>.stack{margin-top:1rem}.backup-section .backup-wide{grid-column:1/-1}.backup-help summary{cursor:pointer;color:var(--muted);font-size:.92rem;font-weight:650}.backup-help ul{gap:.45rem;margin:.7rem 0;padding-left:1.2rem;font-size:.88rem;line-height:1.5;display:grid}.backup-help code{overflow-wrap:anywhere}.backup-help a{align-items:center;gap:.3rem;text-decoration:underline;display:inline-flex}.backup-warning p{margin:.4rem 0 0;font-size:.9rem}.backup-steps{color:var(--muted);gap:.4rem;margin:0;padding-left:1.4rem;display:grid}.backup-steps li.now{color:inherit;font-weight:650}.backup-steps li.done{color:var(--success)}.markdown{overflow-wrap:anywhere;font-size:.92rem;line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h3,.markdown h4,.markdown h5,.markdown h6{margin:1.1rem 0 .35rem;font-size:1rem}.markdown h4,.markdown h5,.markdown h6{color:var(--muted);font-size:.92rem}.markdown p{margin:.5rem 0}.markdown ul,.markdown ol{margin:.4rem 0;padding-left:1.3rem}.markdown li{margin:.3rem 0}.markdown li::marker{color:var(--violet-2)}.markdown a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--violet-2);text-decoration-color:var(--violet-2);text-underline-offset:2px;font-weight:600}.markdown code{background:var(--surface-2);border:1px solid var(--border);border-radius:.35rem;padding:.05rem .35rem;font-size:.85em}.whats-new-title svg{vertical-align:-.12em;color:var(--violet-2);margin-right:.2rem}.whats-new-section{margin-top:.8rem}.whats-new-section+.whats-new-section{border-top:1px solid var(--border);padding-top:.8rem}.whats-new-section>h3{margin:0 0 .3rem;font-size:1.05rem}.update-banner{flex-wrap:wrap;align-items:center;margin-bottom:1rem}.update-banner>svg{flex:none}.update-banner .grow{min-width:min(100%,15rem)}.update-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.update-spin{animation:1.4s linear infinite update-spin}.markdown.release-notes{margin-top:.8rem}.dev-build-badge{text-decoration:none}@media (width<=480px){.dev-build-badge{padding-inline:.5rem;font-size:.7rem}}@keyframes update-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.update-spin{animation:none}}.update-section .update-problem{color:var(--warning)}.update-section-notice,.update-section-actions{margin-top:1rem}.update-section .hint a{text-decoration:underline}.update-notes{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin-top:1rem;padding:.75rem 1rem}.update-notes>summary{cursor:pointer;font-weight:650}.update-notes[open]>summary{margin-bottom:.6rem}.sys-addresses{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.9rem;display:grid}.sys-address{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.5rem;min-width:0;padding:.9rem;display:flex}.sys-address .hint{margin:0}.sys-qr{aspect-ratio:1;border-radius:var(--radius-sm);background:#fff;align-self:center;width:min(100%,10.5rem);padding:.35rem}.sys-qr img{width:100%;height:100%;display:block}.sys-url-row{flex-wrap:nowrap}.sys-url{min-width:0;font-family:var(--mono);overflow-wrap:anywhere;font-size:.82rem}.sys-log-tools{margin-bottom:.7rem}.sys-logs{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);max-height:30rem;font-family:var(--mono);font-size:.78rem;overflow:auto}.sys-log-empty{margin:0;padding:.8rem;font-family:inherit}.sys-log{border-bottom:1px solid var(--border)}.sys-log:last-child{border-bottom:0}.sys-log-line{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;padding:.4rem .7rem;display:flex}button.sys-log-line{cursor:pointer}.sys-log.has-detail:hover,.sys-log.open{background:var(--surface-3)}.sys-log .t{color:var(--faint);white-space:nowrap}.sys-log .chip{padding:.05rem .45rem;font-size:.68rem}.sys-log .svc{color:var(--muted)}.sys-log .msg{overflow-wrap:anywhere;flex:16rem;min-width:0}.sys-log.has-detail .msg:after{content:" …";color:var(--faint)}.sys-log.open .msg:after{content:""}.sys-log pre{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:0;padding:0 .7rem .5rem}.sys-action{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.sys-action:first-of-type{padding-top:0}.sys-action:last-of-type{border-bottom:0;padding-bottom:0}.sys-action .grow{flex:1;min-width:min(100%,16rem)}.sys-action h3{margin:0;font-size:.98rem}.sys-action p{color:var(--muted);margin:.2rem 0 0;font-size:.86rem}.sys-action a:not(.btn){text-decoration:underline}.sys-action .sys-status{color:var(--warning);font-weight:600}.status-warnings{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:1rem;display:flex}.status-warnings .notice{align-items:center;padding:.65rem .85rem;font-size:.88rem}.status-warnings .notice>svg{flex-shrink:0}.status-warnings code{overflow-wrap:anywhere;font-size:.82rem}.status-show-hidden{align-self:flex-start}.status-disk{flex-direction:column;gap:.35rem;display:flex}.status-disk .bar{max-width:22rem}.status-disk .bar.warn>i{background:var(--warning);box-shadow:none}.status-disk .bar.danger>i{background:var(--danger);box-shadow:none}.kiosk{isolation:isolate;width:auto;max-width:none;padding:clamp(.6rem,2vmin,1.6rem);padding-top:max(clamp(.6rem, 2vmin, 1.6rem), env(safe-area-inset-top));padding-bottom:max(clamp(.6rem, 2vmin, 1.6rem), env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:clamp(.6rem,1.6vmin,1.2rem);margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.kiosk:focus{outline:none}.kiosk.idle,.kiosk.idle *{cursor:none}.kiosk-head{align-items:center;gap:1rem;min-height:2.4rem;display:flex}.kiosk-brand{align-items:center;gap:.6rem;min-width:0;margin:0;font-size:clamp(1.1rem,2.8vmin,2rem);font-weight:750;display:flex}.kiosk-brand img{width:1.5em;height:1.5em;box-shadow:var(--glow);border-radius:.35em}.kiosk-name{text-overflow:ellipsis;white-space:nowrap;background:var(--accent);color:#0000;-webkit-background-clip:text;background-clip:text;overflow:hidden}.kiosk-clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:clamp(1.1rem,3.2vmin,2.4rem);font-weight:700}.kiosk-dots{gap:.45rem;display:flex}.kiosk-dots i{background:var(--surface-3);width:.6rem;height:.6rem;transition:background .3s var(--ease);border-radius:50%}.kiosk-dots i.on{background:var(--violet-2)}.kiosk-grid-wrap{flex:1;min-height:0;position:relative}.kiosk-grid{animation:kiosk-in .7s var(--ease);gap:16px;display:grid;position:absolute;inset:0}@keyframes kiosk-in{0%{opacity:0;transform:translateY(10px)}}.kiosk-empty{text-align:center;color:var(--muted);place-content:center;font-size:clamp(1rem,2.6vmin,1.6rem);display:grid;position:absolute;inset:0}.kiosk-empty h2{color:var(--text);font-size:1.6em}.kiosk-tile{--pill:var(--violet-2);border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);min-width:0;min-height:0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);flex-direction:column;gap:clamp(.4rem,1.4vmin,1.1rem);padding:clamp(.8rem,2.6vmin,2.2rem);display:flex;position:relative;overflow:hidden;container-type:size}.kiosk-tile:before{content:"";pointer-events:none;background:radial-gradient(70% 55% at 100% 0%, color-mix(in srgb, var(--pill) 26%, transparent), transparent 72%);position:absolute;inset:0}.kiosk-tile>*{position:relative}.kiosk-tile.offline{filter:saturate(.6)}.kt-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;min-width:0;display:flex}.kt-head h2{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:clamp(1rem,7cqmin,3.4rem);overflow:hidden}.kt-brew{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.85rem,4.2cqmin,1.9rem);overflow:hidden}.kt-brew strong{color:var(--text)}.kt-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.3rem 1rem;display:flex}.kt-gravity{letter-spacing:-.045em;background:linear-gradient(135deg, var(--text) 10%, var(--pill) 120%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,23cqmin,14rem);font-weight:780;line-height:.95}.kt-gravity .tail{opacity:.55}.kt-gravity .unit{letter-spacing:0;-webkit-text-fill-color:var(--muted);margin-left:.25em;font-size:.28em;font-weight:650}.kt-temp{letter-spacing:-.03em;font-size:clamp(1.4rem,11cqmin,6.5rem);font-weight:720;line-height:1}.kt-warn{color:var(--warning);align-items:center;gap:.4em;font-size:clamp(.8rem,3.6cqmin,1.5rem);font-weight:650;display:flex}.kt-spark{flex:1 1 0;min-height:0;display:flex}.kt-spark .sparkline{height:100%;min-height:1.5rem}.kt-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.3rem,1.2vmin,.9rem);margin:0;display:grid}.kt-stats>div{border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);min-width:0;padding:.5em .7em}.kt-stats dt{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-size:clamp(.65rem,3cqmin,1.15rem);font-weight:700}.kt-stats dd{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.3em;margin:0;font-size:clamp(.95rem,5.4cqmin,2.5rem);font-weight:720;display:flex;overflow:hidden}.kt-stats dd small{color:var(--muted);font-size:.5em;font-weight:650}.kt-stats dd.low{color:var(--danger)}@container (orientation:portrait){.kt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (height<=260px){.kt-spark{display:none}}.kiosk-controls{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:5;border-radius:var(--radius-lg);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(1.4);border:1px solid var(--border-strong);width:max-content;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg);transition:opacity .4s var(--ease), transform .4s var(--ease);flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.7rem;display:flex;position:fixed;transform:translate(-50%)}.kiosk.idle .kiosk-controls{opacity:0;pointer-events:none;transform:translate(-50%,1rem)}.kiosk-rotate{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.kiosk-rotate .select{width:auto;min-height:2.5rem}.kiosk-hint{max-width:40rem;color:var(--muted);flex-basis:100%;align-items:flex-start;gap:.5rem;margin:0;font-size:.85rem;display:flex}.kiosk-hint svg{flex-shrink:0;margin-top:.15rem}
