@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap");:root{--bg-top:#2a2d35;--bg:#1b1e25;--bg-deep:#12151b;--bg-floor:#0b0e13;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--viz-stage-height:clamp(240px,68vw,336px);--panel:rgba(27,31,38,0.6);--panel-strong:rgba(18,21,28,0.82);--panel-soft:rgba(33,37,46,0.54);--surface-glass:rgba(255,255,255,0.03);--surface-glass-strong:rgba(255,255,255,0.055);--line:rgba(149,160,182,0.16);--line-strong:rgba(170,182,204,0.26);--shadow-soft:0 18px 46px rgba(3,5,10,0.22);--shadow-strong:0 26px 68px rgba(3,5,10,0.28);--text:#f5f7fb;--muted:#9ca8c1;--muted-soft:#7984a0;--cyan:#22d3ee;--green:#32d74b;--red:#ff453a;--amber:#ffd60a}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;overflow-x:hidden}body{color:var(--text);background:radial-gradient(circle at 20% 14%,rgba(255,255,255,.08),transparent 18%),radial-gradient(circle at 82% 18%,rgba(153,163,186,.1),transparent 22%),radial-gradient(circle at 50% 78%,rgba(96,107,130,.16),transparent 34%),linear-gradient(180deg,var(--bg-top) 0,var(--bg) 22%,var(--bg-deep) 58%,var(--bg-floor) 100%);font-family:SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:before{background:radial-gradient(circle at 14% 10%,rgba(255,255,255,.08),transparent 22%),radial-gradient(circle at 86% 16%,rgba(178,188,210,.08),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 32%);filter:blur(82px);opacity:.74}body:after{background:radial-gradient(circle at 46% 12%,rgba(119,130,153,.16),transparent 22%),radial-gradient(circle at 24% 58%,rgba(90,100,121,.14),transparent 26%),radial-gradient(circle at 78% 62%,rgba(72,81,100,.14),transparent 24%);filter:blur(88px);opacity:.76;animation:ambientShift 24s ease-in-out infinite alternate}@keyframes ambientShift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(0,-10px,0) scale(1.04)}}a{color:inherit;text-decoration:none}button,input[type=range],select,textarea{font:inherit}button{appearance:none;border:1px solid var(--line);background:var(--surface-glass);color:var(--text);border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease}button:hover{transform:translateY(-1px);border-color:rgba(144,155,180,.34);background:var(--surface-glass-strong)}button:disabled{opacity:.44;cursor:not-allowed;transform:none}button.primary{background:rgba(255,255,255,.065);border-color:rgba(194,203,224,.26);color:#ffffff;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}select,textarea{width:100%;border-radius:12px;border:1px solid rgba(132,145,173,.12);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),rgba(17,20,27,.78);color:var(--text);padding:11px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(224,231,244,.62) 0),linear-gradient(135deg,rgba(224,231,244,.62) 50%,transparent 0);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}select:hover,textarea:hover{border-color:rgba(174,184,206,.14);background:linear-gradient(180deg,rgba(255,255,255,.036),rgba(255,255,255,.016)),rgba(17,20,27,.84)}select:focus,textarea:focus{outline:none;border-color:rgba(214,222,240,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.024),0 0 0 1px rgba(214,222,240,.08)}textarea{resize:vertical;min-height:148px;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.55}label{display:grid;gap:8px;color:var(--muted);font-size:.84rem}label>span:first-child{color:rgba(192,201,221,.72);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}input[type=range]{width:100%;appearance:none;background:transparent;accent-color:#d7deee}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(225,232,246,.32),rgba(225,232,246,.24)),rgba(255,255,255,.08)}input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;border:1px solid rgba(239,243,251,.28);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(223,229,240,.94));box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.6)}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:linear-gradient(90deg,rgba(225,232,246,.32),rgba(225,232,246,.24)),rgba(255,255,255,.08)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border:1px solid rgba(239,243,251,.28);border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(223,229,240,.94));box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.6)}input[type=range]:disabled{opacity:.42}.app-shell{position:relative;z-index:1;isolation:isolate;width:min(1120px,100%);margin:0 auto;padding:calc(18px + var(--safe-top)) calc(14px + var(--safe-right)) calc(36px + var(--safe-bottom)) calc(14px + var(--safe-left));display:grid;gap:18px}.app-shell:after,.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none}.app-shell:before{z-index:-3;background:radial-gradient(circle at 16% 12%,rgba(255,255,255,.06),transparent 22%),radial-gradient(circle at 48% 15%,var(--ambient-body-a,rgba(255,69,58,.14)),transparent 18%),radial-gradient(circle at 22% 44%,var(--ambient-body-b,rgba(34,211,238,.1)),transparent 24%),radial-gradient(circle at 80% 58%,var(--ambient-body-c,rgba(50,215,75,.08)),transparent 22%);filter:blur(106px);opacity:.5}.app-shell:after{z-index:-2;inset:4% 0 auto;height:52vh;background:radial-gradient(circle at 50% 12%,rgba(255,255,255,.05),transparent 20%),radial-gradient(circle at 50% 14%,var(--ambient-hero-a,rgba(255,69,58,.18)),transparent 24%),radial-gradient(circle at 26% 70%,var(--ambient-hero-b,rgba(34,211,238,.12)),transparent 28%),radial-gradient(circle at 78% 72%,var(--ambient-hero-c,rgba(50,215,75,.08)),transparent 24%);filter:blur(78px);opacity:.52}.site-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:52px;padding:8px 2px 0;border-radius:0;border:1px solid transparent;background:transparent;backdrop-filter:none;box-shadow:none}.brand-mark{color:#ffffff;font-size:1.18rem;font-weight:700;letter-spacing:-.04em;text-transform:none;text-shadow:0 0 18px rgba(255,255,255,.08)}.brand-logo{height:34px;max-width:min(46vw,168px);width:auto;display:block;object-fit:contain;flex-shrink:1}.topbar-right{gap:8px;min-width:0;flex-shrink:1}.github-link,.topbar-right{display:flex;align-items:center}.github-link{justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(184,194,218,.12);background:var(--surface-glass);color:var(--muted);text-decoration:none;transition:color .12s ease,border-color .12s ease,background .12s ease}.github-link:hover{color:var(--text);border-color:rgba(184,194,218,.26);background:var(--surface-glass-strong)}.github-icon{width:17px;height:17px}.topbar-learn-link{display:inline-flex;align-items:center;gap:7px;min-width:0;min-height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(184,194,218,.14);background:var(--surface-glass);color:var(--text);font-size:.84rem;font-weight:600;text-decoration:none;transition:color .12s ease,border-color .12s ease,background .12s ease}.topbar-learn-link:hover{border-color:rgba(184,194,218,.24);background:var(--surface-glass-strong)}.topbar-learn-arrow{color:#93dfff}.hero-stage{position:relative;display:grid;gap:14px;width:100%;min-width:0;padding:40px 2px 8px}.hero-stage:before{content:"";position:absolute;inset:8% -6% 4% -6%;z-index:-1;background:radial-gradient(circle at 50% 10%,var(--ambient-hero-a,rgba(255,69,58,.16)),transparent 22%),radial-gradient(circle at 24% 76%,var(--ambient-hero-b,rgba(34,211,238,.11)),transparent 26%),radial-gradient(circle at 78% 74%,var(--ambient-hero-c,rgba(50,215,75,.08)),transparent 22%);filter:blur(36px);opacity:.95}.hero-copy{display:grid;gap:8px;width:100%;min-width:0;justify-items:center;text-align:center}.hero-copy>*,.hero-stage>*{min-width:0;max-width:100%}.hero-copy h1{margin:0;font-size:clamp(2.1rem,6vw,4rem);line-height:.98;letter-spacing:-.05em;color:var(--red);text-wrap:balance}.hero-copy p{margin:0;color:#f0f3fc;font-size:clamp(1rem,2.5vw,1.3rem);max-width:820px;text-wrap:balance}.formula-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:4px}.formula-row span{max-width:100%;padding:8px 14px;border-radius:15px;border:1px solid rgba(126,140,172,.38);background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.012)),rgba(18,22,29,.7);color:#93dfff;font-size:.98rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(3,5,10,.18)}.bars-wrap,.bucket-wrap,.graph-stage,.heap-wrap,.maze-stage,.radix-wrap,.viz-empty{width:100%;height:var(--viz-stage-height);min-height:var(--viz-stage-height)}.bars-wrap{display:flex;align-items:flex-end;gap:clamp(2px,1vw,8px);padding:28px 10px 12px;background:transparent;border:0}.bars-wrap,.graph-stage{height:var(--viz-stage-height);position:relative;max-width:100%;overflow:hidden}.graph-stage{min-width:0}.bars-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}.bar{flex:1;min-width:10px;border-radius:10px 10px 3px 3px;box-shadow:0 0 24px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.08)}.bar,.graph-canvas,.viz-caption{position:relative;z-index:1}.viz-finale-glow{position:absolute;inset:8% 4% 4%;z-index:0;pointer-events:none;border-radius:24px;background:radial-gradient(circle at 50% 70%,rgba(50,215,75,.16),transparent 58%),linear-gradient(180deg,rgba(50,215,75,.08),rgba(50,215,75,.02));filter:blur(18px)}.viz-caption{position:absolute;top:4px;left:8px;padding:5px 9px;border-radius:999px;border:1px solid rgba(126,140,172,.28);background:rgba(9,12,18,.56);color:#d8e3ff;font-size:.76rem}.graph-canvas{display:block;width:100%;height:100%;min-height:100%;overflow:visible;background:transparent}.viz-empty{display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0))}.code-window,.event-panel,.panel-card{width:100%;max-width:100%;min-width:0;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.012)),var(--panel);backdrop-filter:blur(26px) saturate(145%);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.05)}.code-window{position:relative;overflow:visible;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008)),var(--panel-strong)}.code-window.editor-fullscreen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;border-radius:0;overflow:hidden;height:100vh;height:100dvh}.code-window.editor-fullscreen .window-header{flex-shrink:0}.code-window.editor-fullscreen .editor-panel{flex:1;min-height:0;display:flex;flex-direction:column}.code-window.editor-fullscreen .editor-shell{flex:1;min-height:0}.editor-fullscreen-back{gap:4px}.code-window.mobile-collapsed{background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.008)),rgba(16,19,25,.92)}.window-header{justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(115,128,157,.22);background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.01)),rgba(15,18,24,.88)}.window-header,.window-tabs{display:flex;align-items:center;min-width:0}.window-tabs{gap:8px;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}.window-tabs::-webkit-scrollbar{display:none}.file-add,.file-tab{flex:0 0 auto}.file-tab{position:relative;display:inline-flex;align-items:center;min-height:38px;padding:0;border-radius:12px;border:1px solid transparent;background:transparent;color:rgba(214,221,244,.84);overflow:hidden}.file-tab.active{border-color:rgba(140,154,182,.08)}.file-tab-pill{position:absolute;inset:0;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008)),rgba(18,22,30,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}.file-tab-inner{position:relative;z-index:1;gap:10px;min-height:38px;padding:7px 12px}.file-tab-inner,.lang-badge{display:inline-flex;align-items:center}.lang-badge{justify-content:center;min-width:34px;height:24px;padding:0 8px;border-radius:8px;font-size:.76rem;font-weight:700;letter-spacing:.04em}.lang-badge.ts{background:rgba(49,120,198,.14);color:rgba(185,216,255,.9)}.lang-badge.js{background:rgba(247,223,30,.12);color:rgba(255,242,165,.88)}.lang-badge.python{background:rgba(75,125,179,.14);color:rgba(197,222,248,.9)}.file-name{font-family:JetBrains Mono,monospace;font-size:.85rem;max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-close,.file-lock{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.72rem;color:var(--muted)}.file-close:hover{background:rgba(255,255,255,.06);color:#ffffff}.file-add{width:38px;height:38px;padding:0;border-radius:12px;background:rgba(255,255,255,.018);border-color:rgba(140,154,182,.1);line-height:1;color:rgba(233,240,255,.8)}.editor-toolbar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;flex:0 0 auto;justify-content:flex-end}.editor-toolbar-mobile{display:none;align-items:center;gap:6px}.editor-tool-group,.editor-toolbar-desktop{display:inline-flex;align-items:center;gap:6px}.editor-tool-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;min-width:34px;min-height:34px;border-radius:10px;background:rgba(255,255,255,.014);border-color:rgba(140,154,182,.08);color:rgba(184,194,218,.72);font-size:.78rem;font-weight:600;white-space:nowrap;box-shadow:none}.editor-tool-chip.active{background:rgba(255,255,255,.04);border-color:rgba(194,203,224,.14);color:#ffffff}.editor-tool-chip:hover,.file-add:hover{background:rgba(255,255,255,.03);border-color:rgba(194,203,224,.12)}.editor-font-group{padding:0 2px}.editor-tool-icon{width:16px;height:16px;opacity:.9}.mobile-only{display:none}.editor-menu-button{min-width:48px;justify-content:center}.editor-run-button{min-width:38px;color:rgba(245,249,255,.94);background:rgba(255,255,255,.045);border-color:rgba(194,203,224,.16)}.editor-run-button:hover{background:rgba(255,255,255,.06);border-color:rgba(208,216,234,.2)}.file-add-icon{width:17px;height:17px;opacity:.88}.editor-mobile-panel{display:none}.control-button{background:rgba(255,255,255,.016);border-color:rgba(140,154,182,.1);color:rgba(228,234,246,.84);box-shadow:none}.controls-row .control-button.primary{background:rgba(255,255,255,.04);border-color:rgba(194,203,224,.14);color:#ffffff}.controls-row .control-button:hover{background:rgba(255,255,255,.03);border-color:rgba(194,203,224,.12)}.action-button{padding:9px 13px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006)),rgba(12,15,20,.36);border-color:rgba(132,145,173,.1);color:rgba(224,231,244,.82);box-shadow:none}.action-button:hover{background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.01)),rgba(12,15,20,.42);border-color:rgba(184,194,218,.12)}.editor-shell{min-width:0;max-width:100%;overflow-x:hidden;min-height:360px;background:rgba(13,16,22,.94)}.editor-panel{min-width:0;max-width:100%;overflow:hidden}.editor-shell .monaco-editor,.editor-shell .monaco-editor-background,.editor-shell .monaco-scrollable-element,.editor-shell .overflow-guard,.editor-shell>div{width:100%!important;max-width:100%!important;min-height:360px}.panel-card{padding:14px}.controls-panel,.feature-panel,.io-panel{display:grid;gap:14px}.actions-row,.controls-row{display:flex;flex-wrap:wrap;gap:10px}.controls-grid{display:grid;gap:14px}.control-block{display:grid;gap:8px}.control-block.compact{gap:6px}.sound-panel{display:grid;gap:10px;padding:12px;border-radius:16px;border:1px solid rgba(118,132,164,.14);background:linear-gradient(180deg,rgba(255,255,255,.034),rgba(255,255,255,.01)),rgba(18,21,28,.54);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.sound-toggle{justify-content:space-between;gap:10px;color:var(--muted);font-size:.84rem}.sound-toggle,.switch{display:flex;align-items:center}.switch{width:54px;height:30px;padding:3px;border-radius:999px;border:1px solid rgba(121,135,167,.28);background:rgba(88,96,112,.44);justify-content:flex-start}.switch span{width:22px;height:22px;border-radius:50%;background:#ffffff;box-shadow:0 2px 8px rgba(0,0,0,.26);transition:transform .15s ease}.switch.on{background:linear-gradient(180deg,rgba(220,226,240,.34),rgba(176,185,205,.28))}.switch.on span{transform:translateX(22px)}.io-grid,.selectors-grid{display:grid;gap:12px}.io-field{display:grid;gap:10px}.io-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.io-auto-button{padding:7px 11px;border-radius:12px;font-size:.78rem}.io-field-hint{color:var(--muted-soft);font-size:.78rem;line-height:1.4}.io-textarea{min-height:178px;border-radius:18px;padding:14px 15px;background:linear-gradient(180deg,rgba(255,255,255,.016),rgba(255,255,255,.004)),rgba(9,12,17,.68);border-color:rgba(128,141,170,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.018),0 1px 0 rgba(255,255,255,.012)}.io-textarea:hover{background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008)),rgba(9,12,17,.72);border-color:rgba(168,178,199,.12)}.io-textarea:focus{border-color:rgba(214,222,240,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.024),0 0 0 1px rgba(214,222,240,.06)}.io-output{color:rgba(219,226,241,.84);background:linear-gradient(180deg,rgba(255,255,255,.014),rgba(255,255,255,.004)),rgba(8,11,16,.62)}.io-output[readonly]{cursor:default}.event-panel{padding:12px 14px}.event-panel summary{cursor:pointer;color:var(--muted);font-size:.86rem}.event-panel pre{margin:10px 0 0;padding:12px;max-height:220px;overflow:auto;border-radius:14px;border:1px solid rgba(116,129,158,.22);background:rgba(8,10,14,.76);color:#d6def7;font-family:JetBrains Mono,monospace;font-size:.8rem}.selectors-grid select,.sound-panel select{padding-right:38px}.mobile-picker-trigger{width:100%;min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:12px;border:1px solid rgba(132,145,173,.12);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012)),rgba(17,20,27,.78);color:var(--text);text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease}.mobile-picker-trigger.open,.mobile-picker-trigger:hover{border-color:rgba(174,184,206,.16);background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.015)),rgba(17,20,27,.84)}.mobile-picker-trigger:focus{outline:none;border-color:rgba(214,222,240,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.024),0 0 0 1px rgba(214,222,240,.08)}.mobile-picker-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-picker-chevron{width:9px;height:9px;flex:0 0 auto;border-right:1.6px solid rgba(224,231,244,.62);border-bottom:1.6px solid rgba(224,231,244,.62);transform:rotate(45deg) translateY(-1px);transition:transform .16s ease}.mobile-picker-trigger.open .mobile-picker-chevron{transform:rotate(225deg) translateY(-1px)}.mobile-picker-overlay{position:fixed;inset:0;z-index:260;display:flex;align-items:flex-end;justify-content:center;padding:max(18px,var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left))}.mobile-picker-backdrop{position:absolute;inset:0;border:0;border-radius:0;background:rgba(5,8,14,.52);backdrop-filter:blur(12px) saturate(135%);box-shadow:none}.mobile-picker-sheet{position:relative;width:min(100%,520px);max-height:min(82dvh,700px);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;overflow:hidden;border-radius:28px 28px 22px 22px;border:1px solid rgba(142,154,181,.18);background:linear-gradient(180deg,rgba(34,40,52,.94),rgba(14,18,26,.92)),rgba(12,16,24,.92);backdrop-filter:blur(30px) saturate(165%);box-shadow:0 30px 60px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.07);padding:10px 12px calc(12px + var(--safe-bottom))}.mobile-picker-grabber{width:42px;height:5px;margin:2px auto 0;border-radius:999px;background:rgba(224,231,244,.18)}.mobile-picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-picker-title{margin:0;color:var(--text);font-size:1rem;font-weight:700;letter-spacing:-.02em}.mobile-picker-close{min-height:36px;padding:0 14px;border-radius:12px;border:1px solid rgba(184,194,218,.16);background:rgba(255,255,255,.035);color:var(--text);font-size:.82rem;font-weight:600}.mobile-picker-options{display:grid;gap:8px;min-height:0;max-height:100%;overflow:auto;padding:0 2px 2px 0;align-content:start;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-picker-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-radius:16px;border:1px solid rgba(128,141,170,.12);background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.01)),rgba(17,21,29,.76);color:var(--text);text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}.mobile-picker-option.active,.mobile-picker-option:hover{border-color:rgba(184,194,218,.18);background:linear-gradient(180deg,rgba(255,255,255,.038),rgba(255,255,255,.014)),rgba(23,28,38,.84)}.mobile-picker-option-label{flex:1 1 auto;min-width:0;font-size:.96rem;font-weight:600}.mobile-picker-option-check{flex:0 0 auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(184,194,218,.18);background:rgba(255,255,255,.03);color:#dff7ff;font-size:.8rem;font-weight:700}.mobile-picker-option.active .mobile-picker-option-check{border-color:rgba(147,223,255,.38);background:rgba(42,186,255,.18)}.status-line{min-height:1.2rem;text-align:center;color:var(--muted-soft);font-size:.86rem}::selection{background:rgba(34,211,238,.28)}@media (min-width:720px){.app-shell{padding:calc(22px + var(--safe-top)) calc(20px + var(--safe-right)) calc(42px + var(--safe-bottom)) calc(20px + var(--safe-left))}.controls-grid{grid-template-columns:1fr 1fr;align-items:start}.sound-panel{grid-column:1/-1}.selectors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.io-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:980px){:root{--viz-stage-height:336px}.app-shell{gap:20px}.hero-stage{gap:18px;padding-top:12px}.bars-wrap,.bucket-wrap,.graph-stage,.heap-wrap,.maze-stage,.radix-wrap,.viz-empty{min-height:336px}.editor-shell,.editor-shell .monaco-editor,.editor-shell .monaco-editor-background,.editor-shell .overflow-guard,.editor-shell>div{min-height:420px}}@media (max-width:640px){.app-shell{gap:16px}.site-topbar{min-height:50px;padding:9px 10px;border-radius:18px;gap:8px;border-color:rgba(128,141,170,.14);background:linear-gradient(180deg,rgba(20,24,34,.84),rgba(10,13,20,.58)),rgba(8,10,16,.44);backdrop-filter:blur(22px) saturate(155%);box-shadow:var(--shadow-soft),inset 0 1px 0 rgba(255,255,255,.05)}.brand-logo{height:30px;max-width:min(42vw,150px)}.topbar-right{gap:6px}.topbar-learn-link{padding:0 8px;font-size:.76rem}.topbar-learn-arrow{display:none}.code-window,.code-window.mobile-collapsed{overflow-x:hidden;overflow-y:visible}:root{--viz-stage-height:clamp(228px,62vw,284px)}.hero-stage{gap:12px;padding-top:30px}.hero-copy{gap:10px}.hero-copy h1{width:100%;max-width:min(100%,12ch);margin-inline:auto;font-size:clamp(1.95rem,8.8vw,2.7rem);line-height:1;white-space:normal;word-break:break-word;overflow-wrap:break-word;text-wrap:unset}.hero-copy p{max-width:min(100%,30ch)}.formula-row{gap:8px}.formula-row span{padding:7px 11px;font-size:.9rem;white-space:normal;text-align:center}.bars-wrap,.bucket-wrap,.graph-stage,.heap-wrap,.maze-stage,.radix-wrap,.viz-empty{height:var(--viz-stage-height);min-height:var(--viz-stage-height)}.graph-canvas{height:100%;min-height:100%}.window-header{position:relative;flex-direction:row;align-items:center;padding:8px 8px 6px}.window-tabs{width:100%;padding-right:168px;scroll-padding-inline:12px;overscroll-behavior-x:contain}.file-tab-inner{gap:8px;min-height:34px;padding:6px 10px}.lang-badge{min-width:30px;height:22px;padding:0 7px;font-size:.72rem}.file-name{font-size:.78rem;max-width:11ch}.editor-toolbar{position:absolute;top:8px;right:8px;z-index:4;width:auto;justify-content:flex-end;flex:0 0 auto;flex-wrap:nowrap}.editor-toolbar-desktop{display:none}.editor-toolbar-mobile{display:inline-flex}.editor-tool-chip{padding:6px 9px;min-width:32px;min-height:32px;font-size:.74rem}.mobile-only{display:inline-flex}.file-add-inline{display:none}.editor-mobile-panel{top:54px;right:8px;z-index:6;display:grid;gap:10px;min-width:154px;padding:10px;border:1px solid rgba(128,141,170,.12);border-radius:16px;box-shadow:0 18px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.03);transform-origin:top right}.editor-mobile-panel,.editor-mobile-panel:before{position:absolute;background:rgba(13,16,22,.86);backdrop-filter:blur(18px)}.editor-mobile-panel:before{content:"";top:-6px;right:18px;width:12px;height:12px;border-top:1px solid rgba(128,141,170,.12);border-left:1px solid rgba(128,141,170,.12);border-radius:3px 0 0;transform:rotate(45deg)}.editor-mobile-panel:after{content:"";position:absolute;top:10px;right:14px;width:28px;height:1px;border-radius:999px;background:rgba(224,231,244,.1)}.editor-mobile-panel .editor-tool-group{flex-wrap:wrap}.editor-mobile-action{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.014);border:1px solid rgba(140,154,182,.08);color:rgba(184,194,218,.72);font-size:.74rem;font-weight:600;white-space:nowrap;width:100%}.editor-shell,.editor-shell .monaco-editor,.editor-shell .monaco-editor-background,.editor-shell .overflow-guard,.editor-shell>div{min-height:320px}.code-window.editor-fullscreen .editor-shell,.code-window.editor-fullscreen .editor-shell .monaco-editor,.code-window.editor-fullscreen .editor-shell .monaco-editor-background,.code-window.editor-fullscreen .editor-shell .overflow-guard,.code-window.editor-fullscreen .editor-shell>div{min-height:0!important}}.site-menu-wrap{position:relative}.site-menu-trigger{width:36px;height:36px;border-radius:10px;border:1px solid rgba(128,141,170,.14);background:rgba(255,255,255,.014);display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease;padding:0}.site-menu-trigger.active,.site-menu-trigger:hover{color:var(--text);background:rgba(255,255,255,.04);border-color:rgba(184,194,218,.2)}.site-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:118px;border-radius:14px;border:1px solid rgba(128,141,170,.16);background:rgba(8,10,14,.94);backdrop-filter:blur(22px);box-shadow:0 16px 44px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.04);padding:8px;display:grid;gap:5px;z-index:200}.site-menu-locale{display:flex;gap:4px}.locale-pill{flex:1;padding:6px 8px;border-radius:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:var(--muted);border:1px solid transparent;background:transparent;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.locale-pill:hover{color:var(--text);background:rgba(255,255,255,.04)}.locale-pill.active{color:var(--text);background:rgba(255,255,255,.07);border-color:rgba(184,194,218,.14)}.site-menu-learn{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:9px;font-size:.84rem;font-weight:600;color:var(--text);border:1px solid rgba(184,194,218,.14);background:rgba(255,255,255,.018);text-decoration:none;transition:background .14s ease,border-color .14s ease}.site-menu-learn:hover{background:rgba(255,255,255,.04);border-color:rgba(184,194,218,.26)}.heap-wrap{display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.heap-svg{width:100%;flex:1;min-height:0;max-height:240px}.heap-bars{display:flex;align-items:flex-end;gap:clamp(1px,.6vw,4px);height:60px;padding:0 8px}.bucket-wrap{display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.bucket-input-bars{display:flex;align-items:flex-end;gap:clamp(1px,.5vw,3px);height:56px}.bucket-grid{display:grid;gap:6px;flex:1}.bucket-col{display:flex;flex-direction:column;gap:4px;border-radius:10px;border:1px solid rgba(100,116,139,.18);background:rgba(10,14,20,.5);padding:6px 4px;transition:border-color .14s ease,background .14s ease;min-height:0;overflow:hidden}.bucket-col.active{border-color:rgba(34,211,238,.28);background:rgba(34,211,238,.04)}.bucket-label{font-size:.65rem;font-weight:700;color:var(--muted-soft);text-align:center;letter-spacing:.04em;flex-shrink:0}.bucket-items{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1}.bucket-item{border-radius:5px;border:1px solid rgba(100,116,139,.2);background:rgba(100,116,139,.3);font-size:.65rem;font-weight:600;color:var(--text);text-align:center;padding:2px;line-height:1.2;font-family:JetBrains Mono,monospace}.radix-wrap{display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}.radix-bars{display:flex;align-items:flex-end;gap:clamp(1px,.6vw,4px);height:clamp(50px,25%,90px);flex-shrink:0}.radix-digit-label{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:center;flex-shrink:0}.radix-row{display:flex;align-items:flex-start;gap:8px;flex-shrink:0}.radix-row-label{font-size:.62rem;font-weight:700;color:var(--muted-soft);letter-spacing:.05em;text-transform:uppercase;padding-top:6px;min-width:26px;flex-shrink:0}.radix-cells{display:flex;gap:3px;flex:1}.radix-cell{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.radix-cell-digit{font-size:.58rem;color:var(--muted-soft)}.radix-cell-digit,.radix-cell-value{font-family:JetBrains Mono,monospace}.radix-cell-value{border-radius:5px;border:1px solid rgba(100,116,139,.2);background:rgba(30,41,59,.5);font-size:.65rem;font-weight:600;color:var(--text);text-align:center;padding:3px 2px;width:100%;transition:background .16s ease,border-color .16s ease}.radix-out-cells{display:flex;gap:3px;flex:1;flex-wrap:wrap}.radix-out-cell{border-radius:5px;border:1px solid rgba(100,116,139,.15);background:rgba(30,41,59,.4);font-size:.65rem;font-weight:600;color:var(--text);text-align:center;padding:3px 4px;min-width:28px;font-family:JetBrains Mono,monospace;transition:background .16s ease,border-color .16s ease}.maze-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:12px}.maze-grid{display:grid;gap:2px;width:100%;height:100%}.maze-cell{border-radius:3px;border:1px solid transparent;transition:background 55ms ease,border-color 55ms ease}.maze-cell--wall{background:rgba(5,6,10,.96);border-color:rgba(0,0,0,.5)}.maze-cell--open{background:rgba(18,22,34,.65);border-color:rgba(114,126,152,.06)}.maze-cell--visited{background:rgba(255,214,10,.12);border-color:rgba(255,214,10,.22)}.maze-cell--current{background:rgba(34,211,238,.42);border-color:rgba(34,211,238,.8);box-shadow:0 0 6px rgba(34,211,238,.3)}.maze-cell--path{background:rgba(34,211,238,.55);border-color:var(--cyan)}.maze-cell--path-pulse{background:rgba(167,247,184,.75);border-color:var(--green)}.maze-cell--start{background:rgba(50,215,75,.45);border-color:rgba(50,215,75,.8)}.maze-cell--end{background:rgba(255,69,58,.35);border-color:rgba(255,69,58,.7)}.maze-cell--end-found{background:rgba(34,211,238,.65);border-color:var(--cyan);box-shadow:0 0 10px rgba(34,211,238,.5)}@media (max-width:768px){input:not([type=range]):not([type=file]):not([type=checkbox]),select,textarea{font-size:16px}.monaco-editor textarea{font-size:16px!important}}