:root{color-scheme:dark;--bg: #0d0f15;--surface: #161922;--surface-2: #1e2230;--line: #2a2f3e;--text: #eef0f6;--dim: #9aa1b2;--faint: #6b7286;--accent: #7aa8ff;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--heat: #ff7a45;--demo: #c084fc;--profile: #7aa8ff;--radius: 16px;--tabbar: 64px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font-size:16px;line-height:1.4;overscroll-behavior-y:none}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:12px 16px calc(var(--tabbar) + 24px + env(safe-area-inset-bottom))}.main.has-dock{padding-bottom:calc(var(--tabbar) + 130px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-in{max-width:560px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:10px}.devname{font-weight:650;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--surface-2);color:var(--dim);white-space:nowrap;border:0}.pill .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.busy .dot{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.25}}.battery{font-size:13px;color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}.battery.low{color:var(--warn)}.battery.crit{color:var(--bad)}.demo-banner{background:var(--demo);color:#1b0b2e;font-weight:700;text-align:center;font-size:13px;padding:4px 8px;letter-spacing:.02em}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}.card h2{font-size:15px;margin:0 0 10px;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.card h3{font-size:16px;margin:0 0 6px}.muted{color:var(--dim)}.faint{color:var(--faint);font-size:13px}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn{min-height:48px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:#0b1020;border-color:transparent}.btn.danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.btn.block{width:100%}.btn.sm{min-height:40px;padding:0 12px;border-radius:12px;font-size:14px}.btn.icon{width:48px;padding:0;font-size:22px}.banner{border-radius:var(--radius);padding:14px;margin-bottom:12px;border:1px solid var(--line);background:var(--surface)}.banner.warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.banner.bad{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.banner p{margin:4px 0 10px;color:var(--dim)}.gauge{position:relative;display:grid;place-items:center;margin:4px auto 6px;width:min(58vw,236px);aspect-ratio:1}.gauge svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(135deg)}.gauge .track{stroke:var(--surface-2)}.gauge .bar{stroke:var(--profile);transition:stroke-dashoffset .6s ease,stroke .3s}.gauge .bar.heating{stroke:var(--heat)}.gauge-center{text-align:center;position:relative}.gauge-temp{font-size:clamp(56px,18vw,76px);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.gauge-temp small{font-size:24px;font-weight:500;color:var(--dim);margin-left:2px}.gauge-sub{color:var(--dim);font-size:15px;margin-top:6px;font-variant-numeric:tabular-nums}.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:6px;text-transform:uppercase}.badge.live{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.badge.cached{background:var(--surface-2);color:var(--warn)}.badge.demo{background:color-mix(in srgb,var(--demo) 22%,transparent);color:var(--demo)}.session-label{font-weight:700;font-size:15px;margin-top:8px}.session-label.heating{color:var(--heat)}.session-label.holding{color:var(--ok)}.quick{display:grid;grid-template-columns:52px 1fr 52px;gap:8px;align-items:center;margin-top:4px}.quick .btn.icon{width:52px;min-height:52px;font-size:26px}.quick-target{min-height:60px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.15}.quick-target b{font-size:22px;font-variant-numeric:tabular-nums}.quick-sub{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--dim)}.quick-sub .glyph{color:var(--profile)}.pills{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}.pill-btn{min-height:44px;border-radius:12px;border:1.5px solid transparent;background:var(--surface-2);color:var(--dim);font-weight:650;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-variant-numeric:tabular-nums}.pill-btn .dot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}.pill-btn.on{color:var(--text);border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface-2))}.pill-btn:disabled{opacity:.55}.card-status{text-align:center;margin-top:8px}.card-status:empty{display:none}.warn-chip{margin:8px auto 0;width:fit-content;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700;color:#1d1402;background:var(--warn)}.kbd-hint{display:none}@media (hover: hover) and (pointer: fine){.kbd-hint{display:inline}}.stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:170px}.readout{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.big-temp{font-size:clamp(72px,min(28vw,calc((100dvh - 430px)*.42)),150px);font-weight:700;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}.big-temp small{font-size:.3em;font-weight:500;color:var(--dim);margin-left:4px;letter-spacing:0;vertical-align:top;position:relative;top:.25em}.readout .session-label{margin-top:0;font-size:17px}.progress{width:min(220px,60vw);height:6px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.progress span{display:block;height:100%;border-radius:inherit;transition:width .6s ease}.progress .heat{background:var(--heat)}.progress .hold{background:var(--ok)}.main.has-dock{display:flex;flex-direction:column}.home{flex:1;display:flex;flex-direction:column;width:100%;max-width:560px;margin:0 auto}.home>.layout-wide{flex:1;display:flex;flex-direction:column;align-items:stretch}.home .card.hero{flex:1;display:flex;flex-direction:column;margin-bottom:0;padding:18px}.home .hero-controls{margin-top:18px;display:flex;flex-direction:column;gap:14px}.home .hero-controls .pills{margin-top:0;gap:10px}.home .hero-controls .quick{gap:12px;margin-top:0}.home .pill-btn{min-height:50px;font-size:15px}.home .card-status{margin-top:0}.main.has-dock{padding-bottom:calc(var(--tabbar) + 150px + env(safe-area-inset-bottom))}.home .dock{padding-top:18px}@media (min-width: 900px){.home .dock{margin-top:18px;padding-top:0}}.card.hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--profile) 16%,transparent),transparent 70%),var(--surface);border-color:color-mix(in srgb,var(--profile) 28%,var(--line));transition:border-color .4s,background .4s}.card.hero.is-hot{border-color:color-mix(in srgb,var(--heat) 55%,var(--line));background:radial-gradient(120% 75% at 50% 10%,color-mix(in srgb,var(--heat) 13%,transparent),transparent 72%),var(--surface)}.is-hot .gauge .bar{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--heat) 40%,transparent))}.glyph{flex:none;color:inherit}.chip .n{display:inline-flex;align-items:center;gap:3px}.chip .n .glyph{opacity:.85}.chip.active .n{color:var(--text)}.mode-v{display:inline-flex;align-items:center;justify-content:center;gap:6px}.mode-v .glyph{color:var(--profile)}.seg .mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px}.seg .mode-btn .glyph{color:var(--dim)}.seg .mode-btn.on .glyph{color:var(--accent)}.battery{display:inline-flex;align-items:center;gap:5px}.battery-icon{color:var(--dim)}.trace{position:absolute;left:-18px;right:-18px;bottom:0;height:46%;pointer-events:none;z-index:0}.trace svg{width:100%;height:100%;display:block}.trace-line{stroke:var(--profile);stroke-width:2;stroke-linejoin:round;opacity:.55}.trace-line.hot{stroke:var(--heat)}.chips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.chip{min-height:64px;border-radius:14px;border:2px solid transparent;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;font-variant-numeric:tabular-nums}.chip .sw{width:14px;height:14px;border-radius:50%}.chip .t{font-size:14px;font-weight:650}.chip .n{font-size:11px;color:var(--dim)}.chip.active{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--surface-2))}.chip.pending{animation:pulse 1s infinite}.facts.two{grid-template-columns:1fr 1fr}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}.fact .v{font-weight:650;font-size:17px;font-variant-numeric:tabular-nums}.fact .k{font-size:12px;color:var(--dim)}.dock{position:fixed;left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom));z-index:6;padding:8px 16px;background:linear-gradient(to top,var(--bg) 70%,transparent)}.dock-in{max-width:560px;margin:0 auto;display:flex;gap:8px}.hold-btn{position:relative;overflow:hidden;flex:1;min-height:64px;border-radius:18px;border:0;background:var(--heat);color:#1d0b02;font-weight:750;font-size:18px;letter-spacing:.01em;touch-action:none;user-select:none;-webkit-user-select:none}.hold-btn .fill{position:absolute;inset:0;background:#ffffff59;transform-origin:left;transform:scaleX(0)}.hold-btn span{position:relative}.hold-btn:disabled{background:var(--surface-2);color:var(--faint)}.stop-btn{flex:1;min-height:64px;border-radius:18px;border:0;background:var(--bad);color:#1e0505;font-weight:800;font-size:20px}.ext-btn{min-height:64px;min-width:96px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2);font-weight:700;font-size:17px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:7;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:center}.tabbar-in{display:flex;width:100%;max-width:560px}.tab{flex:1;border:0;background:none;color:var(--faint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600}.tab svg{width:22px;height:22px}.tab.on{color:var(--text)}.field{margin:10px 0}.field label{display:block;font-size:13px;color:var(--dim);margin-bottom:6px}.num{display:flex;align-items:stretch;gap:6px}.num input{flex:1;min-width:0;text-align:center;font-size:22px;font-weight:650;background:var(--bg);border:1px solid var(--line);border-radius:12px;min-height:52px;font-variant-numeric:tabular-nums}.num .btn{min-width:52px;font-size:20px}input[type=text],select{width:100%;min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--bg);padding:0 12px}input[type=range]{width:100%;accent-color:var(--accent);height:36px}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.seg button{min-height:52px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);font-weight:600;font-size:14px}.seg button.on{background:color-mix(in srgb,var(--accent) 22%,var(--surface-2));border-color:var(--accent)}.toggle{display:flex;justify-content:space-between;align-items:center;min-height:52px}.switch{width:52px;height:32px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--dim);transition:transform .2s}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(20px);background:#0b1020}.err{color:var(--bad);font-size:14px;margin:4px 0}.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}.list li:last-child{border-bottom:0}.list li span:first-child{color:var(--dim)}.list li span:last-child{text-align:right;word-break:break-word;font-variant-numeric:tabular-nums}.lights{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.light{min-height:60px;border-radius:12px;border:2px solid transparent;background:var(--surface-2);font-size:13px;font-weight:600;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.light .sw{width:22px;height:22px;border-radius:50%}.light.on{border-color:var(--accent)}.cmd{font-size:13px;display:inline-flex;gap:6px;align-items:center}.cmd.pending,.cmd.sent{color:var(--warn)}.cmd.confirmed{color:var(--ok)}.cmd.unconfirmed{color:var(--warn)}.cmd.failed{color:var(--bad)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar) + 96px + env(safe-area-inset-bottom));z-index:8;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:8px 14px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 8px 30px #0006}.curve svg{width:100%;height:160px;background:var(--bg);border-radius:12px;border:1px solid var(--line)}.pts{display:grid;grid-template-columns:1fr 1fr 44px;gap:6px;align-items:center;margin-top:8px}.pts input{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--bg);text-align:center;font-variant-numeric:tabular-nums}.scrim{position:fixed;inset:0;background:#0009;z-index:20;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:20px 20px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));width:100%;max-width:560px}@media (min-width: 900px){.main,.topbar-in{max-width:1040px}.layout-wide{display:grid;grid-template-columns:420px 1fr;gap:16px;align-items:start}.dock{position:static;background:none;padding:0;margin-top:4px}.dock-in{max-width:none}.main,.main.has-dock{padding-bottom:calc(var(--tabbar) + 24px)}.toast{bottom:96px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.home.v3>.layout-wide{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:0}.readout-zone{flex:1;min-height:216px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px;border-radius:24px;background:radial-gradient(55% 45% at 50% 50%,color-mix(in srgb,var(--profile) 11%,transparent),transparent 75%);transition:background .5s}.home.v3.is-hot .readout-zone{background:radial-gradient(55% 45% at 50% 50%,color-mix(in srgb,var(--heat) 13%,transparent),transparent 75%)}.identity{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--dim)}.identity .glyph{color:var(--profile)}.id-dot{width:10px;height:10px;border-radius:50%;background:var(--profile)}.id-sep{opacity:.5}.home.v3 .big-temp{font-size:clamp(72px,min(30vw,calc((100dvh - 500px)*.6)),168px);line-height:.92}.state-line{font-size:18px;font-weight:600;color:var(--dim)}.state-line.heating{color:var(--heat)}.state-line.holding{color:var(--ok)}.readout-notes{display:flex;gap:8px;align-items:center}.badge.low-batt{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.context-panel{flex:none;height:176px;margin-top:16px;padding:24px 16px;display:flex;flex-direction:column;justify-content:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:24px}.context-panel .quick{margin:0;gap:16px;grid-template-columns:56px 1fr 56px}.context-panel .quick .btn.icon{width:56px;min-height:56px}.context-panel .quick-target{min-height:56px;gap:0}.context-panel .quick-target .faint{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.context-panel .pills{margin:0;gap:8px}.context-panel .pill-btn{min-height:48px;font-size:15px}.trace-box{height:100%;display:flex;align-items:stretch}.trace-box:empty:after{content:"Graph appears in a moment";margin:auto;color:var(--faint);font-size:13px}.home.v3 .trace{position:static;width:100%;height:100%}.home.v3 .trace-line{opacity:.9;stroke-width:2.5}.cmd-line{min-height:24px;margin-top:8px;display:flex;justify-content:center;align-items:center;gap:16px}.home.v3 .dock{padding-top:16px}@media (max-height: 760px){.readout-zone{min-height:0;padding:8px 16px;gap:8px}.context-panel{height:160px;padding:16px;gap:16px;margin-top:8px}.context-panel .quick .btn.icon,.context-panel .quick-target{min-height:48px}.context-panel .quick .btn.icon{width:48px}.context-panel .quick{grid-template-columns:48px 1fr 48px}.context-panel .pill-btn{min-height:44px}.cmd-line{min-height:16px;margin-top:4px}.home.v3 .dock{padding-top:8px}}.update-note{max-width:560px;margin:4px auto 0;padding:6px 8px 6px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:999px;font-size:13px;color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);width:calc(100% - 32px)}.update-note .btn.sm{min-height:32px;border-radius:999px}html[data-theme=glass]{--bg: #0a0b10;--text: #f3f4f8;--dim: rgba(236, 239, 246, .66);--faint: rgba(236, 239, 246, .52);--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .08);--accent: #9dbbff;--heat: #ff8a50;--ok: #5fe39a;--bad: #ff6b6b;--radius: 22px;--glass-fill: rgba(30, 32, 42, .58);--glass-edge: rgba(255, 255, 255, .14);--glass-solid: #1c1e27;--glass-shadow: 0 12px 32px rgba(0, 0, 0, .5);--ease: cubic-bezier(.2, .8, .2, 1)}html[data-theme=glass] body{background:var(--bg);letter-spacing:-.005em}html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in,html[data-theme=glass] .session-bar-in,html[data-theme=glass] .sheet{background:var(--glass-fill);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:1px solid var(--glass-edge);box-shadow:inset 0 1px #ffffff1a,var(--glass-shadow)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in,html[data-theme=glass] .session-bar-in,html[data-theme=glass] .sheet{background:var(--glass-solid)}}@media (prefers-reduced-transparency: reduce){html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in,html[data-theme=glass] .session-bar-in,html[data-theme=glass] .sheet,html[data-theme=glass] .topbar{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}html[data-theme=glass].reduce-transparency .tabbar-in,html[data-theme=glass].reduce-transparency .home.gl .dock-in,html[data-theme=glass].reduce-transparency .session-bar-in,html[data-theme=glass].reduce-transparency .sheet,html[data-theme=glass].reduce-transparency .topbar{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}@media (prefers-contrast: more){html[data-theme=glass]{--dim: rgba(240, 242, 248, .82);--faint: rgba(240, 242, 248, .7);--glass-edge: rgba(255, 255, 255, .4)}}html[data-theme=glass]{--tabbar: 80px}html[data-theme=glass] .topbar{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom:0}html[data-theme=glass] .devname{font-weight:600}html[data-theme=glass] .pill{background:var(--surface-2)}html[data-theme=glass] .tabbar{background:none;border-top:0;padding:0 12px calc(12px + env(safe-area-inset-bottom));height:calc(var(--tabbar) + env(safe-area-inset-bottom));align-items:flex-end;pointer-events:none}html[data-theme=glass] .tabbar-in{height:64px;border-radius:32px;padding:0 4px;pointer-events:auto}html[data-theme=glass] .tab{border-radius:28px;margin:4px 0;color:var(--faint);font-size:11px;font-weight:600}html[data-theme=glass] .tab.on{color:var(--text);background:#ffffff1a}html[data-theme=glass] :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}html[data-theme=glass] .card{background:var(--surface);border:0;border-radius:var(--radius);padding:16px;margin-bottom:16px}html[data-theme=glass] .card h2{text-transform:none;letter-spacing:0;font-size:17px;font-weight:600;color:var(--text);margin:0 0 8px}html[data-theme=glass] .list li{border-bottom-color:var(--line)}html[data-theme=glass] .btn{border:0;background:var(--surface-2);border-radius:14px}html[data-theme=glass] .btn.primary{background:var(--text);color:#0b0c11}html[data-theme=glass] .btn.danger{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}html[data-theme=glass] input[type=text],html[data-theme=glass] select,html[data-theme=glass] textarea,html[data-theme=glass] .num input,html[data-theme=glass] .pts input{background:#00000047;border:1px solid transparent;border-radius:12px}html[data-theme=glass] input:focus,html[data-theme=glass] select:focus,html[data-theme=glass] textarea:focus{border-color:var(--accent);outline:none}html[data-theme=glass] .switch{border:0;background:var(--surface-2)}html[data-theme=glass] .switch.on{background:var(--ok)}html[data-theme=glass] .switch.on:after{background:#0b0c11}html[data-theme=glass] input[type=range]{accent-color:var(--text)}html[data-theme=glass] .banner{background:var(--surface);border:0}html[data-theme=glass] .banner.warn b{color:var(--warn)}html[data-theme=glass] .banner.bad b{color:var(--bad)}html[data-theme=glass] .scrim{background:#0000008c}html[data-theme=glass] .sheet{border-radius:28px;margin:0 8px 8px;width:calc(100% - 16px)}html[data-theme=glass] .badge.cached{background:var(--surface-2)}html[data-theme=glass] .chips,html[data-theme=glass] .seg{background:var(--surface);border-radius:18px;padding:4px;gap:4px}html[data-theme=glass] .chip,html[data-theme=glass] .seg button{border:0;background:transparent;border-radius:14px;min-height:56px}html[data-theme=glass] .chip.active,html[data-theme=glass] .seg button.on{background:#ffffff1f;box-shadow:inset 0 1px #ffffff1a}html[data-theme=glass] .chip .sw{width:8px;height:8px}html[data-theme=glass] .chip .n.is-active{color:var(--ok);font-weight:700}html[data-theme=glass] .seg .mode-btn.on .glyph{color:var(--text)}html[data-theme=glass] details.card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:32px;font-size:17px;font-weight:600}html[data-theme=glass] details.card>summary::-webkit-details-marker{display:none}html[data-theme=glass] details.card>summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(45deg);margin:0 6px 4px;transition:transform .2s var(--ease)}html[data-theme=glass] details.card[open]>summary{margin-bottom:8px}html[data-theme=glass] details.card[open]>summary:after{transform:rotate(-135deg);margin-bottom:-4px}.edit-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;color:var(--dim);font-size:14px}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px 4px}.swatch-btn{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;min-height:64px;font-size:12px;color:var(--dim)}.swatch-btn .sw{width:36px;height:36px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff1f}.swatch-btn.on{color:var(--text);font-weight:650}.swatch-btn.on .sw{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text)}.swatch-btn:disabled{opacity:.45}.name-list{display:flex;flex-wrap:wrap;gap:8px}.name-btn{min-height:44px;padding:0 16px;border-radius:22px;border:0;background:var(--surface-2);color:var(--dim);font-weight:600;font-size:14px}.name-btn.on{background:var(--text);color:#0b0c11}.name-btn:disabled{opacity:.45}html[data-theme=glass] .lg,html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in>button,html[data-theme=glass] .session-bar-in{--rim: rgba(255, 255, 255, .55);background:linear-gradient(145deg,#ffffff29,#ffffff08 38%,#ffffff05 62%,#ffffff17),var(--lg-tint, rgba(255, 255, 255, .03));-webkit-backdrop-filter:blur(14px) saturate(1.9) brightness(1.08);backdrop-filter:blur(14px) saturate(1.9) brightness(1.08);border:0;box-shadow:inset 1.5px 1.5px 0 -.5px var(--rim),inset -1px -1px #ffffff1a,inset 0 0 18px #ffffff0d,0 10px 30px #00000061}html[data-theme=glass] .home.gl .dock-in{background:none;box-shadow:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}@media (prefers-reduced-transparency: reduce){html[data-theme=glass] .lg,html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in>button,html[data-theme=glass] .session-bar-in{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--lg-solid, var(--glass-solid))}html[data-theme=glass] body:before{opacity:.35}}html[data-theme=glass] body:before{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:radial-gradient(38% 30% at 50% 34%,color-mix(in srgb,var(--field, #9b6bff) 52%,transparent),transparent 70%),radial-gradient(34% 28% at 12% 78%,rgba(58,76,255,.3),transparent 70%),radial-gradient(30% 24% at 88% 82%,color-mix(in srgb,var(--field2, #ff7a3d) 22%,transparent),transparent 70%);filter:blur(30px);transition:background .8s var(--ease);animation:field-drift 24s ease-in-out infinite alternate}html[data-theme=glass] body{isolation:isolate}@keyframes field-drift{to{transform:translate3d(2%,-2%,0) scale(1.04)}}.home.gl{position:relative}.gl-hero{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:8px 0 16px}.gl-mode{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:0;background:none;color:var(--dim);font-size:15px;font-weight:500;white-space:nowrap;max-width:100%}.gl-mode .chev{color:var(--faint)}.gl-orb{--d: clamp(168px, min(74vw, calc(100dvh - 476px) ), 300px);position:relative;width:var(--d);height:var(--d);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;--lg-tint: color-mix(in srgb, var(--profile) 14%, transparent)}.gl-orb.heating{--lg-tint: color-mix(in srgb, var(--heat) 16%, transparent)}.gl-orb.holding{--lg-tint: color-mix(in srgb, var(--ok) 14%, transparent)}.gl-ring{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);transform:rotate(-90deg);overflow:visible}.ring-fill{fill:none;stroke:var(--heat);stroke-width:1.6;stroke-linecap:round;transition:stroke-dasharray .9s var(--ease);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--heat) 60%,transparent))}.gl-orb.holding .ring-fill{stroke:var(--ok);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--ok) 60%,transparent))}.gl-label{font-size:15px;font-weight:600;color:var(--dim)}.gl-label.heating{color:var(--heat)}.gl-label.holding{color:var(--ok)}.gl-big{font-weight:200;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:calc(var(--d) * .36);padding-left:.12em;transition:color .4s var(--ease)}.gl-big .u{font-weight:200;letter-spacing:0}.gl-big.heating{color:#ffd9c7}.gl-big.holding{color:#cdf7dd}.home.gl.stale .gl-big{color:var(--faint)}.gl-status{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:16px;width:100%;max-width:320px}.gl-step{width:48px;height:48px;border-radius:50%;color:var(--text);font-size:24px;line-height:1}.gl-step:disabled{opacity:.35}.gl-now{text-align:center;font-size:16px;color:var(--dim);font-variant-numeric:tabular-nums;min-height:24px}.gl-now.holding{color:var(--ok);font-size:20px;font-weight:600}.gl-now.holding b{font-weight:600}.gl-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:5px;border-radius:30px}.gl-seg{min-height:50px;border:0;border-radius:25px;background:transparent;color:var(--dim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;transition:color .25s var(--ease)}.gl-seg .dot{width:6px;height:6px;border-radius:50%;background:var(--c)}html[data-theme=glass] .gl-seg.on{color:var(--text);--rim: rgba(255, 255, 255, .7);--lg-tint: rgba(255, 255, 255, .1);box-shadow:inset 1.5px 1.5px 0 -.5px var(--rim),inset -1px -1px #ffffff1f,0 4px 14px #0000004d}.gl-seg:disabled{cursor:default}.gl-seg:disabled:not(.on){opacity:.45}.home.gl .dock{background:none;padding:8px 16px}.home.gl .dock-in{gap:10px}html[data-theme=glass] .home.gl .hold-btn{min-height:60px;border-radius:30px;--lg-tint: rgba(255, 122, 61, .78);color:#1d0b02;font-size:18px;font-weight:650}html[data-theme=glass] .home.gl .hold-btn:disabled{--lg-tint: rgba(255, 255, 255, .05);color:var(--faint)}html[data-theme=glass] .home.gl .stop-btn{min-height:60px;border-radius:30px;--lg-tint: rgba(255, 90, 90, .8);color:#1e0505;font-weight:700}html[data-theme=glass] .home.gl .ext-btn{min-height:60px;min-width:96px;border-radius:30px;color:var(--text)}.home.gl .dock-note,.home.gl .cmd-line{min-height:20px;margin-top:4px}html[data-theme=glass] .main.has-dock{padding-bottom:calc(var(--tabbar) + 120px + env(safe-area-inset-bottom))}html[data-theme=glass] .tab.on{--rim: rgba(255, 255, 255, .6);background:linear-gradient(145deg,#ffffff2e,#ffffff0d);box-shadow:inset 1.5px 1.5px 0 -.5px var(--rim),inset -1px -1px #ffffff1a}html[data-theme=glass] .session-bar{background:none;padding:8px 12px}html[data-theme=glass] .session-bar-in{border-radius:28px;padding:8px 8px 8px 20px}html[data-theme=glass] .sb-stop{border-radius:20px;background:var(--bad)}@media (max-height: 700px){.gl-hero{gap:6px;padding:0 0 8px}.home.gl .cmd-line{min-height:16px;margin-top:2px}}@media (min-width: 900px){.home.gl .dock{position:static;padding:0;margin-top:16px}}@media (prefers-reduced-motion: reduce){html[data-theme=glass] *{transition:none!important;animation:none!important}}html[data-theme=glass] .session-bar.heating .session-bar-in{--lg-tint: color-mix(in srgb, var(--heat) 22%, transparent)}html[data-theme=glass] .session-bar.holding .session-bar-in{--lg-tint: color-mix(in srgb, var(--ok) 18%, transparent)}html[data-theme=glass]{--bg: oklch(.13 .01 280);--text: oklch(.98 0 0);--dim: oklch(.78 .01 280);--faint: oklch(.68 .01 280);--heat: oklch(.78 .16 60);--ok: oklch(.8 .18 150);--bad: oklch(.65 .22 25);--glass-solid: oklch(.26 .01 280)}html[data-theme=glass] body{font-family:-apple-system,SF Pro Display,SF Pro Text,system-ui,sans-serif;-webkit-font-smoothing:antialiased}html[data-theme=glass] .demo-banner{background:#622cb5;color:var(--text);font-size:11px;font-weight:600;letter-spacing:.02em}html[data-theme=glass] .lg,html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in>button,html[data-theme=glass] .session-bar-in,html[data-theme=glass] .topbar .pill,html[data-theme=glass] .topbar .battery{background:linear-gradient(160deg,#ffffff29,#ffffff0f);-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);border:1px solid oklch(1 0 0 / 14%);box-shadow:inset 1.5px 1.5px #ffffff73,inset -1px -1px #ffffff14,inset 0 -10px 18px -10px #ffffff38,0 8px 24px -8px #0000008c}html[data-theme=glass] .home.gl .dock-in{border:0}html[data-theme=glass] .gl-seg.on,html[data-theme=glass] .tab.on{background:linear-gradient(160deg,#ffffff47,#ffffff1f);border:1px solid oklch(1 0 0 / 14%);box-shadow:inset 1.5px 1.5px #ffffff73,inset -1px -1px #ffffff14,0 6px 16px -8px #0000008c}@media (prefers-reduced-transparency: reduce){html[data-theme=glass] .lg,html[data-theme=glass] .tabbar-in,html[data-theme=glass] .home.gl .dock-in>button,html[data-theme=glass] .session-bar-in,html[data-theme=glass] .topbar .pill,html[data-theme=glass] .topbar .battery{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--glass-solid)}}html[data-theme=glass] body:before{inset:0;filter:none;animation:none;background:none}html[data-theme=glass] body:after{content:"";position:fixed;z-index:-1;pointer-events:none;left:50%;top:0;bottom:0;width:min(100vw,560px);transform:translate(-50%);overflow:hidden;background:radial-gradient(210px 210px at 20% 34%,color-mix(in srgb,var(--field, #9b6bff) 62%,transparent),transparent 100%),radial-gradient(190px 190px at 92% 82%,rgba(42,79,214,.45),transparent 100%);filter:blur(60px);animation:lv-drift 20s ease-in-out infinite;transition:background 1s;will-change:transform}@keyframes lv-drift{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-48%) translateY(2%) scale(1.08)}}@media (prefers-reduced-motion: reduce){html[data-theme=glass] body:after{animation:none}}html[data-theme=glass] .topbar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=glass] .topbar-in{padding:12px 20px 4px}html[data-theme=glass] .devname{font-size:20px;font-weight:600}html[data-theme=glass] .topbar .battery,html[data-theme=glass] .topbar .pill{border-radius:999px;padding:5px 12px;font-size:12px;color:var(--text)}html[data-theme=glass] .topbar .pill.ok .dot{background:var(--ok)}html[data-theme=glass] .main{padding-left:20px;padding-right:20px}.home.gl .gl-hero{justify-content:flex-start;gap:0;padding-top:0}.home.gl .gl-mode{align-self:flex-start;padding:0;font-size:15px;color:var(--dim);margin-bottom:auto}.home.gl .gl-orb{--d: clamp(176px, min(66vw, calc(100dvh - 470px) ), 256px);--lg-tint: none;background:none;box-shadow:none;margin-top:auto}.ring-track{fill:none;stroke:#ffffff14;stroke-width:.8}.home.gl .ring-fill{stroke-width:1.2;filter:none}.home.gl .gl-label{font-size:14px;font-weight:500}.home.gl .gl-big{font-size:calc(var(--d) * .375);font-weight:100;letter-spacing:-.02em;padding-left:.1em}.home.gl .gl-big.heating,.home.gl .gl-big.holding{color:var(--text)}.home.gl .gl-status{grid-template-columns:44px minmax(144px,auto) 44px;gap:24px;width:auto;margin:24px 0 auto}.home.gl .gl-step{width:44px;height:44px;font-size:20px}.home.gl .gl-now{font-size:15px}.home.gl .gl-now.holding{font-size:15px;font-weight:400;color:var(--ok)}.home.gl .gl-rail{padding:4px;border-radius:999px;margin-top:16px}.home.gl .gl-seg{flex-direction:row;gap:6px;min-height:44px;border-radius:999px;font-size:13px;font-weight:400;border:1px solid transparent}.home.gl .gl-seg .dot{width:8px;height:8px}.home.gl .gl-seg.on{color:var(--text)}.home.gl .gl-rail:has(.gl-seg:disabled){opacity:.5}.home.gl .gl-seg:disabled:not(.on){opacity:1}html[data-theme=glass] .home.gl .hold-btn{min-height:56px;border-radius:999px;color:var(--text);font-size:18px;font-weight:600;background:linear-gradient(160deg,oklch(.78 .16 60 / 45%),oklch(.6 .16 50 / 25%))}html[data-theme=glass] .home.gl .hold-btn .fill{background:color-mix(in srgb,var(--heat) 50%,transparent)}html[data-theme=glass] .home.gl .hold-btn:disabled{background:linear-gradient(160deg,#ffffff1a,#ffffff0a);color:var(--faint)}html[data-theme=glass] .home.gl .stop-btn,html[data-theme=glass] .sb-stop{min-height:56px;border-radius:999px;color:var(--text);font-size:18px;font-weight:600;background:linear-gradient(160deg,#f9414499,#bb061e59);border:1px solid oklch(1 0 0 / 14%);box-shadow:inset 1.5px 1.5px #ffffff73,inset -1px -1px #ffffff14,0 8px 24px -8px #0000008c}html[data-theme=glass] .home.gl .ext-btn{min-height:56px;border-radius:999px;padding:0 20px;min-width:0;font-size:14px;font-weight:500;color:var(--text)}html[data-theme=glass] .home.gl .dock-note .cmd.confirmed{color:var(--ok);font-size:12px}html[data-theme=glass] .tabbar-in{border-radius:999px;padding:6px;height:60px}html[data-theme=glass] .tab{border-radius:999px;margin:0;font-size:11px;font-weight:500;color:var(--dim);min-height:48px;border:1px solid transparent}html[data-theme=glass] .tab svg{display:none}html[data-theme=glass] .tab.on{color:var(--text)}html[data-theme=glass] .session-bar-in{border-radius:999px;padding:8px 8px 8px 20px;gap:12px}html[data-theme=glass] .sb-dot{display:none}html[data-theme=glass] .sb-text{flex-direction:row;align-items:center;gap:12px}html[data-theme=glass] .sb-text b{font-size:24px;font-weight:200}html[data-theme=glass] .sb-text span{font-size:14px;color:var(--heat)}html[data-theme=glass] .session-bar.holding .sb-text span{color:var(--ok)}html[data-theme=glass] .sb-stop{min-height:44px;min-width:0;padding:0 20px;font-size:14px}html[data-theme=glass] .card{background:#f8f8f80d;border-radius:16px}html[data-theme=glass] .home.gl .dock-in>.hold-btn{background:linear-gradient(160deg,oklch(.78 .16 60 / 45%),oklch(.6 .16 50 / 25%));color:var(--text)}html[data-theme=glass] .home.gl .dock-in>.hold-btn:disabled{background:linear-gradient(160deg,#ffffff1a,#ffffff0a);color:var(--faint)}html[data-theme=glass] .home.gl .dock-in>.stop-btn{background:linear-gradient(160deg,#f9414499,#bb061e59);color:var(--text)}@media (max-width: 359px){html[data-theme=glass] .topbar .pill{font-size:0;gap:0;padding:8px}html[data-theme=glass] .devname{font-size:18px}}.home.gl .gl-orb.tappable{cursor:pointer;border-radius:50%}.gl-graph{position:absolute;inset:0;border-radius:50%;overflow:hidden;pointer-events:none}.home.gl .gl-graph .trace{position:absolute;left:0;right:0;bottom:8%;height:42%}.home.gl .gl-graph .trace-line{stroke-width:2;opacity:.7}.home.gl .gl-big .none{color:var(--faint);letter-spacing:.08em}.home.gl:has(.banner) .gl-orb{--d: clamp(120px, min(44vw, calc(100dvh - 680px) ), 190px)}.home.gl:has(.banner) .gl-status{margin-top:12px}@media (min-width: 900px){html[data-theme=glass] .main,html[data-theme=glass] .topbar-in{max-width:560px}}.home.gl.stale .gl-step{display:none}.home.gl.stale .gl-status{grid-template-columns:minmax(0,1fr)}.home.gl.stale .gl-now{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home.gl.loading .gl-big,.home.gl.loading .gl-mode,.home.gl.loading .gl-seg .t{opacity:.45;transition:opacity .3s}.home.gl .gl-mode{align-self:center;gap:8px;padding:0 16px;border-radius:999px;font-size:15px;color:var(--dim)}.home.gl .gl-mode b{color:var(--text);font-weight:600}.home.gl .gl-mode .glyph{color:var(--profile)}.home.gl .gl-mode{font-size:18px;min-height:48px;padding:0 20px;gap:10px}.home.gl .gl-mode .sep{opacity:.5}
