:root{--paper:#f3f4ef;--surface:#fff;--ink:#182c2b;--muted:#4f6361;--line:#bac9c1;--accent:#175e4d;--soft:#e7eee6;--warning:#854818;--warning-bg:#fff0dc;--radius:12px;color-scheme:light;font:16px/1.5 system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}main{max-width:1320px;margin:auto;padding:28px}header,footer,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}header{border-bottom:1px solid var(--line);padding-bottom:18px}a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px}
button,select{font:inherit;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px 14px;min-height:46px;cursor:pointer}button:disabled,button[aria-disabled="true"]{opacity:.45;cursor:default}button:hover:not(:disabled):not([aria-disabled="true"]){border-color:var(--accent)}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--warning);outline-offset:4px}[hidden]{display:none!important}
.primary{background:var(--accent);border-color:var(--accent);color:var(--surface);font-weight:700}.badge{border:1px solid var(--line);border-radius:99px;font-size:.875rem;padding:6px 12px}
.intro{padding:26px 0 16px;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.intro .eyebrow{grid-column:1/-1}.intro p:last-child{max-width:56ch;align-self:end}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}
h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 12px}h2{font-size:1.25rem;line-height:1.25;margin:0 0 12px}h3{font-size:1rem;margin:0 0 6px}p{margin:6px 0 16px}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end;padding:16px 0}.controls label{display:grid;gap:5px;font-size:.875rem;margin-right:auto;min-width:0}.controls select{max-width:100%;min-width:0;width:100%}
.current{display:grid;grid-template-columns:1fr 215px;gap:24px;background:var(--ink);color:var(--surface);padding:22px;border-radius:var(--radius);margin:8px 0 18px}.current p:last-child{margin-bottom:0}.current .eyebrow,.revision span,.where{color:#c5d9d3}.where{font-size:.875rem;font-weight:650}.revision{border-left:1px solid #68817b;padding-left:22px;display:grid;align-content:center;gap:4px}.revision strong{font-size:1.5rem}.revision span{font-size:.875rem}
.canvas,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:18px;min-width:0}.canvas{background:var(--soft)}.section-heading p,.caption,.section-heading span{font-size:.875rem;color:var(--muted)}
.decision{border-color:var(--accent);border-width:2px}.choices{display:grid;gap:8px;margin:8px 0 12px}.choice{text-align:left;min-height:48px}.choice[aria-pressed=true]{border:2px solid var(--accent);font-weight:700}.consequence p{margin:8px 0}.correct{color:var(--accent);font-weight:700}.gate-hint{font-size:.875rem;color:var(--muted);margin:0 0 4px}.link-button{border:0;background:none;color:var(--accent);text-decoration:underline;padding:10px 0;min-height:44px}
.diagram{margin:0}.diagram svg{display:block;width:100%}.diagram-wide{display:none!important}.diagram-tall{max-width:440px;margin:0 auto}figcaption{font-size:.875rem;color:var(--muted);margin-top:10px}
svg rect{fill:var(--surface);stroke:var(--line);stroke-width:1.5}svg text{fill:var(--ink);text-anchor:middle}svg .node-title{font-size:20px;font-weight:700}svg .node-title.small{font-size:18px}svg .node-sub{font-size:17px;fill:var(--muted)}svg .active rect{fill:var(--accent);stroke:var(--accent)}svg .active text{fill:var(--surface)}svg marker path{fill:var(--muted)}svg marker path.loop-head{fill:var(--warning)}.connector,.loop{fill:none;stroke:var(--muted);stroke-width:2}.loop{stroke:var(--warning)}svg .loop-label{font-size:17px;fill:var(--warning);text-anchor:start}
.steps-heading{margin:18px 0 8px}.review-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:8px;background:var(--surface)}.review-steps li{padding:10px 12px;border-left:1px solid var(--line);border-top:3px solid transparent;display:grid;gap:2px;align-content:start}.review-steps li:first-child{border-left:0}.review-steps .is-current{border-top-color:var(--accent)}.review-steps .is-current .step-name{color:var(--accent)}.step-name{font-weight:700}.step-status{font-size:.875rem;color:var(--muted)}
.ok{color:var(--accent)!important;font-weight:650}.blocked{color:var(--warning)!important;font-weight:650}.muted{color:var(--muted)}
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lane{border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0}.lane.changed{border:2px solid var(--accent)}.lane p{margin:0 0 8px}.lane ul{margin:0 0 8px;padding-left:18px}.lane code{font-size:.875rem;overflow-wrap:anywhere}.lane-status{font-size:.875rem;color:var(--muted);font-weight:650}.lane.changed .lane-status{color:var(--accent)}
.workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.inspector{background:var(--soft)}dl{margin:20px 0}dt{font-size:.875rem;color:var(--muted)}dd{margin:3px 0 16px;font-weight:650;overflow-wrap:anywhere}.commit-status{font-size:1.125rem}
.events{display:grid;gap:8px}.event{text-align:left;display:grid;grid-template-columns:35px 150px 1fr;gap:12px}.event[aria-current=true]{background:var(--soft);border-color:var(--accent)}.event span:first-child,.event span:nth-child(2){font-size:.875rem;color:var(--muted)}
summary{cursor:pointer;min-height:44px;padding:10px 0}details{margin:12px 0 24px}footer{padding:20px 0;border-top:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1024px){.diagram-wide{display:block!important}.diagram .diagram-tall{display:none}}
@media(max-width:1023px){.review-steps{grid-template-columns:1fr}.review-steps li{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:12px;border-left:3px solid transparent}.review-steps li:first-child{border-top:0}.review-steps .is-current{border-left-color:var(--accent);border-top-color:var(--line)}.review-steps li:first-child.is-current{border-top-color:transparent}}
@media(max-width:760px){main{padding:18px 14px}.intro,.workspace,.current,.lanes{grid-template-columns:1fr}.intro{gap:8px}.intro p:last-child{margin-top:8px}.controls label{width:100%}.controls button{flex:1 1 auto}.current{gap:16px}.revision{border-left:0;border-top:1px solid #68817b;padding:12px 0 0;grid-template-columns:auto 1fr}.revision span:last-child{grid-column:1/-1}.revision strong{font-size:1.1rem;text-align:right}.canvas,.panel{padding:16px}.event{grid-template-columns:25px 1fr}.event span:nth-child(2){display:none}.section-heading{gap:4px}h1{font-size:2.5rem}.review-steps li{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.breadcrumb{margin-top:2px;font-size:.875rem}.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;padding:0;list-style:none}.breadcrumb li{display:flex;align-items:center;gap:8px;color:var(--muted)}.breadcrumb a{min-height:44px;padding:8px 2px;font-weight:650}.breadcrumb [aria-current=page]{font-weight:700;color:var(--ink)}

@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#13201f;--surface:#1a2a28;--ink:#edf5f0;--muted:#b7c9c2;--line:#49605a;--accent:#78cbb1;--soft:#20332f;--warning:#f0ba79;--warning-bg:#4a3320}svg .active text{fill:#13201f}.current .eyebrow,.revision span,.where{color:#3c5552}.revision{border-color:#8aa29b}}
.try-steps{margin:0 0 12px;padding-left:1.25rem;display:grid;gap:8px;line-height:1.5}.try p{max-width:70ch;line-height:1.5}.try a{display:inline-flex;align-items:center;min-height:44px}
