:root{--text:#f2f5f4;--text-soft:#d4dcda;--muted:#8c9b98;--bg:#101413;--surface:#171d1b;--surface-soft:#121816;--input:#0e1312;--button:#1c2421;--button-hover:#25302c;--border:#26322f;--border-strong:#35433f;--accent:#72d3a1;--accent-strong:#8ee0b5;--danger:#b94e59;--warning:#c7a765;--sans:Avenir Next, Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;font:16px/1.45 var(--sans);color:var(--text);background:radial-gradient(circle at top left, #72d3a121, transparent 34rem), linear-gradient(180deg, #111816 0%, var(--bg) 48%, #0c100f 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-height:100%}body{min-height:100dvh;margin:0;overflow-x:hidden}button,input{font:inherit}#root{min-height:100dvh}h1,h2,p{margin:0}h1{color:var(--text);letter-spacing:0;font-size:clamp(2rem,7vw,3.7rem);line-height:.98}h2{color:var(--text);letter-spacing:0;font-size:1.15rem;line-height:1.2}.lock-screen,.remote-page{background:radial-gradient(circle at 50% 0,#68c6ae2e,#0000 30rem),radial-gradient(circle at 15% 80%,#4676952e,#0000 24rem),linear-gradient(145deg,#0b1110 0%,#121a18 48%,#080c0c 100%);place-items:center;min-height:100dvh;padding:clamp(10px,3vw,28px);display:grid;overflow-x:hidden}.lock-card{background:linear-gradient(#1c2926eb,#0e1413f5),#101615;border:1px solid #a3dbcc29;border-radius:30px;width:min(420px,100%);padding:clamp(20px,6vw,32px);box-shadow:inset 0 1px #ffffff14,0 28px 70px #0000006b}.lock-brand,.remote-top,.lcd-header,.lcd-status-row,.remote-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.lock-brand{color:#8ea09a;letter-spacing:.14em;text-transform:uppercase;justify-content:flex-start;margin-bottom:18px;font-size:.75rem;font-weight:800}.signal-dot{background:#6fd3a3;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #6fd3a31a}.lock-card h1{color:#f5faf8;overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,11vw,4rem);line-height:.95}.lock-subtitle,.privacy-note,.lock-message{color:#93a39e}.lock-subtitle{margin:14px 0 28px;font-size:1rem}.lock-field{color:#aab8b4;letter-spacing:.12em;text-transform:uppercase;gap:8px;font-size:.78rem;font-weight:800;display:grid}.lock-field input{color:#eef7f4;width:100%;min-height:clamp(52px,13vw,58px);font:inherit;letter-spacing:0;text-transform:none;background:#0a1110;border:1px solid #a9cec32e;border-radius:16px;padding:0 18px;font-size:1rem}.lock-field input:focus{outline-offset:3px;outline:2px solid #6fd3a38a}.unlock-button{color:#07120f;width:100%;min-height:clamp(52px,13vw,58px);font:inherit;cursor:pointer;background:linear-gradient(#84ddb0,#5fc993);border:0;border-radius:16px;margin-top:16px;font-weight:900;transition:opacity .18s,transform .18s;box-shadow:inset 0 1px #ffffff5c,0 16px 30px #4ebb8438}.unlock-button:active:not(:disabled),.remote-button:active:not(:disabled),.round-button:active:not(:disabled),.power-button:active:not(:disabled),.powerchill-button:active:not(:disabled),.utility-button:active:not(:disabled),.chip:active:not(:disabled){transform:translateY(1px)scale(.985)}.unlock-button:disabled,button:disabled{cursor:not-allowed;opacity:.48}.lock-message{min-height:1.4rem;margin:16px 0 0;font-weight:700}.lock-message.error{color:#ff9b9b}.privacy-note{margin:18px 0 0;font-size:.88rem}.remote-shell{background:linear-gradient(145deg,#2d3635eb,#0d1212fa),#151b1a;border:1px solid #d9ebe61f;border-radius:clamp(24px,7vw,34px);width:min(100%,430px);padding:clamp(12px,3.6vw,20px);box-shadow:inset 0 1px #ffffff17,inset 0 -24px 48px #0000003d,0 30px 80px #0000007a}.remote-top{padding:5px 8px 14px}.remote-brand{color:#e7eeee;letter-spacing:clamp(.12em,1vw,.22em);font-size:clamp(.72rem,2.8vw,.82rem);font-weight:900}.remote-led{color:#9aa5a2;text-align:center;background:#00000038;border:1px solid #ffffff1a;border-radius:999px;min-width:58px;padding:5px 10px;font-size:.76rem;font-weight:900}.remote-led.on{color:#091510;background:#74d9a8}.lcd-screen{color:#09201c;background:linear-gradient(135deg,#e9fff63d,#0000 42%),linear-gradient(#8bded3,#62b8b9);border:1px solid #a8e1dd6b;border-radius:20px;padding:clamp(12px,4vw,16px);box-shadow:inset 0 1px #ffffff8c,inset 0 -14px 28px #114b542e,0 16px 32px #0000003d}.lcd-header{color:#07211eb8;letter-spacing:clamp(.08em,.8vw,.16em);text-transform:uppercase;flex-wrap:wrap;font-size:clamp(.62rem,2.6vw,.72rem);font-weight:900;line-height:1.2}.lcd-status-row{color:#0e2f2a;letter-spacing:.08em;flex-wrap:wrap;margin-top:12px;font-size:clamp(.9rem,4vw,1.02rem)}.is-off{color:#343e3cd1}.is-on{color:#073127}.lcd-temperature{color:#082d28;justify-content:center;align-items:flex-start;margin:2px 0 6px;display:flex}.lcd-temperature span{font-size:clamp(3.35rem,18vw,5rem);font-weight:900;line-height:.95}.lcd-temperature sup{margin-top:clamp(8px,3vw,12px);font-size:clamp(1rem,4.8vw,1.4rem);font-weight:900}.lcd-grid{color:#07211ed6;grid-template-columns:repeat(auto-fit,minmax(min(126px,100%),1fr));gap:7px 12px;font-size:.88rem;font-weight:800;display:grid}.lcd-grid span{overflow-wrap:anywhere;min-width:0}.lcd-message{color:#07211ebd;min-height:1.2rem;margin:12px 0 0;font-size:.82rem;font-weight:800}.power-button{color:#f8fffc;width:100%;min-height:clamp(56px,15vw,66px);font:inherit;cursor:pointer;border:0;border-radius:22px;grid-template-columns:auto auto;place-content:center;align-items:center;gap:12px;margin:clamp(14px,4vw,18px) 0;font-size:clamp(.94rem,4vw,1.02rem);font-weight:900;transition:opacity .18s,transform .18s,filter .18s;display:grid}.power-off{color:#07120f;background:linear-gradient(#84ddb0,#55bd88);box-shadow:0 14px 28px #4abe8033}.power-on{background:linear-gradient(#cf6571,#a94350);box-shadow:0 14px 28px #a9435040}.power-symbol{border:3px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;position:relative}.power-symbol:before{content:"";background:currentColor;border-radius:999px;width:3px;height:12px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.control-section{margin-top:14px}.control-section.compact{margin-top:0}.remote-label{color:#b8c6c2;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:900}.temp-control{grid-template-columns:clamp(56px,18vw,76px) minmax(0,1fr) clamp(56px,18vw,76px);align-items:center;gap:clamp(8px,3vw,12px);display:grid}.round-button{aspect-ratio:1;color:#eef7f4;width:100%;min-height:0;font:inherit;cursor:pointer;background:linear-gradient(#3f4a48fa,#191f1efa),#222b29;border:1px solid #ffffff1a;border-radius:50%;font-size:clamp(1.85rem,8vw,2.3rem);font-weight:800;transition:opacity .18s,transform .18s,border-color .18s;box-shadow:inset 0 1px #ffffff1a,0 12px 24px #0000003d}.temp-readout{color:#eef7f4;background:#0000002e;border-radius:clamp(16px,5vw,20px);justify-content:center;align-items:baseline;min-height:clamp(58px,18vw,74px);display:flex}.temp-readout span{font-size:clamp(2.25rem,11vw,3rem);font-weight:900}.temp-readout small{color:#9eb0aa;margin-left:4px;font-size:clamp(.98rem,4vw,1.2rem);font-weight:900}.quick-temp-row,.segmented-row,.fan-grid{gap:clamp(6px,2vw,8px);display:grid}.quick-temp-row{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));margin-top:10px}.segmented-row{grid-template-columns:repeat(3,minmax(0,1fr))}.fan-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))}.chip,.remote-button,.utility-button,.powerchill-button{color:#eef7f4;font:inherit;cursor:pointer;background:linear-gradient(#2f3a38f5,#191f1efa),#202826;border:1px solid #ffffff1a;font-weight:850;transition:opacity .18s,transform .18s,border-color .18s,background-color .18s;box-shadow:inset 0 1px #ffffff14,0 10px 18px #0000002e}.chip{border-radius:13px;min-height:clamp(38px,10vw,42px);padding:0;font-size:clamp(.78rem,3.8vw,.92rem)}.remote-button{overflow-wrap:anywhere;border-radius:16px;min-height:clamp(44px,12vw,50px);padding:0 6px;font-size:clamp(.76rem,3.4vw,.88rem)}.chip.active,.remote-button.active,.powerchill-button.active{color:#07120f;background:linear-gradient(#8ee2b8,#61c995);border-color:#7eddb5b8}.powerchill-button{color:#fff3d8;background:linear-gradient(#8b5d36,#5c3b23);border-radius:20px;width:100%;min-height:clamp(52px,13vw,58px);margin-top:16px}.powerchill-button.active{color:#2b1605;background:linear-gradient(#f0bf72,#d9953d)}.remote-footer{margin-top:16px}.utility-button{border-radius:16px;flex:1;min-height:clamp(44px,11vw,46px)}button:focus-visible{outline-offset:3px;outline:2px solid #7eddb59e}@media (width>=700px){.remote-shell{width:min(430px,54vw)}.lock-card{width:min(440px,54vw)}}@media (width<=430px){.lock-screen,.remote-page{align-items:stretch;padding:clamp(8px,3vw,12px)}.remote-shell,.lock-card{border-radius:28px}.segmented-row{grid-template-columns:1fr 1fr 1fr}}@media (width<=340px){.remote-page,.lock-screen{padding:6px}.remote-shell,.lock-card{border-radius:22px}.lcd-grid,.segmented-row{grid-template-columns:1fr 1fr}.temp-control{grid-template-columns:52px minmax(0,1fr) 52px}.remote-footer{grid-template-columns:1fr 1fr;display:grid}}
