.phase-shell{display:grid;grid-template-columns:220px minmax(0,1fr) 240px;gap:32px;max-width:1240px;margin:0 auto;padding:32px 28px 80px}.phase-rail{border-right:1px solid var(--color-line, #e5e1d6);padding-right:18px}.phase-rail-inner{position:sticky;top:88px}.rail-h{font:600 10.5px/1 var(--font-mono);color:var(--color-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.rail-list{list-style:none;margin:0 0 4px;padding:0}.rail-step a{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:center;padding:7px 6px;border-radius:6px;text-decoration:none;color:var(--color-ink-2);font-size:13px}.rail-step a:hover{background:var(--color-paper-2)}.rail-n{width:22px;height:22px;border-radius:50%;background:var(--color-paper-2);color:var(--color-muted);font:600 11px/22px var(--font-mono);text-align:center}.rail-step.done .rail-n{background:var(--color-deep-forest, #2d4a32);color:#eaf0e1}.rail-step.on a{color:var(--color-ink);font-weight:600}.rail-step.on .rail-n{background:var(--color-copper);color:#fff}.rail-divider{height:1px;background:var(--color-line, #e5e1d6);margin:18px 0 14px}.rail-meta{list-style:none;margin:0;padding:0}.rail-meta a{display:block;padding:4px 6px;text-decoration:none;color:var(--color-ink-2);font-size:13px;border-radius:6px}.rail-meta a:hover{background:var(--color-paper-2)}.phase-main{min-width:0}.phase-crumb ol{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px;font:500 11.5px/1 var(--font-mono);color:var(--color-muted);letter-spacing:.04em}.phase-crumb a{color:var(--color-ink-2);text-decoration:none}.phase-crumb a:hover{color:var(--color-copper)}.phase-head{margin:14px 0 16px}.phase-kicker{font:500 11px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-copper);margin:0 0 12px}.phase-h1{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,4vw,40px);line-height:1.06;letter-spacing:-.015em;margin:0 0 8px;color:var(--color-ink)}.phase-h1 em{font-style:italic;color:var(--color-deep-forest, #2d4a32)}.phase-h1-num{color:var(--color-muted);font-family:var(--font-display);font-weight:400;margin-right:8px}.phase-sub{color:var(--color-muted);font-size:15.5px;margin:0 0 22px;max-width:60ch;line-height:1.5}.phase-goals{background:var(--color-paper-2);border:1px solid var(--color-line, #e5e1d6);border-radius:12px;padding:16px 20px;margin:0 0 28px;page-break-inside:avoid;break-inside:avoid}.phase-goals-h{font:600 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin:0 0 10px;font-family:var(--font-mono)}.phase-goals ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:13px;color:var(--color-ink-2)}.phase-goals li{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start}.phase-goals li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-copper);margin-top:7px}.phase-prose{margin-top:0}.phase-prevnext{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:36px;padding-top:18px;border-top:1px solid var(--color-line, #e5e1d6)}.phase-prevnext-link{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--color-ink-2)}.phase-prevnext-link.right{align-items:flex-end;text-align:right}.phase-prevnext-link:hover .phase-prevnext-title{color:var(--color-copper)}.phase-prevnext-dir{font:500 11px/1 var(--font-mono);letter-spacing:.04em;color:var(--color-muted);text-transform:uppercase}.phase-prevnext-title{font-size:14px;font-weight:600;color:var(--color-ink)}.phase-prevnext-all{font:500 12px/1 var(--font-mono);color:var(--color-muted);text-decoration:none;letter-spacing:.06em;text-transform:uppercase}.phase-prevnext-all:hover{color:var(--color-copper)}.phase-aside-inner{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}.aside-h{font:600 10.5px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0 0 10px;font-family:var(--font-mono);font-weight:600}.phase-toc-card,.phase-nav-card{background:var(--color-paper-2);border:1px solid var(--color-line, #e5e1d6);border-radius:12px;padding:14px 14px 12px}.phase-toc{font-size:13px;display:flex;flex-direction:column}.phase-toc a{display:block;padding:6px 8px 6px 12px;color:var(--color-ink-2);text-decoration:none;border-left:2px solid transparent;margin-left:-10px;transition:color .12s}.phase-toc a:hover{color:var(--color-copper)}.phase-toc a.on{color:var(--color-ink);font-weight:600;border-left-color:var(--color-copper)}.phase-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.phase-nav-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--color-line, #e5e1d6);border-radius:8px;background:var(--color-card);text-decoration:none;color:var(--color-ink-2);font-size:11.5px}.phase-nav-tile small{color:var(--color-muted);font:500 10.5px/1 var(--font-mono);letter-spacing:.04em}.phase-nav-tile b{color:var(--color-ink);font-size:12px;font-weight:600}.phase-nav-tile.disabled{opacity:.45;cursor:default}.phase-nav-tile:hover:not(.disabled){border-color:var(--color-copper)}@media(max-width:1100px){.phase-shell{grid-template-columns:1fr;gap:20px}.phase-rail,.phase-aside{border-right:0;padding-right:0}.phase-rail-inner,.phase-aside-inner{position:static}.phase-rail{border-bottom:1px solid var(--color-line, #e5e1d6);padding-bottom:16px}.rail-list{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.rail-step a{grid-template-columns:22px 1fr;font-size:12px}}@media(max-width:640px){.phase-shell{padding:20px 16px 56px}.rail-list{grid-template-columns:repeat(4,1fr)}}
