*{box-sizing:border-box} :root{--brand:#006580;--brand-hover:#004f65;--brand-soft:#e0eff3;--ink:#183c47;--muted:#465f68;--teal:var(--brand);--orange:#be6415;--mint:#d7edf2;--line:#cddfe5;--bg:#f5f9fa}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #006580;outline-offset:4px}header{max-width:1500px;margin:auto;display:flex;justify-content:space-between;align-items:center;height:90px;padding:0 35px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:25px;font-weight:750}.brand span:not(.monogram){display:block;font-size:10px;letter-spacing:2px}.monogram{background:#e0eff3;color:#006580;width:46px;height:46px;border-radius:10px;display:grid;place-items:center;font-size:23px;font-weight:800}.head-meta{display:flex;gap:18px;align-items:center;font-size:14px}.head-meta button{font-size:14px;background:white;border:1px solid #bdd4dc;border-radius:7px;padding:9px 12px}main{max-width:1500px;margin:auto;padding:25px 35px 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--teal);font-weight:800;margin:0 0 7px}h1{margin:0;font-size:35px;letter-spacing:-1px}.intro>p{font-size:15px;color:var(--muted);margin:0}.material-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.material-tabs button{display:flex;gap:16px;text-align:left;align-items:center;border:1px solid #c6dce3;background:#fff;padding:13px 18px;border-radius:10px;color:var(--ink);font-weight:650;font-size:18px}.material-tabs button b{font-size:14px;background:#eaf4f7;padding:6px 8px;border-radius:5px;color:var(--teal)}.material-tabs small{display:block;font-size:12px;font-weight:400;margin-top:3px;color:var(--muted)}.material-tabs button[aria-selected=true]{background:#e0eff3;color:var(--ink);border-color:#006580;box-shadow:inset 0 0 0 1px #006580}.material-tabs button[aria-selected=true] b{background:#c5e2e9;color:#00556c}.material-tabs button[aria-selected=true] small{color:#345e69}#workspace{background:white;border:1px solid #c6dce3;border-radius:14px;overflow:hidden}.question{padding:19px 24px;border-bottom:1px solid #d4e3e8;display:flex;gap:24px;align-items:center;background:#fff}.question>span{font-size:11px;letter-spacing:1.5px;font-weight:800;white-space:nowrap;color:var(--teal)}.question strong{font-size:21px;font-weight:650;line-height:1.35}.layout{display:grid;grid-template-columns:minmax(0,1fr) 345px}.visual-side{background:#f0f7f9;min-width:0;display:flex;flex-direction:column}.scene-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 0;color:#46616b;font-size:12px;letter-spacing:1px}.scene-header span:last-child{background:#dcecf1;padding:5px 9px;border-radius:4px;font-size:12px;color:#345e69}.scene{position:relative;min-height:295px;flex:1;display:flex;align-items:center;background-image:radial-gradient(#00658012 1px,transparent 1px);background-size:20px 20px}.scene svg{width:100%;display:block;aspect-ratio:780/350;max-height:400px;overflow:visible}.scene svg text{font-family:"Segoe UI",Arial,sans-serif}.live-stats{display:flex;gap:25px;padding:15px 23px;border-top:1px solid #c4dce4;color:var(--ink);background:#e3f0f3;flex-wrap:wrap}.live-stats>div{min-width:120px}.live-stats span{display:block;font-size:11px;letter-spacing:.8px;color:#46616b}.live-stats strong{display:block;font-size:23px;font-weight:600;margin-top:2px}.transport{display:flex;gap:12px;align-items:center;padding:15px 20px;border-top:1px solid #c4dce4;background:#edf5f7;color:#345e69}.transport button{border:1px solid #9bbbc5;border-radius:6px;background:#fff;color:var(--ink);min-width:40px;min-height:40px;font-size:18px}.transport .play{background:var(--mint);color:#00556c;border-color:var(--mint);font-weight:700;min-width:124px;font-size:16px}.transport input{min-width:60px;flex:1;accent-color:var(--teal)}.transport select{background:#fff;color:var(--ink);border:1px solid #9bbbc5;border-radius:5px;font-size:14px;padding:6px;max-width:76px}.transport output{font-size:12px;min-width:34px}.controls{padding:23px;min-width:0;background:#fff}.controls .eyebrow{font-size:11px;margin-bottom:7px}.controls h2{font-size:25px;letter-spacing:-.6px;line-height:1.25;margin:0 0 12px}.brief{font-size:16px;color:var(--muted);margin:0 0 17px}.field-title{font-size:13px;font-weight:700;display:block;margin:13px 0 7px;color:#3d606a}.input-row{display:flex;gap:8px}.input-row input{width:100%;min-width:0;border:1px solid #90b4c0;border-radius:6px;padding:9px;font-size:23px;font-weight:600;color:var(--ink);background:#f6fafb}.input-row select{border:1px solid #90b4c0;background:#f6fafb;color:var(--ink);border-radius:6px;min-width:75px;padding:7px;font-size:18px}.unit-choices{display:flex;gap:7px;flex-wrap:wrap}.unit-choices button,.prediction button{border:1px solid #9bbbc5;background:white;border-radius:6px;padding:8px 13px;font-size:18px}.unit-choices button[aria-pressed=true],.prediction button[aria-pressed=true]{background:#e0eff3;border-color:var(--teal);color:#00556c}.action{border:0;border-radius:7px;background:var(--teal);color:white;padding:11px 15px;font-size:17px;font-weight:650;width:100%;margin-top:15px}.action:hover{background:#004f65}.feedback{font-size:15px;padding:13px 14px;border-left:3px solid #6299aa;background:#edf5f7;margin-top:15px;line-height:1.55}.feedback strong{display:block;font-size:16px;margin-bottom:4px}.feedback.bad{border-color:#c97526;background:#fff1e2;color:#714820}.feedback.good{border-color:#17887d;background:#e5f4ed;color:#255e4f}.bottom-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:16px}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:13px;padding:7px 0}.next{border:1px solid #90b4c0;background:white;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:650}.check-list{display:flex;gap:7px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:14px}.check-list span{background:#edf5f7;padding:4px 7px;border-radius:4px}.notice{font-size:12px;color:#4b6570;padding:0 23px 14px}.range{width:100%;accent-color:var(--teal);height:30px}.range-label{display:flex;justify-content:space-between;align-items:center;font-size:13px}.range-label output{font-size:20px;font-weight:600;color:var(--teal)}.prediction{display:flex;gap:6px}.prediction button{font-size:14px;padding:7px;flex:1}.length-tools{padding:10px 22px 14px;color:#3d606a;border-top:1px solid #c4dce4}.length-tools .range{accent-color:var(--orange)}.length-tools .range-label output{color:#9b4b0d}.length-tools small{font-size:12px;color:#4b6570}.queue{display:flex;flex-direction:column;gap:7px;margin-bottom:13px;max-height:160px;overflow:auto}.queue-item{border:1px solid #b6d2dc;background:#f0f7f9;border-radius:6px;display:flex;align-items:center;padding:7px 9px;gap:8px;font-size:16px}.queue-item b{font-size:12px;color:var(--teal)}.queue-item span{flex:1}.queue-item button{padding:1px 6px;border:0;background:#dcecf1;border-radius:3px;font-size:15px}.queue-add{display:flex;gap:7px}.queue-add select{font-size:15px;min-width:0;width:100%;padding:7px;background:white;border:1px solid #9bbbc5;border-radius:5px}.queue-add button{padding:5px 10px;border:1px solid #86aebb;background:#e5f2f5;border-radius:5px;font-size:22px}.route-predict{display:flex;gap:9px;align-items:center}.route-predict input{min-width:0;width:75px;font-size:20px;padding:6px;border:1px solid #9bbbc5;border-radius:5px}.route-predict span{font-size:13px;color:var(--muted)}.route-grid-hit{cursor:crosshair}.timeline-caption{font-size:12px;color:#46616b;padding:0 22px 13px}.comparison{font-size:13px;border-top:1px solid #d4e3e8;margin-top:12px;padding-top:10px;color:var(--muted)}.comparison strong{color:var(--ink)}footer{font-size:12px;color:var(--muted);padding:16px 2px 22px;display:flex;justify-content:space-between;gap:20px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:#fff;padding:10px;z-index:100}dialog{max-width:650px;width:calc(100% - 32px);border:0;border-radius:14px;padding:30px;color:var(--ink)}dialog::backdrop{background:#08222dba;backdrop-filter:blur(4px)}dialog h2{font-size:27px;margin:0 0 15px}dialog li{margin:14px 0;font-size:17px}dialog p{font-size:15px;color:var(--muted)}.close{float:right;border:0;border-radius:50%;background:#e8f3f6;width:32px;height:32px;font-size:25px}.presenting header{height:49px;max-width:none;padding:0 22px}.presenting .brand strong{font-size:19px}.presenting .monogram{width:31px;height:31px;font-size:18px}.presenting .brand div>span{display:none}.presenting .intro,.presenting footer{display:none}.presenting main{max-width:none;padding:0 18px 12px}.presenting .material-tabs{margin-bottom:9px}.presenting .material-tabs button{padding:8px 16px}.presenting .material-tabs small{display:none}.presenting .layout{min-height:calc(100vh - 181px);grid-template-columns:minmax(0,1fr) minmax(330px,27%)}.presenting .question{padding:13px 20px}.presenting .question strong{font-size:23px}.presenting .scene svg{max-height:none}.presenting .controls{padding:19px 22px}.presenting .live-stats strong{font-size:26px}.presenting .live-stats span{font-size:13px}.presenting .brief{font-size:17px}.presenting .feedback{font-size:16px}.presenting .field-title{font-size:14px}.presenting .queue{max-height:145px}.presenting .scene-header{font-size:14px}.presenting .notice{font-size:14px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(max-width:1000px){header{padding:0 20px}.head-meta>span{display:none}main{padding:22px 20px 0}.layout{grid-template-columns:minmax(0,1fr) 310px}.controls{padding:20px}.scene svg{aspect-ratio:780/390}.question strong{font-size:20px}.intro h1{font-size:29px}.intro>p{font-size:13px}}@media(max-width:750px){header{height:72px;padding:0 15px}.head-meta{gap:7px}.head-meta button{font-size:12px;padding:8px}.brand strong{font-size:20px}.monogram{width:35px;height:35px;font-size:18px}.brand span:not(.monogram){font-size:8px;letter-spacing:1px}main{padding:20px 12px 0}.intro{margin-bottom:19px}.intro>p{display:none}.intro h1{font-size:29px}.intro .eyebrow{font-size:10px}.material-tabs{gap:6px}.material-tabs button{padding:10px 7px;gap:8px;align-items:flex-start;flex-direction:column;font-size:13px}.material-tabs button b{font-size:11px;padding:2px 5px}.material-tabs small{display:none}.layout,.presenting .layout{grid-template-columns:1fr}.question{padding:15px;gap:6px;flex-direction:column;align-items:flex-start}.question strong{font-size:18px}.scene{min-height:250px}.scene svg{aspect-ratio:780/450;min-height:240px}.scene-header{padding:15px 15px 0;font-size:10px}.scene-header span:last-child{font-size:10px}.controls{padding:22px}.controls h2{font-size:25px}.brief{font-size:17px}.live-stats{padding:12px 16px;gap:18px}.live-stats strong{font-size:19px}.live-stats span{font-size:10px}.live-stats>div{min-width:90px}.transport{padding:13px 14px;gap:8px;flex-wrap:wrap}.transport .play{min-width:110px;font-size:15px}.transport input{min-width:60px}.transport select{max-width:62px}.transport output{font-size:11px}.notice{font-size:11px;padding:0 15px 13px}.length-tools{padding:12px 15px}.feedback{font-size:16px}footer{font-size:11px}.presenting .question strong{font-size:19px}.presenting .material-tabs button{padding:8px}.presenting main{padding:0 10px 10px}.presenting header{padding:0 12px}.presenting .live-stats strong{font-size:20px}.presenting .live-stats span{font-size:11px}.presenting .scene-header{font-size:11px}.presenting .scene svg{min-height:260px}.prediction button{font-size:15px}}
@media(min-width:751px){.presenting .layout{height:calc(100vh - 181px);min-height:0}.presenting .visual-side{min-height:0}.presenting .scene{min-height:0;overflow:hidden}.presenting .scene svg{position:absolute;inset:0;width:100%;height:100%;max-height:100%;min-height:0}.presenting .controls{overflow-y:auto}.presenting .scene-header,.presenting .live-stats,.presenting .transport,.presenting .length-tools,.presenting .notice{flex-shrink:0}}
@media(max-height:800px) and (min-width:751px){.presenting .check-list,.presenting .comparison{display:none}.presenting .controls{padding:15px 20px}.presenting .controls h2{font-size:23px;margin-bottom:9px}.presenting .brief{font-size:16px;margin-bottom:12px}.presenting .feedback{font-size:15px;padding:10px 12px;margin-top:12px}.presenting .field-title{margin-top:10px}.presenting .bottom-actions{margin-top:12px}.presenting .length-tools{padding-top:7px;padding-bottom:8px}.presenting .live-stats{padding-top:9px;padding-bottom:9px}.presenting .transport{padding-top:10px;padding-bottom:10px}.presenting .notice{font-size:12px;padding-bottom:9px}.presenting .action{margin-top:11px;padding-top:9px;padding-bottom:9px}}

/* Corporate identity: keep every text state legible on the light surfaces. */
header{border-bottom-color:var(--brand)}
.brand strong,h1,.weeks-heading h2{color:var(--brand)}
.monogram{background:var(--brand);color:#fff}
.material-tabs button[aria-selected=true]{background:var(--brand-soft);color:var(--brand);border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.material-tabs button[aria-selected=true] b{background:#c5e2e9;color:#004f65}
.material-tabs button[aria-selected=true] small{color:#345e69}
.unit-choices button[aria-pressed=true],.prediction button[aria-pressed=true],.transport .play{background:var(--brand);border-color:var(--brand);color:#fff}
.action:hover,.transport .play:hover{background:var(--brand-hover)}
button:disabled,input:disabled,select:disabled{opacity:1!important;color:#485f68!important;background:#e6eef1!important;border-color:#95adb6!important;-webkit-text-fill-color:#485f68}
input::placeholder{color:#526b75;opacity:1}
