.progression-page{min-height:100vh;background:linear-gradient(rgba(16,24,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,24,29,.035) 1px,transparent 1px),var(--gd-paper);background-size:32px 32px}.progression-hero{padding:clamp(38px,6vw,76px) 0 clamp(54px,8vw,100px);background:radial-gradient(circle at 88% 14%,rgba(60,152,207,.18),transparent 27%),var(--gd-ink);color:var(--gd-white)}.progression-hero .breadcrumb{margin-bottom:clamp(56px,7vw,90px)}.progression-hero .exercise-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(56px,7vw,90px);color:rgba(255,255,255,.6);font-size:.72rem}.progression-hero .exercise-breadcrumbs a{color:var(--gd-white)}.progression-hero h1{max-width:1000px;margin:20px 0 18px;font-family:var(--gd-display);font-size:clamp(3.1rem,7.2vw,7.1rem);line-height:.87;letter-spacing:-.045em}.progression-hero>.container>p:last-child{max-width:780px;margin:0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.72}.progression-page__body{--container:2200px;padding-block:clamp(42px,7vw,86px)}.progression-explorer{border:1px solid var(--gd-line);background:var(--gd-white);box-shadow:0 24px 65px rgba(17,17,17,.09)}.progression-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px;border-bottom:1px solid var(--gd-line);background:var(--gd-paper)}.progression-mode-tabs button{min-height:56px;border:0;background:transparent;color:var(--gd-charcoal);cursor:pointer;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.progression-mode-tabs button[aria-selected=true]{background:var(--gd-ink);color:var(--gd-white)}.progression-graph-controls button:focus-visible,.progression-graph-controls input:focus,.progression-mode-tabs button:focus-visible,.progression-node a:focus-visible,.progression-node rect:focus-visible,.progression-pickers button:focus-visible,.progression-pickers input:focus{outline:3px solid var(--gd-yellow);outline-offset:3px}.progression-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border-bottom:1px solid var(--gd-line);background:var(--gd-line)}.progression-pickers--goal-only{grid-template-columns:minmax(0,1fr)}.progression-pickers--goal-only form{grid-template-columns:minmax(220px,1fr) auto}.progression-pickers form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;padding:clamp(18px,3vw,30px);background:var(--gd-white)}.progression-graph-controls label,.progression-pickers label{display:grid;gap:7px;min-width:0}.progression-graph-controls label span,.progression-pickers label span{color:var(--gd-muted);font-size:.63rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.progression-graph-controls input,.progression-pickers input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--gd-line);background:var(--gd-paper);color:var(--gd-ink);font:inherit}.progression-graph-controls button,.progression-pickers button{min-height:48px;padding:10px 15px;border:1px solid var(--gd-ink);background:var(--gd-ink);color:var(--gd-white);cursor:pointer;font-size:.67rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.progression-pickers .progression-picker-clear{background:transparent;color:var(--gd-ink)}.progression-picker-error{grid-column:1/-1;margin:0;color:#a52222;font-size:.78rem;font-weight:750}.progression-empty{padding:clamp(48px,9vw,120px) clamp(22px,6vw,80px);text-align:center}.progression-empty h2,.progression-view__summary h2{margin:12px 0 8px;font-family:var(--gd-display);font-size:clamp(2.2rem,5vw,4.3rem);line-height:.95}.progression-empty>p:last-child{max-width:650px;margin:18px auto 0;color:var(--gd-muted);line-height:1.7}.progression-view{padding:clamp(22px,4vw,48px)}.progression-view__summary{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}.progression-view__summary>p{margin:0 0 6px;color:var(--gd-muted);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.progression-notice{padding:14px 16px;border-left:5px solid var(--gd-yellow);margin:18px 0;background:#fff8d8;line-height:1.6}.progression-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 0 18px;color:var(--gd-muted);font-size:.67rem;font-weight:800;text-transform:uppercase}.progression-legend span{display:inline-flex;align-items:center;gap:7px}.progression-legend span:before{width:20px;height:5px;background:var(--gd-blue);content:""}.progression-legend span[data-edge=prerequisite]:before{background:var(--gd-yellow)}.progression-legend span[data-edge=alternative]:before{height:0;border-top:2px dashed var(--gd-muted);background:transparent}.progression-legend span[data-tier]:before{width:12px;height:12px;border-radius:50%}.progression-legend span[data-tier=beginner]:before{background:#b9d9a7}.progression-legend span[data-tier=intermediate]:before{background:#9fcce8}.progression-legend span[data-tier=advanced]:before{background:#f0c778}.progression-legend span[data-tier=elite]:before{background:#d99a9a}.progression-graph-shell{border:1px solid var(--gd-line);background:#f7f7f3}.progression-graph-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:12px;border-bottom:1px solid var(--gd-line);background:var(--gd-white)}.progression-graph-controls form{display:grid;grid-template-columns:minmax(220px,430px) auto;align-items:end;gap:8px}.progression-graph-controls [role=group]{display:flex;gap:6px}.progression-graph-controls [aria-label="Zoom in"],.progression-graph-controls [aria-label="Zoom out"]{width:48px;padding:0;font-size:1.2rem}.progression-graph-viewport{position:relative;height:clamp(500px,70vh,780px);overflow:hidden;background:linear-gradient(rgba(16,24,29,.055) 1px,transparent 0),linear-gradient(90deg,rgba(16,24,29,.055) 1px,transparent 0),#fbfbf8;background-size:24px 24px}.progression-graph-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.progression-graph-canvas[data-chart-layout=true]{position:absolute}.progression-graph-canvas:active{cursor:grabbing}.progression-edge{fill:none;stroke:var(--gd-blue-deep);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.35;vector-effect:non-scaling-stroke}.progression-axis-label,.progression-boundary,.progression-region,.progression-tier{pointer-events:none}.progression-region rect{fill:rgba(60,152,207,.035);stroke:rgba(16,24,29,.22);stroke-width:1.5}.progression-region rect[data-even=true]{fill:rgba(247,194,46,.07)}.progression-axis-label,.progression-boundary text,.progression-region text,.progression-tier text{fill:var(--gd-charcoal);font-family:var(--gd-body);font-size:16px;font-weight:900;letter-spacing:.06em;text-anchor:middle;text-transform:uppercase}.progression-boundary rect{fill:rgba(16,24,29,.045);stroke:rgba(16,24,29,.32);stroke-dasharray:7 6;stroke-width:1.5}.progression-axis-label,.progression-boundary text{fill:var(--gd-muted);font-size:10px}.progression-axis-label{text-anchor:start}.progression-tier rect{fill:transparent;stroke:rgba(16,24,29,.22);stroke-dasharray:8 7;stroke-width:1.5}.progression-tier text{font-family:var(--gd-display);font-size:24px;letter-spacing:0;text-anchor:start}.progression-edge--prerequisite{stroke:#b28613;stroke-dasharray:9 6}.progression-edge--alternative{stroke:#59676e;stroke-dasharray:4 5;stroke-width:2.1}.progression-edge[data-muted=true]{opacity:.42}.progression-arrowhead{fill:var(--gd-blue-deep)}.progression-arrowhead--prerequisite{fill:#b28613}.progression-arrowhead[data-muted=true]{opacity:.42}.progression-frozen-overlay{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%}.progression-frozen-overlay,.progression-frozen-overlay *{pointer-events:none}.progression-frozen-header-backdrop,.progression-frozen-rail-backdrop{fill:rgba(251,251,248,.97)}.progression-boundary-header rect,.progression-frozen-corner rect,.progression-region-header rect,.progression-tier-header rect{stroke:rgba(16,24,29,.55);stroke-width:1.5;vector-effect:non-scaling-stroke}.progression-region-header rect{fill:rgba(238,245,248,.97)}.progression-region-header rect[data-even=true]{fill:rgba(255,247,225,.97)}.progression-boundary-header rect{fill:rgba(238,238,234,.97);stroke-dasharray:6 5}.progression-boundary-header text,.progression-frozen-corner text,.progression-region-header text,.progression-tier-header text{fill:var(--gd-charcoal);font-family:var(--gd-body);font-weight:900;letter-spacing:.06em;text-anchor:middle;text-transform:uppercase}.progression-region-header text{font-size:13px}.progression-boundary-header text{fill:var(--gd-muted);font-size:9px}.progression-tier-header rect{fill:rgba(246,246,242,.98)}.progression-tier-header text{font-size:13px}.progression-tier-header[data-tier=beginner] rect{fill:rgba(234,244,228,.98)}.progression-tier-header[data-tier=intermediate] rect{fill:rgba(228,242,251,.98)}.progression-tier-header[data-tier=advanced] rect{fill:rgba(255,241,212,.98)}.progression-tier-header[data-tier=elite] rect{fill:rgba(248,225,225,.98)}.progression-frozen-corner rect{fill:rgba(16,24,29,.98)}.progression-frozen-corner text{fill:var(--gd-white);font-size:8px;letter-spacing:.04em}.progression-node .progression-node__surface{fill:var(--gd-white);stroke:var(--gd-ink);stroke-width:2;cursor:pointer}.progression-node[data-tier=beginner] .progression-node__surface{fill:#eaf4e4}.progression-node[data-tier=intermediate] .progression-node__surface{fill:#e4f2fb}.progression-node[data-tier=advanced] .progression-node__surface{fill:#fff1d4}.progression-node[data-tier=elite] .progression-node__surface{fill:#f8e1e1}.progression-node[data-route=true] .progression-node__surface,.progression-node[data-selected=true] .progression-node__surface{stroke:var(--gd-blue-deep);stroke-width:5}.progression-node[data-goal=true] .progression-node__surface{stroke:var(--gd-yellow);stroke-width:6}.progression-node__focus-glow{fill:rgba(255,204,0,.8);pointer-events:none;stroke:var(--gd-yellow);stroke-width:7}.progression-node[data-focused=true] .progression-node__surface{stroke:#9c6800;stroke-width:7}.progression-node text{fill:var(--gd-ink);font-family:var(--gd-body);font-size:14px;font-weight:850;pointer-events:none;text-anchor:middle}.progression-node a text{pointer-events:auto;text-decoration:underline;text-decoration-color:transparent}.progression-node a:focus text,.progression-node a:hover text{text-decoration-color:currentColor}.progression-node .progression-node__level{fill:var(--gd-muted);font-size:7px;letter-spacing:.09em;pointer-events:none;text-anchor:start;text-transform:uppercase}.progression-node__video rect{fill:#d62626;stroke:var(--gd-white);stroke-width:1.5}.progression-node__video path{fill:var(--gd-white)}.progression-node__video{cursor:pointer;pointer-events:all}.progression-node__video:focus rect,.progression-node__video:hover rect{fill:#a52222;stroke:var(--gd-yellow);stroke-width:3}.progression-graph-help{padding:11px 14px;margin:0;border-top:1px solid var(--gd-line);color:var(--gd-muted);font-size:.7rem}.progression-relationship-list,.progression-selection{padding:clamp(20px,3vw,34px);border:1px solid var(--gd-line);margin-top:24px;background:var(--gd-white)}.progression-selection__heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.progression-relationship-list h3,.progression-selection h3{margin:8px 0;font-family:var(--gd-display);font-size:clamp(1.8rem,3vw,2.7rem)}.progression-relationship-list>p,.progression-selection>p{color:var(--gd-muted);line-height:1.65}.progression-selection__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}.progression-selection__groups h4{margin:0 0 8px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.progression-relationship-list ul,.progression-selection__groups ul{padding:0;margin:0;list-style:none}.progression-relationship-list li,.progression-selection__groups li{padding:8px 0;border-bottom:1px solid var(--gd-line);line-height:1.5}.progression-relationship-list a,.progression-selection__groups a{color:var(--gd-blue-deep);font-weight:800}.progression-relationship-list span{color:var(--gd-muted)}.progression-resource{padding:clamp(42px,7vw,76px) 0;background:var(--gd-white)}.progression-resource__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.progression-resource h2{margin:10px 0;font-family:var(--gd-display);font-size:clamp(2rem,4vw,3.5rem)}.progression-resource p:last-child{max-width:690px;margin-bottom:0;color:var(--gd-muted);line-height:1.65}.progression-resource__actions{display:flex;flex-wrap:wrap;gap:10px}@media (max-width:900px){.progression-pickers,.progression-selection__groups{grid-template-columns:1fr}.progression-graph-controls,.progression-resource__inner,.progression-selection__heading,.progression-view__summary{align-items:stretch;flex-direction:column}.progression-graph-controls form{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:620px){.progression-hero h1{font-size:clamp(2.7rem,14vw,4.5rem)}.progression-mode-tabs button{min-height:52px;font-size:.63rem}.progression-graph-controls form,.progression-pickers form,.progression-pickers--goal-only form{grid-template-columns:1fr}.progression-graph-controls form button,.progression-pickers button{width:100%}.progression-graph-controls [role=group]{display:grid;grid-template-columns:48px 48px minmax(0,1fr)}.progression-graph-viewport{height:62vh;min-height:430px}.progression-view{padding-inline:12px}.progression-resource__actions,.progression-resource__actions .button{width:100%}}@media (prefers-reduced-motion:reduce){.progression-page *,.progression-page :after,.progression-page :before{scroll-behavior:auto!important;transition:none!important}}