.visual-tree{border:1px solid #cfd9c5;border-radius:12px;overflow:hidden;background:#fffefa;margin:3px 0 35px;box-shadow:0 6px 20px #30462e06}.tree-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid #e0e5d7}.tree-mode-links{display:flex;gap:5px;background:#edf1e5;padding:4px;border-radius:7px}.tree-mode-links a{text-decoration:none;padding:8px 13px;border-radius:5px;font-size:13px;color:#667360}.tree-mode-links a[aria-current]{background:#fffefa;color:#254e39;box-shadow:0 1px 4px #283c2020;font-weight:650}.tree-index-link{font-size:12px;text-underline-offset:4px}.tree-settings{display:flex;align-items:end;gap:20px;padding:18px 22px}.tree-settings label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#6c7868;max-width:100%}.tree-settings select{border:1px solid #c8d3bd;background:#fafbf6;border-radius:5px;padding:9px 11px;color:#294c38;font-size:13px;max-width:100%;min-width:0}.tree-settings p{font-size:13px;color:#6b7866;margin:0 0 7px}.tree-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 17px;border-block:1px solid #e0e5d8;background:#f2f5eb}.tree-readout{font-size:11px;color:#63705c}.tree-canvas-toolbar>div{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tree-canvas-toolbar button{border:1px solid transparent;padding:5px 9px;background:#fffefa;border-radius:4px;font-size:11px;line-height:1.5;min-height:30px}.tree-canvas-toolbar button:hover{border-color:#a7bb92;background:#e3ecd7}.tree-canvas-toolbar button[aria-label]{font-size:16px;min-width:30px;padding:3px 8px}.tree-toolbar-divider{width:1px;height:22px;background:#d1dbc4;margin:0 5px}.tree-zoom-label{font-size:11px;min-width:38px;text-align:center}.tree-viewport{position:relative;overflow:hidden;height:720px;max-height:80vh;min-height:440px;background-color:#f8faf4;background-image:radial-gradient(#cfd9c5 .8px,transparent .8px);background-size:18px 18px;cursor:grab;touch-action:none;outline-offset:-4px!important}.tree-viewport.is-dragging{cursor:grabbing}.tree-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.tree-connectors{position:absolute;inset:0;overflow:visible;pointer-events:none}.tree-node{position:absolute;width:230px;height:60px;background:#fffefa;border:1.4px solid color-mix(in srgb,var(--branch-color) 45%,#e1e7da);border-left:4px solid var(--branch-color);border-radius:9px;box-shadow:0 3px 9px #354b2c0b;display:flex;align-items:stretch;cursor:default}.tree-node-body{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;text-decoration:none;padding:4px 10px;gap:2px;color:#294536;line-height:1.4}.tree-node-body strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:17px;font-weight:650;line-height:1.05}.tree-node-body small{font-size:10px;color:#6c7c65;line-height:1.3;white-space:nowrap}.tree-node a.tree-node-body:hover{background:#edf4e5;border-radius:5px;text-decoration:underline;text-underline-offset:3px}.tree-node-toggle{align-self:center;flex:none;width:25px;height:25px;margin-right:9px;border:1px solid #c6d4b9;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f0f5e8;color:#3d6449;font-size:16px;line-height:1;text-decoration:none;padding:0}.tree-node-toggle:hover{background:#dbe9cd;border-color:#85a571}.tree-node.is-root{background:#28583e;border-color:#28583e;border-left-color:#b1c795;box-shadow:0 6px 20px #31533424}.tree-node.is-root .tree-node-body{color:white}.tree-node.is-root small{color:#d0e0bf}.tree-node.is-root a.tree-node-body:hover{background:#346849}.tree-node.is-repeat{border-style:dashed;background:#f1f5e9;box-shadow:none}.tree-node.is-repeat small{color:#80713d}.tree-canvas-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:6px 13px;background:#fffefae8;border:1px solid #dbe3d3;border-radius:20px;font-size:10px;color:#6b7963;pointer-events:none;white-space:nowrap;max-width:95%;text-align:center}.tree-caption{font-size:12px;line-height:1.85;padding:14px 20px;color:#6d7967}.tree-limit-note{color:#8a6537}.visual-map-heading{padding-bottom:23px}.visual-map-heading h1{font-size:34px}.visual-map-heading p{max-width:850px}.visual-map-heading+.visual-tree{margin-top:0}body[data-current-lesson="wiki"] #wiki:has(.visual-tree){max-width:none}
@media(max-width:1000px){.tree-mode-bar{padding:13px}.tree-settings{padding:15px}.tree-canvas-toolbar{padding:10px 13px}.tree-canvas-hint{white-space:normal;line-height:1.5;border-radius:8px}.tree-viewport{height:680px}.tree-index-link{font-size:11px}.tree-settings p{font-size:12px}}
@media(max-width:600px){.visual-map-heading h1{font-size:28px}.visual-map-heading p{font-size:14px}.tree-mode-bar{align-items:flex-start;gap:9px;flex-direction:column}.tree-mode-links{width:100%}.tree-mode-links a{flex:1;text-align:center;padding:8px 6px;font-size:12px}.tree-index-link{align-self:flex-end}.tree-settings{flex-direction:column;align-items:stretch;gap:13px}.tree-settings label{width:100%}.tree-settings select{width:100%}.tree-settings p{margin:0}.tree-canvas-toolbar{gap:8px}.tree-canvas-toolbar>div{gap:3px}.tree-canvas-toolbar button{font-size:10px;padding:5px 6px}.tree-toolbar-divider{margin:0 3px}.tree-viewport{height:560px;min-height:420px;max-height:72vh}.tree-caption{padding:12px 14px;font-size:11px}.tree-canvas-hint{font-size:9px;width:90%}}

.tree-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
