:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f7fb;font-synthesis:none;text-rendering:optimizelegibility;--background:#0b0f14;--surface:#121821;--surface-raised:#171f2a;--surface-soft:#1d2632;--border:#2a3544;--text:#f4f7fb;--text-muted:#93a0b2;--accent:#54d2c6;--accent-strong:#74e8dc;--success:#6bd890;--warning:#efc56a;--danger:#ef7f7f;--led-red:#ff6c6c;--led-yellow:#ffd86f;--shadow:0 18px 50px #0000003d;background:#0b0f14;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}textarea,input[type=number]{border:1px solid var(--border);width:100%;color:var(--text);background:#0e141c;border-radius:10px;outline:none}textarea{resize:vertical;padding:12px 14px;line-height:1.45}input[type=number]{min-height:40px;padding:8px 10px}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #54d2c61f}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(1.9rem,4vw,3.3rem)}h2{margin-bottom:0;font-size:1.2rem}h3{margin-bottom:0;font-size:1rem}label{color:var(--text-muted);gap:8px;font-size:.88rem;font-weight:650;display:grid}button,textarea,input{transition:border-color .14s,background-color .14s,transform .14s}button:not(:disabled):active{transform:translateY(1px)}.app-shell{width:min(1500px,100% - 32px);margin:0 auto;padding:28px 0 64px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 2px 26px;display:flex}.app-header__subtitle{color:var(--text-muted);margin-bottom:0;font-size:1rem}.app-header__badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.badge{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text-muted);letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:.76rem;font-weight:800;display:inline-flex}.badge--mock{color:var(--warning);border-color:#efc56a73}.badge--online{color:var(--success)}.status-dot{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #6bd8901a}.status-dot--inactive{background:var(--text-muted);box-shadow:none}.dashboard{gap:22px;padding-top:22px;display:grid}.dashboard__hero{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:22px;display:grid}.card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px}.card__heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:850}.feedback-strip{border:1px solid var(--border);min-height:44px;color:var(--text-muted);background:#0e141c;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:.82rem;display:flex}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:0 2px;display:flex}.section-heading>p{max-width:560px;color:var(--text-muted);text-align:right;margin-bottom:0;font-size:.82rem;line-height:1.45}.button{border:1px solid #0000;border-radius:9px;min-height:40px;padding:9px 13px;font-weight:800}.button--primary{background:var(--accent);color:#071211}.button--secondary{color:var(--accent-strong);background:#54d2c617;border-color:#54d2c666}.button--danger{color:#ffb0b0;background:#ef7f7f1c;border-color:#ef7f7f61}.button--quiet{border-color:var(--border);background:var(--surface-soft);color:var(--text)}.small-status{color:var(--text-muted);font-size:.75rem}@media (width<=1040px){.dashboard__hero{grid-template-columns:1fr}}@media (width<=780px){.app-shell{width:min(100% - 20px,1500px);padding-top:18px}.app-header,.section-heading{flex-direction:column;align-items:flex-start}.app-header__badges{justify-content:flex-start}.section-heading>p{text-align:left}}.display-preview{padding:20px}.display-preview__brightness{color:var(--text-muted);font-size:.8rem;font-weight:700}.display-preview__note{color:var(--text-muted);margin:14px 0 0;font-size:.78rem}.matrix-preview{margin-top:18px}.matrix-preview__labels{color:var(--text-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:8px;font-size:.72rem;font-weight:700;display:grid}.matrix-preview__labels span:first-child{padding-left:2px}.matrix-preview__labels span:last-child{text-align:right;padding-right:2px}.matrix-preview__frame{aspect-ratio:2;background:#020304;border:1px solid #29313d;border-radius:10px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,inset 0 0 30px #000c}.matrix-preview__canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;background:#020304;transition:opacity .12s;display:block}.matrix-preview__divider{z-index:2;pointer-events:none;background:#b4ccd67a;width:1px;position:absolute;top:0;bottom:0;left:50%;box-shadow:-1px 0 #00000059,1px 0 #00000059}.device-status{flex-direction:column;gap:22px;padding:20px;display:flex}.device-status__online{color:var(--success);text-transform:uppercase;border:1px solid #6bd89047;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800}.device-status__grid{border:1px solid var(--border);background:var(--border);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;margin:0;display:grid;overflow:hidden}.device-status__grid div{background:var(--surface-raised);min-width:0;padding:12px}.device-status__grid dt{color:var(--text-muted);margin-bottom:4px;font-size:.72rem}.device-status__grid dd{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;font-weight:750;overflow:hidden}.power-meter{margin-top:auto}.power-meter__header{justify-content:space-between;gap:12px;margin-bottom:9px;font-size:.78rem;display:flex}.power-meter__header span{color:var(--text-muted)}.power-meter__track{background:#0b1016;border-radius:999px;height:9px;overflow:hidden}.power-meter__fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.power-meter p{color:var(--text-muted);margin:9px 0 0;font-size:.72rem;line-height:1.45}@media (width<=780px){.matrix-preview__frame{border-radius:8px}}.command-composer{padding:20px}.command-composer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.command-block{border:1px solid var(--border);background:var(--surface-raised);border-radius:12px;gap:14px;padding:16px;display:grid}.command-block__heading{justify-content:space-between;align-items:flex-start;display:flex}.command-code{color:var(--text-muted);letter-spacing:.04em;margin-bottom:4px;font-family:SFMono-Regular,Consolas,monospace;font-size:.64rem;display:block}.inline-field{grid-template-columns:90px auto;align-items:center;gap:9px;display:grid}.inline-field span{color:var(--text-muted)}.command-composer__footer{grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px;display:grid}.song-guess-control,.brightness-control{border:1px solid var(--border);background:#0f151d;border-radius:12px;padding:16px}.song-guess-control{justify-content:space-between;align-items:center;gap:16px;display:flex}.song-guess-control p{max-width:580px;color:var(--text-muted);margin:7px 0 0;font-size:.82rem;line-height:1.45}.brightness-control__heading,.brightness-control__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.brightness-control__heading strong{color:var(--accent);font-size:1.25rem}.brightness-control input[type=range]{width:100%;accent-color:var(--accent);margin:20px 0 12px}.brightness-control__actions span{color:var(--text-muted);font-size:.72rem;line-height:1.4}.data-modes{gap:14px;display:grid}.data-modes__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.data-mode-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:16px;padding:18px;display:grid}.data-mode-card h3{font-size:1.45rem}.data-mode-card__subtitle{color:var(--text-muted);margin:7px 0 0}.data-mode-card ul{color:var(--text-muted);gap:7px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.data-mode-card li{border-top:1px solid #2a354499;padding-top:7px}.command-history{padding:20px}.command-history__list{border:1px solid var(--border);background:var(--border);border-radius:12px;gap:1px;margin-top:18px;display:grid;overflow:hidden}.command-history__row{background:var(--surface-raised);justify-content:space-between;align-items:center;gap:20px;padding:13px 14px;display:flex}.command-history__row>div:first-child{gap:3px;min-width:0;display:grid}.command-history__row>div:first-child>span:last-child{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.command-history__meta{flex:none;align-items:center;gap:12px;display:flex}.command-history__meta time{color:var(--text-muted);font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem}.history-status{text-align:center;border-radius:999px;min-width:68px;padding:5px 7px;font-size:.64rem;font-weight:850}.history-status--done{color:var(--success);background:#6bd8901a}.history-status--running,.history-status--queued{color:var(--warning);background:#efc56a1a}.history-status--failed{color:var(--danger);background:#ef7f7f1a}@media (width<=1040px){.command-composer__footer{grid-template-columns:1fr}}@media (width<=780px){.command-composer__grid,.data-modes__grid{grid-template-columns:1fr}.song-guess-control,.brightness-control__actions,.command-history__row{flex-direction:column;align-items:flex-start}.command-history__meta{justify-content:space-between;width:100%}}
