:root{color-scheme:dark;--bg: #14161a;--fg: #e6e8ec;--fg-dim: #9aa0a8;--panel: rgba(20, 22, 26, .82);--border: #3a3f47}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font:13px/1.5 ui-sans-serif,system-ui,Hiragino Sans,Noto Sans JP,sans-serif}#viewport{position:relative;width:100%;height:100%}#canvas-host,#label-host{position:absolute;top:0;right:0;bottom:0;left:0}#canvas-host canvas{display:block}#label-host{pointer-events:none;overflow:hidden}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud button,#hud input,#hud select,#hud .panel{pointer-events:auto}.panel{position:absolute;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.notice{left:16px;top:16px;max-width:60ch;white-space:pre-line}.legend{right:16px;top:16px}.panel-title{margin-bottom:8px;color:var(--fg-dim);font-size:12px}.legend-bar{position:relative;height:240px}.legend-bar canvas{display:block;width:16px;height:100%;border:1px solid var(--border);border-radius:2px;image-rendering:auto}.legend-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.legend-tick{position:absolute;left:24px;transform:translateY(-50%);color:var(--fg-dim);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.legend-mark{position:absolute;left:0;width:18px;height:1px;background:var(--fg);box-shadow:0 0 0 1px #00000080}.legend-nodata{display:flex;align-items:center;gap:6px;margin-top:10px;color:var(--fg-dim);font-size:11px}.swatch{flex:none;width:16px;height:12px;border:1px solid var(--border);border-radius:2px}.range{display:flex;align-items:center;gap:4px;margin-top:8px}.range input{width:52px;padding:3px 4px;background:#1c1f24;color:var(--fg);border:1px solid var(--border);border-radius:4px;font:inherit;font-variant-numeric:tabular-nums}.range-sep{color:var(--fg-dim)}.readings{left:16px;bottom:16px;min-width:220px}.reading{display:flex;align-items:center;gap:8px;line-height:1.7}.reading-label{flex:1;color:var(--fg-dim)}.reading-value{font-variant-numeric:tabular-nums}.status{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);color:var(--fg-dim);font-size:11px}.status.stale{color:#ffb454}.controls{display:flex;align-items:center;gap:12px;margin-top:8px}.controls button{padding:4px 10px;background:#1c1f24;color:var(--fg);border:1px solid var(--border);border-radius:4px;font:inherit;cursor:pointer}.controls button:hover{background:#262a31}.toggle{display:flex;align-items:center;gap:5px;color:var(--fg-dim);font-size:11px;cursor:pointer}.credit{position:absolute;left:50%;bottom:6px;transform:translate(-50%);display:flex;gap:10px;color:var(--fg-dim);font-size:10px;white-space:nowrap}.credit a{color:var(--fg-dim);pointer-events:auto}.credit a:hover{color:var(--fg)}.label{padding:3px 6px;background:#14161ac7;border:1px solid var(--border);border-radius:4px;color:var(--fg);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}[data-theme=nerv]{--bg: #000000;--fg: #ffc48c;--fg-dim: #e6b58f;--accent: #ff6b00;--panel: rgba(0, 0, 0, .9);--border: #7a3300;--mincho: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "MS PMincho", serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}[data-theme=nerv] body{background:var(--bg);font-family:var(--mono);letter-spacing:.02em}[data-theme=nerv] #viewport{background:radial-gradient(ellipse 90% 70% at 50% 42%,#23191a,#120e10 45%,#08070a),#08070a}[data-theme=nerv] .panel{background:var(--panel);border:1px solid var(--accent);border-radius:0;padding:0}[data-theme=nerv] .panel:before,[data-theme=nerv] .panel:after{content:"";position:absolute;width:10px;height:10px;border:2px solid var(--accent);pointer-events:none}[data-theme=nerv] .panel:before{top:-4px;left:-4px;border-right:none;border-bottom:none}[data-theme=nerv] .panel:after{right:-4px;bottom:-4px;border-left:none;border-top:none}[data-theme=nerv] .panel-title{margin:0 0 10px;padding:3px 10px;background:var(--accent);color:#000;font-family:var(--mincho);font-size:12px;font-weight:700;letter-spacing:.18em}[data-theme=nerv] .legend,[data-theme=nerv] .readings,[data-theme=nerv] .peak,[data-theme=nerv] .notice{padding-bottom:10px}[data-theme=nerv] .legend,[data-theme=nerv] .notice{top:48px}[data-theme=nerv] .legend-bar,[data-theme=nerv] .legend-nodata,[data-theme=nerv] .range,[data-theme=nerv] .reading,[data-theme=nerv] .status,[data-theme=nerv] .controls{margin-left:10px;margin-right:10px}[data-theme=nerv] .notice{padding:10px 12px}[data-theme=nerv] .legend-bar{width:56px}[data-theme=nerv] .legend-bar canvas{border:1px solid var(--border);border-radius:0}[data-theme=nerv] .legend-tick,[data-theme=nerv] .reading-value{color:var(--fg);font-family:var(--mono)}[data-theme=nerv] .legend-mark{background:var(--accent);box-shadow:0 0 4px var(--accent)}[data-theme=nerv] .reading-label,[data-theme=nerv] .legend-nodata,[data-theme=nerv] .toggle{color:var(--fg-dim)}[data-theme=nerv] .reading-label{font-size:13px}[data-theme=nerv] .reading-value{font-size:15px;font-weight:700}[data-theme=nerv] .swatch{border:1px solid var(--border);border-radius:0}[data-theme=nerv] .range input,[data-theme=nerv] .controls button{background:#000;color:var(--fg);border:1px solid var(--accent);border-radius:0;font-family:var(--mono)}[data-theme=nerv] .controls button:hover{background:var(--accent);color:#000}[data-theme=nerv] .status{border-top:1px solid var(--border);color:var(--fg-dim);font-size:12px}[data-theme=nerv] .status.stale{position:relative;margin-top:8px;padding:6px 8px 6px 22px;border:1px solid var(--accent);background:#000;color:var(--accent);font-weight:700}[data-theme=nerv] .status.stale:before{content:"";position:absolute;left:0;top:0;bottom:0;width:12px;background:repeating-linear-gradient(-45deg,var(--accent) 0 6px,#000 6px 12px);animation:hazard 1.1s steps(2) infinite}@keyframes hazard{50%{opacity:.35}}[data-theme=nerv] .label{background:#000c;border:1px solid var(--accent);border-radius:0;color:var(--fg);font-family:var(--mono)}.fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}[data-theme=plain] .fx{display:none}.fx-grid{background-image:repeating-linear-gradient(0deg,rgba(255,107,0,.13) 0 1px,transparent 1px 64px),repeating-linear-gradient(60deg,rgba(255,107,0,.13) 0 1px,transparent 1px 64px),repeating-linear-gradient(120deg,rgba(255,107,0,.13) 0 1px,transparent 1px 64px)}.fx-scanlines{background-image:repeating-linear-gradient(#0000 0,#0000 2px,#0000001c 2px,#0000001c 3px)}.fx-vignette{background:radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.62) 100%)}.chrome-top{position:absolute;left:0;right:0;top:0;display:flex;align-items:baseline;gap:14px;height:30px;padding:0 18px;border-bottom:1px solid rgba(255,107,0,.45);background:linear-gradient(rgba(0,0,0,.75),transparent);color:var(--accent, #ff6b00)}.chrome-title{font-family:var(--mincho, serif);font-size:15px;font-weight:700;letter-spacing:.4em}.chrome-sub{flex:1;font-family:var(--mono, monospace);font-size:10px;letter-spacing:.3em;opacity:.7}.chrome-clock{font-family:var(--mono, monospace);font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.15em}[data-theme=nerv] .panel-title:before{content:attr(data-index) "  ";opacity:.65}[data-theme=nerv] .status:before{content:"●";margin-right:6px;color:var(--accent);animation:blink 1.6s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.peak{right:16px;bottom:16px;min-width:190px}.peak-body{display:flex;align-items:baseline;gap:6px;padding:2px 10px 6px}.peak-value{font-family:var(--mono, monospace);font-size:46px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:var(--fg)}.peak-unit{font-size:14px;color:var(--fg-dim)}.peak-where{flex:1;text-align:right;font-family:var(--mono, monospace);font-size:12px;color:var(--fg-dim)}[data-theme=nerv] .peak-value{text-shadow:0 0 12px rgba(255,107,0,.6)}.boot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;min-width:22ch;padding:14px 18px;border:1px solid var(--accent, #ff6b00);background:#000000db;color:var(--fg, #ffb060);font-family:var(--mono, monospace);font-size:12px;line-height:1.9;letter-spacing:.1em;transition:opacity .6s;pointer-events:none}.boot-done{opacity:0}.boot-line{animation:boot-in .18s ease-out}@keyframes boot-in{0%{opacity:0;transform:translate(-6px)}}
