/* Keep the training paper calm and compact; the capability tree has its own visual language. */
.graph-main-line{stroke-width:3.5}
.graph-guide-line{stroke-width:3;stroke-dasharray:1 9}
.graph-document-title{left:45px}
.graph-task-card{padding:15px 18px;border-width:1.5px;border-color:#72744c;border-radius:8px;background:#f0df83;box-shadow:0 3px 9px #7372500c}
.graph-card-meta{margin-bottom:12px}
.graph-task-card .behavior-check-label>span{font-size:16px;line-height:1.65}
.graph-task-card .behavior-check-label>input{width:24px;height:24px}
.graph-method-card{max-height:225px;padding:16px 20px;border-color:#e0e3d9;border-radius:8px}
.graph-method-card h3{margin:6px 0 10px}
.graph-method-card ol{gap:6px}
.graph-method-card details{margin-top:11px;padding-top:8px}
.graph-round-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:0;border:0;background:transparent}
.graph-round-card>header,.graph-round-card>.graph-custom-tasks{border:1px solid #dce2d3;border-radius:10px;background:#eeefe8;padding:20px 22px;min-height:150px;margin:0}
.graph-round-card>header{align-items:flex-start;flex-direction:column;justify-content:center;gap:17px}
.graph-round-actions{gap:13px;padding-left:35px;flex-wrap:wrap}
.graph-round-actions label{gap:8px}
.graph-round-card>.graph-custom-tasks{background:#f8f9f3;display:flex;flex-direction:column;justify-content:center}
.graph-custom-tasks>p{font-size:12px;color:#77856c}
.route-graph[data-compact=true] .graph-document-title{left:35px;max-width:310px}
.route-graph[data-compact=true] .graph-method-card{max-height:200px;padding:15px 18px}
.route-graph[data-compact=true] .graph-round-card{grid-template-columns:minmax(0,1fr);gap:16px}
.route-graph[data-compact=true] .graph-round-card>header,.route-graph[data-compact=true] .graph-round-card>.graph-custom-tasks{min-height:137px;padding:18px}
.route-graph[data-compact=true] .graph-round-actions{padding-left:0;margin-top:0;gap:10px}
.route-graph[data-compact=true] .graph-round-actions label{flex:none}
/* A folded note is a small handle, rather than a full-height stripe. */
.canvas-shell .learning-panes:not(.notes-open){grid-template-columns:minmax(0,1fr)}
.notes-edge{position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:auto;border:1px solid #3c4833;border-right:0;border-radius:10px 0 0 10px;background:#20291e;box-shadow:-3px 3px 14px #24332112;z-index:7;overflow:hidden}
.notes-edge-toggle{height:auto;gap:11px;padding:13px 5px}
.notes-edge-toggle>strong{font-size:10px;letter-spacing:.16em}
.notes-edge-toggle>span{font-size:16px}
.notes-edge-toggle>i{font-size:14px}
.notes-editor input:focus-visible,.notes-editor textarea:focus-visible{outline:1px solid #8fa57d;outline-offset:3px}
.canvas-shell .canvas-tools{right:18px}
.canvas-shell .notes-open .canvas-tools{right:calc(var(--note-width) + 26px)}
/* ONI-inspired parallel technology branches. */
.main-stage:has(#view-map.active-view){padding:0;overflow:hidden}
#view-map.active-view{height:100%;animation:none}
.ability-atlas{--atlas-bg:#252d29;--atlas-chrome:#1c241e;--atlas-panel:#303b34;--atlas-border:#526355;--atlas-ink:#e1e8dd;--atlas-muted:#a6b3a3;height:100%;display:flex;flex-direction:column;background:var(--atlas-bg);color:var(--atlas-ink)}
.atlas-toolbar{display:flex;align-items:center;gap:24px;flex-shrink:0;min-height:76px;padding:13px 28px;border-bottom:1px solid #39483b;background:var(--atlas-chrome)}
.atlas-toolbar>div:first-child>span{font:8px monospace;letter-spacing:.18em;color:#91a48b}
.atlas-toolbar h2{font-size:20px;font-weight:550;letter-spacing:.02em;margin:4px 0 0;color:var(--atlas-ink)}
.atlas-filter-label{font-size:10px;color:var(--atlas-muted);display:flex;align-items:center;gap:10px;margin-left:auto}
.atlas-filter-label select{min-height:32px;background:#29352c;border:1px solid #4d5e4e;color:#d3decc;border-radius:6px;padding:5px 28px 5px 11px;font-size:11px;color-scheme:dark;max-width:160px}
.atlas-filter-label select:focus-visible{outline:1px solid #b8ce9f;outline-offset:3px}
.atlas-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:#9eaf9a}
.atlas-legend>span{display:flex;gap:5px;align-items:center}
.atlas-legend i{width:8px;height:8px;border:1px solid #7a8e79;background:#303b34;display:inline-block;border-radius:2px}
.atlas-legend i.viewed{border-color:#c2d3aa;background:#596c4e}
.atlas-legend i.practiced{background:#78837b;border-color:#a7b1a7}
.atlas-viewport{position:relative;min-height:0;flex:1;overflow:hidden;touch-action:none;cursor:grab;background:var(--atlas-bg);background-image:radial-gradient(ellipse at 45% 25%,#b1c1a205,transparent 70%),radial-gradient(#d4e3cc0b .7px,transparent .7px);background-size:100% 100%,26px 26px;isolation:isolate}
.atlas-viewport.dragging{cursor:grabbing;user-select:none}
.atlas-viewport:focus-visible{outline:1px solid #a6bc96;outline-offset:-3px}
.atlas-world{position:absolute;left:0;top:0;transform-origin:0 0}
.atlas-links{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#859780;stroke-width:1.5;stroke-linecap:square;pointer-events:none;z-index:1}
.atlas-lane-band{position:absolute;left:20px;width:1360px;background:#d9e6cd03;border:0;border-radius:8px;pointer-events:none}
.atlas-column-label{position:absolute;top:12px;font:10px monospace;letter-spacing:.08em;color:#91a18a}
.atlas-column-label.root-label{left:40px}.atlas-column-label.behavior-label{left:360px}
.atlas-tech-node{position:absolute;display:flex;align-items:center;gap:12px;text-align:left;padding:11px 13px;border:1px solid var(--atlas-border);border-radius:5px;background:var(--atlas-panel);color:var(--atlas-ink);cursor:pointer;box-shadow:inset 0 1px 0 #e7f2dc08,0 2px 7px #0b160e14;z-index:2;transition:background .15s,border-color .15s,box-shadow .15s}
.atlas-tech-node.route{background:#3b4939;border-color:#819376;box-shadow:inset 3px 0 0 #b9cc9b,inset 0 1px 0 #e7f2dc0b,0 2px 7px #0b160e14}
.atlas-tech-node:hover{background:#3c4b3d;border-color:#b9cca8;box-shadow:inset 0 1px 0 #e7f2dc0d,0 3px 12px #14201528}
.atlas-tech-node:focus-visible{outline:2px solid #c5dab2;outline-offset:4px}
.atlas-tech-node.viewed{border-color:#a5ba8f}
.atlas-tech-node.practiced{background:#363e38;border-color:#758477;color:#d9e1d6}
.atlas-tech-node.practiced:hover{background:#414c42;border-color:#a1b496}
.atlas-node-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;background:#c0d2c4;border:1px solid #d7e4d5;color:#40594e;border-radius:4px;box-shadow:inset 0 1px 0 #fff3}
.atlas-node-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.atlas-tech-node.practiced .atlas-node-icon{background:#a9b4a9;border-color:#c3ccc0;color:#4b5a4d}
.atlas-node-copy{display:block;min-width:0;flex:1}
.atlas-node-copy>small{display:block;font:9px monospace;letter-spacing:.02em;color:#a3b29b;margin-bottom:4px}
.atlas-node-copy>strong{display:block;font-size:14px;line-height:1.4;font-weight:550;color:inherit;overflow-wrap:anywhere}
.atlas-tech-node.route .atlas-node-copy>strong{font-size:16px;font-weight:600}
.atlas-node-copy>em{display:block;font-size:10px;line-height:1.4;font-style:normal;color:#acb8a5;margin-top:5px}
.atlas-node-state{font-size:14px;flex-shrink:0;color:#acbf99;align-self:center}
.atlas-tech-node.viewed .atlas-node-state{color:#d0debc}
.atlas-tech-node.practiced .atlas-node-state{display:grid;place-items:center;width:18px;height:18px;border:1px solid #788b73;border-radius:50%;font-size:10px;color:#c4d4b8;background:#46533f}
.atlas-controls{position:absolute;bottom:22px;right:23px;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #53674f;border-radius:8px;background:#202a21f2;box-shadow:0 4px 14px #13201520;z-index:5}
.atlas-controls button{min-height:30px;padding:4px 10px;border:0;border-radius:4px;background:transparent;color:#c2d2b6;font-size:12px;cursor:pointer}
.atlas-controls button:hover{background:#3b4b34;color:#edf3e3}
.atlas-controls button:focus-visible{outline:1px solid #c5dab2;outline-offset:1px}
.atlas-controls button[data-atlas=fit]{border-left:1px solid #45543e;border-radius:0;padding-left:14px;margin-left:4px}
.atlas-controls output{min-width:38px;text-align:center;font:10px monospace;color:#a1b393}
.atlas-pan-hint{position:absolute;bottom:24px;left:28px;margin:0;color:#96a68c;font-size:10px;pointer-events:none}
.atlas-status{flex-shrink:0;display:flex;align-items:center;gap:20px;justify-content:space-between;padding:9px 28px;border-top:1px solid #39483b;background:var(--atlas-chrome);color:#a2b398;font-size:10px;line-height:1.5}
.atlas-status p{margin:0;color:#8b9c82;font-size:10px}
.atlas-dialog{background:#202822;border-color:#586a50;color:#e1e8da;box-shadow:0 18px 70px #080e0a55}
.atlas-dialog .dialog-heading{border-color:#3d4d37}.atlas-dialog .dialog-heading h2{font-size:23px;font-weight:550}
.atlas-dialog .dialog-heading button{background:#293529;border-color:#526348;color:#c1d1b0}
.atlas-dialog .primary-button{background:#cbdcb2;border-color:#d8e7c0;color:#24341d;font-weight:600;border-radius:7px}
.atlas-dialog .muted{color:#a4b29a}
.atlas-detail-eyebrow{font:10px monospace;color:#8a9d78;margin:4px 0 22px}
.atlas-detail-copy{font-size:13px;line-height:1.95;color:#adba9e}
.atlas-detail-skills{border:1px solid #38482e;border-radius:7px;padding:13px 17px;margin:18px 0 24px;font-size:12px;line-height:1.9;color:#94a781}
.atlas-detail-skills summary{cursor:pointer;color:#bdcca9}
.atlas-detail-skills h4{margin:17px 0 5px;font-size:12px;color:#bdcca9}
.atlas-detail-actions{display:grid;gap:8px;margin:15px 0}
.atlas-detail-actions button{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;background:#252f21;border:1px solid #3e5032;border-radius:6px;color:#bfcea9;text-align:left;cursor:pointer;font-size:12px;line-height:1.7}
.atlas-detail-actions button:hover{border-color:#809264}
.atlas-detail-steps{padding-left:22px;font-size:12px;color:#abbc98;line-height:1.95}
.atlas-detail-steps li{margin:9px 0}
@media(max-width:1120px){.atlas-toolbar{gap:16px}.atlas-legend{max-width:165px;gap:6px 10px}.atlas-status p{max-width:55%;text-align:right}}
@media(max-width:760px){
  .notes-edge{width:30px}.notes-edge-toggle{padding:12px 4px;gap:10px}
  .canvas-shell .canvas-tools,.canvas-shell .notes-open .canvas-tools{right:13px}
  .graph-task-card .behavior-check-label>span{font-size:15px}
  .atlas-toolbar{padding:13px 17px;min-height:76px;gap:12px;flex-wrap:wrap}
  .atlas-toolbar h2{font-size:18px}.atlas-filter-label{font-size:9px}
  .atlas-filter-label select{max-width:136px;font-size:10px}.atlas-legend{display:none}
  .atlas-status{padding:8px 14px;font-size:8px;gap:10px}.atlas-status p{font-size:8px;max-width:57%}
  .atlas-controls{right:14px;bottom:15px}.atlas-controls button{min-height:33px;padding:4px 9px}
  .atlas-pan-hint{left:17px;bottom:65px;font-size:8px}
}
