body{color:#e6e6e6;background-color:#1a1a2e;flex-direction:column;align-items:center;min-height:100vh;margin:0;padding:20px;display:flex}h1{color:var(--accent);text-align:center;margin-bottom:10px}.description{text-align:center;max-width:800px;margin-bottom:20px;line-height:1.5}.container{flex-wrap:wrap;justify-content:center;gap:20px;width:100%;max-width:1200px;display:flex}.canvas-container{border-radius:var(--radius-lg);background-color:#16213e;flex:1;min-width:500px;max-width:800px;overflow:hidden;box-shadow:0 4px 15px #0000004d}canvas{width:100%;height:500px;display:block}.controls{border-radius:var(--radius-lg);background-color:#16213e;flex:0 0 300px;padding:20px;box-shadow:0 4px 15px #0000004d}.control-group{margin-bottom:20px}.control-group h3{color:var(--accent);border-bottom:1px solid #2d3746;margin-top:0;margin-bottom:15px;padding-bottom:5px}.slider-container{flex-direction:column;margin-bottom:15px;display:flex}.slider-label{justify-content:space-between;margin-bottom:5px;display:flex}input[type=range]{border-radius:var(--radius-sm);-webkit-appearance:none;background:#2d3746;outline:none;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:18px;height:18px}.color-scheme{gap:10px;margin-top:10px;display:flex}.color-option{text-align:center;border-radius:var(--radius-sm);cursor:pointer;background-color:#2d3746;flex:1;padding:8px;transition:background-color .2s}.color-option.active{background-color:var(--accent);color:#1a1a2e}.legend{justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.instructions{border-radius:var(--radius-lg);background-color:#16213e;max-width:800px;margin-top:30px;padding:15px;box-shadow:0 4px 15px #0000004d}.instructions h3{color:var(--accent);margin-top:0}.instructions ul{padding-left:20px}.instructions li{margin-bottom:8px;line-height:1.4}@media (width<=900px){.container{flex-direction:column;align-items:center}.canvas-container,.controls{width:100%;max-width:800px}}a:link{color:#fff;text-decoration:none}a:visited{color:#fff}a:hover{color:orange}html,body{--page-bg:#0f1115;--surface:#171a20;--surface-strong:#1b1f26;--surface-soft:#14171c;--text-main:#e7e9ee;--text-subtle:#a3adbb;--text-soft:#828c9a;--line:#2a2f37;--line-strong:#3a404a;--line-soft:#23272e;--accent:#7aa2ff;--accent-soft:#7aa2ff24;--accent-2:#4fd1c5;--shadow-main:0 1px 2px #00000080;--shadow-soft:0 1px 2px #0006;color-scheme:dark;background:var(--page-bg);color:var(--text-main)}body{align-items:stretch;padding:100px 24px 48px}h1{text-align:left;color:var(--text-main);letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(30px,4.5vw,44px);font-weight:650}.description{text-align:left;max-width:none;color:var(--text-subtle);margin-bottom:28px;font-size:14px}.container{justify-content:flex-start;gap:32px;max-width:1120px;margin:0 auto}.canvas-container{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none}.controls{border:0;border-left:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:0 0 0 28px}.control-group h3{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:10px;font-size:11px;font-weight:600}input[type=range]{background:var(--line)}input[type=range]::-webkit-slider-thumb{background:var(--accent)}.color-option{border:1px solid var(--line);color:var(--text-subtle);border-radius:var(--radius-sm);background:0 0}.color-option.active{background:var(--surface-soft);border-color:var(--accent);color:var(--text-main)}.legend{color:var(--text-soft)}.instructions{border:0;border-top:1px solid var(--line);max-width:none;box-shadow:none;color:var(--text-subtle);background:0 0;border-radius:0;margin-top:32px;padding:18px 0 0}.instructions h3{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}@media (width<=900px){body{padding:88px 16px 32px}.controls{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.canvas-container{min-width:0}}