/* The web proposal reads like a route; the downloadable PDF remains a document. */
body{background:#e5f1f6;background-image:radial-gradient(ellipse at 5% 20%,#c1e6f5 0,transparent 35%),radial-gradient(ellipse at 97% 74%,#f7e2b8 0,transparent 30%)}
.topbar{background:#fbfdf9f5;backdrop-filter:blur(15px)}
.cover-copy{background:linear-gradient(140deg,#fbfefa,#e2f1f9)}
.spec-strip{background:#f8fbfd}.document-section{background:#fffffff0;padding-top:84px;padding-bottom:84px}
.section-side{position:relative}.section-number{border:1px solid #b5d2e5;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;font-size:38px;background:#e8f4fb}
.section-side::after{content:'';display:block;flex:1;border-left:2px dashed #b6d8ea;margin:22px 0 0 37px;max-height:calc(100% - 136px)}
.section-side>span:not(.section-number){font-size:11px;line-height:1.5;margin-top:8px}
.map-section{background:#eff7fa}.scope-section{background:#f9f0dc}.documents-section{background:#dfedf9}
.map-panel{border-radius:0 0 20px 20px;overflow:hidden;box-shadow:0 10px 30px #183c5f08}.map-tabs button{font-size:16px}
.game-frame{touch-action:none}.mode-tabs button,.game-tools button,.game-tools a{font-size:14px;min-height:42px}
.player-status{font-size:14px;line-height:1.8;min-height:70px}.design-notes dt{font-size:14px}.design-notes dd{font-size:16px}
.journey-scroll{height:180vh;height:180svh;position:relative;background:#b4e4f4;border-block:1px solid #88bbd0}
.journey-sticky{height:calc(100vh - 88px);height:calc(100svh - 88px);min-height:580px;position:sticky;top:88px;overflow:hidden;max-width:1600px;margin:auto;isolation:isolate;background:#b4e4f4}
.journey-copy{position:relative;z-index:2;width:43%;padding:7vh 0 0 max(40px,calc((100vw - 1240px)/2));pointer-events:none}
.journey-copy .eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:24px;color:#254c68}.journey-copy h2{font-size:clamp(52px,6.1vw,90px);line-height:1.15;letter-spacing:-.06em;margin-bottom:25px}
.journey-copy h2 span{color:#1767eb}.journey-copy>p:not(.eyebrow){font-size:17px;max-width:315px;line-height:1.9;min-height:65px}
.journey-meter{display:flex;align-items:center;gap:20px;margin:15px 0 27px}.journey-meter>span{font:700 48px/1 Arial;color:#1767eb}.journey-meter div>span{display:block;font-weight:800;font-size:17px}.journey-meter small{display:block;font-size:13px;color:#3c657e;margin-top:5px}
.journey-slider-label{display:flex;justify-content:space-between;font-size:13px;max-width:265px}.journey-copy input{width:265px;max-width:100%;accent-color:#1767eb;display:block;margin:8px 0 18px;pointer-events:auto;cursor:ew-resize;min-height:25px}
.journey-skip{font-size:14px;border-bottom:1px solid #3d7298;pointer-events:auto}.journey-scene{position:absolute;inset:0 0 0 40%;z-index:0}.journey-scene video{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;display:block}
.journey-chip{position:absolute;right:11%;top:13%;background:#fffced;padding:12px 17px;box-shadow:4px 4px 0 #326c9126;border:1px solid #90bad0;border-radius:3px;transform:rotate(7deg);font-size:14px;font-weight:750}
.journey-foot{position:absolute;left:max(40px,calc((100vw - 1240px)/2));right:40px;bottom:24px;display:flex;justify-content:space-between;font-size:12px;color:#365f75;z-index:3;pointer-events:none}
.journey-scroll.is-parked .journey-chip{background:#ffdf5c;transform:rotate(-4deg)}
.rule-workshop{margin:62px 0 0}.rule-workshop-head h3{font-size:31px;margin:0 0 9px;letter-spacing:-.035em}.rule-workshop-head>p:last-child{color:var(--muted);font-size:16px;margin-bottom:27px}
.rule-console{display:grid;grid-template-columns:230px 1fr;border-radius:16px;overflow:hidden;background:#17384e;color:#f3faff;box-shadow:8px 10px 0 #b6d3e3}
.rule-select{background:#102c40;display:flex;flex-direction:column;padding:14px 0}
.rule-select button{display:grid;grid-template-columns:1fr 30px;align-items:center;gap:4px 12px;border:0;border-left:4px solid transparent;background:transparent;color:#c9dcea;padding:18px 19px;text-align:left;cursor:pointer;min-height:90px}
.rule-select small{font:700 12px Arial;letter-spacing:.07em;grid-column:1}.rule-select span{font-size:17px;font-weight:750}.rule-select b{grid-column:2;grid-row:1/3;font:400 28px Arial;text-align:center}
.rule-select button[aria-selected=true]{background:#ffdf5c;color:#142b42;border-color:#fff}.rule-select button:hover{background:#284c63;color:white}.rule-select button[aria-selected=true]:hover{background:#ffe681;color:#142b42}
.rule-display{padding:27px 35px 35px;min-height:385px;position:relative;overflow:hidden}.rule-route{width:100%;height:170px;display:block;overflow:visible;margin-bottom:15px}
.rule-route path{fill:none;stroke-linecap:round;stroke-linejoin:round}.rule-line{stroke:#64caf7;stroke-width:8;stroke-dasharray:465;stroke-dashoffset:0;transition:stroke-dashoffset .7s ease}.rule-ghost{stroke:#c2d5de;stroke-width:3;stroke-dasharray:5 9;opacity:0}.rule-dot{fill:#5fc6ff;stroke:white;stroke-width:3;transition:cx .9s,cy .9s}
.rule-start-ring{fill:none;stroke:#e2f3ff;stroke-width:2;opacity:.7}.rule-car-label{font:600 15px sans-serif;text-anchor:middle;fill:#c8e8f9}.rule-goal rect{fill:none;stroke:#74ceff;stroke-width:3}.rule-goal text{font:800 40px Arial;text-anchor:middle;fill:#74ceff}.rule-impact{opacity:0}.rule-impact circle{fill:#ff846b}.rule-impact text{fill:white;font:800 26px Arial;text-anchor:middle}
.rule-display[data-step="1"] .rule-dot{cx:285;cy:52}.rule-display[data-step="1"] .rule-start-ring,.rule-display[data-step="1"] .rule-car-label{opacity:0}
.rule-display[data-step="2"] .rule-ghost{opacity:.6}.rule-display[data-step="2"] .rule-impact{opacity:1}.rule-display[data-step="2"] .rule-line{stroke:#ffdf5c}.rule-display[data-step="2"] .rule-start-ring{opacity:0}
.rule-display[data-step="3"] .rule-dot{cx:420;cy:52;fill:#ffdf5c}.rule-display[data-step="3"] .rule-goal rect{fill:#fcde5620;stroke:#ffdf5c}.rule-display[data-step="3"] .rule-goal text{opacity:0}.rule-display[data-step="3"] .rule-start-ring,.rule-display[data-step="3"] .rule-car-label{opacity:0}
.rule-quote{font-size:25px;font-weight:800;margin:5px 0 16px;position:relative;z-index:1}.rule-display p:not(.rule-quote){font-size:16px;line-height:1.95;color:#d5e5ef;max-width:530px;position:relative;z-index:1;margin-bottom:0}.rule-corner{position:absolute;right:10px;bottom:-27px;font:900 150px/1 Arial;color:#ffffff06;pointer-events:none}
.rule-metrics{display:flex;gap:38px;justify-content:flex-end;margin:30px 0 20px}.rule-metrics p{display:flex;align-items:center;gap:18px;margin:0;max-width:340px}.rule-metrics strong{font:700 35px/1 Arial;color:#1767eb;white-space:nowrap}.rule-metrics strong span{font:700 15px sans-serif;margin-left:5px}.rule-metrics p>span{font-size:13px;line-height:1.7;color:#536b7c}.rule-fineprint{margin-top:20px}.rule-fineprint p{font-size:15px;max-width:800px}
.observation-route{margin-top:48px}.observation-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:0 30px}.observation-head .eyebrow{grid-column:1/-1}.observation-head h3{font-size:30px;line-height:1.5;margin:0 0 23px}.observation-head>p:last-child{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:25px}
.checkpoint-tabs{display:flex;position:relative;justify-content:space-between;margin:10px 0 30px;isolation:isolate}.checkpoint-tabs::before{content:'';height:2px;background:repeating-linear-gradient(90deg,#b0cbdc 0 8px,transparent 8px 15px);position:absolute;left:8%;right:8%;top:30px;z-index:-1}
.checkpoint-tabs button{border:0;background:transparent;color:#566d7d;cursor:pointer;min-width:90px;padding:0 6px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:650}.checkpoint-tabs b{font:600 23px/1 Arial;width:61px;height:61px;border:1px solid #a7bfd0;display:grid;place-items:center;background:#f6fafc;border-radius:50%;transition:transform .2s,background .2s}.checkpoint-tabs button[aria-selected=true] b{background:#1767eb;color:white;border-color:#1767eb;transform:rotate(-10deg);box-shadow:4px 4px 0 #ffdf5c}.checkpoint-tabs button[aria-selected=true]{color:#1767eb}.checkpoint-tabs button:hover b{transform:translateY(-4px)}
.observation-ticket{display:grid;grid-template-columns:.95fr 1.3fr;min-height:375px;position:relative;background:#fdfbf0;border:1px solid #ccd6d6;border-radius:6px;box-shadow:6px 7px 0 #dae7ed;transform:rotate(-.5deg)}
.ticket-question{padding:32px;border-right:2px dashed #cdd3c6;position:relative}.ticket-question>span{font:750 12px Arial;letter-spacing:.1em;color:#52718a;display:block;margin-bottom:29px}.ticket-question>small{font-size:13px;color:#66725e}.ticket-question h4{font-size:36px;line-height:1.45;letter-spacing:-.04em;margin:15px 0 26px;color:#153951}.ticket-question p{font-size:14px;font-weight:700;margin-bottom:0;line-height:1.8}
.ticket-notes{padding:30px 34px;display:flex;flex-direction:column;gap:20px}.ticket-notes>div>span{font-size:13px;font-weight:800;display:inline-block;border-bottom:3px solid #d8e5a3;padding-bottom:3px}.ticket-notes p{font-size:16px;line-height:1.9;margin:9px 0 0}.ticket-repair>span{border-color:#f2c49e!important}.ticket-repair p{color:#5d5a54}.checkpoint-next{align-self:flex-end;background:transparent;color:#1767eb;border:0;border-bottom:1px solid #1767eb;padding:7px 0;margin-top:auto;font-size:14px;font-weight:750;cursor:pointer}.checkpoint-next span{margin-left:20px;font-size:24px;vertical-align:middle}
.observation-disclaimer{font-size:12px;color:#677781;margin:20px 0 0}.test-method{background:#eaf2f4;border-left:0;border-radius:3px;padding:30px;margin-top:35px}.test-method .label{font-size:17px;color:#163f55}.test-method p{font-size:16px;line-height:1.95}.test-method p:last-child{margin:0}
.download-panel{border:2px dashed #77a9d2;background:#f9fcff;border-radius:8px;box-shadow:8px 8px 0 #bad2e5}.download-panel h3{font-size:25px}.download-panel p{font-size:15px;line-height:1.9}.download-panel .primary{font-size:15px}.authorship p{font-size:15px}
@media(min-width:1450px){.document-section{margin-block:24px;border-radius:12px}.document-section .section-side::after{max-height:70%}}
@media(max-width:1050px){.journey-copy{padding-left:30px;width:46%}.journey-copy h2{font-size:64px}.journey-copy .eyebrow{font-size:10px}.journey-copy>p:not(.eyebrow){font-size:15px;max-width:240px}.journey-meter{gap:13px}.journey-meter small{font-size:12px}.journey-scene{left:39%;right:-7%}.journey-chip{right:13%;font-size:12px;top:17%}.rule-console{grid-template-columns:195px 1fr}.rule-select button{padding:17px 14px}.rule-select span{font-size:15px}.rule-display{padding:25px}.rule-quote{font-size:22px}.ticket-question{padding:26px}.ticket-question h4{font-size:30px}.ticket-notes{padding:25px}.rule-metrics{gap:25px}.section-side::after{margin-left:32px}.section-number{width:65px;height:65px;font-size:32px}}
@media(max-width:760px){.document-section{padding:45px 24px}.section-side::after{display:none}.section-side>span:not(.section-number){margin-top:0}.section-number{width:46px;height:46px;font-size:25px}.map-explanation{padding:27px 22px}.design-notes>div{display:block}.design-notes dt{margin-bottom:5px}.design-notes dd{font-size:15px}.journey-scroll{height:165svh}.journey-sticky{top:124px;height:calc(100svh - 124px);min-height:550px}.journey-copy{padding:25px 24px 0;width:100%;height:100%;pointer-events:none}.journey-copy .eyebrow{font-size:10px;letter-spacing:.05em;margin-bottom:14px}.journey-copy h2{font-size:41px;line-height:1.15;margin-bottom:13px;position:relative;z-index:2;max-width:200px}.journey-copy h2 br{display:none}.journey-copy h2 span{display:block}.journey-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:145px;min-height:0}.journey-meter{position:absolute;left:24px;top:245px;display:block;width:130px;margin:0}.journey-meter>span{font-size:36px}.journey-meter div>span{font-size:15px;margin-top:12px}.journey-meter small{font-size:12px;line-height:1.65;max-width:95px}.journey-scene{inset:25px -38% 55px 22%}.journey-chip{top:auto;bottom:16%;right:35%;font-size:10px;padding:8px 11px;white-space:nowrap}.journey-slider-label{position:absolute;bottom:58px;left:24px;right:24px;max-width:none;font-size:12px}.journey-copy input{position:absolute;left:24px;bottom:25px;width:calc(100% - 48px);margin:0;max-width:none}.journey-skip{position:absolute;bottom:13px;right:24px;font-size:11px}.journey-foot{bottom:14px;left:24px;right:auto;font-size:10px}.journey-foot span:last-child{display:none}.rule-workshop{margin-top:42px}.rule-workshop-head h3{font-size:25px}.rule-workshop-head>p:last-child{font-size:15px}.rule-console{grid-template-columns:1fr;box-shadow:4px 6px 0 #b6d3e3;border-radius:10px}.rule-select{display:grid;grid-template-columns:repeat(4,1fr);padding:0}.rule-select button{display:flex;flex-direction:column;min-height:82px;padding:11px 4px;gap:7px;border-left:0;border-bottom:4px solid transparent;justify-content:center;text-align:center}.rule-select small{font-size:10px}.rule-select span{font-size:12px;white-space:nowrap}.rule-select b{display:none}.rule-select button[aria-selected=true]{border-bottom-color:white}.rule-display{padding:17px 22px 28px;min-height:350px}.rule-route{height:150px;margin-bottom:13px}.rule-quote{font-size:22px;line-height:1.55}.rule-display p:not(.rule-quote){font-size:15px}.rule-metrics{justify-content:space-between;gap:25px;margin-top:24px}.rule-metrics p{display:block;flex:1}.rule-metrics strong{font-size:30px;display:block;margin-bottom:11px}.rule-metrics p>span{font-size:12px}.rule-fineprint p{font-size:14px}.observation-head{display:block}.observation-head h3{font-size:26px}.observation-head>p:last-child{font-size:15px}.checkpoint-tabs{margin:25px -5px;gap:0}.checkpoint-tabs::before{top:22px}.checkpoint-tabs button{min-width:0;flex:1;font-size:11px;padding:0 2px;gap:9px}.checkpoint-tabs b{width:44px;height:44px;font-size:18px}.observation-ticket{grid-template-columns:1fr;transform:none;box-shadow:4px 5px 0 #dae7ed}.ticket-question{padding:25px;border-right:0;border-bottom:2px dashed #cdd3c6}.ticket-question>span{margin-bottom:20px;font-size:11px}.ticket-question h4{font-size:31px;margin:12px 0 15px}.ticket-question h4 br{display:none}.ticket-question>small{font-size:12px}.ticket-question p{font-size:14px}.ticket-notes{padding:25px;gap:24px}.ticket-notes p{font-size:15px}.observation-disclaimer{font-size:12px}.test-method{padding:23px}.test-method p{font-size:15px}.download-panel{box-shadow:4px 5px 0 #bad2e5}.download-panel h3{font-size:23px}.download-panel p{font-size:14px}.download-panel .primary{font-size:14px}.authorship p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.journey-scroll{height:auto}.journey-sticky{position:relative;top:0;height:680px}.rule-line,.rule-dot{transition:none}.checkpoint-tabs button[aria-selected=true] b{transform:none}.observation-ticket{transform:none}.journey-chip{transform:none}}
@media print{body{background:white}.journey-scroll{display:none}.document-section{background:white;margin:0;border-radius:0}.rule-console{color:#142b42;background:white;box-shadow:none;border:1px solid #adc3d0}.rule-select{background:#e9f0f4}.rule-select button{color:#142b42}.rule-display p:not(.rule-quote){color:#142b42}.observation-ticket{transform:none;box-shadow:none}.section-side::after{display:none}}
@media screen and (max-width:760px){.journey-copy h2{font-size:clamp(28px,5vw,37px);max-width:none;width:260px}.journey-copy h2 span{white-space:nowrap}.journey-scene{inset:30px -3% 60px 34%}.journey-chip{right:10%;bottom:17%}.journey-meter{top:225px}}
@media screen and (max-width:480px){.journey-copy{padding-top:20px}.journey-copy h2{font-size:30px;margin-bottom:10px}.journey-copy>p:not(.eyebrow){max-width:260px;font-size:13px}.journey-copy .eyebrow{margin-bottom:12px}.journey-scene{inset:147px -6% 70px 9%}.journey-chip{right:16%;bottom:12%;font-size:10px;max-width:180px;white-space:normal}.journey-meter{top:auto;bottom:112px;width:95px}.journey-meter small{display:none}.journey-meter div>span{font-size:13px;margin-top:7px}.journey-meter>span{font-size:30px}}
@media screen and (max-width:480px){.rule-select{grid-template-columns:repeat(2,1fr)}.rule-select button{min-height:74px}.rule-select small{font-size:11px;white-space:nowrap}.rule-select span{font-size:14px}.ticket-question h4{font-size:28px}.topbar nav{gap:12px;justify-content:space-between}.topbar nav a{font-size:12px}}
