:root{--vl-blue:#1677ff;--vl-navy:#102a56;--vl-border:#d7e1ef;--vl-soft:#f4f8fd;--vl-text:#17243a;--vl-muted:#66758c;--vl-editor:#172033;--vl-green:#20ad62}.vl-public-body{margin:0;background:#eef4fb;color:var(--vl-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}.vl-page{min-height:100vh;background:#fff;color:var(--vl-text)}.vl-page *{box-sizing:border-box}.vl-toolbar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 20px;background:#fff;border-bottom:1px solid var(--vl-border);box-shadow:0 2px 12px rgba(16,42,86,.07);position:relative;z-index:30}.vl-project-identity,.vl-toolbar-actions,.vl-stagebar,.vl-run-controls,.vl-stage-actions{display:flex;align-items:center;gap:10px}.vl-brand{color:var(--vl-blue);font-size:21px;font-weight:800;text-decoration:none}.vl-project-identity h1{font-size:16px;margin:0;color:var(--vl-navy)}.vl-project-identity span{font-size:12px;color:var(--vl-muted)}.vl-button,.vl-code-toolbar button,.vl-stagebar button,.vl-file-tabs button,.vl-sim-tabs button,.vl-console-tabs button{border:1px solid var(--vl-border);background:#fff;color:var(--vl-navy);border-radius:8px;padding:8px 12px;font:600 13px inherit;cursor:pointer}.vl-button:hover,.vl-stagebar button:hover{border-color:#91bfff;background:#f2f7ff}.vl-button.is-primary,.vl-button.is-build{background:var(--vl-blue);border-color:var(--vl-blue);color:#fff}.vl-button.is-build{background:#fff;color:var(--vl-blue)}.vl-button.is-icon{font-size:18px;padding:5px 10px}.vl-notice{min-height:38px;display:flex;align-items:center;gap:12px;padding:8px 20px;background:#edf6ff;border-bottom:1px solid #cfe5ff;color:#36577d;font-size:13px}.vl-notice strong{color:#145cb8}.vl-studio{display:grid;grid-template-columns:minmax(420px,46%) minmax(520px,54%);height:calc(100vh - 102px);min-height:620px;background:#fff}.vl-code-workspace,.vl-sim-workspace{min-width:0;min-height:0;display:grid}.vl-code-workspace{grid-template-rows:46px 45px minmax(280px,1fr) 210px;border-right:1px solid var(--vl-border);background:var(--vl-editor)}.vl-sim-workspace{grid-template-rows:46px 56px minmax(350px,1fr) 220px;background:#f8fbff}.vl-file-tabs,.vl-sim-tabs{display:flex;align-items:end;background:#f8fafc;border-bottom:1px solid var(--vl-border);overflow:auto}.vl-file-tabs button,.vl-sim-tabs button{height:100%;border:0;border-right:1px solid var(--vl-border);border-radius:0;background:#f1f5f9;color:#53627a;padding:0 18px}.vl-file-tabs button.active,.vl-sim-tabs button.active{background:#fff;color:var(--vl-navy);box-shadow:inset 0 -3px var(--vl-blue)}.vl-runtime-badge{margin-left:auto;margin-right:14px;padding:5px 10px;border-radius:999px;background:#e8f1ff;color:#1768cd;font:700 11px inherit}.vl-runtime-badge[data-status=running]{background:#dff8e9;color:#137741}.vl-runtime-badge[data-status=error]{background:#ffe8e8;color:#b72929}.vl-code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#202b40;color:#dce8fa;border-bottom:1px solid #36445d;font:600 13px inherit}.vl-code-toolbar div{display:flex;gap:6px}.vl-code-toolbar button{border-color:#46546c;background:#2c3950;color:#e7effd;padding:6px 9px}.vl-editor-frame{display:grid;grid-template-columns:54px minmax(0,1fr);min-height:0;background:var(--vl-editor);overflow:hidden}.vl-line-numbers{padding:18px 12px 40px 0;color:#71809b;text-align:right;white-space:pre;line-height:1.65;font:14px/1.65 "SFMono-Regular",Consolas,monospace;overflow:hidden;border-right:1px solid #28354b;user-select:none}.vl-code-layer{position:relative;min-width:0;min-height:0;overflow:hidden}.vl-code-layer pre,.vl-code-layer textarea{position:absolute;inset:0;margin:0;border:0;padding:18px 22px 60px;white-space:pre;overflow:auto;tab-size:2;font:14px/1.65 "SFMono-Regular",Consolas,monospace}.vl-code-layer pre{z-index:1;pointer-events:none;color:#d8e1ee;background:transparent}.vl-code-layer pre code{font:inherit}.vl-code-layer textarea{z-index:2;resize:none;background:transparent;color:transparent;caret-color:#fff;-webkit-text-fill-color:transparent;outline:0}.vl-code-layer textarea::selection{background:rgba(75,142,255,.4)}.vl-token-comment{color:#71a36a}.vl-token-string{color:#e7a66a}.vl-token-keyword{color:#cf83e8}.vl-token-constant{color:#58c8e8}.vl-token-function{color:#6cb6ff}.vl-token-number{color:#b7d884}.vl-token-preprocessor{color:#efcf73}.vl-build-panel{background:#fff;color:var(--vl-text);border-top:1px solid var(--vl-border);min-height:0;overflow:auto}.vl-console-tabs{height:40px;display:flex;border-bottom:1px solid var(--vl-border)}.vl-console-tabs button{border:0;border-radius:0;background:#fff;color:var(--vl-muted)}.vl-console-tabs button.active{color:var(--vl-blue);box-shadow:inset 0 -2px var(--vl-blue)}#vlProblems,#vlBuildOutput{padding:13px 16px;font:13px/1.55 "SFMono-Regular",Consolas,monospace}.vl-build-note{color:var(--vl-muted)}.vl-stagebar{justify-content:space-between;padding:8px 14px;background:#fff;border-bottom:1px solid var(--vl-border)}.vl-stagebar button{display:inline-flex;align-items:center;gap:6px}.vl-stagebar button b{font-size:15px}.vl-run-button{background:var(--vl-green)!important;border-color:var(--vl-green)!important;color:#fff!important}.vl-run-button.is-running{background:#16884b!important}.vl-stage-actions strong{font-size:13px}.vl-canvas{position:relative;overflow:hidden;background-color:#eef4fb;background-image:radial-gradient(#afc1d8 1.25px,transparent 1.25px);background-size:22px 22px}.vl-canvas #vlWires,.vl-canvas #vlNodes{position:absolute;inset:0}.vl-empty-canvas{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#64758d;text-align:center;pointer-events:none}.vl-empty-canvas strong{font-size:19px;color:var(--vl-navy)}.vl-empty-canvas button{pointer-events:auto;border:0;border-radius:9px;background:var(--vl-blue);color:#fff;padding:10px 16px;font-weight:700}.vl-node{box-shadow:0 10px 24px rgba(25,52,90,.15)!important}.vl-node.is-sim-on{filter:drop-shadow(0 0 12px #ffd447);box-shadow:0 0 0 3px #ffd447,0 12px 25px rgba(32,173,98,.24)!important}.vl-serial-panel{background:#fff;border-top:1px solid var(--vl-border);display:grid;grid-template-rows:42px minmax(80px,1fr) 40px;min-height:0}.vl-serial-panel header{display:flex;align-items:center;gap:13px;padding:0 13px;border-bottom:1px solid var(--vl-border);font-size:12px}.vl-serial-panel header span{color:var(--vl-muted)}.vl-serial-panel header button{margin-left:auto;border:0;background:none;color:var(--vl-blue);cursor:pointer}.vl-serial-panel pre{margin:0;padding:12px;overflow:auto;background:#fbfdff;color:#26364d;font:13px/1.55 "SFMono-Regular",Consolas,monospace}.vl-serial-panel form{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--vl-border)}.vl-serial-panel input{border:0;padding:0 12px}.vl-serial-panel form button{border:0;padding:0 20px;background:#e8eef7;color:#8190a6}.vl-drawer{position:fixed;z-index:60;top:0;bottom:0;left:0;width:min(390px,92vw);padding:18px;background:#fff;color:var(--vl-text);box-shadow:12px 0 40px rgba(16,42,86,.18);transform:translateX(-105%);transition:.2s;overflow:auto}.vl-drawer.is-right{left:auto;right:0;transform:translateX(105%)}.vl-drawer.is-open{transform:none}.vl-drawer header{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:18px}.vl-drawer header button{border:0;background:none;font-size:24px}.vl-drawer input,.vl-drawer select{width:100%;margin:6px 0 12px;padding:10px;border:1px solid var(--vl-border);border-radius:8px}.vl-drawer-backdrop{position:fixed;z-index:50;inset:0;background:rgba(16,32,55,.28);display:none}.vl-drawer-backdrop.is-open{display:block}.vl-tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.vl-tool-grid button{padding:9px;border:1px solid var(--vl-border);background:#fff;border-radius:8px}.vl-legend{display:flex;flex-wrap:wrap;gap:9px;font-size:12px}.vl-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.vl-legend .is-power{background:#ef4444}.vl-legend .is-ground{background:#111827}.vl-legend .is-pulse{background:#2563eb}.vl-legend .is-data{background:#16a34a}.vl-page.is-focus .vl-toolbar,.vl-page.is-focus .vl-notice{display:none}.vl-page.is-focus .vl-studio{height:100vh}.vl-library-manager{width:min(470px,94vw)}@media(max-width:1000px){.vl-toolbar{height:auto;min-height:64px;align-items:flex-start;padding:10px;flex-wrap:wrap}.vl-toolbar-actions{overflow:auto;max-width:100%}.vl-notice{padding:8px 12px}.vl-studio{grid-template-columns:1fr;height:auto}.vl-code-workspace,.vl-sim-workspace{min-height:720px;border-right:0}.vl-sim-workspace{border-top:4px solid var(--vl-border)}}@media(max-width:620px){.vl-project-identity span,.vl-button.is-icon,.vl-stagebar button span{display:none}.vl-code-workspace{grid-template-rows:42px 44px 480px 180px}.vl-sim-workspace{grid-template-rows:44px 52px 520px 190px}.vl-stagebar{padding:6px}.vl-stagebar button{padding:8px}.vl-code-layer pre,.vl-code-layer textarea{padding:14px}.vl-line-numbers{padding-top:14px}.vl-toolbar-actions{gap:5px}.vl-button{padding:7px 9px}}
