:root{--bg:#f4f7f7;--paper:#fff;--ink:#243b42;--muted:#63767d;--accent:#376e73;--accent-dark:#28565b;--sage:#e4eeea;--line:#dce5e4;--soft:#eef3f3;--warn:#795b31;--warn-bg:#f6f0e5;font-family:"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);border-radius:7px;padding:10px 17px;background:white;color:var(--ink);font-weight:600}button:hover{background:var(--soft)}:focus-visible{outline:3px solid #477e8e;outline-offset:4px}button.primary,.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:7px;padding:11px 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer}button.primary:hover,.primary:hover{background:var(--accent-dark)}button.quiet{border:0;background:transparent;padding:8px 10px;font-size:13px;color:var(--muted)}button.quiet:hover{color:var(--accent);background:var(--soft)}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:white}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:21px;letter-spacing:-.5px}.brand-mark{width:34px;height:34px;background:var(--accent);color:#fff;border-radius:9px;font-size:20px;display:grid;place-items:center;letter-spacing:-2px;padding-right:2px}.brand-divider{margin-left:15px;padding-left:23px;border-left:1px solid var(--line);font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted)}.layout{display:grid;grid-template-columns:275px minmax(0,1fr);max-width:1500px;margin:auto;min-height:calc(100vh - 150px)}.sidebar{padding:44px 24px 24px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column}.course-label{font-size:13px;color:var(--muted)}.sidebar h2{font-size:23px;line-height:1.4;letter-spacing:-.5px;margin:9px 0 28px;font-weight:600}.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;gap:12px;align-items:center;border-radius:8px;padding:13px 10px;font-size:14px;font-weight:600}.sidebar nav a:hover{background:#eaf0ef}.sidebar nav a[aria-current=page]{background:var(--sage);color:var(--accent-dark)}.sidebar nav a small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}.sidebar nav a.overview{margin-bottom:12px;font-size:13px}.nav-number{font-size:12px;font-weight:600;width:27px;flex-shrink:0;color:var(--muted)}.nav-done{margin-left:auto;color:var(--accent)}.progress-area{margin-top:44px;font-size:12px}.progress-area>div{display:flex;justify-content:space-between}progress{width:100%;height:5px;border:0;appearance:none;display:block;margin:12px 0 16px;border-radius:10px;overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.progress-area p{font-size:11px;line-height:1.6;color:var(--muted);max-width:190px}.sidebar-bottom{font-size:12px;color:var(--muted);margin-top:auto;padding-top:70px}main{padding:45px clamp(24px,5vw,78px) 65px;min-width:0;max-width:1150px}h1{font-size:clamp(30px,3.2vw,43px);line-height:1.2;letter-spacing:-1.3px;font-weight:600;margin:14px 0 19px}h2{font-size:23px;line-height:1.35;letter-spacing:-.4px;font-weight:600}h3{font-size:18px;line-height:1.4;font-weight:600}p{margin:0 0 16px}.lead{font-size:17px;color:var(--muted);max-width:640px;line-height:1.8}.crumb{font-size:12px;color:var(--muted);display:flex;gap:12px;align-items:center}.crumb:before{content:"";display:block;width:23px;height:2px;background:var(--accent)}.intro{margin-bottom:34px}.start-intro{padding:10px 0 20px;max-width:660px}.start-intro h1{font-size:clamp(35px,4vw,52px);max-width:600px}.path-list{display:grid;border:1px solid var(--line);background:var(--paper);border-radius:13px;overflow:hidden}.path-card{padding:26px 28px;display:grid;grid-template-columns:42px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line)}.path-card:last-child{border-bottom:0}.path-card:hover{background:#fafcfc}.path-card .big-number{color:var(--accent);font-size:25px;font-weight:300;align-self:start;margin-top:2px}.path-card h2{margin:0 0 5px;font-size:21px}.path-card p{font-size:14px;color:var(--muted);margin:0;max-width:510px}.path-card .arrow{font-size:22px;color:var(--accent)}.path-meta{font-size:11px;color:var(--muted);margin-top:12px;display:flex;gap:15px}.case-note{display:flex;gap:18px;padding:24px 0;margin-top:10px;color:var(--muted);font-size:13px}.case-note strong{display:block;color:var(--ink);font-weight:600;font-size:14px;margin-bottom:4px}.case-icon{width:32px;height:32px;background:var(--sage);border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:var(--accent)}.tabs{display:flex;gap:27px;border-bottom:1px solid var(--line);margin:32px 0 28px}.tabs button{border:0;border-radius:0;padding:0 0 13px;background:none;font-size:14px;color:var(--muted);position:relative}.tabs button[aria-selected=true]{color:var(--accent-dark)}.tabs button[aria-selected=true]:after{position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--accent);content:""}.sheet{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:30px;margin:20px 0}.sheet h2:first-child,.sheet h3:first-child{margin-top:0}.sheet p{max-width:75ch;font-size:14px}.summary-line{border-left:3px solid var(--accent);padding:2px 0 2px 20px;font-size:17px;margin:25px 0}.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:27px 0}.concept h3{font-size:15px;margin:0 0 8px}.concept p{font-size:13px;color:var(--muted);margin:0}.tag{display:inline-block;border-radius:4px;padding:3px 8px;font-size:11px;background:var(--sage);color:var(--accent-dark);font-weight:600;white-space:nowrap}.tag.warn{color:var(--warn);background:var(--warn-bg)}.fine{font-size:12px!important;color:var(--muted);line-height:1.6}.table-wrap{overflow-x:auto;margin:18px 0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top}th{color:var(--muted);font-size:11px;font-weight:600;background:var(--soft)}td:first-child{font-weight:600}tr.highlight td{background:#f0f6f3}td small{display:block;font-weight:400;color:var(--muted);margin-top:4px}td select{min-width:52px;padding:5px}.formula{display:flex;gap:18px;align-items:center;background:var(--soft);padding:20px;border-radius:8px;margin:22px 0}.formula strong{font-size:20px;font-weight:600;color:var(--accent-dark)}.formula span{font-size:12px;color:var(--muted)}details{border-top:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-size:14px;font-weight:600}details p{margin:13px 0 0;color:var(--muted)}.callout{background:var(--sage);padding:18px 20px;border-radius:8px;font-size:14px;margin:22px 0}.callout.warn{background:var(--warn-bg)}.callout p{margin:5px 0 0}.task-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:32px;align-items:center}.task-bottom a{font-size:14px;color:var(--accent);font-weight:600}.task-bottom button{font-size:13px}.field{display:block;margin:20px 0}.field>span{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field small{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}textarea,input[type=text],select{border:1px solid #c8d6d5;border-radius:6px;padding:11px 12px;background:white;color:var(--ink);max-width:100%}textarea{display:block;width:100%;min-height:116px;resize:vertical;line-height:1.6;font-size:14px}textarea::placeholder,input::placeholder{color:#7d8b8f}.save-state{font-size:11px;color:var(--muted);text-align:right}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.steps{display:grid;gap:0}.step{display:grid;grid-template-columns:31px 145px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.step:last-child{border-bottom:0}.step-no{color:var(--accent);font-size:12px}.step-role{font-weight:600;font-size:12px}.step p{margin:0}.step .tag{margin-top:7px}.lane-key{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;margin:20px 0}.lane-key span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}.lane-table{min-width:630px;table-layout:fixed}.lane-table td{font-weight:400;font-size:11px;padding:9px;border-right:1px solid var(--line);vertical-align:middle}.lane-table th:first-child{width:45px}.lane-node{background:var(--soft);padding:9px;border-radius:4px;display:block;line-height:1.5}.lane-node.bottleneck{background:var(--warn-bg);color:var(--warn)}.strategy-list{counter-reset:str;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.strategy-list>div{padding:14px;background:var(--soft);border-radius:6px;font-size:13px}.strategy-list strong{display:block;font-weight:600}.strategy-list strong:before{counter-increment:str;content:counter(str) ". ";color:var(--accent)}.strategy-list small{color:var(--muted)}.question{padding:23px 0;border-bottom:1px solid var(--line)}.question:first-child{padding-top:0}.question h3{font-size:16px;margin:0 0 15px}.choices{display:grid;gap:9px}.choices button{text-align:left;font-size:13px;font-weight:400;padding:13px 15px}.choices button.selected{border-color:var(--accent);background:var(--sage)}.choices button.wrong{border-color:#b68d6c;background:var(--warn-bg)}.feedback{font-size:13px;margin-top:12px;padding:13px 15px;border-left:3px solid var(--accent);background:var(--soft)}.feedback:empty{display:none}.feedback.wrong{border-color:#a77c4b}.result{font-size:14px;padding:16px 0;color:var(--accent-dark)}.scenario-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:20px}.scenario{padding:26px;background:var(--soft);border-radius:9px;margin:20px 0}.scenario h3{font-size:20px;margin-top:0}.scenario p{font-size:15px}.scenario-actions{display:flex;gap:12px;flex-wrap:wrap}.scenario-nav{display:flex;justify-content:space-between;gap:15px;margin-top:20px}.scenario-nav button:disabled{opacity:.4;cursor:default}.checklist{list-style:none;padding:0;font-size:14px}.checklist li{margin:12px 0}.checklist li:before{content:"✓";color:var(--accent);margin-right:12px}.footer{border-top:1px solid var(--line);padding:18px 44px;display:flex;align-items:center;gap:20px;color:var(--muted);font-size:11px}.footer>span{margin-right:auto}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:12px 20px;font-size:13px;box-shadow:0 4px 20px #0002;display:none;max-width:90vw;z-index:20}#toast.show{display:block}.print-only{display:none}
@media(min-width:1250px){main{padding-top:55px}.sidebar{padding-top:55px}.start-intro{padding-top:15px}}
@media(max-width:900px){.layout{grid-template-columns:225px minmax(0,1fr)}.sidebar{padding-left:20px;padding-right:15px}.brand-divider{display:none}main{padding:32px 25px}.sheet{padding:23px}.concepts{gap:15px}.step{grid-template-columns:25px 110px 1fr}.topbar{padding:0 24px}.path-card{padding:22px;gap:12px}}
@media(max-width:680px){.topbar{height:67px;padding:0 18px}.brand{font-size:19px}.topbar .quiet{font-size:11px}.layout{display:block}.sidebar{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.sidebar h2,.course-label,.sidebar-bottom,.overview,.progress-area p{display:none!important}.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.sidebar nav a{font-size:11px;padding:10px 8px;display:block;line-height:1.4}.sidebar nav a small{display:none}.nav-number{display:block;font-size:10px;margin-bottom:6px}.nav-done{float:right;margin-top:-14px}.progress-area{margin-top:14px;font-size:10px}.progress-area>div{display:flex}.progress-area progress{margin:6px 0 0;height:3px}main{padding:27px 18px 40px}h1{font-size:31px}.start-intro h1{font-size:36px}.lead{font-size:15px}.start-intro{padding:0}.path-card{grid-template-columns:29px 1fr 16px;padding:21px 17px;gap:9px}.path-card h2{font-size:17px}.path-card p{font-size:12px}.path-card .big-number{font-size:20px}.path-meta{font-size:10px;gap:10px}.sheet{padding:20px 17px}.sheet h2{font-size:20px}.concepts,.two-col{grid-template-columns:1fr;gap:19px}.tabs{gap:24px;margin-top:26px}.tabs button{font-size:13px}.formula{display:block}.formula strong{font-size:18px;display:block}.formula span{display:block;margin-top:6px}.strategy-list{grid-template-columns:1fr 1fr;gap:8px}.step{grid-template-columns:24px 1fr;gap:7px}.step-role{grid-column:2}.step>div:last-child{grid-column:2}.step-no{grid-row:1/3}.task-bottom{align-items:flex-start}.task-bottom a{font-size:12px}.task-bottom button{font-size:12px;padding:10px}.footer{padding:18px;gap:8px;flex-wrap:wrap}.footer>span{font-size:10px;flex-basis:75%}.footer button{margin-left:-10px}.scenario{padding:20px}.scenario-actions button{flex:1;font-size:12px}.scenario-nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{body{background:white;font-size:11pt}.topbar,.sidebar,.tabs,.footer,.task-bottom,button,.skip,#toast,.scenario-nav{display:none!important}.layout{display:block}main{max-width:none;padding:0}.sheet{border:0;padding:0;margin:20px 0}.table-wrap{overflow:visible}.lane-table{min-width:0}.print-only{display:block}textarea{height:auto;min-height:100px;border:1px solid #aaa}.path-card,.question,.step{break-inside:avoid}details{display:block}details>p{display:block}h1{font-size:28px}.lead{font-size:13px}}

/* Swimlanes and restrained explanatory motion. */
.swimlane-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:30px 0 12px}.swimlane-heading h3{margin:8px 0 0;font-size:21px}.diagram-open{font-size:12px;font-weight:600;white-space:nowrap;border:1px solid #c7d8d6;padding:10px 13px;border-radius:6px;color:var(--accent-dark)}.diagram-open:hover{background:var(--sage)}.swimlane-frame{display:block;width:100%;height:1490px;border:1px solid var(--line);border-radius:10px;background:white}.swimlane-frame.soll{height:1280px}.diagram-print{display:none}.diagram-caption{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);padding:12px 2px 20px}.diagram-caption a{color:var(--accent);font-weight:600}.motion-story{background:#edf3f1;border:1px solid #d5e2de;border-radius:12px;padding:23px 26px;margin:0 0 28px;overflow:hidden}.story-top{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:26px}.story-top>strong{font-size:15px;font-weight:600}.story-top>span{font-size:11px;color:var(--muted)}.story-flow{display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:center;gap:12px}.story-stage{display:flex;gap:11px;align-items:center;min-width:0}.story-stage strong{font-size:13px;font-weight:600;display:block}.story-stage small{font-size:10px;color:var(--muted);display:block;line-height:1.4}.story-symbol{flex-shrink:0;position:relative;width:42px;height:42px;background:white;border:1px solid #c4d5d1;border-radius:8px;display:grid;place-items:center;color:var(--accent);font-size:23px}.papers i{position:absolute;width:17px;height:21px;border:1px solid #8eaaa5;background:#fff;border-radius:2px;left:10px;top:10px}.papers i:first-child{transform:rotate(-14deg) translate(-3px,-2px)}.papers i:last-child{transform:rotate(12deg) translate(3px,2px)}.lanes i{position:absolute;width:24px;height:1px;background:#c7d7d3;left:8px}.lanes i:first-child{top:12px}.lanes i:nth-child(2){top:20px}.lanes i:last-child{top:28px}.lanes i:after{content:"";display:block;width:8px;height:5px;background:#648f88;position:absolute;top:-2px;left:3px;border-radius:1px}.lanes i:nth-child(2):after{left:12px}.story-connection{height:1px;background:#b7ccc6;position:relative}.story-connection:before{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid #7c9e95;border-top:1px solid #7c9e95;transform:rotate(45deg)}.story-connection:after{content:"";position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:#376e73;opacity:0;animation:story-flow 2s ease-in-out 1}.story-connection:nth-child(4):after{animation-delay:1.7s}.approved{animation:story-confirm 800ms 3.2s ease-out 1}.intro{animation:intro-arrive 480ms ease-out 1}
@keyframes story-flow{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:95%;opacity:0}}
@keyframes story-confirm{0%{background:#fff}50%{background:#ccdfd8}100%{background:#fff}}
@keyframes intro-arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.story-flow{grid-template-columns:1fr 20px 1fr 20px 1fr;gap:8px}.story-stage{display:block}.story-symbol{margin-bottom:10px}.story-top>span{display:none}}
@media(max-width:680px){.motion-story{padding:20px 17px}.story-top{margin-bottom:20px}.story-top>strong{font-size:13px}.story-stage strong{font-size:11px}.story-stage small{font-size:9px}.story-flow{grid-template-columns:1fr 14px 1fr 14px 1fr;gap:7px}.swimlane-heading{display:block}.diagram-open{display:inline-block;margin-top:13px}.diagram-caption{display:block}.diagram-caption a{display:block;margin-top:8px}.swimlane-frame{height:1600px}.swimlane-frame.soll{height:1390px}}
@media(prefers-reduced-motion:reduce){.intro,.approved,.story-connection:after{animation:none!important;transform:none!important}.story-connection:after{display:none}}
@media print{.swimlane-frame,.diagram-open,.diagram-caption,.motion-story{display:none!important}.diagram-print{display:block;width:100%;height:auto;max-height:245mm;object-fit:contain;break-inside:avoid}.swimlane-heading{break-after:avoid}.intro{animation:none}}
