:root{--bg: #0b0c0e;--panel: #14161a;--panel2: #191d22;--border: #191d22;--text: #eef1f5;--text-dim: #787f89;--heading-dim: #5e656f;--accent: #ff6a4d;--accent-dim: #7a3527;--green: #2fbf71;--green-dim: #163d27;--red: #e5484d;--red-dim: #4a1f21;--blue: #4d7ea6;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;width:100%}body{background:var(--bg);color:var(--text);margin:0 auto;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));line-height:1.5;min-height:100vh;min-height:100dvh;overflow-x:hidden;width:100%;max-width:1520px}h1{font-size:1.6em;margin:0 0 4px}h2{font-size:1.15em;margin:0 0 12px;color:var(--text)}.subtitle{color:var(--text-dim);margin:0 0 24px}.warning-banner{background:var(--red-dim);border:1px solid var(--red);border-radius:8px;padding:12px 16px;margin-bottom:24px;font-size:.92em}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;min-width:0}.grid>*{min-width:0}@media(max-width:950px){.grid{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;min-width:0}.card.full{grid-column:1 / -1}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:9px 16px;font-size:.92em;cursor:pointer;font-family:inherit}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent-dim);border-color:var(--accent)}button.green{background:var(--green-dim);border-color:var(--green)}button.red{background:var(--red-dim);border-color:var(--red)}button.small{padding:5px 10px;font-size:.82em}input[type=text],input[type=number],input[type=file],select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:.9em;width:100%}label{display:block;font-size:.82em;color:var(--text-dim);margin-bottom:4px;margin-top:12px}label:first-child{margin-top:0}input[type=color]{width:100%;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--panel2);padding:2px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.row>*{flex:1;min-width:0}.badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.75em;font-weight:600}.badge.ok{background:var(--green-dim);color:var(--green)}.badge.warn{background:#4a3a16;color:#e0a83a}.badge.off{background:var(--panel2);color:var(--text-dim)}#log{background:#000;border:1px solid var(--border);border-radius:8px;padding:12px;font-family:Consolas,monospace;font-size:.8em;height:180px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.log-line.err{color:var(--red)}.log-line.ok{color:var(--green)}.log-line.info{color:var(--text-dim)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;min-width:480px;border-collapse:collapse;font-size:.88em}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);overflow-wrap:break-word}th{color:var(--text-dim);font-weight:600;font-size:.8em;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.72em;background:var(--panel2);border:1px solid var(--border)}.pill.rpm{color:#ff9a6a;border-color:#7a3527}.pill.temp{color:#6ab7ff;border-color:#234a6b}.pill.p4{color:#2fbf71;border-color:#1c4a30}.progress-bar{height:8px;background:var(--panel2);border-radius:4px;overflow:hidden;margin:10px 0;display:none}.progress-fill{height:100%;background:var(--green);width:0%;transition:width .2s}.sensor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}.sensor-item{background:var(--panel2);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.82em}.sensor-item label{margin:0 0 6px;color:var(--text)}.sensor-item .row{gap:6px}.hint{font-size:.78em;color:var(--text-dim);margin-top:6px}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;color:var(--text-dim);white-space:nowrap;flex:0 0 auto;font-size:.92em}@media(max-width:480px){.tab-btn{padding:9px 10px;font-size:.85em}}.tab-btn.active{color:var(--text);border-bottom-color:var(--accent)}.tab-panel{display:none;min-width:0;max-width:100%;overflow-x:hidden}.tab-panel.active{display:block;overflow-x:hidden}.wifi-in-updating{display:none;min-width:0;max-width:100%;overflow-x:hidden;margin-top:24px}body:has(#tab-usb.active) .wifi-in-updating{display:block}.manual-section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:4px 20px;margin-bottom:16px;max-width:900px}.manual-section summary{cursor:pointer;padding:16px 0;font-size:1.1em;font-weight:600;color:var(--text);list-style:none}.manual-section summary::-webkit-details-marker{display:none}.manual-section summary:before{content:"▸ ";color:var(--accent)}.manual-section[open] summary:before{content:"▾ "}.manual-body{padding-bottom:20px}.manual-body h3{font-size:.98em;margin:18px 0 6px;color:var(--accent)}.manual-body p{color:var(--text);font-size:.92em}.manual-body ul{font-size:.92em;padding-left:20px}.manual-body li{margin-bottom:4px}.manual-diagram{display:block;width:100%;height:auto;margin:12px 0}.manual-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.85em;margin:10px 0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.manual-table th,.manual-table td{border:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:top;overflow-wrap:break-word}.manual-table th{background:var(--panel2);color:var(--text-dim);font-weight:600}.manual-table td{color:var(--text)}.detected-box{border:1px solid var(--border);border-radius:8px;padding:14px;margin:12px 0;display:none}.detected-box.match{border-color:var(--green);background:var(--green-dim)}.detected-box.mismatch{border-color:var(--red);background:var(--red-dim)}footer{color:var(--text-dim);font-size:.8em;margin-top:30px;width:100%}@media(max-width:600px){body{padding:calc(16px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.card{padding:14px}.warning-banner{padding:10px 12px;overflow-wrap:anywhere}}#nl-badge-frame{display:none!important}.studio{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:20px;align-items:start;width:100%;max-width:100%;margin:0 auto 16px;min-width:0}@media(max-width:1100px){.studio{grid-template-columns:minmax(0,1fr)}}.studio-stage{background:radial-gradient(ellipse at 50% 30%,#1a1512 0%,var(--panel) 55%,#0b0c0e 100%);border:1px solid var(--border);border-radius:16px;padding:20px 16px 16px;min-width:0;max-width:100%;overflow-x:hidden}@media(min-width:1101px){body:has(#tab-editor.tab-panel.active) .warning-banner{display:none}.studio{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:stretch;gap:16px;height:var(--studio-h, calc(100dvh - 24px) );max-height:var(--studio-h, calc(100dvh - 24px) )}.studio-stage{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;padding:12px 14px 10px}.studio-stage>.hint{display:none}.studio-inspector{min-width:0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--heading-dim) transparent}.studio-inspector::-webkit-scrollbar{width:8px}.studio-inspector::-webkit-scrollbar-thumb{background:var(--heading-dim);border-radius:8px}}.stage-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:16px;align-items:start;margin-bottom:12px;min-width:0;max-width:100%}@media(min-width:1101px){.stage-workspace{flex:1 1 0;min-height:0;align-items:stretch;margin-bottom:8px;grid-template-rows:minmax(0,1fr)}}@media(max-width:900px){.stage-workspace{grid-template-columns:minmax(0,1fr)}}.bezel{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0}@media(min-width:1101px){.bezel{min-height:0;height:100%;justify-content:center;gap:6px;container-type:size}.panel-bar{margin:0 0 8px;flex-shrink:0}.transport{flex-shrink:0}}.bezel-ring{box-sizing:border-box;width:100%;max-width:var(--bezel-max, 492px);aspect-ratio:var(--bezel-aspect, 1);border-radius:50%;padding:var(--bezel-pad, 16px);background:conic-gradient(from 120deg,#2a2e35,#6d7380,#1c1f24,#8a909a,#2a2e35);box-shadow:0 0 0 1px #111,0 18px 40px #0000008c,inset 0 1px #ffffff40}.gauge-stack{position:relative;width:100%;max-width:var(--glass-max, 460px);min-width:0;aspect-ratio:var(--bezel-aspect, 1);border-radius:50%;overflow:hidden;touch-action:none}.gauge-stack canvas{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;border-radius:50%;background:#000}.tile-layer{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2}.brightness-veil{position:absolute;inset:0;border-radius:50%;background:#000;opacity:.22;pointer-events:none;z-index:1}@media(min-width:1101px){.bezel-ring{width:min(100%,var(--bezel-max, 492px),calc(100cqh - 1.6em));max-width:100%;height:auto}.gauge-stack{max-width:none;width:100%;height:auto}}.bezel.hot .bezel-ring{box-shadow:0 0 0 1px #111,0 0 28px #e5484d8c,0 18px 40px #0000008c}.bezel-meta{text-align:center;color:var(--text-dim);font-size:.72em;letter-spacing:.08em;text-transform:uppercase}.bezel-meta strong{color:var(--text);font-weight:700;letter-spacing:.04em}.panel-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin:0 0 14px}.panel-size{display:flex;flex-direction:column;gap:4px;min-width:min(100%,260px);flex:1 1 240px;font-size:.78em;color:var(--text-dim)}.panel-size select{width:100%}.panel-custom{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}.panel-custom[hidden]{display:none!important}.panel-custom label{display:flex;flex-direction:column;gap:4px;font-size:.78em;color:var(--text-dim)}.panel-field{display:flex;align-items:center;gap:6px;color:var(--text)}.panel-custom input[type=number]{width:5.2em;padding:6px 8px}.info-dock{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:12px;min-width:0;max-height:min(560px,70vh);display:flex;flex-direction:column}@media(min-width:1101px){.info-dock{max-height:none;min-height:0;height:100%;padding:10px}.info-dock .hint{display:none}}.info-dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;flex-wrap:wrap}.info-dock h2{margin:0;font-size:.95em}.info-palette{display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:2px;flex:1}.info-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:7px 10px;border-radius:8px;touch-action:manipulation}.info-chip-name{font-size:.82em}.info-chip-val{font-size:.75em;font-variant-numeric:tabular-nums;color:var(--text-dim);font-weight:600}.info-chip.on{background:var(--accent-dim);border-color:var(--accent)}.info-chip.on .info-chip-val{color:var(--text)}.info-chip.main{opacity:.85}.info-tile{position:absolute;pointer-events:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 8px 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2;overflow:visible;-webkit-tap-highlight-color:transparent}.info-tile.ghost .tile-label,.info-tile.ghost .tile-value,.info-tile.ghost .tile-meter{visibility:hidden}.info-tile.selected{border-color:var(--accent);background:#ff6a4d14;z-index:3;box-shadow:0 0 0 1px var(--accent)}.info-tile:active{cursor:grabbing}.tile-label{font-size:clamp(8px,18%,11px);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);line-height:1.1}.tile-value{font-size:clamp(11px,32%,18px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;text-align:center}.clock-tile .tile-value{letter-spacing:.04em}.clock-tile.face-bold .tile-value{font-weight:900}.clock-tile.face-mono .tile-value{font-family:Courier New,Courier,monospace;font-weight:400}.clock-tile.face-condensed .tile-value{font-stretch:condensed;font-family:Segoe UI Condensed,Arial Narrow,sans-serif}.tile-remove{position:absolute;top:-7px;right:-7px;width:18px;height:18px;padding:0;border-radius:50%;font-size:12px;line-height:1;background:var(--red-dim);border-color:var(--red);display:none;z-index:4}.info-tile.selected .tile-remove{display:grid;place-items:center}.tile-arc,.tile-fill,.tile-name{position:absolute;padding:1px 5px;font-size:9px;line-height:1.2;opacity:0;visibility:hidden;pointer-events:none;z-index:4}.tile-arc{left:4px;bottom:3px}.tile-fill{right:4px;bottom:3px}.tile-name{left:4px;top:3px}.info-tile.selected .tile-arc,.info-tile.selected .tile-fill,.info-tile.selected .tile-name{opacity:1;visibility:visible;pointer-events:auto}.info-tile.selected .tile-arc.is-on,.info-tile.selected .tile-fill.is-on,.info-tile.selected .tile-name.is-on{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.tile-meter{display:none;width:72%;height:3px;background:#2a2d33;border-radius:2px;overflow:hidden;margin-top:2px}.info-tile.arc-on .tile-meter{display:block}.tile-meter-fill{height:100%;width:0;background:var(--accent)}.tile-handle{position:absolute;width:8px;height:8px;background:var(--accent);border:1px solid #fff;border-radius:1px;display:none;z-index:5}.info-tile.selected .tile-handle{display:block}.tile-handle.n{top:-4px;left:50%;margin-left:-4px;cursor:ns-resize}.tile-handle.s{bottom:-4px;left:50%;margin-left:-4px;cursor:ns-resize}.tile-handle.e{right:-4px;top:50%;margin-top:-4px;cursor:ew-resize}.tile-handle.w{left:-4px;top:50%;margin-top:-4px;cursor:ew-resize}.tile-handle.ne{top:-4px;right:-4px;cursor:nesw-resize}.tile-handle.nw{top:-4px;left:-4px;cursor:nwse-resize}.tile-handle.se{bottom:-4px;right:-4px;cursor:nwse-resize}.tile-handle.sw{bottom:-4px;left:-4px;cursor:nesw-resize}@media(hover:hover)and (pointer:fine){.info-tile:hover:not(.selected){border-color:#ffffff24}}@media(pointer:coarse){.tile-handle{width:16px;height:16px;border-width:2px}.tile-handle.n{top:-8px;margin-left:-8px}.tile-handle.s{bottom:-8px;margin-left:-8px}.tile-handle.e{right:-8px;margin-top:-8px}.tile-handle.w{left:-8px;margin-top:-8px}.tile-handle.ne,.tile-handle.nw{top:-8px}.tile-handle.se,.tile-handle.sw{bottom:-8px}.tile-handle.ne,.tile-handle.se{right:-8px}.tile-handle.nw,.tile-handle.sw{left:-8px}.tile-remove{width:28px;height:28px;top:-12px;right:-12px;font-size:16px}.tile-arc,.tile-fill,.tile-name{font-size:11px;padding:5px 8px;min-height:28px}}.tile-ghost{position:fixed;transform:translate(-50%,-50%);pointer-events:none;z-index:80;background:var(--accent-dim);border:1px solid var(--accent);color:var(--text);border-radius:8px;padding:6px 10px;font-size:.82em;font-weight:600;box-shadow:0 8px 24px #0006}body.is-tile-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.scene-bar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}@media(min-width:1101px){.scene-bar{flex-wrap:nowrap;overflow-x:auto;margin:6px 0 4px;padding-bottom:4px;scrollbar-width:thin}.scene-hint{min-height:0;margin:0 0 6px}.drag-hint{margin:4px 0 0}}.scene-btn{flex:0 0 auto;padding:6px 10px;font-size:.78em;border-radius:20px}.scene-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.scene-hint{color:var(--text-dim);font-size:.78em;min-height:1.3em;margin:0 0 10px}.transport{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.transport label{margin:0;color:var(--text-dim);font-size:.78em}.transport input[type=range]{width:110px;flex:0 0 auto}.live-chip{font-variant-numeric:tabular-nums;font-size:.8em;color:var(--text);background:var(--panel2);border:1px solid var(--border);border-radius:20px;padding:4px 10px}.studio-inspector{min-width:0}.inspector-block{margin-bottom:12px}.studio-inspector .inspector-block:last-child{margin-bottom:0}.inspector-block.compact{padding:12px 14px}.inspector-block.compact h2{margin:0 0 8px;font-size:.92em}.inspector-block.compact label{margin-top:0}.inspector-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.inspector-tab-btn{flex:1 1 auto;padding:7px 8px;font-size:.76em;border-radius:8px;color:var(--text-dim);white-space:nowrap}.inspector-tab-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.inspector-panel{display:none}.inspector-panel.active{display:block}@media(max-width:760px){.inspector-tab-btn{min-height:40px;touch-action:manipulation}}.look-hint{margin:0 0 10px;font-size:.75em}@media(min-width:1101px){.look-hint{display:none}.look-sub{margin:10px 0 6px}}.look-sub{margin:12px 0 8px;font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--heading-dim);font-weight:700}.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}@media(min-width:1101px){.purpose-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.purpose-btn{padding:6px 2px 4px}.purpose-thumb{width:28px;height:28px}}.purpose-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;text-align:center;min-width:0}.purpose-btn strong{font-size:.75em;font-weight:700;line-height:1.15}.purpose-btn small{font-size:.62em;color:var(--text-dim);letter-spacing:.01em}.purpose-btn.active{background:var(--accent-dim);border-color:var(--accent)}.purpose-btn.active small{color:var(--text)}.purpose-thumb{width:36px;height:36px;border-radius:50%;position:relative;margin-bottom:2px;background:#050608;box-shadow:inset 0 0 0 1px #ffffff1f;overflow:hidden}.purpose-thumb:before,.purpose-thumb:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}.purpose-thumb.kind-tach:before{inset:4px;background:conic-gradient(from 135deg,#2fbf71 0 38%,#e0a83a 38% 48%,#e5484d 48% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-coolant:before{inset:4px;background:conic-gradient(from 135deg,#4d9fff 0 28%,#2fbf71 28% 48%,#e5484d 48% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-oil-press:before{inset:4px;background:conic-gradient(from 135deg,#e5484d 0 12%,#e0a83a 12% 22%,#2fbf71 22% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-oil-temp:before{inset:4px;background:conic-gradient(from 135deg,#2fbf71 0 40%,#e0a83a 40% 50%,#ff6a4d 50% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-boost:before{inset:4px;background:conic-gradient(from 135deg,#4d7ea6 0 35%,#ff9a6a 35% 55%,#e5484d 55% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-afr:before{inset:4px;background:conic-gradient(from 135deg,#e5484d 0 18%,#2fbf71 18% 48%,#e0a83a 48% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-speed:before{inset:4px;background:conic-gradient(from 135deg,#6ab7ff 0 50%,#4d7ea6 50% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-battery:before{inset:4px;background:conic-gradient(from 135deg,#e5484d 0 14%,#e0a83a 14% 24%,#2fbf71 24% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-clock:after{inset:10px;border:2px solid #cfd5de;background:transparent;box-shadow:inset 0 8px 0 -6px #cfd5de,inset 6px 0 0 -4px #cfd5de}.purpose-thumb.kind-twin:before{inset:3px;background:conic-gradient(from 135deg,#4d7ea6 0 50%,#1a222c 50% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.purpose-thumb.kind-twin:after{inset:9px;background:conic-gradient(from 135deg,#ff9a6a 0 35%,#2a2d33 35% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px))}.purpose-thumb.kind-cluster:before{inset:5px;background:radial-gradient(circle at 30% 40%,#00e8ff 0 2px,transparent 3px),radial-gradient(circle at 70% 40%,#00e8ff 0 2px,transparent 3px),conic-gradient(from 135deg,#00e8ff 0 45%,#123 45% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.face-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:1101px){.face-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.face-preset{padding:6px 4px}.face-thumb{width:40px;height:40px;margin-bottom:2px}.face-preset small{display:none}}.face-preset{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 8px;text-align:center;min-width:0}.face-preset strong{font-size:.82em;font-weight:700;line-height:1.2}.face-preset small{font-size:.68em;color:var(--text-dim);letter-spacing:.02em}.face-preset.active{background:var(--accent-dim);border-color:var(--accent)}.face-preset.active small{color:var(--text)}.face-thumb{width:52px;height:52px;border-radius:50%;position:relative;margin-bottom:4px;background:#050608;box-shadow:inset 0 0 0 1px #ffffff1f;overflow:hidden}.face-thumb:before,.face-thumb:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}.face-thumb.kind-analog:before{inset:6px;background:conic-gradient(from 135deg,#2fbf71 0 38%,#e0a83a 38% 48%,#e5484d 48% 62%,transparent 62% 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}.face-thumb.kind-analog:after{inset:22px 24px 8px;background:#ff2d2d;border-radius:2px;transform:rotate(28deg);transform-origin:50% 10%}.face-thumb.kind-chrome{background:radial-gradient(circle at 40% 30%,#3a3e46,#121418 70%)}.face-thumb.kind-chrome:before{inset:5px;background:conic-gradient(from 135deg,#cfd5de 0 50%,#8a909a 50% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px))}.face-thumb.kind-chrome:after{width:8px;height:8px;inset:22px auto auto 22px;background:#fff;box-shadow:0 0 0 2px #ff6a4d}.face-thumb.kind-neon:before{inset:7px;background:conic-gradient(from 135deg,#00e8ff 0 55%,#123 55% 62%,transparent 62%);filter:drop-shadow(0 0 4px #00e8ff);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 5px))}.face-thumb.kind-ghost:before{inset:8px;opacity:.45;background:conic-gradient(from 135deg,#eef1f5 0 40%,#2a2d33 40% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.face-thumb.kind-twin:before{inset:5px;background:conic-gradient(from 135deg,#4d7ea6 0 50%,#1a222c 50% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}.face-thumb.kind-twin:after{inset:12px;background:conic-gradient(from 135deg,#ff9a6a 0 35%,#2a2d33 35% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.face-thumb.kind-hud{background-image:repeating-linear-gradient(transparent 0 2px,#00507873 2px 3px)}.face-thumb.kind-hud:before{inset:7px;background:conic-gradient(from 135deg,#00e8ff 0 48%,#123 48% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 4px))}.face-thumb.kind-shift:before{inset:18px 6px;border-radius:2px;background:repeating-linear-gradient(90deg,#2a2d33 0 4px,#ff6a4d 4px 7px,#2fbf71 7px 10px)}.face-thumb.kind-apex:before{inset:6px;background:repeating-conic-gradient(from 135deg,#eef1f5 0 2deg,transparent 2deg 9deg);-webkit-mask:radial-gradient(farthest-side,transparent 62%,#000 63% 78%,transparent 79%);mask:radial-gradient(farthest-side,transparent 62%,#000 63% 78%,transparent 79%)}.face-thumb.kind-apex:after{inset:10px;background:conic-gradient(from 135deg,#2fbf71 0 45%,#2a2d33 45% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.face-thumb.kind-blood{background:#120000}.face-thumb.kind-blood:before{inset:6px;background:conic-gradient(from 135deg,#e5484d 0 55%,#4a1f21 55% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}.face-thumb.kind-blood:after{inset:22px 24px 8px;background:#e5484d;border-radius:2px;transform:rotate(40deg);transform-origin:50% 10%}.face-thumb.kind-warp:before{inset:6px;background:conic-gradient(from 135deg,#4d7ea6 0 50%,#122 50% 62%,transparent 62%);filter:drop-shadow(0 0 3px #6ab7ff);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 4px))}.face-thumb.kind-warp:after{inset:13px;background:conic-gradient(from 135deg,#6ab7ff 0 30%,#1a2430 30% 62%,transparent 62%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.look-row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:8px;align-items:center;margin-bottom:7px}.look-row>span{font-size:.72em;color:var(--text-dim)}.look-opts{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.look-opts button{padding:5px 8px;font-size:.72em;line-height:1.2}.look-opts button.active{background:var(--accent-dim);border-color:var(--accent)}.look-row select{width:100%;padding:6px 8px;font-size:.82em}.look-chk{display:flex;align-items:center;gap:6px;margin:4px 0 0;color:var(--text);font-size:.78em}.look-chk input{margin:0}.preset-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.preset-btn{padding:4px 8px;font-size:.72em}.swatch-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:end}.swatch-row label{margin:0!important;font-size:.68em;letter-spacing:.02em;text-align:center;display:flex;flex-direction:column;gap:4px}.swatch-row input[type=color]{display:block;width:100%;height:22px!important;padding:0;margin:0;border-radius:4px;cursor:pointer}.row.tight{gap:8px}.row.tight>*{min-width:0}.row.tight label{margin-top:0;margin-bottom:3px;font-size:.72em}.row.tight input{padding:6px 8px;font-size:.82em}#scaleRpm[hidden],#scaleAux[hidden]{display:none!important}.display-row{display:flex;align-items:end;gap:10px;margin-bottom:8px;flex-wrap:wrap}.display-row label{margin:0;flex:1}.display-row input[type=number]{padding:6px 8px}.display-row .chk{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--text);font-size:.78em}.clock-face-row{display:grid;grid-template-columns:1fr 1fr;gap:5px}.clock-face-btn{padding:7px 6px 6px;text-align:center;line-height:1.15}.clock-face-btn small{display:block;font-size:.68em;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.clock-face-btn .clock-preview{font-variant-numeric:tabular-nums;font-size:.92em;color:var(--text)}.clock-face-btn[data-face="1"] .clock-preview{font-weight:900}.clock-face-btn[data-face="2"] .clock-preview{font-family:Courier New,Courier,monospace;font-weight:400;letter-spacing:.04em}.clock-face-btn[data-face="3"] .clock-preview{font-family:Segoe UI Condensed,Arial Narrow,sans-serif;letter-spacing:.08em}.clock-face-btn.active{background:var(--accent-dim);border-color:var(--accent)}.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-top:10px}@media(max-width:520px){.telemetry-grid{grid-template-columns:1fr}}.telem{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.telem header{display:flex;justify-content:space-between;gap:8px;font-size:.75em;color:var(--text-dim);margin-bottom:4px}.telem header strong{color:var(--text);font-variant-numeric:tabular-nums}.telem input[type=range]{width:100%;margin:0;padding:0;accent-color:var(--accent)}details.card>summary{cursor:pointer;font-weight:700;font-size:1.15em;list-style:none}details.card>summary::-webkit-details-marker{display:none}details.card>summary:after{content:"Show";float:right;font-size:.72em;font-weight:600;color:var(--text-dim)}details.card[open]>summary:after{content:"Hide"}.drag-hint{font-size:.72em;color:var(--heading-dim);text-align:center;margin:8px 0 0}@media(max-width:760px){.bezel-ring{padding:10px}.studio-stage{padding:12px 10px}.studio-stage .hint{font-size:.82em}.info-dock{max-height:none}.info-chip{min-height:44px;padding:10px 12px}.scene-btn{padding:8px 12px;min-height:36px}.clock-face-btn,.face-preset,.purpose-btn,.look-opts button{min-height:44px;touch-action:manipulation}.face-preset{min-height:88px}.purpose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.look-row{grid-template-columns:1fr;gap:4px}.row.tight{flex-direction:column}.row.tight>*{width:100%}.swatch-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.transport{width:100%}.transport input[type=range]{width:min(110px,100%)}.transport label{flex:1 1 auto;min-width:0}#tab-editor .row input[type=text]{flex:1 1 100%}#tab-editor .row button{flex:1 1 calc(50% - 10px)}}.datalog-filename{font-size:1em}.datalog-toggles{margin-bottom:14px}.datalog-toggles .sensor-item{opacity:1}.datalog-toggles .sensor-item.empty{opacity:.4}.datalog-toggles label{display:flex;align-items:center;gap:6px;margin:0;color:var(--text);cursor:pointer}.datalog-toggles input[type=checkbox]{width:auto;margin:0}.datalog-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.datalog-canvas-wrap{position:relative}.datalog-canvas-wrap canvas{display:block;width:100%;height:auto;background:#000;border-radius:8px;border:1px solid var(--border);cursor:crosshair;touch-action:none}.datalog-readout{font-family:Consolas,Cascadia Mono,ui-monospace,monospace;font-size:.85em;white-space:pre-wrap;margin-top:10px;min-height:1.4em}.datalog-chart-card[hidden]{display:none!important}
