.tree-modebar{display:flex;justify-content:space-between;align-items:center;margin:4px 0 20px;gap:12px;flex-wrap:wrap}.tree-tabs{display:flex;background:#172a21;border:1px solid #334b3e;border-radius:12px;padding:5px;gap:4px}.tree-tabs button{border:0;border-radius:8px;padding:13px 23px;background:transparent;color:#8fa79a;font:11px monospace;cursor:pointer}.tree-tabs strong{font:600 14px 'DM Sans',sans-serif;margin-left:8px}.tree-tabs [aria-selected=true]{background:#d5f577;color:#1a2d20;box-shadow:0 3px 12px #0002}.tree-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px}.tree-stage{min-width:0;border:1px solid #334c3c;border-radius:18px;background:#13251c;overflow:hidden}.tree-canvas-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px;border-bottom:1px solid #2d4435;flex-wrap:wrap}.tree-canvas-head>div:first-child{display:flex;flex-direction:column;gap:6px}.tree-valid{font-size:12px;color:#bbdf87}.tree-valid.invalid{color:#ffc57e}.tree-hint{font-size:11px;color:#94ab9c}.view-controls{display:flex;align-items:center;gap:5px}.view-controls button{color:#cedfd3;background:#203a2c;border:1px solid #3a5343;border-radius:6px;padding:7px 9px;cursor:pointer;font:11px inherit}.view-controls output{font:10px monospace;min-width:34px;text-align:center}.tree-surface{position:relative;background:radial-gradient(ellipse at 50% 0,#1a3224,#0d1c15 75%);height:560px;overflow:hidden}.tree-surface svg{width:100%;height:100%;display:block;touch-action:none;user-select:none;outline-offset:-3px}.tree-corner{position:absolute;bottom:12px;left:14px;font:10px monospace;color:#829b8c;pointer-events:none}.tree-edge line{stroke:#567966;stroke-width:2;vector-effect:non-scaling-stroke;transition:stroke .2s}.tree-edge .edge-hit{stroke:transparent;stroke-width:16;cursor:pointer}.tree-edge.selected line:not(.edge-hit),.tree-edge.highlighted line:not(.edge-hit){stroke:#f8dd44;stroke-width:4}.tree-edge text{fill:#a4bea9;font:11px monospace;paint-order:stroke;stroke:#102319;stroke-width:4px}.tree-node{cursor:grab}.tree-node circle{fill:#5966bc;stroke:#8795ed;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .2s,stroke .2s}.tree-node text{fill:#f1f7ef;font:600 12px 'DM Sans',sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}.tree-node .node-note{font:10px monospace;fill:#c7d9ce;paint-order:stroke;stroke:#102319;stroke-width:3px}.tree-node .root-ring{fill:none;stroke:#bad58c;stroke-dasharray:4 3;stroke-width:1.5}.tree-node.subtree circle{stroke:#f9dd50;stroke-width:3}.tree-node.ancestor circle{fill:#8062ac}.tree-node.leaf circle{stroke:#79e1aa;stroke-width:3}.tree-node.visited circle{fill:#22a7ba;stroke:#62dfed}.tree-node.completed circle{fill:#298455;stroke:#78dc9c}.tree-node.active circle{fill:#ce7929;stroke:#ffb762}.tree-node.selected circle{fill:#dec544;stroke:#fff190}.tree-node.selected text{fill:#17251a}.tree-node.special circle{fill:#b459ba;stroke:#f7baff;stroke-width:4}.tree-node.removed{opacity:.16}.tree-node circle,.tree-edge line{transition:fill .2s,stroke .2s,opacity .2s}.tree-legend{display:flex;gap:14px;flex-wrap:wrap;padding:14px 18px;font-size:10px;color:#a9c0af;border-top:1px solid #2c4334}.tree-legend span{display:flex;align-items:center;gap:6px}.tree-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.tree-legend .default{background:#727ee0}.tree-legend .selected{background:#f9dd44}.tree-legend .visited{background:#24b7c8}.tree-legend .active{background:#ee9d48}.tree-legend .completed{background:#4ade80}.tree-legend .result{background:#d67cdb}.tree-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#2a4332;border-top:1px solid #2a4332}.tree-stat{background:#152a1e;padding:15px}.tree-stat span{display:block;color:#95ae9f;font-size:10px;margin-bottom:7px}.tree-stat strong{font:500 22px 'Space Grotesk',sans-serif;color:#d6e9d4;overflow-wrap:anywhere}.tree-stat small{font-size:10px;color:#a3bca7}.tree-message{padding:16px 18px;margin:0;font-size:12px;line-height:1.6;color:#c7dca0;min-height:50px}.tree-sidebar{display:grid;gap:14px}.tree-panel{border:1px solid #334b3c;background:#162b20;border-radius:16px;padding:20px;min-width:0}.tree-panel h2{font-size:23px;margin:10px 0 20px}.tree-page select,.tree-page input[type=number]{width:100%;border:1px solid #3c5545;border-radius:8px;padding:10px;background:#0e2017;color:#dae8df;font:12px 'DM Sans',sans-serif;min-width:0}.tree-page label{display:block;color:#a8bfaf;font-size:11px;margin:13px 0 6px}.tree-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tree-tools button{padding:12px 7px;background:#213a2b;color:#bfd2c2;border:1px solid #3c5642;border-radius:9px;font-size:11px;cursor:pointer}.tree-tools button[aria-pressed=true]{background:#344f2a;border-color:#b5d47a;color:#d5f577}.tree-buttons{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.tree-page .lab-button,.tree-page .run-maze{font-size:11px;padding:10px 12px}.tree-panel hr{border:0;border-top:1px solid #344e3c;margin:22px 0}.panel-note{font-size:11px;line-height:1.7;color:#91aa9a}.tree-toggles label,.tree-page .check-label{display:flex;gap:9px;align-items:center;line-height:1.5}.tree-page input[type=checkbox]{accent-color:#c5e886}.tree-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.tree-panel dt{color:#90a895;font-size:10px}.tree-panel dd{margin:5px 0;color:#d0e5a9;font-size:13px;overflow-wrap:anywhere}.tree-panel .wide{grid-column:1/-1}.tree-panel h3{font-size:19px}.compact-panel button{margin:12px 0 0;width:100%}.tree-playback{padding:18px;border-top:1px solid #344b3a;background:#182e21}.tree-stephead{display:flex;justify-content:space-between;font:11px monospace;color:#bfd99c}.tree-playback progress{width:100%;height:4px;accent-color:#d5f577}.tree-speed{display:flex!important;align-items:center;gap:12px}.tree-speed input{width:150px;accent-color:#d5f577}.algorithm-state-panel{font:11px/1.8 monospace;color:#b4cbbc;overflow-wrap:anywhere}.algorithm-state-panel strong{color:#e0edc9}.state-row{padding:8px 0;border-top:1px solid #2e4836}.state-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.state-chips span{background:#233e2c;border:1px solid #42603f;border-radius:5px;padding:2px 7px;color:#d3e8ba}.tree-practice{margin-top:25px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:35px;background:linear-gradient(120deg,#243724,#16261e);border:1px solid #58713e;border-radius:18px}.tree-practice h2{font-size:28px}.tree-practice p{line-height:1.7}.tree-table-panel{margin-top:24px;padding:25px;border:1px solid #334c3b;border-radius:18px;background:#15291d;min-width:0}.tree-table-panel p{font-size:12px;color:#a7bdaa}.tree-table-panel .tablewrap{max-height:350px;overflow:auto}.tree-table-panel th{position:sticky;top:0;background:#1e3827}.tree-table-panel td,.tree-table-panel th{font:12px monospace;padding:9px 15px}.tree-table-panel tr{cursor:pointer}.tree-table-panel tr:hover{background:#263e2c}.tree-table-panel td.current-cell{background:#95772c;color:#fff5bf}.tree-education,.tree-notes{margin-top:26px;background:#14281c;border:1px solid #344b38;border-radius:16px;padding:22px}.tree-education summary,.tree-notes summary{cursor:pointer;font-size:18px;font-weight:600}.tree-education p,.tree-notes p{font-size:13px;line-height:1.8;color:#a8bfad}.tree-education pre{background:#0b1b12;border:1px solid #304733;border-radius:10px;padding:20px;max-height:460px;overflow:auto;font:12px/1.8 monospace;color:#d1e5d3}.tree-education a,.tree-notes a{color:#d5f577}.tree-code-key{color:#bea7ef}.tree-code-string{color:#b0da8f}.tree-code-number{color:#ecc77c}.tree-page [hidden]{display:none!important}.tree-page button:disabled{opacity:.35;cursor:not-allowed}.tree-page button:focus-visible,.tree-page select:focus-visible,.tree-page input:focus-visible{outline:2px solid #d5f577;outline-offset:3px}@media(max-width:1050px){.tree-workspace{grid-template-columns:minmax(0,1fr) 265px}.tree-surface{height:500px}.tree-stat{padding:12px}.tree-stat strong{font-size:19px}}@media(max-width:780px){.tree-workspace{grid-template-columns:1fr}.tree-sidebar{grid-template-columns:1fr}.tree-surface{height:430px}.tree-practice{grid-template-columns:1fr;gap:14px;padding:20px}.tree-tabs button{padding:12px}.tree-tabs strong{margin-left:4px}.tree-canvas-head{padding:12px}.tree-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.tree-stat{padding:10px}.tree-stat strong{font-size:18px}.tree-corner{font-size:8px}.tree-legend{gap:10px}.tree-page .maze-main{padding:0 16px}}@media(prefers-reduced-motion:reduce){.tree-node circle,.tree-edge line{transition:none}}
