:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#d7dfe9;background:#10161f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface: #17202c;--border: #2a3645;--muted: #9aaabd;--accent: #77dfcb;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}body{margin:0;min-width:360px}button,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled,select:disabled{cursor:default}button:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button{border:1px solid var(--border);background:#202c3b;border-radius:6px;padding:8px 13px}button:hover:not(:disabled){background:#2c3c4f}code,textarea{font-family:var(--mono)}a{color:#b7c8dc;text-underline-offset:3px}a:hover{color:var(--accent)}.app{max-width:1920px;margin:auto}.app-header{padding:25px 30px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand,.header-actions{display:flex;align-items:center;gap:15px}.brand-mark{font:600 21px var(--mono);color:var(--accent);border:1px solid #3a776c;border-radius:11px;padding:11px 9px;background:#17352f}h1{margin:0 0 4px;font-size:21px;letter-spacing:-.5px;font-weight:650}.brand p{color:var(--muted);font-size:13px;margin:0}.header-actions{gap:24px}.local-badge{font-size:12px;color:#b7c8c0;white-space:nowrap}.local-badge>span{display:inline-block;height:6px;width:6px;border-radius:50%;background:var(--accent);margin-right:7px}button.primary{background:var(--accent);border-color:var(--accent);color:#122a26;font-weight:650;font-size:13px;padding:9px 16px}button.primary:hover{background:#a0efde}main{padding:0 26px}.toolbar{min-height:78px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:16px 0}.toolbar-group,.stats{display:flex;align-items:center;gap:12px}.toolbar label{font-size:12px;color:var(--muted)}.toolbar label:not(:first-child){margin-left:12px}select{max-width:270px;border:1px solid var(--border);border-radius:6px;padding:7px 28px 7px 9px;background:#1b2532;color:#d7dfe9;font-size:12px}.url-form{display:flex;align-items:center;gap:8px;flex:1 1 320px;min-width:0;max-width:640px}.url-form label{font-size:12px;color:var(--muted)}.url-form input{flex:1;min-width:0;border:1px solid var(--border);border-radius:6px;padding:7px 9px;background:#1b2532;color:#d7dfe9;font:12px var(--mono)}.url-form button{font-size:12px;padding:7px 12px}.remote-status{font-size:12px;color:var(--muted);margin:-6px 0 14px;overflow-wrap:anywhere;line-height:1.6}.remote-status code{color:#c1d3e6}.remote-status.error{color:#f0c686}.stats{gap:17px;font:11px var(--mono);color:var(--muted)}.diagnostics-toggle{font:inherit;background:transparent;padding:6px 8px}.has-diagnostics{color:#f0c686;border-color:#79603b}.diagnostics{border:1px solid #78603d;background:#29251f;padding:16px;margin-bottom:18px;border-radius:8px;font-size:13px;max-height:240px;overflow:auto}.diagnostics h2{font-size:13px;margin:0 0 10px}.diagnostics ul{padding-left:20px;margin:0;line-height:1.8}.diagnostics p{margin:0;color:#cec4af}.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr) minmax(0,1.1fr);gap:14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden;display:flex;flex-direction:column;min-width:0;height:clamp(450px,60vh,780px)}.panel-heading{height:53px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:0 14px}.panel h2{display:flex;gap:10px;align-items:center;margin:0;font-size:12px;font-weight:600;white-space:nowrap}.panel-number{color:#73869f;font:11px var(--mono)}.panel-hint{color:var(--muted);font-size:10px;white-space:nowrap}.quiet{background:transparent;padding:5px 8px;border-color:transparent;font-size:11px;color:#b3c1d3}.panel-footer{padding:10px 12px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;line-height:1.5;margin-top:auto;flex-shrink:0}.source-code,.pseudocode-scroll{overflow:auto;padding:15px 0;flex:1;min-height:0}.source-line{border:0;border-radius:0;display:flex;align-items:baseline;width:max-content;min-width:100%;background:transparent;padding:3px 14px 3px 0;text-align:left;font:11px/1.65 var(--mono);color:#c4d2e3;white-space:pre;position:relative}.source-line.comment{color:#839a8d}.source-line.block-label{color:#9addce;margin-top:5px}.line-number{display:inline-block;min-width:43px;padding:0 12px 0 6px;text-align:right;color:#708298;flex-shrink:0;-webkit-user-select:none;user-select:none}.source-line.active,.pseudo-instruction.active{background:#25483f;color:#e2fff4;box-shadow:inset 3px 0 0 var(--accent)}.source-line.related,.pseudo-instruction.related{background:#243648}.source-line.active.related,.pseudo-instruction.active.related{background:#25483f}.source-line:hover:not(:disabled),.pseudo-instruction:hover:not(:disabled){background:#29394b}.unsupported-mark{color:#f4c278;font-weight:700;margin-left:10px}.editor-container{display:flex;flex-direction:column;flex:1;min-height:0}textarea{padding:15px;flex:1;width:100%;border:0;border-radius:0;resize:none;background:#111b26;color:#e1e9f4;font-size:12px;line-height:1.8;tab-size:2;white-space:pre}.editor-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px;border-top:1px solid var(--border)}.graph-scroll{overflow:auto;flex:1;min-height:0;background-image:radial-gradient(#344253 .6px,transparent .6px);background-size:16px 16px}.graph-scroll>svg{display:block;min-width:100%}.edge path{fill:none;stroke:#8b9bb3;stroke-width:1.5}.edge text{fill:#b8c5d6;font:10px var(--mono);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.edge-true path{stroke:#76cbb3}.edge-true text{fill:#99dcc6}.edge-false path{stroke:#d2a27b}.edge-false text{fill:#e3b891}.edge-active path{stroke-width:2.5}.graph-node{cursor:pointer}.graph-node rect{fill:#1d2b3a;stroke:#4a6078;stroke-width:1}.graph-node:hover rect{fill:#293d50}.graph-node.selected rect{fill:#24463e;stroke:var(--accent);stroke-width:1.5}.graph-node .node-name{fill:#dae6f3;font:12px var(--mono)}.graph-node .node-detail{fill:#adbed0;font:10px var(--mono)}.graph-node.missing{cursor:default}.graph-node.missing rect{stroke:#d2a27b;stroke-dasharray:4}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%;vertical-align:middle;margin-right:4px}.legend-dot:not(:first-child){margin-left:13px}.legend-dot.true{background:#76cbb3}.legend-dot.false{background:#d2a27b}.legend-dot.jump{background:#8b9bb3}.pseudo-block{margin-bottom:18px}.pseudo-label{border:0;background:transparent;padding:4px 14px 8px;border-radius:0;font:600 11px var(--mono);color:#93b3cc;width:100%;text-align:left}.selected-block .pseudo-label{color:var(--accent)}.pseudo-instruction{display:block;border:0;border-radius:0;font:11px/1.85 var(--mono);white-space:pre;background:transparent;padding:3px 16px 3px 22px;text-align:left;min-width:100%;width:max-content;color:#c8d6e5}.unsupported{color:#f0c686}.empty{color:var(--muted);font-size:13px;text-align:center;padding:60px 20px;line-height:1.8}.inspector{margin-top:16px;padding:18px 22px;background:#17212d;border:1px solid var(--border);border-radius:9px}.inspector-title{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.inspector h2{margin:0;font-size:12px;font-weight:600}.opcode{padding:4px 8px;border-radius:4px;color:var(--accent);background:#22362f;font:11px var(--mono)}.opcode span{color:#a7b9b1}.explanation{font-size:13px;line-height:1.8;margin:14px 0 18px;max-width:1100px;color:#d0dbe8}.value-links{display:flex;flex-wrap:wrap;gap:20px 36px;border-top:1px solid var(--border);padding-top:14px}.value-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:100%}.value-group h3{margin:0 4px 0 0;font-size:11px;color:var(--muted);font-weight:500}.value-chip{display:inline-flex;gap:10px;align-items:center;padding:5px 8px;border-radius:4px;font-size:11px}.value-chip code{color:#c1e3f6;overflow-wrap:anywhere}.value-chip span{color:var(--muted);font:9px var(--mono);white-space:nowrap}.value-chip:disabled{background:transparent;border-style:dashed}.muted{color:var(--muted);font-size:11px}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 2px;color:#91a1b5;font-size:10px;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.source-line,.pseudo-instruction{font-size:12px}}@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.source-panel{grid-row:span 2;height:780px}.graph-panel,.pseudocode-panel{height:383px}.stats{margin-left:auto}}@media(max-width:650px){.app-header{padding:18px 14px;gap:8px}h1{font-size:17px}.brand{gap:10px}.brand-mark{font-size:16px;padding:8px 6px}.brand p{font-size:11px}.local-badge{display:none}.header-actions{gap:0}button.primary{padding:8px 12px}main{padding:0 12px}.toolbar-group{flex-wrap:wrap;gap:8px}.toolbar-group select{max-width:165px}.toolbar label:not(:first-child){margin-left:0}.toolbar{gap:12px}.workspace{display:flex;flex-direction:column}.source-panel{height:420px}.graph-panel{height:360px}.pseudocode-panel{height:350px}.inspector{padding:16px}.value-links{gap:16px}.app-footer{flex-direction:column;gap:4px}}
