@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg-base: #07121b;--bg-panel: rgba(11, 35, 50, .72);--bg-panel-strong: rgba(10, 28, 40, .92);--text-main: #eef7ff;--text-muted: #9db6c9;--line: rgba(157, 182, 201, .2);--accent-amber: #ffb23f;--accent-cyan: #2dc6ff;--accent-emerald: #4de8b2;--cell-off: rgba(114, 137, 154, .16);--cell-on: rgba(45, 198, 255, .18);--cell-on-border: rgba(45, 198, 255, .5);--cell-best: rgba(77, 232, 178, .22);--cell-end: rgba(255, 178, 63, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{color:var(--text-main);font-family:Space Grotesk,sans-serif;background:radial-gradient(circle at 15% 8%,rgba(255,178,63,.25),transparent 40%),radial-gradient(circle at 88% 12%,rgba(45,198,255,.2),transparent 42%),linear-gradient(145deg,#06101a,#0a1c29 45%,#07121b)}.app-shell{min-height:100vh;padding:clamp(14px,2.8vw,30px)}.hero{margin:0 auto 16px;max-width:1200px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,#ffb23f17,#2dc6ff17);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rise-in .52s ease}.hero-kicker{margin:0 0 4px;color:var(--accent-amber);font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(1.45rem,2.4vw,2.1rem)}.hero-copy{margin:10px 0 0;max-width:860px;color:var(--text-muted);line-height:1.45}.hero code{font-family:IBM Plex Mono,monospace;color:var(--accent-cyan)}.workspace{margin:0 auto;max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.panel{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in .62s ease}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}.panel-head h2{margin:0;font-size:1.02rem}.panel-head span{color:var(--text-muted);font-size:.82rem}.controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.controls-grid label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:.78rem}.controls-grid input,.controls-grid button,.trace-controls button,.speed-label input{font:inherit}.controls-grid input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg-panel-strong);color:var(--text-main);padding:8px}.controls-grid button,.trace-controls button{border:1px solid var(--line);background:#0c1f2ce6;color:var(--text-main);border-radius:8px;padding:8px 10px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.controls-grid button:hover,.trace-controls button:hover{transform:translateY(-1px);border-color:#2dc6ff8c;background:#10293af2}.helper-text{margin:12px 0 10px;color:var(--text-muted);font-size:.82rem}.matrix-grid{display:grid;gap:6px}.matrix-cell{min-height:34px;border-radius:8px;border:1px solid transparent;display:grid;place-items:center;font-family:IBM Plex Mono,monospace;font-size:.92rem;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.matrix-cell:hover{transform:translateY(-1px)}.cell-off{background:var(--cell-off);border-color:#9db6c933;color:#d4e3ef}.cell-on{background:var(--cell-on);border-color:var(--cell-on-border);color:#e9fdff}.cell-best{box-shadow:inset 0 0 0 1px #4de8b299;background:linear-gradient(160deg,var(--cell-best),rgba(77,232,178,.1))}.cell-end{border-color:#ffb23fdb;box-shadow:0 0 0 1px #ffb23f80,0 0 16px #ffb23f47}.cell-current{transform:scale(1.02);box-shadow:0 0 0 1px #2dc6ff99,0 0 16px #2dc6ff40;animation:pulse-visit .54s ease}.cell-visited{border-style:dashed}.cell-updated-now{animation:pulse-update .68s ease}.dp2-cell{background:#122d3eb8;border-color:#9db6c940}.dp2-visited{background:#214a6470}.dp2-current{box-shadow:0 0 0 1px #2dc6ffad,0 0 16px #2dc6ff4d}.stats-row{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stats-row div{border:1px solid var(--line);border-radius:9px;padding:8px;background:#0d212fe6}.stats-row small{display:block;color:var(--text-muted);margin-bottom:4px;font-size:.72rem}.stats-row strong{font-family:IBM Plex Mono,monospace;font-size:.9rem}.dp-vector{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#0d212fe6}.dp-vector h3{margin:0 0 8px;font-size:.86rem}.vector-row{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(30px,1fr))}.vector-item{display:grid;place-items:center;min-height:30px;border-radius:8px;border:1px solid rgba(45,198,255,.35);background:#2dc6ff1f;font-family:IBM Plex Mono,monospace}.vector-visited{border-color:#ffb23f99;background:#ffb23f29}.vector-updated{animation:pulse-update .68s ease}.vector-unchanged{animation:pulse-visit .54s ease}.trace-panel{grid-column:span 2;background:linear-gradient(145deg,#091e2bf2,#081824eb)}.trace-controls{display:grid;grid-template-columns:repeat(5,auto) 1fr;gap:8px;align-items:center;margin-bottom:10px}.speed-label{justify-self:end;display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:8px;color:var(--text-muted);font-size:.8rem}.speed-label input{width:100%;accent-color:var(--accent-amber)}.step-callout{border:1px solid rgba(255,178,63,.42);border-radius:10px;background:#ffb23f1f;padding:10px;font-family:IBM Plex Mono,monospace;font-size:.85rem;line-height:1.4;margin-bottom:10px}.visit-update{border:1px solid rgba(45,198,255,.36);border-radius:10px;background:#2dc6ff1a;padding:10px;margin-bottom:10px;animation:pulse-visit .54s ease}.visit-header{font-family:IBM Plex Mono,monospace;font-size:.84rem;margin-bottom:8px}.visit-values{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.visit-pill{border:1px solid rgba(157,182,201,.4);border-radius:999px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:.78rem;background:#0d212fd1}.visit-pill-min{border-color:#4de8b2b8;box-shadow:0 0 0 1px #4de8b259;background:#4de8b229}.visit-change{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:#d7f4ff}.trace-list{max-height:300px;overflow:auto;display:grid;gap:6px}.trace-item{text-align:left;border:1px solid var(--line);border-radius:9px;background:#0d202ee0;color:var(--text-main);padding:8px;display:grid;grid-template-columns:auto 1fr;gap:10px;font-family:IBM Plex Mono,monospace;font-size:.78rem;cursor:pointer}.trace-item span:first-child{color:var(--text-muted)}.trace-item-active{border-color:#2dc6ff9e;box-shadow:0 0 0 1px #2dc6ff4d;background:#0e283af2}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-update{0%{transform:scale(.96);box-shadow:0 0 #ffb23fa6}55%{transform:scale(1.03);box-shadow:0 0 0 6px #ffb23f00}to{transform:scale(1);box-shadow:none}}@keyframes pulse-visit{0%{box-shadow:0 0 #2dc6ff73}to{box-shadow:0 0 0 6px #2dc6ff00}}@media(max-width:1040px){.workspace{grid-template-columns:1fr}.trace-panel{grid-column:auto}.trace-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.speed-label{justify-self:stretch;grid-column:span 3}}@media(max-width:700px){.hero{padding:14px}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row{grid-template-columns:1fr}.matrix-grid{gap:5px}.matrix-cell{min-height:32px;font-size:.86rem}}
