@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');
:root{--blue:#287c7d;--ink:#283b39;--yellow:#b9d3ba;--muted:#718078;--white:#eeeede}*{box-sizing:border-box}body{margin:0;background:#c9e8ee;color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;overflow:hidden}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ec7462;outline-offset:4px}button{border:0}button:disabled{opacity:.65;cursor:wait}#world{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none}.sky-wash{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(232,246,247,.97),rgba(232,246,247,.83) 24%,transparent 48%);transition:opacity .8s}body.exploring .sky-wash{opacity:0}.topbar{position:absolute;top:25px;left:30px;right:30px;display:flex;align-items:center;gap:20px;z-index:3}.brand{display:flex;align-items:center;gap:15px;background:var(--blue);color:#fff;text-decoration:none;padding:13px 16px 13px 20px;border-radius:21px;box-shadow:0 6px 0 #2040c718;transform:rotate(-3deg);font:800 23px/.9 'Barlow Condensed',sans-serif;letter-spacing:-1.1px}.brand-question{color:var(--yellow)}.brand-arrow{font-size:39px;color:var(--yellow);font-weight:400}.brand-note{font-size:9px;line-height:1.7;font-weight:800;letter-spacing:1.8px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.edition{font-size:10px;font-weight:800;letter-spacing:1.1px;margin-right:18px;display:flex;align-items:center;gap:8px}.edition>span{width:7px;height:7px;border-radius:50%;background:#f28b62}.icon-button{height:42px;width:42px;border-radius:14px;background:var(--blue);color:white;font-size:25px;box-shadow:0 4px 0 #203bad13}.yellow{background:var(--yellow);color:var(--ink);font-size:20px;font-weight:800}.intro{position:absolute;left:6%;top:23%;width:355px;transition:opacity .4s,transform .6s;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:7px;background:#ffffffc9;border-radius:30px;padding:8px 12px;font-size:9px;font-weight:800;letter-spacing:1.2px;color:var(--blue)}.live-dot{width:6px;height:6px;border-radius:50%;background:#ed735d}h1{font:800 clamp(40px,4.8vw,72px)/1.02 'Barlow Condensed',sans-serif;letter-spacing:-3px;color:var(--blue);margin:24px 0 20px}h1 span{color:#e45a4d}.intro-copy{font-size:13px;line-height:1.8;color:#68788c;margin:0 0 24px}.route-form{position:relative;background:#ffffffdf;border:1px solid #fff;border-radius:20px;padding:8px 15px 13px;box-shadow:0 15px 45px #45708812;backdrop-filter:blur(12px)}.field{position:relative;padding:12px 12px 12px 25px}.field:first-child{border-bottom:1px solid #e6eaf0}.field label{display:block;font-size:8px;font-weight:800;letter-spacing:1.1px;color:#8891a6;margin-bottom:5px}.field select{display:block;width:100%;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:700;outline-offset:1px;cursor:pointer;padding:0 18px 0 0}.location-dot{position:absolute;left:2px;top:30px;width:9px;height:9px;border:2px solid var(--blue);border-radius:50%}.end-dot{background:#ef7868;border-color:#ef7868}.start-dot:after{content:'';display:block;border-left:1px dashed #b2bad0;height:39px;position:absolute;left:2px;top:11px}#swap{position:absolute;right:29px;top:52px;z-index:1;background:#edf0ff;border:3px solid white;width:31px;height:31px;border-radius:50%;color:var(--blue);font-size:17px}.route-summary{display:flex;align-items:center;gap:12px;padding:13px 2px;font-size:10px;color:#69778e}.route-badge{margin-left:auto;font-size:7px;font-weight:800;background:#ecf1e9;color:#648567;padding:4px 6px;border-radius:5px}.primary{display:flex;justify-content:space-between;align-items:center;background:var(--yellow);color:var(--ink);border-radius:12px;width:100%;padding:16px 18px;font-weight:800;font-size:13px;box-shadow:0 3px 0 #e9c840;transition:transform .2s}.primary:hover{transform:translateY(-2px)}.primary>span:last-child{font-size:20px;line-height:14px}.intro-footnote{font-size:9px;letter-spacing:.3px;color:#8a95a5;text-align:center;margin:16px 0}.minimap-card{position:absolute;right:30px;top:107px;width:177px;padding:12px 10px 8px;border-radius:20px;background:var(--blue);color:white;box-shadow:0 9px 25px #2948a81c;z-index:2}.mini-heading,.mini-footer{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:.7px;padding:0 3px 8px}.mini-heading span{color:var(--yellow);font-size:14px}.mini-footer{padding:8px 3px 0}.north{color:var(--yellow)}#minimap{width:100%;height:110px;display:block;border-radius:10px;background:#eaf0f5}.district-chip{position:absolute;top:294px;right:70px;background:#ffffffdf;border-radius:20px;font-size:8px;padding:7px 11px;color:var(--blue);font-weight:800;letter-spacing:.6px}.scene-caption{position:absolute;bottom:19%;right:22%;display:flex;align-items:center;gap:10px;transform:rotate(-5deg);background:var(--white);padding:14px 18px;border-radius:15px;box-shadow:0 8px 30px #48707c20;font-size:10px;font-weight:800;letter-spacing:1px;transition:opacity .4s}.scene-caption small{display:block;font-size:9px;font-weight:400;letter-spacing:0;margin-top:4px;color:#82909e}.scene-caption>span:last-child{font-size:10px;color:var(--blue);background:#edf0ff;padding:6px;border-radius:6px}.pin-dot{width:11px;height:11px;border-radius:50%;background:var(--yellow);border:3px solid var(--blue)}.footer{position:absolute;bottom:14px;left:24px;right:24px;display:flex;align-items:center;gap:18px;font-size:8px;z-index:3;color:#5e7480}.footer-tag{background:#ffffffd9;border-radius:20px;padding:7px 11px;display:flex;align-items:center;gap:6px;font-size:7px;font-weight:800;letter-spacing:.5px;color:#586982}.footer-tag i{width:4px;height:4px;background:#e97764;border-radius:50%}.footer button{background:transparent;color:inherit;font-size:8px;padding:0}.footer>a{margin-left:auto;color:inherit;text-decoration:none}.playing-ui{opacity:0;visibility:hidden;transition:opacity .6s}body.exploring .playing-ui{opacity:1;visibility:visible}body.exploring .intro{opacity:0;transform:translateX(-40px);pointer-events:none;visibility:hidden}body.exploring .scene-caption{opacity:0;pointer-events:none}.toast{position:absolute;top:110px;left:50%;transform:translateX(-50%);padding:11px 19px;background:var(--yellow);box-shadow:0 5px 15px #8d801518;border-radius:30px;font-size:11px;font-weight:700;opacity:0;transition:opacity .4s;pointer-events:none;max-width:45%;text-align:center}body.exploring .toast{opacity:1}.journey-card{position:absolute;left:30px;bottom:165px;width:270px;background:var(--blue);color:white;border-radius:21px;padding:21px;box-shadow:0 12px 30px #204ac12b}.card-eyebrow{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:800;letter-spacing:1px}.card-eyebrow>span{background:var(--yellow);color:var(--ink);padding:4px 7px;border-radius:20px;letter-spacing:0}.journey-card h2{font:700 23px/1.1 'Barlow Condensed',sans-serif;margin:16px 0 7px}.journey-card p{font-size:10px;color:#cad4ff;margin:0}.journey-progress{height:4px;border-radius:5px;background:#ffffff30;margin:23px 0 12px;overflow:hidden}.journey-progress>div{height:100%;width:0;background:var(--yellow)}.journey-bottom{display:flex;justify-content:space-between;font-size:11px;font-weight:600}.text-button{background:transparent;color:#d4dcff;font-size:9px;padding:16px 0 0}.turn-card{position:absolute;right:30px;bottom:165px;width:282px;background:#eeeede;border:2px solid #fff;border-radius:21px;padding:19px;box-shadow:0 12px 35px #324b5520}.turn-card .card-eyebrow{color:#e67b62}.turn-main{display:flex;align-items:center;gap:12px;margin-top:18px}.turn-main>span{font-size:36px;font-weight:700;color:var(--blue);background:#edf0ff;border-radius:13px;width:49px;height:49px;display:grid;place-items:center;flex-shrink:0}.turn-main h2{font:700 22px/1.1 'Barlow Condensed',sans-serif;margin:0;color:var(--blue)}.turn-card>p{font-size:11px;line-height:1.5;color:#7f8996;min-height:30px}.turn-footer{border-top:1px solid #e9eced;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.turn-footer>span{font-size:7px;color:#919baa;letter-spacing:.5px}.turn-footer button{padding:7px 9px;border-radius:20px;font-size:8px;color:white;background:var(--blue)}.playback{position:absolute;left:50%;bottom:65px;transform:translateX(-50%);width:570px;display:flex;gap:13px;align-items:center;background:#eeeedef5;border:1px solid white;border-radius:20px;padding:12px 17px;box-shadow:0 10px 25px #48707c21;backdrop-filter:blur(12px)}.control-small{background:transparent;color:#748099;font-size:24px;padding:3px}.play-button{width:42px;height:42px;border-radius:50%;background:var(--blue);color:white;font-size:17px;flex-shrink:0}.scrubber{flex:1;min-width:80px}.scrubber>div{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.6px;font-weight:800;color:#7f8aa0;margin-bottom:6px}.scrubber input{display:block;width:100%;accent-color:var(--blue);height:5px;cursor:pointer}.speed-button,.camera-button{font-size:11px;padding:8px;background:#edf0ff;color:var(--blue);border-radius:8px;font-weight:700;white-space:nowrap}.camera-button{background:#fff0b5}.keyboard-hint{position:absolute;bottom:43px;left:50%;transform:translateX(-50%);font-size:8px;color:#627885;display:flex;align-items:center;gap:6px;white-space:nowrap}kbd{font-family:inherit;font-size:7px;border:1px solid #9dabb266;border-radius:3px;padding:1px 4px;background:#ffffff80}.keyboard-hint>span{margin:0 5px}dialog{border:0;border-radius:25px;padding:35px;max-width:480px;width:calc(100% - 32px);box-shadow:0 25px 100px #1c34734d;background:var(--white);color:var(--ink)}dialog::backdrop{background:#19376955;backdrop-filter:blur(6px)}dialog h2{font:800 36px/1.05 'Barlow Condensed',sans-serif;letter-spacing:-1px;color:var(--blue)}dialog p,dialog li{font-size:12px;line-height:1.8;color:#728096}dialog ul{padding-left:18px}dialog li{margin-bottom:9px}dialog a{color:var(--blue)}.dialog-close{position:absolute;right:17px;top:15px;font-size:23px;color:var(--blue);background:#edf0ff;border-radius:50%;width:30px;height:30px}#error-panel{position:fixed;inset:35% 20%;z-index:20;background:white;border-radius:25px;padding:30px;text-align:center}#error-panel[hidden]{display:none}#error-panel button{background:var(--yellow);padding:12px 20px;border-radius:9px}body.arrived .toast{background:#eeeede;color:var(--blue)}
@media(min-width:1600px){.intro{top:24%;width:390px}.intro-copy{font-size:15px}.route-form{padding:12px 18px 16px}.field{padding-top:15px;padding-bottom:15px}#swap{top:59px}.field select{font-size:16px}.primary{padding:19px}.minimap-card{width:195px}#minimap{height:125px}.district-chip{top:312px}}
@media(max-height:800px) and (min-width:761px){.intro{top:19%;width:320px}h1{font-size:54px;margin:18px 0 14px}.intro-copy{font-size:12px;margin-bottom:16px}.intro-footnote{margin:11px 0}.journey-card,.turn-card{bottom:151px}}
@media(max-width:1000px){.brand-note,.edition{display:none}.intro{left:4%;width:305px}h1{font-size:52px}.journey-card{width:230px;left:20px}.turn-card{width:250px;right:20px}.footer-tag{display:none}}
@media(max-width:760px){.topbar{top:16px;left:17px;right:17px}.brand{font-size:18px;padding:11px 13px;border-radius:16px;gap:10px}.brand-arrow{font-size:29px}.icon-button{width:36px;height:36px;border-radius:11px}.sky-wash{background:linear-gradient(0deg,#e5f2ef 0%,#e5f2eff2 43%,transparent 80%)}.intro{top:auto;bottom:45px;left:20px;width:calc(100% - 40px)}.intro .eyebrow{font-size:7px;padding:6px 9px}h1{font-size:41px;letter-spacing:-1.8px;margin:12px 0}h1 br{display:none}.intro-copy{font-size:11px;line-height:1.5;margin:0 0 14px;max-width:290px}.intro-copy br{display:none}.route-form{padding-top:3px}.field{padding-top:9px;padding-bottom:9px}.field select{font-size:13px}.field label{font-size:7px}.location-dot{top:24px}#swap{top:43px}.intro-footnote{display:none}.primary{padding:14px}.minimap-card{top:91px;right:17px;width:130px;border-radius:15px;padding:9px 7px}.mini-heading,.mini-footer{font-size:6px}#minimap{height:78px}.district-chip{top:239px;right:40px;font-size:6px;padding:6px 8px}.scene-caption{display:none}.footer{left:17px;right:17px;bottom:13px;gap:10px;font-size:6px}.footer button{font-size:7px;max-width:190px;text-align:left}.footer>a{font-size:6px;text-align:right;max-width:90px}.toast{top:91px;left:17px;transform:none;max-width:calc(100% - 168px);padding:9px 12px;font-size:9px;border-radius:12px}.journey-card{left:17px;bottom:110px;width:calc(42% - 20px);padding:13px;border-radius:15px;min-height:164px}.journey-card h2{font-size:17px;margin:12px 0 6px}.card-eyebrow{font-size:6px;letter-spacing:.4px}.journey-card p{font-size:8px}.journey-progress{margin:15px 0 8px}.journey-bottom{font-size:8px;gap:5px}.text-button{font-size:8px;padding-top:12px}.turn-card{right:17px;bottom:110px;width:calc(58% - 26px);padding:13px;border-radius:15px;min-height:164px}.turn-main{gap:8px;margin-top:12px}.turn-main>span{font-size:25px;width:33px;height:33px;border-radius:9px}.turn-main h2{font-size:17px}.turn-card>p{font-size:9px;margin:9px 0;min-height:26px}.turn-footer{padding-top:8px}.turn-footer>span{display:none}.turn-footer button{font-size:7px;width:100%;padding:5px}.playback{bottom:43px;width:calc(100% - 34px);gap:8px;padding:10px 12px;border-radius:16px}.play-button{width:34px;height:34px;font-size:14px}.camera-button{font-size:12px}.camera-button span{display:none}.keyboard-hint{display:none}.scrubber>div{font-size:6px}.speed-button{font-size:9px}.control-small{font-size:21px}dialog{padding:27px}dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
#map-labels{position:fixed;inset:0;pointer-events:none;z-index:1}#map-labels[hidden],.map-label[hidden]{display:none}.map-label{position:absolute;transform:translate(-50%,-100%);height:29px;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#fffdf5f2;border:1px solid #ffffff;border-radius:10px;box-shadow:0 3px 12px #183c5720;color:#40556a;font-size:10px;font-weight:700;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:transform .12s}.map-label:hover{transform:translate(-50%,-100%) scale(1.05)}.map-label:focus-visible{outline:3px solid #ec7462;outline-offset:2px}.map-label span{overflow:hidden;text-overflow:ellipsis}.map-label i{width:5px;height:5px;flex-shrink:0;background:#90a7b6;border-radius:50%}.map-label.landmark{color:#7b6024;border-color:#f5df94;background:#fff8dcf5}.map-label.landmark i{background:#e1ad24}.map-label.endpoint{color:var(--blue);border-color:#b9c7ff}.map-label.endpoint i{background:var(--blue)}.label-toggle{font-size:15px;font-weight:700}.label-toggle[aria-pressed=false]{background:#fffdf0;color:#8392a2}
/* Menapak: inked street atlas, cel shading and muted print colours. */
body{background:#82ccc4;color:#283b39}.sky-wash{background:linear-gradient(90deg,#e8ebdcee 0%,#e8ebdccc 25%,transparent 50%)}.topbar{gap:18px}.brand{transform:none;border:2px solid #283b39;border-radius:3px;background:#eeeede;color:#283b39;box-shadow:4px 4px 0 #283b39;font:800 21px/.92 'Barlow Condensed',sans-serif;letter-spacing:.4px;padding:11px 15px;gap:12px}.brand-arrow{font-size:34px;color:#287c7d;border-right:1px solid #8c9a88;padding-right:12px}.brand-note,.edition,.eyebrow,.field label,.card-eyebrow,.mini-heading,.mini-footer,.intro-footnote,.footer-tag,.scrubber>div{font-family:'IBM Plex Mono',monospace;letter-spacing:.8px}.brand-note{font-size:9px}.edition>span{background:#b56550}.icon-button{background:#eeeede;color:#283b39;border:2px solid #283b39;border-radius:4px;box-shadow:3px 3px 0 #283b3933}.icon-button.yellow{background:#bad3bd}.icon-button:hover{background:#d8e5cd}.intro{top:22%;width:360px}.eyebrow{background:none;padding:0;color:#426d65;border-radius:0;font-size:9px}.live-dot{background:#287c7d;border-radius:0;width:7px;height:7px}h1{font:800 clamp(52px,5.5vw,80px)/.92 'Barlow Condensed',sans-serif;letter-spacing:-.7px;color:#283b39;margin:20px 0}h1 span{color:#287c7d}.title-period{color:#b56550!important}.intro-copy{color:#56675e;font-size:12px;line-height:1.8}.route-form{border:2px solid #374941;border-radius:3px;background:#eeeedeed;box-shadow:5px 5px 0 #364a3d24;backdrop-filter:none}.field:first-child{border-color:#bbc3af}.field label{font-size:8px;color:#667569}.field select{font-size:14px;color:#283b39}.location-dot{border-color:#287c7d}.end-dot{background:#ae6851;border-color:#ae6851}.start-dot:after{border-color:#879b88}#swap{border:1px solid #566e61;border-radius:3px;background:#d5e1ca;color:#283b39;right:25px}.route-summary{color:#607362}.route-badge{border:1px solid #8b9d85;background:#d8e0c8;color:#425c4f;border-radius:2px}.primary{background:#287c7d;color:#f0f0dc;border:1px solid #283b39;border-radius:3px;box-shadow:3px 3px 0 #283b39;font-family:'IBM Plex Sans',sans-serif;font-size:12px;letter-spacing:.4px}.primary:hover{background:#346f6b;transform:translateY(-1px)}.intro-footnote{text-align:left;font-size:8px;color:#687b68;margin-top:19px}.minimap-card{background:#edeede;color:#344c45;border:2px solid #374941;border-radius:4px;box-shadow:5px 5px 0 #344b3f30}.mini-heading span,.north{color:#287c7d}#minimap{border:1px solid #8a9f8b;border-radius:1px;filter:saturate(.6) contrast(1.08)}.district-chip{border:1px solid #5b7163;background:#d9e2cd;color:#3c5d52;border-radius:1px;font-family:'IBM Plex Mono',monospace;letter-spacing:.6px}.scene-caption{border:2px solid #4a6154;border-radius:2px;transform:rotate(-2deg);background:#e5e8d6;box-shadow:4px 4px 0 #334c3d30}.scene-caption small{color:#6f7a6e;font-family:'IBM Plex Mono',monospace;font-size:7px}.scene-caption>span:last-child{background:#cbdcc7;border-radius:1px;color:#3c6b62}.pin-dot{background:#dfe6ca;border-color:#287c7d}.toast{background:#e9ebd6;color:#375c52;border:2px solid #3c5549;border-radius:3px;box-shadow:3px 3px 0 #324f4030;font-family:'IBM Plex Mono',monospace;font-size:10px}.journey-card{background:#344c47;border:2px solid #253c35;border-radius:4px;color:#f0edda;box-shadow:5px 5px 0 #1c392b35}.journey-card h2{font-family:'Barlow Condensed',sans-serif;font-size:29px;letter-spacing:.2px}.journey-card p{color:#b7cabb}.card-eyebrow>span{background:#c3d7b9;color:#304c3f;border-radius:2px}.journey-progress{border-radius:0;background:#6c8375}.journey-progress>div{background:#a8d6ca}.text-button{color:#bccfbd}.turn-card{background:#e9ecda;border:2px solid #374f43;border-radius:4px;box-shadow:5px 5px 0 #2347342b}.turn-card .card-eyebrow{color:#9b5c46}.turn-main>span{border:1px solid #5d8173;background:#c3dace;color:#287c7d;border-radius:3px}.turn-main h2{font-family:'Barlow Condensed',sans-serif;font-size:29px;color:#2c5148}.turn-card>p{color:#69766a}.turn-footer{border-color:#b5c1aa}.turn-footer button{border-radius:2px;background:#34695f;color:#e8eedb}.turn-footer>span{color:#6f7b68}.playback{background:#e9eddeed;border:2px solid #344e40;border-radius:4px;box-shadow:4px 4px 0 #254b352b;backdrop-filter:none}.play-button{background:#287c7d;border:1px solid #263f35;border-radius:3px;color:#eef0dc}.control-small{color:#486556}.speed-button,.camera-button{border:1px solid #8da58c;background:#d3dfc7;color:#355a4a;border-radius:2px}.scrubber>div{color:#607260}.scrubber input{accent-color:#287c7d}.keyboard-hint{color:#45644e}kbd{background:#e2e8d3;border-color:#9aaf92;border-radius:1px}.footer{color:#435d4f}.footer-tag{border-radius:1px;background:#e5e8d7;color:#49604f;font-size:7px}.footer-tag i{background:#a76349;border-radius:0}.map-label{border-radius:2px;border:1px solid #617d68;background:#e9eddbf2;color:#3e5748;box-shadow:2px 2px 0 #273c2d30;font-family:'IBM Plex Sans',sans-serif;font-weight:600}.map-label i{border-radius:0;background:#839885}.map-label.landmark{background:#d4e5c9;color:#365b46;border-color:#719567}.map-label.landmark i{background:#528e63}.map-label.endpoint{background:#d3e7df;color:#285e5b;border-color:#487e70}.map-label.endpoint i{background:#287c7d}.label-toggle[aria-pressed=false],.audio-toggle[aria-pressed=false]{background:#a4b9a7;color:#4c6455}dialog{background:#e9ecda;border:2px solid #344d3f;border-radius:4px;box-shadow:8px 8px 0 #263d3040}dialog h2{color:#2d6358;font-family:'Barlow Condensed',sans-serif;letter-spacing:0}dialog p,dialog li{color:#596f5e}dialog::backdrop{background:#183d335f}.dialog-close{background:#c7d9c2;color:#335746;border-radius:2px}body.arrived .toast{background:#c4dec8;color:#345b46}
@media(max-height:800px) and (min-width:761px){.intro{top:19%}h1{font-size:64px}.intro-copy{font-size:11px}.intro-footnote{margin-top:15px}}
@media(max-width:1000px){.intro{width:320px}h1{font-size:65px}}
@media(max-width:760px){.brand{font-size:17px;padding:8px 10px;gap:8px}.brand-arrow{font-size:27px;padding-right:8px}.top-actions{gap:7px}.icon-button{width:33px;height:33px}.sky-wash{background:linear-gradient(0deg,#e8ebdc 0%,#e8ebdcf2 42%,transparent 80%)}.intro{top:auto;bottom:45px;left:20px;width:calc(100% - 40px)}h1{font-size:48px;letter-spacing:-.2px;line-height:.9;margin:13px 0}h1 br{display:initial}.intro-copy{font-size:10px;margin-bottom:12px;line-height:1.6}.intro .eyebrow{padding:0;font-size:7px}.journey-card h2,.turn-main h2{font-size:22px}.journey-card,.turn-card,.playback,.minimap-card{border-radius:3px}.turn-main>span{border-radius:2px}.toast{border-radius:2px;font-size:8px}.district-chip{right:30px}.map-label{font-size:10px}.route-form{padding-top:3px}.intro-footnote{display:none}}

/* Brighter cartoon palette, retaining the inked interface. */
body{background:#79d9e9}.sky-wash{background:linear-gradient(90deg,#f3f3dcf2 0%,#f3f3dccc 25%,transparent 50%)}
.brand,.icon-button,.route-form,.minimap-card,.turn-card,.playback{background-color:#fff5df}.primary,.play-button{background:#248d91}.primary:hover{background:#237a80}.journey-card{background:#366c68}.turn-main>span{background:#c9eee2}.toast{background:#e2f1c9}.district-chip{background:#d5f0cd}.scene-caption{background:#fff3d7}.map-label{background:#fff7e6f5}.map-label.landmark{background:#dcf5c8}.map-label.endpoint{background:#d7f5ee}.icon-button.yellow{background:#d5eeb4}.speed-button,.camera-button{background:#d8eed1}
@media(max-width:760px){.sky-wash{background:linear-gradient(0deg,#f3f3dc 0%,#f3f3dcf2 42%,transparent 80%)}}
/* Weather controls remain compact until opened, leaving the route visible. */
.weather-panel{position:fixed;z-index:25;right:227px;top:107px;width:215px;background:#fff6df;border:2px solid #294744;box-shadow:3px 3px 0 #294744;color:#294744;font-family:'IBM Plex Sans',sans-serif;font-size:12px}
.weather-panel summary{cursor:pointer;padding:11px 12px;font-weight:700;min-height:40px;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px}
.weather-chip{font-weight:600;opacity:.85}.weather-chip:empty{display:none}.weather-chip::before{content:'·';margin-right:8px;opacity:.6}
.weather-options{padding:0 12px 10px}.weather-options label{font-size:10px;letter-spacing:.08em;font-weight:700;display:block;margin:5px 0}.weather-options select{width:100%;padding:8px 5px;background:#fffdf2;color:#294744;border:1px solid #294744;font:inherit}.weather-options p{font-size:11px;line-height:1.5;margin:9px 0}.weather-source{display:flex;align-items:center;justify-content:space-between;gap:8px}.weather-source a{color:#206e68;font-size:10px}.weather-source button{border:1px solid #294744;background:#bce9bd;color:#294744;font-size:20px;width:32px;height:32px;cursor:pointer}.weather-source button:disabled{opacity:.5;cursor:wait}
body[data-weather-day="false"] .sky-wash{opacity:.08}
@media(max-width:760px){.weather-panel{right:17px;top:253px;width:165px}.weather-panel[open]{width:215px}.weather-panel summary{padding:8px 9px;font-size:11px;min-height:34px}}
@media(max-height:650px) and (min-width:761px){.weather-panel{top:90px}}
.history-link{background:#fff6df;border:2px solid #294744;padding:10px 12px;color:#294744;font:700 12px 'IBM Plex Sans',sans-serif;text-decoration:none;white-space:nowrap}
.air-section{margin-top:12px;padding-top:10px;border-top:1px solid #9ab8ae}.weather-options .haze-label{display:flex;align-items:center;gap:6px;letter-spacing:0;font-size:11px}.haze-label input{accent-color:#287c7d}.weather-panel[open]{max-height:calc(100vh - 150px);overflow:auto}
.map-label.street{background:#f7f1ddec;border-color:#9ba795;color:#4e665c;font-size:10px}.map-label.street i{background:#7e968b}.map-label.transit{background:#e6f4ffeF;border-color:#5a8c9b;color:#21556c}.map-label.transit i{background:#337b99}.map-label.place{background:#fce8c9f5;border-color:#b79860;font-weight:800;text-transform:uppercase}.map-label.poi{background:#f8f7edec;color:#51665b}
.activity-section{border-top:1px solid #9ab8ae;padding-top:10px;margin-top:12px}
/* The intro text sits straight on the scene behind a token 8% wash, which only works while that scene is bright. Give it a real backdrop after dark, but never during the walk. */
body[data-weather-day=false]:not(.exploring) .sky-wash{opacity:.62;background:linear-gradient(90deg,#e8ebdcf7 0%,#e8ebdcea 30%,#e8ebdc9e 46%,transparent 64%)}
