:root{--bg:#071019;--bg-elevated:#0d1722;--bg-panel:#0d1622f5;--bg-panel-strong:#111d2cfc;--bg-stage:#040910;--ink:#f5f9ff;--muted:#a6b6ca;--line:#bed2e833;--accent:#7d5cff;--accent-strong:#b497ff;--stage-line:#f8fcff;--guide:#91b0d157;--current:#ece3ff;--shadow:0 24px 70px #00000057;--font-body:"Avenir Next", "Segoe UI", "Trebuchet MS", sans-serif;--font-head:"Avenir Next Condensed", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;color:var(--ink);font:15px/1.45 var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#22497057,#0000 26%),radial-gradient(circle at 100%,#7d5cff33,#0000 28%),linear-gradient(#09111b 0%,#050a11 100%)}button,input,select{font:inherit}button{color:#071019;cursor:pointer;background:#dbe8f8;border:1px solid #0000;border-radius:999px;padding:.72rem 1rem;transition:transform .16s,background .16s,border-color .16s}button:hover:not(:disabled){color:#071019;background:#f5fbff;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.42}button.secondary{color:var(--ink);border-color:var(--line);background:0 0}button.secondary:hover:not(:disabled){color:var(--ink);background:#121e2df5}button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#140a2b}button.primary:hover:not(:disabled){color:#140a2b;background:linear-gradient(135deg,#8a6cff,#c1abff)}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #b497ff8c}input,select{border:1px solid var(--line);color:var(--ink);background:#080f18;border-radius:16px;width:100%;min-width:0;padding:.78rem .92rem}code{font-family:var(--font-mono);font-size:.95em}#app{min-height:100vh}.shell{width:min(1920px,100vw - 20px);min-height:100vh;margin:0 auto;padding:10px 0}.panel,.stage-card{box-shadow:var(--shadow);background:linear-gradient(#121e2dfa,#0a121dfa);border:1px solid #bed2e81f;border-radius:22px}.eyebrow,.panel-kicker,.stat-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0;font-size:.67rem}h2{font-family:var(--font-head);letter-spacing:-.03em;margin:0;font-size:1.15rem;font-weight:650}.panel-copy,.notes p,.export-summary{color:var(--muted);margin:0}.workspace{grid-template-columns:276px minmax(0,1fr) 276px;gap:12px;height:calc(100vh - 20px);min-height:0;display:grid}.panel,.stage-card{height:100%;min-height:0;padding:16px}.panel{align-content:start;gap:14px;display:grid;overflow:auto}.panel-header{gap:4px;display:grid}.panel-copy{max-width:26ch}.field,.toggle{gap:9px;min-width:0;display:grid}.field-note{color:var(--muted);font-size:.78rem;line-height:1.3}.field span,.toggle span{font-weight:600}.toggle{grid-template-columns:auto 1fr;align-items:center}.toggle input{width:18px;height:18px;margin:0;padding:0}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.button-row-single{grid-template-columns:1fr}.stats{grid-template-columns:1fr;gap:10px;display:grid}.stats>div,.notes{background:var(--bg-panel-strong);border:1px solid var(--line);border-radius:18px;padding:12px 14px}.stats strong{font-family:var(--font-head);margin-top:6px;font-size:1.15rem;display:block}.stage-card{box-shadow:none;background:0 0;border:0;padding:0}.stage-wrap{border-radius:inherit;background:radial-gradient(circle,#0e1b2afa,#02060b 74%),linear-gradient(135deg,#7d5cff1f,#fff0);border:1px solid #d7e7f924;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 20px 50px #00000057}.stage-actions{z-index:1;gap:8px;display:flex;position:absolute;top:12px;right:12px}.stage-action{color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080f18c7;border-color:#d7e7f929;padding:.62rem .9rem}.stage-action:hover:not(:disabled){color:var(--ink);background:#121e2df5}.stage{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.guide-ring,.guide-spoke{fill:none;stroke:var(--guide);stroke-width:1px;vector-effect:non-scaling-stroke}.guide-center{fill:#f8fcffcc}.stroke-layer use{fill:none;stroke:var(--stage-line);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #f8fcff2e)}.current-layer use{stroke:var(--current);stroke-width:2.4px;filter:drop-shadow(0 0 3px #ece3ff47)}.notes{gap:9px;display:grid}.info-dialog{width:min(520px,100vw - 24px);color:var(--ink);background:linear-gradient(#121e2dfc,#0a121dfc);border:1px solid #bed2e829;border-radius:22px;padding:0;box-shadow:0 30px 80px #00000073}.info-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#02060bb8}.info-dialog-body{gap:14px;padding:18px;display:grid}.info-dialog-body p{color:var(--muted);margin:0}.dialog-actions{justify-content:flex-end;display:flex}@media (width<=1180px){.workspace{grid-template-columns:1fr;height:auto}.stage-card{order:-1;min-height:72vh}.panel{height:auto;overflow:visible}}@media (width<=760px){:root{font-size:14px}.shell{gap:8px;width:min(100vw - 12px,1920px);padding:6px 0 10px}.panel,.stage-card{border-radius:18px;padding:14px}.stage-card{padding:0}.button-row,.stats{grid-template-columns:1fr}.stage-card{min-height:60vh}}
