.maze-page{--ink:#e3ede7;--paper:#0f1b18;--muted:#94aaa0;--line:#2b4137;background:var(--paper);color:var(--ink)}.maze-page header{max-width:1500px;padding:23px 36px;gap:20px;flex-wrap:wrap}.maze-page nav{gap:22px;flex-wrap:wrap}.maze-page nav .current{color:#d5f577;font-weight:700}.maze-page .logo span{color:#d5f577}.maze-main{max-width:1500px;padding:0 36px}.maze-intro{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:43px 0 34px}.maze-intro h1{font-size:44px;line-height:1.1;letter-spacing:-1.6px;margin:17px 0}.maze-intro h1 em{color:#d5f577}.maze-intro p{color:var(--muted);font-size:14px;margin:0}.maze-page .eyebrow{color:#aec0b5;font-size:9px;letter-spacing:1.7px}.live-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#d5f577;box-shadow:0 0 12px #d5f57766}.lab-sign{border-left:1px solid #405541;padding:14px 0 14px 28px;min-width:220px;display:flex;flex-direction:column;gap:12px}.lab-sign>span{font:9px monospace;color:#d5f577;letter-spacing:2px}.lab-sign strong{font:500 25px/1.3 'Space Grotesk',sans-serif}.lab-sign small{font:10px monospace;color:var(--muted)}.lab-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;background:#1b2d25;padding:18px;border:1px solid var(--line);border-radius:12px 12px 0 0}.algorithm-choice{min-width:160px}.algorithm-choice label{display:block;font-size:10px;color:#a6bdb0;margin-bottom:7px}.maze-page select,.maze-page input[type=number]{background:#11231b;border:1px solid #3d5446;color:#e3ede7;padding:9px 11px;border-radius:6px;font-size:12px}.algorithm-choice select{width:100%}.compare-switch{display:flex;align-items:center;gap:9px;font-size:11px;min-height:36px;cursor:pointer;position:relative}.compare-switch input{position:absolute;opacity:0;width:34px;height:24px}.switch-track{width:31px;height:18px;background:#405347;border-radius:20px;position:relative;transition:background .15s}.switch-track::after{content:'';position:absolute;width:12px;height:12px;background:#acbdae;top:3px;left:3px;border-radius:50%;transition:transform .15s}.compare-switch input:checked+.switch-track{background:#d5f577}.compare-switch input:checked+.switch-track::after{transform:translateX(13px);background:#203024}.compare-switch input:focus-visible+.switch-track{outline:2px solid #d5f577;outline-offset:3px}.toolbar-spacer{flex:1}.playback{display:flex;gap:7px;flex-wrap:wrap}.lab-button,.run-maze{border:1px solid #41594b;background:transparent;color:#d6e4db;border-radius:6px;font-size:11px;padding:10px 12px;white-space:nowrap;transition:background .15s,border-color .15s}.lab-button:hover:enabled{background:#2b4435;border-color:#829979}.run-maze{background:#d5f577;border-color:#d5f577;color:#17251b;font-weight:700;padding:10px 18px}.run-maze:hover:enabled{background:#e3ff9f}.maze-page button:disabled{opacity:.4;cursor:not-allowed}.build-toolbar,.generation-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:19px;padding:13px 18px;border:1px solid var(--line);border-top:0;background:#17281f}.generation-toolbar{border-radius:0 0 12px 12px;background:#14231c;gap:10px}.draw-tools{display:flex;background:#0f2018;border:1px solid #354c3d;border-radius:7px;padding:3px;gap:2px;flex-wrap:wrap}.draw-tools button{font-size:10px;border:0;background:none;color:#b9cbbf;padding:8px 10px;border-radius:4px}.draw-tools button[aria-pressed=true]{background:#3a5140;color:#e4f6d4}.dimension-controls{display:flex;align-items:center;gap:8px;font-size:11px}.dimension-controls label{display:flex;align-items:center;gap:7px}.dimension-controls input{width:57px!important;padding:8px!important}.dimension-controls>span{color:#617969}.speed-control{margin-left:auto;display:flex;align-items:center;gap:9px;font-size:11px}.speed-control input{width:94px;background:none;padding:0;accent-color:#d5f577}.speed-control output{min-width:75px;font:10px monospace;color:#cce797}.generation-toolbar label{display:flex;align-items:center;gap:9px;font-size:11px}.generation-toolbar select{width:auto;font-size:11px}.generation-toolbar input{width:55px}.maze-note{color:#92a89b;font-size:10px;margin-left:auto}.maze-page .legend{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:16px;padding:20px 2px 14px;font-size:10px;color:#a9beb0}.legend span{display:flex;align-items:center;gap:6px}.legend i{font-style:normal;font:700 8px monospace;width:13px;height:13px;border-radius:3px;display:grid;place-items:center;color:#081b16}.key-start{background:#4ade80}.key-finish{background:#fb7185}.key-wall{background:#607467}.key-frontier{background:#a879ef}.key-visited{background:linear-gradient(135deg,#23bed2,#3987ce)}.key-path{background:#facc15}.grid-hint{margin-left:auto;color:#81998b}.maze-boards{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.maze-boards.comparing{grid-template-columns:repeat(2,minmax(0,1fr))}.board-card{min-width:0;overflow:hidden;border:1px solid #354b3d;border-radius:11px;background:#14261d;box-shadow:0 10px 32px #0002}.board-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid #304839}.board-heading>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.board-letter{width:22px;height:22px;border:1px solid #526b53;border-radius:5px;font:11px monospace;color:#d5f577;display:grid;place-items:center}.board-heading h2{font-size:17px;letter-spacing:-.3px;margin:0}.optimal-badge{font-size:8px;text-transform:uppercase;letter-spacing:.6px;border:1px solid #4d633b;color:#cde49e;border-radius:20px;padding:5px 8px}.optimal-badge.nonoptimal{color:#e5ba95;border-color:#67503e}.algorithm-state{font:10px monospace;color:#93ac9b;white-space:nowrap}.algorithm-state[data-state=running]{color:#8ee6ef}.algorithm-state[data-state=found]{color:#facc15}.algorithm-state[data-state=unreachable]{color:#fb9eaa}.canvas-scroll{overflow:auto;background:#0c1d15;padding:14px;overscroll-behavior:contain;scrollbar-color:#405e49 #102219;min-height:100px}.canvas-scroll canvas{display:block;margin:auto;touch-action:none;cursor:crosshair;max-width:none;outline:none}.canvas-scroll canvas:focus-visible{outline:2px solid #b7d47c;outline-offset:3px}.canvas-scroll canvas.pan-tool{touch-action:auto;cursor:grab}.board-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #304839;padding:17px 10px;gap:6px}.board-stats>div{min-width:0;padding:0 8px;border-right:1px solid #2e4436}.board-stats>div:last-child{border:0}.board-stats span{display:block;font-size:9px;color:#92aa9a;margin-bottom:7px}.board-stats strong{font:500 19px 'Space Grotesk',sans-serif;color:#dce9d9;white-space:nowrap}.board-bottom{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;color:#839e8b;background:#102119;font:10px/1.5 'DM Sans',sans-serif;border-top:1px solid #2e4436}.board-bottom>span:last-child{white-space:nowrap;font-family:monospace}.maze-message{min-height:25px;font-size:12px;color:#c4df9a;margin:13px 2px 25px}.maze-message.error{color:#f5a5ae}.comparison-panel{border:1px solid var(--line);padding:22px;border-radius:10px;margin:15px 0 30px;background:#15271e}.comparison-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.comparison-heading h2{font-size:24px;margin-top:8px}.comparison-heading>span{font-size:11px;max-width:340px;color:#b1cda0;line-height:1.6}.maze-page table{margin-top:18px;font-size:12px;width:100%;white-space:nowrap}.maze-page th{color:#94ab9e}.maze-page th,.maze-page td{border-color:#304838;padding:12px}.comparison-panel>p{font-size:10px;color:#8ea99a}.lab-explain{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;margin:26px 0}.reading-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#14241c}.reading-card h2,.reading-card h3{font-size:23px;margin:12px 0;letter-spacing:-.7px}.reading-card p{font-size:12px;color:#9db4a4;line-height:1.85;margin:10px 0}.reading-card strong{color:#cedccb}.explain-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.explain-facts span{font-size:10px;background:#243a2b;color:#bcd1ad;border-radius:5px;padding:7px 9px}#secondExplanation{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.correctness-note{color:#9cb3a3;font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding-top:22px;max-width:1050px}.correctness-note summary{color:#cdddca;font-weight:600;cursor:pointer}.correctness-note a{text-decoration:underline;text-underline-offset:3px}.maze-page footer{margin-top:36px;padding:25px 0}.maze-page footer .brand{font-size:14px}.maze-page footer>a{font-size:11px}.maze-page :focus-visible{outline:2px solid #d5f577;outline-offset:3px}.maze-page [hidden]{display:none!important}
@media(max-width:1150px){.maze-page header{padding:22px 24px}.maze-main{padding:0 24px}.toolbar-spacer{display:none}.playback{margin-left:auto}.maze-boards.comparing .board-heading{align-items:flex-start}.maze-boards.comparing .optimal-badge{display:none}.board-stats strong{font-size:16px}.speed-control{margin-left:0}.maze-note{width:100%;margin-left:0}.maze-boards.comparing .board-stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:15px}.grid-hint{width:100%;margin:0}}
@media(max-width:780px){.maze-intro{padding-top:30px}.maze-intro h1{font-size:34px}.lab-sign{display:none}.maze-boards.comparing{grid-template-columns:minmax(0,1fr)}.lab-explain{grid-template-columns:1fr}.comparison-heading{flex-direction:column;align-items:flex-start;gap:14px}.playback{margin-left:0;width:100%}.lab-toolbar{gap:13px}.algorithm-choice{min-width:135px;flex:1}.compare-switch{min-width:150px}.maze-boards.comparing .board-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.maze-page nav{gap:14px}.board-bottom>span:first-child{max-width:80%}.comparison-panel{padding:17px}}
@media(max-width:520px){.maze-main{padding:0 12px}.maze-page header{padding:18px}.maze-intro h1{font-size:29px;letter-spacing:-1px}.maze-intro p{font-size:12px}.build-toolbar,.generation-toolbar,.lab-toolbar{padding:12px}.draw-tools{width:100%;justify-content:space-between}.draw-tools button{padding:8px}.dimension-controls{flex-wrap:wrap;gap:6px}.generation-toolbar{gap:8px}.generation-toolbar>label:first-child{width:100%}.generation-toolbar>label:first-child select{flex:1}.board-stats strong{font-size:14px}.board-stats span{font-size:8px}.board-stats>div{padding:0 3px}.board-heading{padding:13px 12px}.optimal-badge{display:none}.canvas-scroll{padding:10px}.maze-page .legend{gap:12px}.maze-page footer{flex-wrap:wrap;gap:15px}.reading-card{padding:20px}.run-maze,.lab-button{font-size:10px;padding:10px}.maze-page nav{font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){.maze-page *{transition:none!important;scroll-behavior:auto!important}}

.maze-page .canvas-scroll{max-height:68vh}
