@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Space+Mono:wght@400;700&display=swap";:root{--bg: #080808;--bg-panel: rgba(6, 16, 6, .84);--line: rgba(0, 255, 0, .34);--line-strong: rgba(0, 255, 0, .7);--txt-primary: #00ff6a;--txt-accent: #00ffd5;--txt-soft: rgba(0, 255, 106, .64);--txt-error: #ff5959}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 10%,#102710 0%,var(--bg) 46%);color:var(--txt-primary);font-family:Share Tech Mono,Space Mono,Courier New,monospace;min-width:320px}button,input,textarea{font:inherit;color:inherit}.app-shell{min-height:100vh;padding:16px;position:relative}.hexagon-bg{position:fixed;inset:0;z-index:0;opacity:.13;background-image:repeating-linear-gradient(0deg,transparent,transparent 52px,rgba(0,255,0,.07) 52px,rgba(0,255,0,.07) 53px),repeating-linear-gradient(60deg,transparent,transparent 52px,rgba(0,255,0,.07) 52px,rgba(0,255,0,.07) 53px),repeating-linear-gradient(120deg,transparent,transparent 52px,rgba(0,255,0,.07) 52px,rgba(0,255,0,.07) 53px);pointer-events:none}.panel{position:relative;z-index:1;max-width:1100px;margin:0 auto;border:1px solid var(--line-strong);background:var(--bg-panel);box-shadow:0 0 26px #00ff6a2b,inset 0 0 16px #00ff6a12}.panel-header{border-bottom:1px solid var(--line);padding:14px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-title{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-subtitle{color:var(--txt-accent)}.auth-panel{margin-top:10vh;max-width:520px}.terminal-line{margin:0;padding:16px 18px 4px;color:var(--txt-soft)}.terminal-user{color:var(--txt-accent);margin-right:6px}.terminal-host{color:#ffe450;margin-right:6px}.terminal-form{padding:12px 18px 22px;display:grid;gap:8px}.field-label{color:var(--txt-soft);margin-top:6px;font-size:.93rem}.terminal-input,.terminal-textarea{border:1px solid var(--line-strong);background:#00000070;padding:11px 12px;outline:none;transition:box-shadow .2s ease,border-color .2s ease}.terminal-input:focus,.terminal-textarea:focus{border-color:var(--txt-accent);box-shadow:0 0 10px #00ffd540}.terminal-button,.terminal-ghost-button,.terminal-mini-button{border:1px solid var(--line-strong);background:transparent;color:var(--txt-primary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background-color .2s ease,color .2s ease}.terminal-button{padding:11px 12px;margin-top:12px}.terminal-button:hover,.terminal-button:focus-visible,.terminal-mini-button:hover,.terminal-mini-button:focus-visible{background:var(--txt-primary);color:#031203}.terminal-ghost-button{padding:8px 10px}.terminal-ghost-button:hover,.terminal-ghost-button:focus-visible{background:#00ff6a1f}.terminal-button:disabled{opacity:.6;cursor:not-allowed}.terminal-error{color:var(--txt-error);margin:8px 0 0}.dashboard-panel{padding:18px;display:grid;gap:18px}.dashboard-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.dashboard-header h1{margin:0;font-size:clamp(1.05rem,3vw,1.7rem);text-transform:uppercase;letter-spacing:.09em}.dashboard-header p{margin:6px 0 0;color:var(--txt-soft);font-size:.94rem}.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap}.status-strip{border:1px dashed var(--line);padding:10px;display:flex;flex-wrap:wrap;gap:12px;color:var(--txt-soft);font-size:.93rem}.config-editor{border:1px solid var(--line);padding:12px;display:grid;gap:10px;background:#00000059}.config-editor h2{margin:0;text-transform:uppercase;font-size:1rem}.config-editor p{margin:4px 0 0;color:var(--txt-soft);font-size:.9rem}.terminal-textarea{min-height:220px;resize:vertical}.config-actions{display:flex;gap:10px;flex-wrap:wrap}.group-section{display:grid;gap:11px}.group-section h2{margin:0;text-transform:uppercase;color:var(--txt-accent);letter-spacing:.08em;font-size:.96rem}.controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:12px}.control-card{border:1px solid var(--line);background:#0006;padding:12px;display:grid;gap:10px;height:100%}.control-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.control-header h3{margin:0;font-size:1.04rem}.control-type{color:var(--txt-soft);text-transform:uppercase;font-size:.74rem}.control-description{margin:0;color:var(--txt-soft);font-size:.92rem}.radio-grid{display:flex;gap:8px;flex-wrap:wrap}.radio-chip{border:1px solid var(--line-strong);background:transparent;color:inherit;min-width:124px;padding:8px 11px;text-transform:uppercase;letter-spacing:.04em;display:grid;grid-template-columns:auto 1fr 1ch;align-items:center;gap:7px;cursor:pointer}.radio-chip.is-active{background:#00ff6a26;border-color:var(--txt-primary)}.radio-chip-led{color:var(--txt-accent)}.radio-chip-label{text-align:left}.radio-chip-spinner{display:inline-block;width:1ch;text-align:center;color:var(--txt-soft)}.control-pending{margin:0;color:var(--txt-soft);font-size:.84rem;letter-spacing:.03em}.terminal-button-inline{display:inline-grid;grid-template-columns:1fr 1ch;gap:10px;align-items:center;min-width:148px}.button-label{text-align:left}.button-spinner{display:inline-block;width:1ch;text-align:center;color:var(--txt-soft)}.slider-row{display:grid;grid-template-columns:40px 1fr 40px;gap:10px;align-items:center}.terminal-mini-button{width:40px;height:36px}.terminal-slider{width:100%;accent-color:var(--txt-primary)}.slider-meta{display:flex;justify-content:space-between;align-items:center;color:var(--txt-soft);font-size:.88rem;gap:8px}.slider-meta strong{color:var(--txt-primary);font-size:1.1rem}@media(max-width:720px){.app-shell{padding:8px}.dashboard-panel{padding:12px}.controls-grid{grid-template-columns:1fr}}
