.gh-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:grid;place-items:center;--ts: 1;pointer-events:auto}.gh-boot[data-phase=enter]{pointer-events:none}.gh-boot-void{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;pointer-events:none;opacity:0;background:radial-gradient(120% 110% at 50% 46%,color-mix(in oklch,var(--sky-top, #1b2330),#0a0d14 62%),#070a10 78%);transition:opacity calc(.45s * var(--ts)) ease}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .gh-boot-void{opacity:1}.gh-boot[data-phase=enter] .gh-boot-void{opacity:0;transition:opacity calc(.55s * var(--ts)) ease calc(.34s * var(--ts))}.gh-boot-void:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 calc(11.11% - 1px),rgba(255,255,255,.025) calc(11.11% - 1px) 11.11%),repeating-linear-gradient(0deg,transparent 0 calc(16.66% - 1px),rgba(255,255,255,.025) calc(16.66% - 1px) 16.66%);opacity:0;transition:opacity calc(.8s * var(--ts)) ease}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .gh-boot-void:before{opacity:1}.boot-stage{position:relative;z-index:21;display:flex;flex-direction:column;align-items:center;gap:30px;transform:scale(.98);transition:transform calc(.5s * var(--ts)) cubic-bezier(.4,0,.2,1)}.gh-boot[data-phase=enter] .boot-stage{transform:scale(1.35);opacity:0;transition:transform calc(.55s * var(--ts)) cubic-bezier(.4,0,.2,1),opacity calc(.4s * var(--ts)) ease calc(.2s * var(--ts))}.boot-word{display:flex;gap:.12em;font-family:var(--font-mono);font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:#ffffffc7;padding-left:.42em}.boot-word span{opacity:0;transform:translateY(8px);transition:opacity calc(.4s * var(--ts)) ease,transform calc(.4s * var(--ts)) cubic-bezier(.18,.7,.18,1)}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-word span{opacity:1;transform:none;transition-delay:calc(1.45s * var(--ts) + var(--w, 0) * 45ms * var(--ts))}.boot-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff57;margin-top:-16px;opacity:0;transition:opacity calc(.5s * var(--ts)) ease}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-tag{opacity:1;transition-delay:calc(1.75s * var(--ts))}.gh-boot-bloom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(255,251,242,1) 0%,color-mix(in oklch,var(--sun-tint, #ffd28a),transparent 18%) 32%,transparent 70%);opacity:0;transform:scale(.3);transform-origin:50% 46%}.gh-boot[data-phase=enter] .gh-boot-bloom{animation:gh-boot-flash calc(1s * var(--ts)) ease-out 1 forwards}@keyframes gh-boot-flash{0%{opacity:0;transform:scale(.4)}34%{opacity:1;transform:scale(1.7)}to{opacity:0;transform:scale(3.4)}}body.gh-boot-enter .shell{animation:gh-dash-rise calc(.95s * var(--gh-ts, 1)) cubic-bezier(.2,.6,.2,1) calc(.26s * var(--gh-ts, 1)) both}@keyframes gh-dash-rise{0%{opacity:.55;transform:scale(1.025)}to{opacity:1;transform:none}}.boot-block{position:relative;width:168px;height:168px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:7px}.boot-tile{border-radius:9px;background:linear-gradient(150deg,color-mix(in oklch,var(--accent-2, #ffd28a),transparent 30%),color-mix(in oklch,var(--accent, #6aa0ff),transparent 25%));box-shadow:0 1px #fff6 inset,0 8px 22px #00000059;opacity:0;transform:translate(var(--tx, 0),var(--ty, 0)) rotate(var(--tr, 0deg)) scale(.3);transition:transform calc(.62s * var(--ts)) cubic-bezier(.34,1.56,.64,1),opacity calc(.42s * var(--ts)) ease}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-tile{opacity:1;transform:translate(0) rotate(0) scale(1);transition-delay:calc(var(--d, 0) * .06s * var(--ts))}.boot-block .glint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;overflow:hidden;pointer-events:none}.boot-block .glint:after{content:"";position:absolute;top:-40%;left:-60%;width:50%;height:180%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.85),transparent);transform:translate(-150%) rotate(10deg)}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-block .glint:after{animation:gh-boot-sheen calc(.7s * var(--ts)) cubic-bezier(.3,0,.2,1) calc(.95s * var(--ts)) 1 both}@keyframes gh-boot-sheen{to{transform:translate(380%) rotate(10deg)}}.boot-block .glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;opacity:0;transform:scale(.4);filter:drop-shadow(0 4px 14px rgba(0,0,0,.4));transition:opacity calc(.4s * var(--ts)) ease,transform calc(.5s * var(--ts)) cubic-bezier(.34,1.56,.64,1)}.boot-block .glyph svg{width:92px;height:92px}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-block .glyph{opacity:1;transform:scale(1);transition-delay:calc(1.05s * var(--ts))}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-block{animation:gh-boot-settle calc(.5s * var(--ts)) cubic-bezier(.34,1.56,.64,1) calc(.86s * var(--ts)) 1 both}@keyframes gh-boot-settle{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.boot-trace{position:relative;width:200px;height:180px;display:grid;place-items:center}.boot-trace svg{width:200px;height:180px;overflow:visible}.boot-trace .draw{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px color-mix(in oklch,var(--sun-tint, #ffd28a),transparent 30%));stroke-dasharray:100;stroke-dashoffset:100}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-trace .draw{animation:gh-boot-draw calc(1.25s * var(--ts)) cubic-bezier(.6,0,.25,1) calc(.15s * var(--ts)) 1 forwards}@keyframes gh-boot-draw{to{stroke-dashoffset:0}}.boot-trace .fillglyph{fill:color-mix(in oklch,var(--accent-2, #ffd28a),transparent 35%);opacity:0;transition:opacity calc(.5s * var(--ts)) ease}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-trace .fillglyph{opacity:1;transition-delay:calc(1.35s * var(--ts))}.boot-trace .ring{position:absolute;inset:50% auto auto 50%;width:10px;height:10px;border-radius:50%;border:2px solid color-mix(in oklch,var(--sun-tint, #ffd28a),transparent 10%);transform:translate(-50%,-50%) scale(.4);opacity:0}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-trace .ring{animation:gh-boot-ring calc(.9s * var(--ts)) ease-out calc(1.4s * var(--ts)) 1 both}@keyframes gh-boot-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(22)}}.boot-pixel{position:relative;display:grid;gap:6px;padding:18px;border-radius:14px;background:#0c0f15;box-shadow:0 1px #ffffff0f inset,0 18px 50px #00000080;border:1px solid rgba(255,255,255,.06);overflow:hidden}.boot-pixel .px{width:11px;height:11px;border-radius:50%;background:#ffffff0f;opacity:.5}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-pixel .px{animation:gh-boot-flick calc(.5s * var(--ts)) steps(2,end) calc(var(--i, 0) * 12ms * var(--ts)) 2 both}@keyframes gh-boot-flick{0%{opacity:.06}50%{opacity:.7}to{opacity:.18}}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-pixel .px[data-on="1"]{background:#ffb74d;box-shadow:0 0 7px #ffb74de6;opacity:1;transition:background calc(.3s * var(--ts)) ease,opacity calc(.3s * var(--ts)) ease,box-shadow calc(.3s * var(--ts)) ease;transition-delay:calc(.6s * var(--ts) + var(--i, 0) * 4ms * var(--ts))}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-pixel .px[data-on="0"]{opacity:.1;transition:opacity calc(.4s * var(--ts)) ease;transition-delay:calc(.6s * var(--ts))}.boot-pixel .scan{position:absolute;left:0;right:0;top:0;height:30%;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);opacity:0}.gh-boot:is([data-phase=reveal],[data-phase=enter]) .boot-pixel .scan{animation:gh-boot-scan calc(.9s * var(--ts)) ease-in-out calc(.7s * var(--ts)) 1 both}@keyframes gh-boot-scan{0%{opacity:.7;transform:translateY(-100%)}to{opacity:0;transform:translateY(360%)}}@media (max-width: 720px){.boot-block{width:138px;height:138px}.boot-block .glyph svg{width:76px;height:76px}.boot-trace,.boot-trace svg{width:168px;height:150px}.boot-pixel .px{width:9px;height:9px}.boot-word{font-size:10px;letter-spacing:.34em}}@media (prefers-reduced-motion: reduce){.boot-tile,.boot-block .glyph,.boot-word span,.gh-boot-bloom,body.gh-boot-enter .shell{transition-duration:.01ms!important;animation-duration:.01ms!important}.boot-block,.boot-trace .draw,.boot-pixel .px,.boot-pixel .scan,.boot-block .glint:after{animation:none!important}.boot-trace .draw{stroke-dashoffset:0!important}}*{box-sizing:border-box}html,body{margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-body, "Geist", system-ui, sans-serif);color:var(--ink);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";overflow-x:hidden;background:var(--sky-bot, #efe7d8)}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-bot) 100%);transition:background 1.5s ease;isolation:isolate;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.sky:before{content:"";position:absolute;left:var(--sun-x, 50%);top:var(--sun-y, 22%);width:720px;height:720px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--sun-tint, #ffd28a),transparent 18%) 0%,color-mix(in oklch,var(--sun-tint, #ffd28a),transparent 60%) 22%,transparent 60%);opacity:var(--sun-bloom, .85);filter:blur(20px);transition:left 1.5s ease,top 1.5s ease,opacity 1.5s ease;mix-blend-mode:screen}.sky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:var(--stars, 0);background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.9),transparent 60%),radial-gradient(1px 1px at 28% 9%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 42% 22%,rgba(255,255,255,.85),transparent 60%),radial-gradient(1px 1px at 57% 12%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1px 1px at 70% 26%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 83% 16%,rgba(255,255,255,.9),transparent 60%),radial-gradient(1px 1px at 92% 8%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1px 1px at 6% 32%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1px 1px at 35% 38%,rgba(255,255,255,.65),transparent 60%),radial-gradient(1px 1px at 64% 35%,rgba(255,255,255,.7),transparent 60%);transition:opacity 1.8s ease}.mullions{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:var(--mullion-opacity, 1);transition:opacity .6s ease;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mullions .vert{position:absolute;top:0;bottom:0;width:1px;background:var(--mullion);box-shadow:1px 0 0 var(--mullion-2)}.mullions .horiz{position:absolute;left:0;right:0;height:1px;background:var(--mullion);box-shadow:0 1px 0 var(--mullion-2)}.lean-atrium .mullions .vert{width:2px;background:linear-gradient(90deg,transparent,var(--mullion) 50%,transparent);box-shadow:2px 0 0 var(--mullion-2),-2px 0 0 var(--mullion-2)}.shell{position:relative;z-index:2;min-height:100vh;padding:26px 32px 60px;max-width:1480px;margin:0 auto}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:18px;min-width:0}.brand-mark{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);display:grid;place-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);color:var(--accent)}.brand-mark svg{width:22px;height:22px}.brand-text{line-height:1.1}.brand-text .nm{font-family:var(--font-display);font-style:normal;font-size:24px;letter-spacing:-.01em;color:var(--ink)}.brand-text .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;display:inline-flex;align-items:center;gap:6px}.brand-text .sub .dot{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 currentColor;animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in oklch,var(--good),transparent 40%)}70%{box-shadow:0 0 0 8px color-mix(in oklch,var(--good),transparent 100%)}to{box-shadow:0 0 color-mix(in oklch,var(--good),transparent 100%)}}.tabs{display:inline-flex;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:999px;padding:4px;position:relative;box-shadow:var(--shadow);justify-self:center}.tabs button{background:transparent;border:0;color:var(--ink-2);font-family:inherit;font-size:12px;letter-spacing:.02em;padding:9px 18px;border-radius:999px;cursor:pointer;position:relative;z-index:1;transition:color .35s ease}.tabs button.on{color:var(--bg-on, #fff)}.tabs .indicator{position:absolute;top:4px;bottom:4px;background:var(--ink);border-radius:999px;transition:left .45s cubic-bezier(.34,1.56,.64,1),width .45s cubic-bezier(.34,1.56,.64,1);z-index:0}.topbar-right{display:flex;align-items:center;gap:10px}.chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:7px 12px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-stroke);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:inline-flex;align-items:center;gap:6px}.chip .marker{width:6px;height:6px;border-radius:50%;background:var(--accent-2)}.card{background:var(--glass-bg);border:1px solid var(--glass-stroke);border-radius:22px;padding:22px 24px;box-shadow:0 1px 0 var(--glass-stroke-2) inset,var(--shadow);position:relative;min-width:0;height:100%;box-sizing:border-box;opacity:1;transition:transform .35s ease,box-shadow .35s ease}.card:hover{transform:translateY(-2px)}.card .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.card .title{font-family:var(--font-display);font-style:var(--display-italic);font-weight:500;font-size:20px;letter-spacing:-.01em;line-height:1.1;margin-top:4px;color:var(--ink)}.card .meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.card-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:4px;padding:2px 6px;opacity:.8}.entity-loading{display:flex;align-items:center;justify-content:center;min-height:60px;position:relative;overflow:hidden;border-radius:12px;background:color-mix(in oklch,var(--ink),transparent 94%)}.entity-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in oklch,var(--ink),transparent 82%) 50%,transparent 100%);animation:entity-shimmer 1.6s ease-in-out infinite}@keyframes entity-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.entity-warning{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:60px;opacity:.55}.entity-warning-icon{font-size:22px;line-height:1}.entity-warning-badge{position:absolute;top:5px;right:5px;z-index:3;width:18px;height:18px;display:grid;place-items:center;color:var(--bad);border-radius:50%;background:color-mix(in oklch,var(--bad),transparent 90%);border:1px solid color-mix(in oklch,var(--bad),transparent 65%);cursor:help}.entity-warning-badge svg{display:block}.entity-warning-text{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.readout{display:flex;align-items:baseline;gap:4px;font-feature-settings:"tnum";font-family:var(--font-display);font-style:var(--display-italic);font-weight:300;letter-spacing:-.03em;line-height:.9;color:var(--ink)}.readout .u{font-family:var(--font-body);font-weight:400;font-style:normal;font-size:.32em;letter-spacing:0;color:var(--ink-3);margin-left:2px}.btn{background:var(--glass-bg-2);border:1px solid var(--glass-stroke);color:var(--ink-2);font-family:inherit;font-size:12px;padding:8px 14px;border-radius:999px;cursor:pointer;transition:transform .2s ease,background .2s ease;display:inline-flex;align-items:center;gap:6px;letter-spacing:.01em}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--ink);color:var(--sky-top, #fff);border-color:var(--ink)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.icon{width:36px;height:36px;padding:0;justify-content:center}.toggle{width:42px;height:24px;border-radius:999px;background:color-mix(in oklch,var(--ink),transparent 85%);position:relative;border:0;cursor:pointer;flex-shrink:0;transition:background .3s ease}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000002e;transition:left .3s cubic-bezier(.34,1.56,.64,1)}.toggle.on{background:var(--good)}.toggle.on:after{left:20px}.hr{border:0;border-top:1px solid var(--rule);margin:14px 0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}body.viewport-phone{font-size:13px}body.viewport-phone .shell{padding:14px 14px 90px;padding-top:calc(14px + env(safe-area-inset-top,0px));max-width:none}body.viewport-phone .topbar{grid-template-columns:1fr auto;margin-bottom:14px;gap:10px;padding-right:42px}body.viewport-phone .tabs,body.viewport-phone .mullions{display:none}body.viewport-phone .brand-mark{width:40px;height:40px}body.viewport-phone .brand-text .nm{font-size:22px}body.viewport-phone .brand-text .sub{font-size:9px;letter-spacing:.08em}body.viewport-phone .chip{padding:6px 10px;font-size:9px;letter-spacing:.08em}body.viewport-phone .topbar-right .chip:not(:last-child){display:none}body.viewport-phone .card{padding:18px;border-radius:20px}body.viewport-phone .card .title{font-size:19px}body.viewport-phone .grid{grid-template-columns:repeat(2,1fr);gap:12px}body.viewport-phone .col-3,body.viewport-phone .col-4,body.viewport-phone .col-5,body.viewport-phone .col-6,body.viewport-phone .col-7,body.viewport-phone .col-8,body.viewport-phone .col-12{grid-column:span 2}body.viewport-phone .col-half{grid-column:span 1}.bottom-nav{display:none}body.viewport-phone .bottom-nav{display:flex;position:fixed;left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:10;background:var(--glass-bg-2);backdrop-filter:blur(22px) saturate(120%);-webkit-backdrop-filter:blur(22px) saturate(120%);border:1px solid var(--glass-stroke);border-radius:26px;padding:5px;box-shadow:var(--shadow);align-items:center;gap:2px;overflow:hidden}body.viewport-phone .bottom-nav button{flex:1 1 auto;min-width:0;background:transparent;border:0;color:var(--ink-3);padding:9px 6px;border-radius:16px;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:11px;letter-spacing:.02em;font-weight:500;transition:color .3s ease,background .3s ease,flex .4s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;overflow:hidden}body.viewport-phone .bottom-nav button .ic{font-family:var(--font-mono);font-size:16px;line-height:1;flex-shrink:0}body.viewport-phone .bottom-nav button .lbl{display:none;max-width:0;overflow:hidden;transition:max-width .4s cubic-bezier(.34,1.56,.64,1)}body.viewport-phone .bottom-nav button.on{flex:0 0 auto;background:var(--ink);color:var(--sky-top, #fff);padding:9px 14px}body.viewport-phone .bottom-nav button.on .lbl{display:inline;max-width:100px}body.viewport-phone .shell{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}body.viewport-phone .weather-body{grid-template-columns:1fr!important;gap:16px!important}body.viewport-phone .weather-now .readout.temp,body.viewport-phone .weather-hero .temp{font-size:84px!important}body.viewport-phone .weather-now>div:first-child{gap:14px!important}body.viewport-phone .weather-hero .sun-arc{display:none}body.viewport-phone .weather-attrs{grid-template-columns:repeat(3,1fr)}body.viewport-phone .forecast{grid-template-columns:repeat(5,1fr);gap:6px}body.viewport-phone .forecast .day .t{font-size:18px}body.viewport-phone .printer-body{grid-template-columns:1fr!important;gap:14px!important}body.viewport-phone .printer-tile{width:100%!important;height:160px!important}body.viewport-phone .printer-stats{grid-template-columns:repeat(2,1fr)!important;gap:10px}body.viewport-phone .printer-stats .v{font-size:16px}body.viewport-phone .vacuum-stats{grid-template-columns:repeat(3,1fr);gap:8px}body.viewport-phone .vacuum-stats .v{font-size:15px}body.viewport-phone .purifier-body{grid-template-columns:1fr!important;gap:16px!important}body.viewport-phone .purifier-ring{width:170px!important;height:170px!important;margin:0 auto}body.viewport-phone .purifier-num .big{font-size:44px}body.viewport-phone .purifier-info .h{font-size:22px}body.viewport-phone .heater-body{grid-template-columns:1fr!important;gap:16px!important}body.viewport-phone .heater-dial{width:160px!important;height:160px!important;margin:0 auto}body.viewport-phone .heater-num{font-size:72px;text-align:center}body.viewport-phone .adg-body{grid-template-columns:1fr!important;gap:16px!important}body.viewport-phone .nowplaying-grid{grid-template-columns:1fr!important;gap:18px!important;text-align:center}body.viewport-phone .nowplaying-grid .media-art{width:200px!important;height:200px!important;margin:0 auto}body.viewport-phone .nowplaying-title{font-size:26px!important;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}body.viewport-phone .nowplaying-controls{flex-wrap:wrap;justify-content:center;gap:8px!important}body.viewport-phone .card .title{font-size:18px}body.viewport-phone .weekcal{grid-template-columns:32px repeat(7,1fr)!important;--col-h: 20px}body.viewport-phone .weekcal-head .dow{padding:6px 2px;font-size:9px;letter-spacing:.04em}body.viewport-phone .weekcal-head .dow .num{font-size:16px}body.viewport-phone .weekcal-times .h{font-size:8px;padding-right:3px}body.viewport-phone .weekcal-event{padding:3px 5px;font-size:9px;left:2px;right:2px;border-radius:7px}body.viewport-phone .weekcal-event .w{display:none}body.viewport-phone .pi-row{grid-template-columns:60px 1fr 56px;gap:8px}body.viewport-phone .pi-row .k{font-size:10px;letter-spacing:.06em}body.viewport-phone .pi-row .v{font-size:11px}body.viewport-phone .health-row{grid-template-columns:32px 1fr}body.viewport-phone .health-row .pill{display:none}.weather-hero{overflow:hidden;min-height:280px;background:radial-gradient(80% 100% at 90% -10%,color-mix(in oklch,var(--accent-2),transparent 70%) 0%,transparent 60%),var(--glass-bg)}.weather-body{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:stretch}.weather-now{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.weather-now .temp{font-size:132px}.weather-now .cond{font-family:var(--font-display);font-style:var(--display-italic);font-size:26px;letter-spacing:-.01em;color:var(--ink-2);line-height:1.1}.weather-now .cond .small{display:block;font-family:var(--font-mono);font-style:normal;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}.weather-attrs{display:grid;grid-template-columns:repeat(3,auto);gap:14px;margin-top:4px}.weather-attrs .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.weather-attrs .v{font-size:18px;letter-spacing:-.01em;margin-top:2px;font-feature-settings:"tnum";color:var(--ink)}.sun-arc{position:relative;width:100%;align-self:center;padding:10px 6px 20px}.sun-arc svg{width:100%;height:auto;display:block}.sun-arc .arc-bg{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 4;fill:none}.sun-arc .arc-fg{stroke:var(--accent-2);stroke-width:2.5;fill:none;stroke-linecap:round}.sun-arc .horizon{stroke:var(--rule);stroke-width:1}.sun-arc .sun-dot{fill:var(--accent-2);filter:drop-shadow(0 0 14px color-mix(in oklch,var(--accent-2),transparent 30%))}.sun-arc .moon-dot{fill:color-mix(in oklch,#f4f4ee,transparent 0%);filter:drop-shadow(0 0 10px rgba(255,255,255,.4))}.sun-arc .label{fill:var(--ink-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.sun-arc .label.now{fill:var(--ink);font-weight:600}.sun-arc .tick{stroke:var(--rule);stroke-width:1}.sun-info{margin-top:8px;display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.sun-info b{color:var(--ink);font-weight:600}.forecast{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}.forecast .day{display:flex;flex-direction:column;gap:6px;text-align:left}.forecast .day .d{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.forecast .day .ic{font-family:var(--font-mono);font-size:18px;color:var(--accent-2)}.forecast .day .t{font-family:var(--font-display);font-style:var(--display-italic);font-size:22px;letter-spacing:-.01em;font-feature-settings:"tnum";color:var(--ink)}.forecast .day .lo{font-family:var(--font-mono);font-size:10px;color:var(--ink-3)}.presence-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px}.presence-avatar{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in oklch,var(--accent-2),transparent 35%),var(--accent) 70%);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-style:var(--display-italic);font-size:26px;letter-spacing:-.02em;box-shadow:0 0 0 4px var(--glass-stroke-2),0 8px 24px color-mix(in oklch,var(--accent),transparent 65%)}.presence-info .nm{font-family:var(--font-display);font-style:var(--display-italic);font-size:22px;letter-spacing:-.01em;color:var(--ink)}.presence-info .where{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:4px;display:inline-flex;align-items:center;gap:6px}.presence-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.presence-badge.home{background:color-mix(in oklch,var(--good),transparent 82%);color:var(--good)}.presence-badge.away{background:color-mix(in oklch,var(--ink-3),transparent 82%);color:var(--ink-3)}.scenes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.scene{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s ease;position:relative;overflow:hidden}.scene:hover{transform:translateY(-2px)}.scene:active{transform:scale(.98)}.scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.32,.72,0,1);z-index:0}.scene.firing:after{transform:scaleX(1)}.scene>*{position:relative;z-index:1}.scene.firing{color:var(--sky-top)}.scene.firing .scene-sub{color:color-mix(in oklch,var(--sky-top),transparent 50%)}.scene-ic{width:36px;height:36px;border-radius:12px;background:color-mix(in oklch,var(--accent),transparent 80%);color:var(--accent);display:grid;place-items:center;font-size:16px;font-weight:500;transition:background .3s ease,color .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.scene:hover .scene-ic{transform:rotate(-8deg) scale(1.08)}.scene.morning .scene-ic{background:color-mix(in oklch,var(--accent-2),transparent 78%);color:var(--accent-2)}.scene.movie .scene-ic{background:color-mix(in oklch,var(--bad),transparent 80%);color:var(--bad)}.scene.goodnight .scene-ic{background:color-mix(in oklch,var(--ink-2),transparent 85%);color:var(--ink-2)}.scene.all_off .scene-ic{background:color-mix(in oklch,var(--ink-3),transparent 85%);color:var(--ink-3)}.scene.good_morning .scene-ic{background:color-mix(in oklch,var(--accent-2),transparent 78%);color:var(--accent-2)}.scene.leaving .scene-ic{background:color-mix(in oklch,var(--accent),transparent 80%);color:var(--accent)}.scene.work_done .scene-ic{background:color-mix(in oklch,var(--good),transparent 80%);color:var(--good)}.scene .scene-nm{font-size:14px;font-weight:600;letter-spacing:-.005em}.scene .scene-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.scene.active{background:color-mix(in oklch,var(--good),transparent 86%);border-color:color-mix(in oklch,var(--good),transparent 55%)}.scene.active .scene-sub{color:color-mix(in oklch,var(--good),var(--ink-3) 35%)}.scene-dot{position:absolute;top:10px;right:12px;width:7px;height:7px;border-radius:50%;background:var(--ink-4);transition:background .3s ease,box-shadow .3s ease}.scene-dot.on{background:var(--good);box-shadow:0 0 0 3px color-mix(in oklch,var(--good),transparent 80%)}.media-row{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px}.media-art{width:64px;height:64px;border-radius:14px;background:radial-gradient(circle at 30% 30%,#b5ddc1,#1db954 45%,#0a4d28);position:relative;overflow:hidden;box-shadow:0 6px 18px color-mix(in oklch,#1db954,transparent 60%)}.media-art:before{content:"";position:absolute;top:22%;right:22%;bottom:22%;left:22%;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 2px,rgba(0,0,0,.18) 2px 3px);animation:vinyl 8s linear infinite}.media-art:after{content:"";position:absolute;top:44%;right:44%;bottom:44%;left:44%;border-radius:50%;background:#c92a4a}@keyframes vinyl{to{transform:rotate(360deg)}}.media-info{min-width:0}.media-info .t{font-size:15px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-info .a{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-bar{height:3px;border-radius:2px;background:var(--rule);margin-top:10px;overflow:hidden}.media-bar>span{display:block;height:100%;width:var(--p, 40%);background:linear-gradient(90deg,#1db954,var(--ink))}.media-times{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;letter-spacing:.05em;color:var(--ink-3);margin-top:4px;font-variant-numeric:tabular-nums}.printer-body{display:grid;grid-template-columns:160px 1fr;gap:18px}.printer-tile{width:160px;height:160px;border-radius:18px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f1d9be,#c2865c,#5a3520);box-shadow:0 12px 30px color-mix(in oklch,oklch(.5 .12 40),transparent 60%);border:1px solid rgba(255,255,255,.4)}.printer-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 14px),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 14px)}.printer-tile .live{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:9px;color:#fff;background:#00000080;padding:4px 9px;border-radius:999px;letter-spacing:.12em}.printer-tile .live:before{content:"";width:6px;height:6px;border-radius:50%;background:#f64;animation:blink 1.4s ease-in-out infinite}@keyframes blink{50%{opacity:.3;transform:scale(1.4)}}.printer-tile .file{position:absolute;bottom:10px;left:12px;font-family:var(--font-mono);font-size:9px;color:#fff;letter-spacing:.08em;background:#0006;padding:4px 7px;border-radius:4px}.printer-info{display:flex;flex-direction:column;justify-content:space-between;min-width:0;gap:12px}.printer-stage{font-family:var(--font-mono);font-size:10px;color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase}.progress{height:8px;border-radius:4px;background:color-mix(in oklch,var(--ink),transparent 92%);overflow:hidden;position:relative}.progress>span{display:block;height:100%;width:var(--p, 0%);background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:4px;position:relative;transition:width 1.2s ease}.progress>span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);transform:translate(-100%);animation:shimmer 2.4s linear infinite}@keyframes shimmer{to{transform:translate(100%)}}.progress-foot{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--ink-2)}.progress-foot b{color:var(--ink);font-weight:600}.printer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:12px;border-top:1px solid var(--rule)}.printer-stats .k{font-family:var(--font-mono);font-size:9px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}.printer-stats .v{font-size:18px;font-weight:500;letter-spacing:-.01em;font-feature-settings:"tnum";margin-top:2px}.chamber-btn{background:var(--glass-bg-2);border:1px solid var(--glass-stroke);padding:6px 12px;border-radius:999px;font-family:inherit;font-size:11px;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}.chamber-btn.on{background:var(--accent-2);border-color:var(--accent-2);color:#fff;box-shadow:0 0 18px color-mix(in oklch,var(--accent-2),transparent 60%)}.chamber-btn .sw{width:8px;height:8px;border-radius:50%;background:var(--ink-4);transition:background .3s}.chamber-btn.on .sw{background:#fff}.vacuum-map{aspect-ratio:16/9;border-radius:14px;background:color-mix(in oklch,var(--glass-bg-2),transparent 0%);border:1px solid var(--glass-stroke);position:relative;overflow:hidden;margin:14px 0}.vacuum-map svg{width:100%;height:100%}.vacuum-state{font-family:var(--font-mono);font-size:10px;color:var(--good);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;margin-top:2px}.vacuum-state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--good);animation:pulse 2.4s ease-out infinite}.vacuum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:12px;border-top:1px solid var(--rule)}.vacuum-stats .k{font-family:var(--font-mono);font-size:9px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}.vacuum-stats .v{font-size:18px;font-weight:500;letter-spacing:-.01em;font-feature-settings:"tnum";margin-top:2px}.vacuum-stats .v.good{color:var(--good)}.ws-status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:999px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.ws-status-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--good)}.ws-status-pill.live .dot{background:var(--bad);box-shadow:0 0 color-mix(in oklch,var(--bad),transparent 40%);animation:ws-pulse 1.8s ease-out infinite}@keyframes ws-pulse{0%{box-shadow:0 0 color-mix(in oklch,currentColor,transparent 50%)}70%{box-shadow:0 0 0 8px color-mix(in oklch,currentColor,transparent 100%)}to{box-shadow:0 0 color-mix(in oklch,currentColor,transparent 100%)}}.ws-printer{padding:22px 24px;container-type:inline-size}.ws-printer-grid{display:grid;grid-template-columns:244px 1fr;gap:22px;align-items:stretch}@container (max-width: 640px){.ws-printer-grid{grid-template-columns:1fr}.ws-printer-tile{aspect-ratio:16 / 11;max-height:260px}.ws-therm-grid,.ws-ams-trays{grid-template-columns:repeat(2,1fr)!important}}.ws-printer-tile{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.18),transparent 60%),linear-gradient(180deg,#1d1410,#2a1f17 60%,#120a07);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff14,0 12px 30px #28160c52}.ws-printer-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 18px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 18px);pointer-events:none}.ws-printer-tile .pp-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ws-tile-overlay{position:absolute;left:10px;right:10px;top:10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.ws-tile-live{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:#ffffffd9;background:#00000080;padding:4px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}.ws-tile-live .dot{width:6px;height:6px;border-radius:50%;background:#f64;animation:blink 1.4s ease-in-out infinite}.ws-tile-layer{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:#ffffffc7;background:#0000006b;padding:4px 8px;border-radius:6px}.ws-tile-layer b{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}.ws-tile-toggles{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:6px}.ws-tog{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:10.5px;letter-spacing:.02em;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffc7;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,color .2s,border-color .2s}.ws-tog:hover{background:#ffffff1f;color:#fff}.ws-tog.on{background:#ffffffeb;border-color:#ffffffeb;color:#1a1410}.ws-printer-info{display:flex;flex-direction:column;gap:14px;min-width:0}.ws-file .ws-file-name{font-family:var(--font-mono);font-size:13px;color:var(--ink);letter-spacing:.02em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-file-sub{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;margin-top:3px}.ws-file-sub b{color:var(--ink-2);font-weight:600}.ws-progress-block{display:flex;flex-direction:column;gap:8px}.ws-progress-readout{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ws-progress-readout .big{font-family:var(--font-display);font-style:var(--display-italic);font-weight:300;font-size:56px;letter-spacing:-.03em;line-height:.9;font-feature-settings:"tnum";color:var(--ink)}.ws-progress-readout .big .u{font-family:var(--font-body);font-style:normal;font-size:.34em;color:var(--ink-3);margin-left:2px}.ws-progress-readout .rem{font-family:var(--font-mono);font-size:12px;color:var(--ink);letter-spacing:.04em;font-feature-settings:"tnum"}.ws-progress-readout .rem .muted{color:var(--ink-3)}.ws-progress-track{position:relative;height:6px;border-radius:3px;background:color-mix(in oklch,var(--ink),transparent 92%);overflow:visible}.ws-progress-track>span{display:block;height:100%;width:var(--p, 0%);background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:3px;position:relative;overflow:hidden}.ws-progress-track>span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translate(-100%);animation:shimmer 2.4s linear infinite}.ws-progress-track>em{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid var(--glass-bg);box-shadow:0 2px 6px #0000002e}.ws-therm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:14px;border-top:1px solid var(--rule)}.ws-therm{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:color-mix(in oklch,var(--glass-bg-2),transparent 30%);border:1px solid var(--glass-stroke)}.ws-therm .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ws-therm .v{font-family:var(--font-display);font-style:var(--display-italic);font-weight:400;font-size:24px;letter-spacing:-.02em;line-height:1;margin-top:2px;color:var(--ink);font-feature-settings:"tnum"}.ws-therm .v i{font-family:var(--font-body);font-style:normal;font-size:.55em;color:var(--ink-3);margin-left:1px}.ws-therm .tgt{font-family:var(--font-mono);font-size:9px;color:var(--accent-2);letter-spacing:.06em;margin-top:4px}.ws-ams{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}.ws-ams-head,.ws-hist-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.ws-ams-head .lbl,.ws-hist-head .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ws-ams-head .hint,.ws-hist-head .hint{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--ink-4)}.ws-ams-trays{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ws-ams-tray{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);cursor:pointer;text-align:left;font-family:inherit;transition:transform .2s ease,border-color .2s ease,background .2s ease}.ws-ams-tray:hover{transform:translateY(-1px)}.ws-ams-tray.active{border-color:color-mix(in oklch,var(--accent),transparent 40%);box-shadow:0 0 0 1px color-mix(in oklch,var(--accent),transparent 70%)}.ws-ams-tray .swatch{width:32px;height:32px;border-radius:9px;position:relative;box-shadow:inset 0 0 0 1px #ffffff40,inset 0 -6px 10px #0000002e,0 1px 2px #0000001f}.ws-ams-tray .swatch .active-mark{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:var(--good);border:2px solid var(--glass-bg)}.ws-ams-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.ws-ams-meta .slot{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--ink-3)}.ws-ams-meta .mat{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.ws-vacuum{padding:22px 24px;display:flex;flex-direction:column;gap:16px}.ws-floorplan{border-radius:16px;border:1px solid var(--glass-stroke);background:radial-gradient(110% 80% at 50% 0%,color-mix(in oklch,var(--accent-2),transparent 90%),transparent 60%),color-mix(in oklch,var(--glass-bg-2),transparent 25%);padding:14px;position:relative;overflow:hidden}.ws-floorplan .fp-svg{width:100%;height:auto;display:block;aspect-ratio:320 / 220}.ws-floorplan img{width:100%;height:auto;display:block;border-radius:8px}.fp-svg .rm{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.18em;fill:var(--ink-2);font-weight:600}.fp-svg .rm-sub{font-family:var(--font-mono);font-size:7.5px;letter-spacing:.1em;fill:var(--ink-4)}.fp-svg .dock-lbl{font-family:var(--font-mono);font-size:8px;letter-spacing:.16em;fill:var(--good);font-weight:600}.ws-vac-actions{display:grid;grid-template-columns:auto auto 1fr;gap:24px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--rule)}.ws-vac-stat{display:flex;flex-direction:column;gap:4px}.ws-vac-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.ws-vac-stat .v{font-family:var(--font-display);font-style:var(--display-italic);font-weight:300;font-size:30px;letter-spacing:-.02em;line-height:.9;font-feature-settings:"tnum";color:var(--ink)}.ws-vac-stat .v.small{font-family:var(--font-mono);font-style:normal;font-size:14px;letter-spacing:.08em;color:var(--ink-2)}.ws-vac-stat .v i{font-family:var(--font-body);font-style:normal;font-size:.45em;color:var(--ink-3);margin-left:1px}.ws-vac-actbtns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ws-vac-actbtns .btn{padding:8px 14px;font-size:12px}.ws-vac-actbtns .btn.ghost{background:transparent}.ws-vac-controls{display:flex;flex-direction:column;gap:8px}.ws-control-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ws-control-row>.k{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);min-width:110px;flex-shrink:0}.ws-control-row .seg{display:inline-flex;background:color-mix(in oklch,var(--glass-bg-2),transparent 30%);border:1px solid var(--glass-stroke);border-radius:999px;padding:3px;gap:2px}.ws-control-row .seg button{background:transparent;border:0;color:var(--ink-2);font-family:inherit;font-size:11px;letter-spacing:.02em;padding:6px 12px;border-radius:999px;cursor:pointer;transition:color .2s,background .2s}.ws-control-row .seg button:hover{color:var(--ink)}.ws-control-row .seg button.on{background:var(--ink);color:var(--sky-top, #fff)}.ws-control-row .seg.compact button{padding:6px 14px;font-weight:500}.ws-flag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:5px 10px;border-radius:999px;border:1px solid var(--glass-stroke);background:var(--glass-bg-2)}.ws-flag.ok{color:var(--good)}.ws-flag .dot{width:6px;height:6px;border-radius:50%;background:var(--good)}.ws-flag .mini-tog{position:relative;width:22px;height:12px;border-radius:999px;background:color-mix(in oklch,var(--ink),transparent 80%);cursor:pointer;transition:background .2s}.ws-flag .mini-tog:after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:left .2s cubic-bezier(.34,1.56,.64,1)}.ws-flag .mini-tog.on{background:var(--good)}.ws-flag .mini-tog.on:after{left:11px}.ws-wear{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}.ws-wear-row{display:grid;grid-template-columns:90px 1fr 110px;align-items:center;gap:14px}.ws-wear-row .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.ws-wear-row .bar{height:6px;border-radius:3px;background:color-mix(in oklch,var(--ink),transparent 92%);overflow:hidden;position:relative}.ws-wear-row .bar>span{display:block;height:100%;width:var(--p, 0%);background:var(--c, var(--good));border-radius:3px;transition:width 1.4s ease}.ws-wear-row .val{font-family:var(--font-mono);font-size:12px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;letter-spacing:.04em}.ws-wear-row .val i{font-family:var(--font-mono);font-style:normal;font-size:9px;color:var(--ink-3);margin-left:5px;letter-spacing:.06em}body.viewport-phone .ws-printer-grid{grid-template-columns:1fr;gap:16px}body.viewport-phone .ws-printer-tile{aspect-ratio:16 / 11;max-height:240px}body.viewport-phone .ws-therm-grid,body.viewport-phone .ws-ams-trays{grid-template-columns:repeat(2,1fr)!important}body.viewport-phone .ws-vac-actions{grid-template-columns:1fr 1fr;gap:14px}body.viewport-phone .ws-vac-actbtns{grid-column:1 / -1;justify-content:flex-start}body.viewport-phone .ws-control-row>.k{min-width:100%}body.viewport-phone .ws-wear-row{grid-template-columns:80px 1fr 90px;gap:10px}.purifier-body{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center}.purifier-ring{position:relative;width:200px;height:200px}.purifier-ring svg{width:100%;height:100%}.purifier-ring .bg{stroke:var(--rule);fill:none;stroke-width:8}.purifier-ring .fg{stroke:var(--accent);fill:none;stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.4s ease}.purifier-num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.purifier-num .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.purifier-num .big{font-family:var(--font-display);font-style:var(--display-italic);font-size:54px;letter-spacing:-.03em;line-height:1;margin:4px 0;color:var(--ink)}.purifier-num .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--accent)}.purifier-info .h{font-family:var(--font-display);font-style:var(--display-italic);font-size:30px;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.purifier-info .h b{color:var(--good);font-weight:500}.purifier-info .dek{color:var(--ink-3);font-size:14px;margin-top:6px;max-width:360px}.purifier-info .dek b{color:var(--ink);font-weight:600}.preset-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.preset{background:var(--glass-bg-2);border:1px solid var(--glass-stroke);color:var(--ink-2);padding:6px 12px;font-size:11px;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .3s ease,border-color .3s ease,color .3s ease}.preset.on{background:var(--accent);color:#fff;border-color:var(--accent)}.heater-body{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:center}.heater-controls-col{display:flex;flex-direction:column;min-width:0}.heater-stepper{display:inline-flex;align-items:center;gap:14px;padding:8px 14px;border-radius:999px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);margin-top:8px;align-self:flex-start}.heater-target-val{font-family:var(--font-display);font-style:var(--display-italic);font-weight:300;font-size:32px;letter-spacing:-.02em;line-height:1;color:var(--ink);font-feature-settings:"tnum";min-width:50px;text-align:center}.heater-target-val .u{font-family:var(--font-body);font-style:normal;font-size:14px;color:var(--accent-2);margin-left:2px}.heater-dial{width:180px;height:180px;border-radius:50%;padding:10px;background:conic-gradient(from -135deg,var(--accent-2) 0deg,var(--accent) calc(var(--ang, 100deg)),var(--rule) calc(var(--ang, 100deg) + 1deg),var(--rule) 270deg,transparent 270deg);position:relative}.heater-dial-inner{width:100%;height:100%;border-radius:50%;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:grid;place-items:center;text-align:center}.heater-dial-inner .set{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.heater-dial-inner .val{font-family:var(--font-display);font-style:var(--display-italic);font-size:36px;letter-spacing:-.02em;line-height:1;margin:4px 0;color:var(--ink)}.heater-dial-inner .act{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2)}.heater-controls{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.heater-step{width:36px;height:36px;border-radius:50%;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);color:var(--ink);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.heater-step:hover{transform:scale(1.08)}.adg-body{display:grid;grid-template-columns:200px 1fr;gap:22px;align-items:center}.adg-info .h{font-family:var(--font-display);font-style:var(--display-italic);font-size:24px;letter-spacing:-.01em;color:var(--ink);line-height:1.2}.adg-info .h b{color:var(--accent);font-weight:500}.adg-cap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}.adg-cap .k{font-family:var(--font-mono);font-size:9px;color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase}.adg-cap .v{font-family:var(--font-display);font-style:var(--display-italic);font-size:28px;letter-spacing:-.02em;margin-top:2px;font-feature-settings:"tnum";color:var(--ink)}.adg-cap .v.good{color:var(--good)}.domains{display:flex;flex-direction:column}.domain{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--rule)}.domain:last-child{border-bottom:0}.domain .ix{font-family:var(--font-mono);font-size:10px;color:var(--ink-4)}.domain .nm{font-family:var(--font-mono);font-size:13px;color:var(--ink)}.domain .right{display:flex;align-items:center;gap:10px;font-family:var(--font-mono)}.domain .bar{width:80px;height:4px;border-radius:2px;background:var(--rule);overflow:hidden}.domain .bar>span{display:block;height:100%;width:var(--w, 30%);background:var(--bad)}.domain .count{font-size:13px;color:var(--bad);font-weight:500;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}.pi-rows{display:flex;flex-direction:column;gap:14px;margin-top:4px}.pi-row{display:grid;grid-template-columns:80px 1fr 70px;align-items:center;gap:12px}.pi-row .k{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase}.pi-row .v{font-family:var(--font-mono);font-size:13px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.pi-row .bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden;position:relative}.pi-row .bar>span{display:block;height:100%;width:var(--p, 10%);background:var(--good);border-radius:3px;transition:width 1.2s ease}.pi-row.warn .bar>span{background:var(--warn)}.health{display:flex;flex-direction:column;max-height:320px;overflow-y:auto}.health-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}.health-row:last-child{border:0}.health-row .ct{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--warn);text-align:center;font-variant-numeric:tabular-nums}.health-row .nm{font-size:13px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.health-row .note{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:.04em;margin-top:2px}.health-row .pill{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:4px 9px;border-radius:999px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke)}.statbox{padding:16px 18px;display:flex;flex-direction:column;gap:4px}.statbox .eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.statbox .v{font-family:var(--font-display);font-style:var(--display-italic);font-size:28px;letter-spacing:-.02em;font-feature-settings:"tnum";line-height:1;margin:4px 0;color:var(--ink)}.statbox .v .u{font-family:var(--font-body);font-style:normal;font-size:13px;color:var(--ink-3);margin-left:2px}.statbox .cap{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.statbox .progress-mini{height:4px;border-radius:2px;background:var(--rule);margin-top:8px;overflow:hidden}.statbox .progress-mini>span{display:block;height:100%;width:var(--p, 0%);background:var(--c, var(--accent));border-radius:2px;transition:width 1.2s ease}.roomclim-body{display:grid;grid-template-columns:1fr 160px;gap:20px;align-items:center}.roomclim-temp{min-width:0}.roomclim-temp .readout.temp{line-height:.9;margin-bottom:8px}.roomclim-trend{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke)}.roomclim-trend .ic{font-size:13px}.roomclim-trend .muted{color:var(--ink-3);margin-left:3px}.roomclim-minmax{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.chip-stat{display:flex;flex-direction:column;padding:8px 12px;border-radius:12px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);min-width:78px}.chip-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.chip-stat .v{font-family:var(--font-display);font-style:var(--display-italic);font-size:22px;line-height:1;letter-spacing:-.02em;margin-top:4px;color:var(--ink);font-feature-settings:"tnum"}.roomclim-hum{display:flex;flex-direction:column;align-items:center;gap:6px}.roomclim-hum .hum-ring{width:160px;height:160px}.roomclim-hum .hum-ring .bg{fill:none;stroke:var(--rule);stroke-width:7}.roomclim-hum .hum-ring .fg{fill:none;stroke:var(--accent-2);stroke-width:7;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.4s ease}.roomclim-hum .hum-label{fill:var(--ink-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em}.roomclim-hum .hum-num{fill:var(--ink);font-family:var(--font-display);font-style:var(--display-italic);font-size:36px;letter-spacing:-.02em}.roomclim-hum .hum-pct{font-family:var(--font-body);font-style:normal;font-size:14px;fill:var(--ink-3)}.roomclim-hum .hum-band{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2)}.roomclim-verdict{display:grid;grid-template-columns:12px 1fr;gap:12px;align-items:flex-start;padding:12px 14px;margin-top:14px;border-radius:14px;background:color-mix(in oklch,var(--glass-bg-2),transparent 30%);border:1px solid var(--glass-stroke)}.roomclim-verdict .dot{width:10px;height:10px;border-radius:50%;margin-top:5px}.roomclim-verdict .dot.good{background:var(--good);box-shadow:0 0 0 4px color-mix(in oklch,var(--good),transparent 78%)}.roomclim-verdict .dot.warn{background:var(--warn);box-shadow:0 0 0 4px color-mix(in oklch,var(--warn),transparent 78%)}.roomclim-verdict .h{font-family:var(--font-display);font-style:var(--display-italic);font-size:18px;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.roomclim-verdict .d{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--ink-3);margin-top:4px;text-transform:uppercase}.roomclim-chart{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);overflow:visible}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.chart-head .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.chart-head .legend{display:inline-flex;gap:14px;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.chart-head .legend .li{display:inline-flex;align-items:center;gap:6px}.chart-head .legend .sw{display:inline-block;width:18px;height:2px;border-radius:2px}.chart-head .legend .sw.temp{background:var(--accent-2)}.chart-head .legend .sw.hum{background:repeating-linear-gradient(90deg,var(--accent) 0 4px,transparent 4px 8px)}.chart-canvas{position:relative;height:150px;margin-top:10px;overflow:visible}.chart-svg{width:100%;height:100%;display:block;overflow:visible}.chart-dot{position:absolute;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.chart-dot.dot-min{width:7px;height:7px;background:var(--glass-bg);border:1.6px solid var(--accent-2);opacity:.7}.chart-dot.dot-max{width:8px;height:8px;background:var(--accent-2);border:1.6px solid var(--glass-bg)}.chart-dot.dot-now-glow{width:16px;height:16px;background:var(--accent-2);opacity:.18}.chart-dot.dot-now{width:8px;height:8px;background:var(--accent-2);border:1.5px solid var(--glass-bg)}.chart-tag{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none;font-family:var(--font-mono);white-space:nowrap;transform:translate(-50%,calc(-100% - 8px))}.chart-tag .lbl{font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.chart-tag .val{font-family:var(--font-display);font-style:var(--display-italic);font-size:13px;letter-spacing:-.01em;color:var(--ink);font-feature-settings:"tnum";line-height:1}.chart-tag.tag-low{transform:translate(-50%,8px)}.chart-tag.tag-now{background:var(--ink);padding:5px 9px 6px;border-radius:9px;box-shadow:0 6px 18px color-mix(in oklch,var(--ink),transparent 70%);transform:translate(-50%,calc(-100% - 12px))}.chart-tag.tag-now .lbl{color:color-mix(in oklch,var(--sky-top, #fff),transparent 30%);font-size:7px;letter-spacing:.22em}.chart-tag.tag-now .val{color:var(--sky-top, #fff);font-size:13px}.chart-tag.tag-now:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%) rotate(45deg);width:7px;height:7px;background:var(--ink)}.chart-axis{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:6px}body.viewport-phone .roomclim-body{grid-template-columns:1fr;gap:14px}body.viewport-phone .roomclim-temp .readout.temp{font-size:72px!important}body.viewport-phone .roomclim-hum{flex-direction:row;justify-content:center;gap:14px}body.viewport-phone .roomclim-hum .hum-ring{width:120px;height:120px}body.viewport-phone .roomclim-minmax{gap:6px}body.viewport-phone .chip-stat{padding:6px 10px;min-width:64px}body.viewport-phone .chip-stat .v{font-size:18px}body.viewport-phone .chart-canvas{height:130px}body.viewport-phone .chart-tag .val{font-size:12px}body.viewport-phone .chart-head .legend{gap:8px}.roomclim-strip .rcstrip-body{display:grid;grid-template-columns:auto auto 1fr auto;gap:22px;align-items:center}.rcstrip-temp{display:flex;flex-direction:column;gap:6px;min-width:0}.rcstrip-temp .readout.temp{line-height:.9}.rcstrip-trend{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:4px 9px;border-radius:999px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);align-self:flex-start}.rcstrip-trend .ic{font-size:12px;color:var(--accent-2)}.rcstrip-hum{display:flex;align-items:center;gap:10px}.rcstrip-pair{display:flex;align-items:center;gap:18px;padding:0 18px;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}.rcstrip-aq{display:flex;align-items:center;gap:10px}.rcstrip-aq-num{font-family:var(--font-display);font-style:var(--display-italic);font-weight:300;font-size:36px;letter-spacing:-.02em;line-height:1;color:var(--ink);font-feature-settings:"tnum";min-width:58px;text-align:center}.rcstrip-aq-num .u{font-family:var(--font-body);font-style:normal;font-size:11px;color:var(--ink-3);margin-left:2px;letter-spacing:0}.rcstrip-pair-lbl .k,.rcstrip-hum-lbl .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.rcstrip-pair-lbl .v,.rcstrip-hum-lbl .v{font-family:var(--font-display);font-style:var(--display-italic);font-size:18px;letter-spacing:-.01em;color:var(--ink);margin-top:2px}.rcstrip-verdict{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:flex-start;min-width:0}.rcstrip-verdict .dot{width:10px;height:10px;border-radius:50%;margin-top:4px}.rcstrip-verdict .dot.good{background:var(--good);box-shadow:0 0 0 4px color-mix(in oklch,var(--good),transparent 78%)}.rcstrip-verdict .dot.warn{background:var(--warn);box-shadow:0 0 0 4px color-mix(in oklch,var(--warn),transparent 78%)}.rcstrip-verdict .h{font-family:var(--font-display);font-style:var(--display-italic);font-size:18px;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.rcstrip-verdict .d{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}.rcstrip-spark{width:260px}.rcstrip-spark svg{width:100%;height:44px;display:block}.rcstrip-spark-foot{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:2px}body.viewport-phone .roomclim-strip .rcstrip-body{grid-template-columns:1fr 1fr;gap:14px}body.viewport-phone .rcstrip-temp .readout.temp{font-size:56px!important}body.viewport-phone .rcstrip-pair{padding:0;border-left:0;border-right:0;justify-content:space-between;gap:10px}body.viewport-phone .rcstrip-aq-num{font-size:28px;min-width:0}body.viewport-phone .rcstrip-verdict{grid-column:1 / -1}body.viewport-phone .rcstrip-spark{grid-column:1 / -1;width:100%}.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-family:var(--font-mono);font-size:11px;margin-top:6px}.kv .k{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.kv .v{color:var(--ink);text-align:right}.shopping{display:flex;flex-direction:column;gap:6px;margin-top:12px;list-style:none;padding:0}.shopping li{font-size:13px;letter-spacing:-.005em;list-style:none;padding:10px 12px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:12px;display:flex;align-items:center;gap:10px;color:var(--ink);line-height:1.35;transition:transform .15s ease,box-shadow .15s ease}.shopping li:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.shopping li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent, oklch(.65 .16 50));flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.view{opacity:1}@keyframes fanspin{to{transform:rotate(360deg)}}@keyframes pixooBar{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}@keyframes pixooSpin{to{transform:rotate(360deg)}}:root{--cal-work: oklch(.65 .16 50);--cal-personal: oklch(.6 .14 235);--cal-home: oklch(.58 .12 150);--cal-family: oklch(.62 .14 320)}body.mode-night{--cal-work: oklch(.78 .14 50);--cal-personal: oklch(.78 .12 235);--cal-home: oklch(.75 .11 150);--cal-family: oklch(.78 .14 320)}.weekcal{--col-h: 26px;display:grid;grid-template-columns:48px repeat(7,1fr);gap:0;position:relative;margin-top:12px;border-top:1px solid var(--rule)}.weekcal-head{display:contents}.weekcal-head .dow{padding:10px 8px 8px;border-left:1px solid var(--rule);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;position:sticky;top:0;background:var(--glass-bg);z-index:1}.weekcal-offgrid-row{display:contents}.weekcal-offgrid-row .corner{border-bottom:1px solid var(--rule)}.weekcal-offgrid-row .cell{border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);min-height:22px;padding:3px 4px;display:flex;flex-direction:column;gap:2px;background:color-mix(in oklch,var(--glass-bg-2),transparent 60%)}.weekcal-offgrid-row .cell.today{background:color-mix(in oklch,var(--accent),transparent 92%)}.weekcal-head .dow .num{font-family:var(--font-display);font-size:22px;letter-spacing:-.02em;color:var(--ink);margin-top:2px;display:block;text-transform:none}.weekcal-head .dow.today .num{color:var(--accent);font-weight:500}.weekcal-head .dow.today{background:color-mix(in oklch,var(--accent),transparent 90%)}.weekcal-times{grid-column:1;display:flex;flex-direction:column}.weekcal-times .h{height:calc(var(--col-h) * 2);padding-top:4px;padding-right:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--ink-4);text-align:right;position:relative}.weekcal-col{position:relative;overflow:hidden;border-left:1px solid var(--rule);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--col-h) - 1px),var(--rule) calc(var(--col-h) - 1px),var(--rule) var(--col-h))}.weekcal-col.clickable{cursor:copy}.weekcal-col.clickable:hover:before{content:"+ click to add event";position:absolute;top:6px;left:6px;right:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);text-align:center;pointer-events:none;opacity:0;animation:weekcal-hint-fade .2s ease forwards;z-index:1}@keyframes weekcal-hint-fade{to{opacity:.7}}.weekcal-col.today{background:linear-gradient(180deg,color-mix(in oklch,var(--accent),transparent 96%),color-mix(in oklch,var(--accent),transparent 98%)),repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--col-h) - 1px),var(--rule) calc(var(--col-h) - 1px),var(--rule) var(--col-h))}.weekcal-event{position:absolute;left:4px;right:4px;border-radius:10px;padding:5px 8px;font-size:11px;background:color-mix(in oklch,var(--cal-color),transparent 78%);border-left:3px solid var(--cal-color);color:var(--ink);overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.weekcal-event:hover{transform:translate(1px);box-shadow:0 6px 18px color-mix(in oklch,var(--cal-color),transparent 80%);z-index:5}.weekcal-event .t{font-weight:500;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekcal-event .w{font-family:var(--font-mono);font-size:9px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.weekcal-event.short{padding:3px 6px}.weekcal-event.short .w{display:none}.weekcal-offgrid{font-family:var(--font-mono);font-size:9px;letter-spacing:.03em;padding:2px 6px;border-radius:5px;background:color-mix(in oklch,var(--cal-color),transparent 82%);border-left:2px solid var(--cal-color);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.weekcal-offgrid:hover{color:var(--ink)}.weekcal-now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--accent);z-index:4;pointer-events:none}.weekcal-now:before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch,var(--accent),transparent 75%)}.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.cal-legend .item{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.cal-legend .sw{width:9px;height:9px;border-radius:2px;background:var(--cal-color)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kanban-col{background:color-mix(in oklch,var(--glass-bg-2),transparent 30%);border:1px solid var(--glass-stroke);border-radius:16px;padding:12px;min-height:200px;transition:background .2s ease,border-color .2s ease;overflow:visible}.kanban-col.drag-over{background:color-mix(in oklch,var(--accent),transparent 86%);border-color:var(--accent)}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 10px;border-bottom:1px solid var(--rule);margin-bottom:10px}.kanban-col-head .label{font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}.kanban-col-head .count{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:3px 8px;border-radius:999px;background:var(--glass-bg-2)}.kanban-card{background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:12px;padding:10px 12px;margin-bottom:8px;cursor:grab;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease;position:relative}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0000000f}.kanban-card-x{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;line-height:1;background:transparent;border:0;color:var(--ink-3);font-size:16px;font-family:inherit;cursor:pointer;border-radius:999px;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.kanban-card:hover .kanban-card-x{opacity:1}.kanban-card-x:hover{color:var(--ink);background:var(--rule)}.kanban-card .summary{font-size:13px;letter-spacing:-.005em;color:var(--ink);line-height:1.35}.kanban-card .meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.kanban-card .tag{padding:2px 8px;border-radius:999px;color:#fff;background:var(--tag-color, var(--ink-3))}.kanban-card .due{color:var(--ink-3)}.kanban-card.done .summary{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-4)}.tag-ha{--tag-color: oklch(.55 .16 250)}.tag-work{--tag-color: oklch(.55 .16 30)}.tag-side-project{--tag-color: oklch(.55 .15 310)}.tag-fun{--tag-color: oklch(.58 .17 145)}.tag-errand{--tag-color: oklch(.55 .12 80)}.tag-learning{--tag-color: oklch(.55 .14 195)}.tag-health{--tag-color: oklch(.58 .18 160)}.tag-finance{--tag-color: oklch(.55 .13 55)}.kanban-col.placeholder{background:transparent;border:1px dashed var(--rule)}.kanban-col.placeholder .kanban-col-head{opacity:.55}.kanban-placeholder-body{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:20px 12px;color:var(--ink-3);min-height:140px}.kanban-placeholder-icon{width:28px;height:28px;border-radius:50%;border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--ink-4)}.kanban-placeholder-msg{font-size:11px;line-height:1.45;letter-spacing:.01em;max-width:18ch}.kanban-placeholder-msg strong{color:var(--ink-2);font-weight:500}.kanban-col.extra .kanban-col-head .label{font-style:italic;opacity:.85}.kanban-add{width:100%;background:transparent;border:1px dashed var(--rule);border-radius:10px;color:var(--ink-3);padding:9px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:4px;transition:border-color .2s,color .2s}.kanban-add:hover{color:var(--ink);border-color:var(--ink-3)}.kanban-card.overdue{border-color:#d7474573}.due-overdue{color:#f14d4c!important}.kanban-card .tags{display:flex;gap:4px;flex-wrap:wrap}.kanban-add-form{display:flex;flex-direction:column;gap:6px;margin-top:4px;overflow:visible;position:relative;z-index:10}.kanban-input{width:100%;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:10px;padding:8px 10px;font-size:13px;color:var(--ink);font-family:inherit;outline:none;transition:border-color .2s}.kanban-input:focus{border-color:var(--accent)}.kanban-input::placeholder{color:var(--ink-4)}.kanban-input-sm{font-size:11px;padding:6px 8px}.kanban-add-row{display:flex;gap:6px}.kanban-add-row .kanban-input-sm{flex:1;min-width:0}.kanban-add-btn{flex:1;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:7px 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:opacity .2s}.kanban-add-btn:hover{opacity:.85}.kanban-add-btn.cancel{background:transparent;color:var(--ink-3);border:1px solid var(--rule)}.kanban-add-btn.cancel:hover{color:var(--ink);border-color:var(--ink-3)}.kanban-tag-picker{position:static;flex:1;min-width:0}.kanban-date{width:100px;flex:0 0 auto}.kanban-tag-toggle{width:100%;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:10px;padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px;cursor:pointer;min-height:32px;align-items:center;transition:border-color .2s}.kanban-tag-toggle:hover{border-color:var(--accent)}.kanban-tag-toggle .placeholder{font-size:11px;color:var(--ink-4);font-family:var(--font-mono);letter-spacing:.06em}.kanban-tag-toggle .tag{cursor:default;display:inline-flex;align-items:center;gap:3px}.kanban-tag-toggle .tag-rm{cursor:pointer;opacity:.7;font-size:13px;line-height:1}.kanban-tag-toggle .tag-rm:hover{opacity:1}.kanban-tag-menu{position:absolute;left:0;right:0;bottom:0;background:#f5f5f5;border:1px solid var(--glass-stroke);border-radius:10px;padding:4px;z-index:50;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000040}[data-theme=dark] .kanban-tag-menu,body.night .kanban-tag-menu{background:#1b1b1b}.kanban-tag-option{display:flex;align-items:center;gap:8px;padding:7px 10px;border:0;background:transparent;color:var(--ink);font-size:12px;font-family:inherit;cursor:pointer;border-radius:6px;transition:background .15s}.kanban-tag-option:hover,.kanban-tag-option.selected{background:var(--glass-bg-2)}.kanban-tag-option .check{margin-left:auto;color:var(--accent);font-size:13px}.tag-dot{width:10px;height:10px;border-radius:50%;background:var(--tag-color, var(--ink-3));flex-shrink:0}.kanban-tag-custom{padding:4px;border-top:1px solid var(--rule);margin-top:2px}body.viewport-phone .kanban{grid-template-columns:repeat(4,78vw);overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}body.viewport-phone .kanban-col{scroll-snap-align:start}body.viewport-phone .weekcal{--col-h: 22px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:90;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--glass-bg);border:1px solid var(--rule);border-radius:16px;width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:22px;box-shadow:0 24px 60px #00000059}.modal h3{margin:0 0 14px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.modal-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.modal-row .lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.modal-row input,.modal-row select{background:var(--glass-bg-2);border:1px solid var(--rule);border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13px;color:var(--ink);outline:none;transition:border-color .15s}.modal-row input:focus,.modal-row select:focus{border-color:var(--ink-3)}.modal-row.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-row.two>div{display:flex;flex-direction:column;gap:4px}.modal-toggle-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;color:var(--ink-2)}.modal-toggle-row input{width:16px;height:16px;accent-color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.modal-error{font-size:11px;color:#d55753;margin-top:4px;font-family:var(--font-mono)}.add-btn-mini{background:transparent;border:1px dashed var(--rule);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:6px;cursor:pointer;transition:color .2s,border-color .2s}.add-btn-mini:hover{color:var(--ink);border-color:var(--ink-3)}.gh-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--rule);outline:none}.gh-slider:disabled{opacity:.45}.gh-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ink);cursor:pointer;border:2px solid var(--glass-bg-2);box-shadow:0 1px 4px #0000002e}.gh-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);cursor:pointer;border:2px solid var(--glass-bg-2)}.tweaks-fab{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:14px;z-index:60;width:38px;height:38px;border-radius:50%;border:1px solid var(--glass-stroke);background:var(--glass-bg-2);color:var(--ink);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--shadow);transition:transform .2s ease,background .2s ease}.tweaks-fab:hover{transform:scale(1.05)}.tweaks-fab:active{transform:scale(.96)}.tweaks-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:color-mix(in oklch,var(--ink),transparent 70%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:tweaksScrimIn .18s ease-out}@keyframes tweaksScrimIn{0%{opacity:0}to{opacity:1}}.tweaks-drawer{position:fixed;top:14px;right:14px;z-index:65;width:320px;max-width:calc(100vw - 28px);max-height:calc(100vh - 28px);overflow:auto;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:22px;padding:18px;color:var(--ink);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow);transform:translateY(-8px) scale(.98);opacity:0;pointer-events:none;transition:transform .22s cubic-bezier(.34,1.56,.64,1),opacity .18s ease}.tweaks-drawer.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.tweaks-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.tweaks-head .t{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em}.tweaks-head .s{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.tweaks-head .x{background:transparent;border:1px solid var(--rule);border-radius:999px;width:28px;height:28px;cursor:pointer;color:var(--ink-2);font-size:18px;line-height:1;display:grid;place-items:center;padding:0}.tweaks-section{margin-top:14px}.tweaks-section .lbl{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.tweaks-row{width:100%;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:color-mix(in oklch,var(--glass-bg),transparent 30%);border:1px solid transparent;cursor:pointer;text-align:left;color:var(--ink);font-family:inherit;margin-bottom:6px;transition:background .2s ease,border-color .2s ease}.tweaks-row:hover{border-color:var(--glass-stroke)}.tweaks-row.on{background:color-mix(in oklch,var(--accent),transparent 88%);border-color:color-mix(in oklch,var(--accent),transparent 60%)}.tweaks-row .rad{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink-3);position:relative}.tweaks-row.on .rad{border-color:var(--accent)}.tweaks-row.on .rad:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--accent)}.tweaks-row .nm{display:block;font-size:13px;font-weight:500}.tweaks-row .sub{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.tweaks-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border-radius:12px;background:color-mix(in oklch,var(--glass-bg),transparent 30%);border:1px solid var(--glass-stroke);margin-bottom:12px}.tweaks-segments .seg{background:transparent;border:0;border-radius:9px;padding:8px 6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;transition:background .2s ease,color .2s ease}.tweaks-segments .seg.on{background:var(--ink);color:var(--sky-top, #fff)}.tweaks-toggle{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:color-mix(in oklch,var(--glass-bg),transparent 30%);border:1px solid var(--glass-stroke);cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.tweaks-toggle input{display:none}.tweaks-slider{margin-top:10px}.tweaks-slider .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px;color:var(--ink-2)}.tweaks-slider .row .val{font-family:var(--font-mono);font-size:12px;color:var(--ink);letter-spacing:.02em}.tweaks-slider .gh-slider{width:100%;accent-color:var(--accent)}.tweaks-hint{margin-top:14px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);text-align:center}body.viewport-phone .tweaks-fab{top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:34px;height:34px}body.viewport-phone .tweaks-drawer{top:calc(12px + env(safe-area-inset-top,0px));right:12px;width:calc(100vw - 24px)}.toast-stack{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:520px;width:calc(100vw - 32px);pointer-events:none}.toast-item{pointer-events:auto;position:relative;display:grid;grid-template-columns:44px 1fr 32px;align-items:start;gap:0;padding:16px 14px 20px 0;border-radius:18px;background:linear-gradient(135deg,#280c0cd1,#1e0a12e0,#14080ed6);backdrop-filter:blur(28px) saturate(1.6);-webkit-backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,100,100,.15);box-shadow:0 1px #ffffff0a inset,0 -1px #0003 inset,0 12px 48px -8px #b4282838,0 4px 16px #00000052;overflow:hidden;animation:toast-enter .55s cubic-bezier(.16,1.3,.3,1) both}.toast-item.toast-exit{animation:toast-leave .4s cubic-bezier(.4,0,1,1) forwards}.toast-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:20px;z-index:-1;background:radial-gradient(ellipse at 20% 50%,rgba(255,80,60,.18) 0%,transparent 65%);animation:toast-pulse 2.8s ease-in-out infinite}.toast-edge{position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#ff6b4a,#ff3d6e,#ff6b4a);background-size:100% 200%;animation:toast-edge-shift 3s ease-in-out infinite;box-shadow:0 0 12px 2px #ff505066}.toast-icon-col{display:grid;place-items:center;padding-top:2px}.toast-icon{width:22px;height:22px;color:#ff6b5a;filter:drop-shadow(0 0 6px rgba(255,100,80,.5));animation:toast-icon-shake .5s cubic-bezier(.36,.07,.19,.97) .3s both}.toast-icon svg{width:100%;height:100%}.toast-body{min-width:0}.toast-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ff9080;margin-bottom:5px;text-shadow:0 0 14px rgba(255,120,100,.4);line-height:1.3;word-break:break-word}.toast-detail{font-family:var(--font-body);font-size:12px;line-height:1.45;color:#ffebe6b8;word-break:break-word}.toast-close{position:relative;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;padding:0;color:#ffc8c880;transition:background .2s,color .2s,border-color .2s,transform .15s;margin-top:1px}.toast-close svg{width:12px;height:12px}.toast-close:hover{background:#ff50502e;border-color:#ff646440;color:#ffb0a0;transform:scale(1.08)}.toast-close:active{transform:scale(.92)}.toast-timer{position:absolute;bottom:0;left:12px;right:12px;height:3px;border-radius:0 0 4px 4px;background:#ffffff0f;overflow:hidden}.toast-timer-bar{height:100%;width:100%;border-radius:2px;background:linear-gradient(90deg,#ff6b4a,#ff3d6e);transform-origin:left;animation:toast-drain linear forwards;box-shadow:0 0 8px #ff506466}@keyframes toast-enter{0%{opacity:0;transform:translateY(32px) scale(.92);filter:blur(4px)}50%{opacity:1;filter:blur(0)}75%{transform:translateY(-4px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes toast-leave{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(18px) scale(.94);filter:blur(6px)}}@keyframes toast-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes toast-edge-shift{0%,to{background-position:0 0}50%{background-position:0 100%}}@keyframes toast-icon-shake{0%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}to{transform:rotate(0)}}@keyframes toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}body.viewport-phone .toast-stack{bottom:84px}.toast-item:nth-child(2){animation-delay:.06s}.toast-item:nth-child(3){animation-delay:.12s}.toast-item:nth-child(4){animation-delay:.18s}.toast-item:nth-child(5){animation-delay:.24s}.storage-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;margin-top:8px;gap:2px}.storage-bar>span{height:100%;flex:0 0 var(--p);min-width:2px;transition:flex-basis .5s ease}.storage-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-top:14px}.storage-legend-item{display:flex;align-items:center;gap:8px}.storage-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.storage-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.storage-val{font-family:var(--font-mono);font-size:11px;color:var(--ink-2);margin-left:auto;font-feature-settings:"tnum"}.health-all-good{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--ink-3);text-align:center;padding:20px 0}.health-groups{display:flex;flex-direction:column;gap:4px;margin-top:4px}.health-group{border-radius:10px;overflow:hidden}.health-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);border-radius:10px;cursor:pointer;transition:background .2s;color:var(--ink);font-family:inherit}.health-group-header:hover{background:color-mix(in oklch,var(--glass-bg-2),var(--ink) 5%)}.health-group-header.open{border-radius:10px 10px 0 0}.health-domain{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.04em;flex:1;text-align:left}.health-count{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:color-mix(in oklch,var(--bad),transparent 80%);padding:2px 7px;border-radius:6px;font-weight:600}.health-chevron{font-size:14px;color:var(--ink-3);width:18px;text-align:center}.health-entities{list-style:none;margin:0;padding:0;background:color-mix(in oklch,var(--glass-bg-2),transparent 50%);border:1px solid var(--glass-stroke);border-top:0;border-radius:0 0 10px 10px}.health-entities li{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-bottom:1px solid color-mix(in oklch,var(--rule),transparent 60%)}.health-entities li:last-child{border-bottom:0}.health-eid{font-family:var(--font-mono);font-size:10px;letter-spacing:.03em;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.health-state{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:4px;flex-shrink:0;margin-left:8px}.health-state.unavailable{color:#dc655f;background:color-mix(in oklch,oklch(.65 .15 25),transparent 85%)}.health-state.unknown{color:var(--ink-3);background:color-mix(in oklch,var(--ink-3),transparent 85%)}.sys-actions-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px}.sys-action{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--glass-bg-2);border:1px solid var(--glass-stroke);cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s ease,border-color .3s ease;position:relative;overflow:hidden;color:var(--ink);font-family:inherit;text-align:left}.sys-action:hover{transform:translateY(-2px)}.sys-action:active{transform:scale(.98)}.sys-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.sys-action:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.32,.72,0,1);z-index:0}.sys-action.firing:after{transform:scaleX(1)}.sys-action>*{position:relative;z-index:1}.sys-action.firing{color:var(--sky-top)}.sys-action.firing .sys-action-sub{color:color-mix(in oklch,var(--sky-top),transparent 50%)}.sys-action.confirming{border-color:#dc655f;background:color-mix(in oklch,oklch(.65 .15 25),transparent 88%)}.sys-action.confirming .sys-action-nm{color:#dc655f}.sys-action-ic{width:36px;height:36px;border-radius:12px;background:color-mix(in oklch,var(--ink-2),transparent 85%);color:var(--ink-2);display:grid;place-items:center;font-size:16px;font-weight:500;transition:background .3s ease,color .3s ease,transform .4s cubic-bezier(.34,1.56,.64,1)}.sys-action:hover .sys-action-ic{transform:rotate(-8deg) scale(1.08)}.sys-action.restart_ha .sys-action-ic{background:color-mix(in oklch,var(--accent),transparent 80%);color:var(--accent)}.sys-action.reboot_host .sys-action-ic{background:color-mix(in oklch,var(--bad),transparent 80%);color:var(--bad)}.sys-action-nm{font-size:13px;font-weight:600;letter-spacing:-.005em}.sys-action-sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:1px}.sys-action-cancel{display:block;margin:10px auto 0;background:transparent;border:1px dashed var(--rule);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 16px;border-radius:6px;cursor:pointer;transition:color .2s,border-color .2s}.sys-action-cancel:hover{color:var(--ink);border-color:var(--ink-3)}.sambox{display:flex;flex-direction:column;gap:14px}.sambox-main{display:flex;align-items:center;justify-content:space-between;gap:16px}.sambox-id{display:flex;align-items:center;gap:13px;min-width:0}.sambox-badge{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--glass-bg-2);border:1px solid var(--rule);color:var(--ink-3);flex-shrink:0;transition:all .35s ease}.sambox-badge[data-on=true]{background:color-mix(in oklch,var(--good) 22%,transparent);border-color:color-mix(in oklch,var(--good) 45%,transparent);color:var(--good)}.sambox-meta{min-width:0}.sambox-name{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.sambox-out{font-size:12.5px;color:var(--ink-3);font-family:var(--font-mono);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sambox-control{display:flex;align-items:center;gap:16px;flex-shrink:0}.sambox-status{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}.sambox-dot{width:8px;height:8px;border-radius:50%;transition:background .35s ease}.sambox-dot[data-pulse=true]{animation:samboxPulse 1s ease-in-out infinite}.sambox-switch{position:relative;width:62px;height:34px;border-radius:999px;border:1px solid var(--rule);background:var(--glass-bg-2);cursor:pointer;padding:0;transition:background .3s ease,border-color .3s ease;flex-shrink:0}.sambox-switch[data-on=true]{background:var(--good);border-color:var(--good)}.sambox-switch[data-turning=true]{background:color-mix(in oklch,var(--accent-2) 60%,transparent);border-color:var(--accent-2)}.sambox-knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sambox-switch[data-on=true] .sambox-knob,.sambox-switch[data-turning=true] .sambox-knob{transform:translate(28px)}.sambox-compact .sambox-badge{width:40px;height:40px}.sambox-compact .sambox-name{font-size:15px}@keyframes samboxPulse{0%,to{opacity:1}50%{opacity:.35}}.diff-swatches{display:flex;gap:8px;flex-wrap:wrap}.diff-swatch{width:28px;height:28px;border-radius:50%;border:1px solid var(--glass-stroke);cursor:pointer;padding:0;position:relative;transition:transform .18s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px 2px #ffffff59,0 2px 6px #00000014}.diff-swatch:hover{transform:scale(1.12)}.diff-swatch.on{transform:scale(1.12);box-shadow:0 0 0 2px var(--glass-bg),0 0 0 4px var(--c, var(--accent))}.diff-bright{display:flex;align-items:center;gap:12px}.diff-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:8px;border-radius:999px;background:linear-gradient(90deg,color-mix(in oklch,var(--led, var(--accent)),transparent 70%) 0%,var(--led, var(--accent)) var(--bp, 60%),var(--rule) var(--bp, 60%),var(--rule) 100%);outline:none;cursor:pointer}.diff-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--glass-bg-2);border:2px solid var(--led, var(--accent));box-shadow:0 2px 8px #0000002e;cursor:pointer;transition:transform .15s ease}.diff-range::-webkit-slider-thumb:hover{transform:scale(1.14)}.diff-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--glass-bg-2);border:2px solid var(--led, var(--accent));box-shadow:0 2px 8px #0000002e;cursor:pointer}.diff-bright .val{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);min-width:38px;text-align:right}.diff-seg{display:inline-flex;flex-wrap:wrap;background:color-mix(in oklch,var(--glass-bg-2),transparent 30%);border:1px solid var(--glass-stroke);border-radius:999px;padding:3px;gap:2px}.diff-seg button{background:transparent;border:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;padding:6px 13px;border-radius:999px;color:var(--ink-3);cursor:pointer;transition:color .2s,background .2s;text-transform:capitalize;white-space:nowrap}.diff-seg button:hover{color:var(--ink)}.diff-seg button.on{background:var(--ink);color:var(--sky-top, #fff)}.diff-stats{display:flex;gap:10px;flex-wrap:wrap}.diff-stat{flex:1;min-width:0;background:color-mix(in oklch,var(--glass-bg-2),transparent 35%);border:1px solid var(--glass-stroke);border-radius:14px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}.diff-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.diff-stat .v{font-family:var(--font-display);font-weight:var(--display-weight, 400);font-size:22px;letter-spacing:-.01em;color:var(--ink);line-height:1}.diff-stat .v i{font-style:normal;font-size:12px;color:var(--ink-3);margin-left:2px}.diff-a-body{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:20px;align-items:stretch}.diff-stage{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--glass-stroke);background:radial-gradient(120% 90% at 50% 110%,color-mix(in oklch,var(--led, var(--accent)),transparent 55%) 0%,color-mix(in oklch,var(--led, var(--accent)),transparent 82%) 30%,transparent 62%),color-mix(in oklch,var(--glass-bg-2),transparent 20%);display:flex;align-items:flex-end;justify-content:center;min-height:240px}.diff-stage-state{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:var(--glass-bg);border:1px solid var(--glass-stroke);color:var(--ink-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.diff-stage-state .dot{width:6px;height:6px;border-radius:50%;background:var(--led, var(--accent));box-shadow:0 0 8px var(--led, var(--accent))}.diff-stage-state.off .dot{background:var(--ink-4);box-shadow:none}.diff-mist{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.diff-mist span{position:absolute;bottom:64px;left:50%;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in oklch,var(--led, white),white 55%),transparent 70%);opacity:0;animation:diff-rise var(--dur, 4s) ease-in infinite;animation-delay:var(--dl, 0s)}@keyframes diff-rise{0%{transform:translate(-50%) scale(.5);opacity:0}16%{opacity:.85}to{transform:translate(calc(-50% + var(--dx, 0px)),-150px) scale(2.5);opacity:0}}@media (prefers-reduced-motion: reduce){.diff-mist span{animation:none;opacity:.35;transform:translate(-50%,-60px) scale(1.6)}}.diff-device{position:relative;z-index:2;width:118px;height:70px;margin-bottom:18px;border-radius:14px 14px 22px 22px/10px 10px 30px 30px;background:linear-gradient(180deg,color-mix(in oklch,var(--ink),transparent 78%),color-mix(in oklch,var(--ink),transparent 58%));border:1px solid var(--glass-stroke-2);box-shadow:inset 0 2px 6px #ffffff40,0 8px 20px #00000029}.diff-device:before{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:46px;height:10px;border-radius:999px;background:var(--led, var(--accent));box-shadow:0 0 16px 2px var(--led, var(--accent));opacity:.9}.diff-device:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:150px;height:26px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklch,var(--led),transparent 50%),transparent 70%);filter:blur(3px)}.diff-a-controls{display:flex;flex-direction:column;gap:14px;min-width:0}.diff-a-controls .lede{font-size:14px;line-height:1.5;color:var(--ink-2)}.diff-a-controls .lede b{color:var(--ink);font-weight:600}.diff-field{display:flex;flex-direction:column;gap:7px}.diff-field>.flabel{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;justify-content:space-between}.diff-led-state{display:inline-flex;align-items:center;gap:9px}.diff-led-state .w{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.diff-led-state .w.lit{color:var(--good)}.diff-led-controls{display:flex;flex-direction:column;gap:12px;transition:filter .25s ease}.gs-status{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-color, var(--ink-3));padding:6px 11px;border-radius:999px;background:color-mix(in oklch,var(--gs-color, var(--ink-3)),transparent 88%);border:1px solid color-mix(in oklch,var(--gs-color, var(--ink-3)),transparent 68%)}.gs-status .d{width:7px;height:7px;border-radius:50%;background:var(--gs-color, var(--ink-3));flex-shrink:0}.dmini-body{display:flex;flex-direction:column;gap:16px;justify-content:center}.dmini-id{display:flex;align-items:center;gap:14px;min-width:0}.dmini-orb{width:44px;height:44px;border-radius:14px;flex-shrink:0;background:radial-gradient(circle at 50% 35%,var(--led, var(--accent)),color-mix(in oklch,var(--led, var(--accent)),var(--ink) 35%) 90%);box-shadow:0 0 16px color-mix(in oklch,var(--led, var(--accent)),transparent 55%),inset 0 2px 6px #fff6;position:relative}.dmini-orb:after{content:"";position:absolute;top:9px;left:50%;transform:translate(-50%);width:18px;height:4px;border-radius:999px;background:#ffffffb8}.dmini-orb.off{background:color-mix(in oklch,var(--glass-bg-2),var(--ink) 8%);box-shadow:inset 0 2px 6px #fff3}.dmini-id .nm{font-family:var(--font-display);font-weight:var(--display-weight, 400);font-size:21px;letter-spacing:-.01em;color:var(--ink);line-height:1.1}.dmini-id .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--ink-3);margin-top:4px;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmini-led{display:flex;align-items:center;gap:10px;flex-shrink:0}.dmini-led .w{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);transition:color .2s}.dmini-led .w.lit{color:var(--led, var(--accent))}.dmini-mist .diff-seg{width:100%;display:flex}.dmini-mist .diff-seg button{flex:1;text-align:center}.dmini-ledrow{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--rule)}.dmini-ledrow>.k{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}body.viewport-phone .dmini-led .w{display:none}body.viewport-phone .diff-a-body{grid-template-columns:1fr!important;gap:16px!important}body.viewport-phone .diff-stage{min-height:180px}body.viewport-desktop .grid>.col-7:has(.diff-a-body),body.viewport-desktop .grid>.col-7:has(>.playstrip-card),body.viewport-desktop .grid>.col-5:has(>.diffuser-mini-card),body.viewport-desktop .grid>.col-5:has(.heater-body){display:flex;flex-direction:column;min-width:0}body.viewport-desktop .grid>.col-7:has(.diff-a-body)>.card,body.viewport-desktop .grid>.col-7:has(>.playstrip-card)>.card,body.viewport-desktop .grid>.col-5:has(>.diffuser-mini-card)>.card,body.viewport-desktop .grid>.col-5:has(.heater-body)>.card{flex:1 1 auto}body.viewport-desktop .card:has(>.diff-a-body){display:flex;flex-direction:column}body.viewport-desktop .card:has(>.diff-a-body) .diff-a-body{flex:1 1 auto}body.viewport-desktop .diffuser-mini-card:has(>.dmini-body){display:flex;flex-direction:column}body.viewport-desktop .diffuser-mini-card .dmini-body{flex:1 1 auto}body.viewport-desktop .card:has(>.heater-body){display:flex;flex-direction:column}body.viewport-desktop .card:has(>.heater-body) .heater-body{flex:1 1 auto}body.viewport-desktop .playstrip-card{display:flex;flex-direction:column}body.viewport-desktop .playstrip-card .sambox{flex:1 1 auto;justify-content:center}
