:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#0b1220;color:#e5edf8;--border:#26364c;--muted:#92a6c1;--stage-height:clamp(260px,45vh,500px)}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 10% 0,#142940 0,transparent 50%),#0b1220;min-height:100dvh}button,input,select{font:inherit}button{border:1px solid transparent;border-radius:8px;padding:9px 14px;background:#3180ed;color:white;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}button:hover{filter:brightness(1.12)}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:#1c2b40;border-color:#31435b;color:#d6e3f4}button.text-button{background:transparent;border:0;color:#7db4ff;padding:3px;font-size:12px}input,select{border:1px solid #35465e;border-radius:7px;background:#0c1727;color:#e5edf8;padding:9px;min-width:0}input[type=checkbox]{accent-color:#4793ff;width:16px;height:16px;flex-shrink:0}main{max-width:1840px;padding:28px 32px 60px;margin:auto}h1{font-size:26px;letter-spacing:-.6px;margin:5px 0 8px}h2{font-size:18px;margin:0}p{color:var(--muted);font-size:13px;line-height:1.6;margin:6px 0}.eyebrow{font-size:11px;letter-spacing:2px;color:#70b3fa}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.header-right{display:flex;align-items:center;gap:16px}#status{font-size:12px;color:var(--muted)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;margin-bottom:12px;border-top:1px solid var(--border)}.selection{display:flex;gap:16px;align-items:center}.selection span{font-size:12px;color:var(--muted)}.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:20px;align-items:start}.device-card{background:#101d2e;border:1px solid var(--border);border-radius:14px;overflow:hidden;min-width:0}.device-card.selected{border-color:#438bf0;box-shadow:0 0 0 1px #438bf030}.device-card.expanded{grid-column:1/-1;--stage-height:65vh}.device-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;min-height:74px}.device-title{display:flex;align-items:center;gap:10px;min-width:0}.device-title span{display:grid;gap:4px;min-width:0}.device-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-meta{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.badge{font-size:11px;white-space:nowrap;background:#1b3046;color:#b0c6de;padding:5px 8px;border-radius:6px}.badge.online{background:#123c32;color:#84dbb7}.badge.owned{background:#193e69;color:#92c4ff}.screen-shell{height:var(--stage-height);display:flex;align-items:center;justify-content:center;background:#03070c;padding:0;overflow:hidden}.stage{position:relative;width:min(100%,calc(var(--stage-height)*var(--aspect,1.77778)));aspect-ratio:var(--aspect,1.77778);overflow:hidden}.video,.compatible-video{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.compatible-video{position:absolute;inset:0}.touch-layer{position:absolute;inset:0;touch-action:none;cursor:crosshair}.start-video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5}.video-info{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;min-height:36px}.video-status{font-size:11px;color:var(--muted)}.device-tools,nav,.hicar-actions{display:flex;gap:6px;padding:0 14px 10px}.device-tools button,nav button,.hicar-actions button{flex:1;padding:8px 6px;white-space:nowrap}.device-result{display:block;font-size:12px;line-height:1.5;padding:0 14px 10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;color:#b4c9df}.device-result:empty{padding:0}.test-panel,.runs-panel{background:#101d2e;border:1px solid var(--border);border-radius:14px;padding:22px;margin-top:24px}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.panel-heading>span{font-size:12px;color:var(--muted)}.test-controls,.step-editor{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0}.test-controls label{display:grid;gap:6px;font-size:12px;color:var(--muted)}#rounds{width:80px}#test-name{width:230px}#step-device{max-width:250px}#step-value{flex:1;min-width:180px}.hint{font-size:12px}#steps{font-size:13px;padding-left:26px;color:#bfd0e5;max-height:250px;overflow:auto}#steps li{margin:8px 0}#steps button{margin-left:10px;padding:2px 7px;background:#23354b}#record.recording{background:#912b48;border-color:#e35a78}#record-status{color:#f59bb3}.run{border-top:1px solid var(--border);padding:15px 0;font-size:13px}.run:first-child{border-top:0}.run-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.run-top a,.run a{color:#89baff}.run p{font-size:12px}.run details{margin-top:8px}.run ol{line-height:1.8;padding-left:24px}.run .failure{color:#ffaf9f}.empty{border:1px dashed #3d506a;border-radius:12px;padding:60px 20px;text-align:center;color:var(--muted)}#notice{position:sticky;top:10px;z-index:10;background:#52283a;border:1px solid #88465c;border-radius:8px;padding:12px 16px;margin-bottom:12px;font-size:13px}.connecting,.dialog{min-height:100dvh;display:grid;place-content:center;color:var(--muted)}.login-card{display:grid;gap:15px;width:min(90vw,400px);padding:30px;background:#132135;border-radius:12px}
@media(max-width:760px){main{padding:18px 12px 40px}.page-header{align-items:start;gap:10px}.header-right{flex-direction:column;align-items:end;gap:8px}h1{font-size:21px}.page-header p{font-size:12px}.toolbar{align-items:start;flex-direction:column;gap:12px}.toolbar-actions{width:100%}.device-grid{grid-template-columns:1fr}.test-panel,.runs-panel{padding:16px}.panel-heading{align-items:start;flex-direction:column;gap:4px}.step-editor>*{width:100%;max-width:none!important}.test-controls{gap:8px}#test-name{width:190px}:root{--stage-height:clamp(290px,48vh,460px)}}
