:root{--navy:#132c38;--ink:#183440;--cream:#f7f0dd;--paper:#fffaec;--muted:#8b9f9f;--line:#d9d4be;--gold:#c88a37;--blue:#2365ad;--red:#b95142;--green:#3e805f;font-family:Arial,sans-serif;background:var(--navy);color:var(--cream)}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;touch-action:manipulation}button{cursor:pointer;border:1px solid #69848c66;color:inherit;background:transparent;border-radius:6px;padding:10px 12px}button:hover:not(:disabled){background:#ffffff12}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e5b368;outline-offset:3px}a{color:#e6b979}header{max-width:1280px;margin:auto;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff1c}.brand{color:var(--cream);font:bold 30px Georgia,serif;letter-spacing:-1px;text-decoration:none}.brand span{font:8px Arial,sans-serif;letter-spacing:2.5px;display:block;margin-top:8px;color:#91a6a9}header>div{display:flex;gap:10px}header button{font-size:11px;border:0}main{max-width:1220px;margin:auto;padding:0 20px}.intro{padding:38px 0 34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:bold;margin:0 0 11px;color:#b6bba4}h1{font:50px/1.05 Georgia,serif;letter-spacing:-1.8px;margin:0}h1 em{font-weight:normal;color:#e4b471}.trip-summary{border:1px solid #8c9b8a88;transform:rotate(2deg);padding:15px 23px;min-width:170px;background:#f0d79d;color:var(--ink);text-align:center;box-shadow:5px 5px 0 #0002}.trip-summary>span{font-size:9px;letter-spacing:3px}.trip-summary strong{font:36px Georgia,serif;display:block;margin:7px}.trip-summary small{font-size:10px;display:block;max-width:175px;line-height:1.5}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.atlas{background:var(--cream);color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 12px 35px #0002}.atlas-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:25px 27px 16px;gap:10px}.atlas .eyebrow{color:#7c7049}.atlas h2{font:29px Georgia,serif;letter-spacing:-.5px;margin:0 0 9px}.atlas-heading p:last-child{font-size:11px;color:#6b7c7b;line-height:1.6;margin:0}.paper-tag{font-size:9px;white-space:nowrap;border:1px dashed #ae9d71;padding:8px;border-radius:3px;transform:rotate(-3deg)}.legend{display:flex;justify-content:space-around;gap:8px;padding:10px 20px;font-size:8px;letter-spacing:.5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.line-blue{color:var(--blue)}.line-red{color:var(--red)}.line-green{color:var(--green)}.map-wrap{position:relative;padding:9px 12px 0;background:radial-gradient(ellipse at 55% 55%,#fff8e4,#eee7d2)}#map{width:100%;height:auto;display:block;max-height:640px}.map-key{position:absolute;bottom:9px;left:22px;display:flex;gap:12px;font-size:8px;color:#756b51;pointer-events:none}.station-inspector{display:flex;gap:10px;align-items:center;padding:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eee6ce}.station-inspector>span{font:15px Georgia,serif;flex:1;min-width:0}.station-inspector select{width:155px;border:1px solid #b9b69f;background:#fdf6e4;color:var(--ink);padding:7px;font-size:10px;border-radius:4px}.station-inspector button{font-size:9px;border-color:#b9b69f;color:var(--ink)}.postcard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 22px 12px}.postcard-header h3{font:20px Georgia,serif;margin:0}.postcard-header>span{font-size:9px;color:#777c66}.postcards{display:flex;gap:12px;padding:0 22px 24px}.postcard{flex:1;min-width:0;position:relative;padding:6px 6px 10px;border:1px solid #d0c6aa;background:#fffbec;box-shadow:2px 3px 3px #4f412317;transform:rotate(-2deg);cursor:pointer}.postcard:nth-child(even){transform:rotate(2deg)}.postcard img{width:100%;aspect-ratio:1.55;object-fit:cover;display:block;filter:saturate(.55);opacity:.6}.postcard.collected img{filter:none;opacity:1}.postcard strong{font:11px Georgia,serif;display:block;margin-top:8px;line-height:1.3}.postcard small{font-size:8px;color:#8c8269;display:block;margin-top:5px}.stamp-mark{display:none;position:absolute;right:9px;top:8px;color:#f9e7b8;background:#28584b;outline:1px dashed #f4e2b3;outline-offset:-4px;border-radius:50%;width:40px;height:40px;align-items:center;justify-content:center;transform:rotate(-12deg);font-size:18px}.collected .stamp-mark{display:flex}.platform{border:1px solid #ffffff25;border-radius:14px;overflow:hidden;background:#193540}.scene-wrap{position:relative;aspect-ratio:1.6;overflow:hidden}.scene-wrap>img{width:100%;height:100%;object-fit:cover}.scene-wrap:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#0e2938e0)}.scene-caption{position:absolute;z-index:1;bottom:17px;left:22px;right:18px}.scene-caption span{font-size:8px;letter-spacing:2px;color:#e3dabf}.scene-caption h2{font:29px Georgia,serif;margin:6px 0 0;text-shadow:0 1px 4px #0003}.platform-content{padding:18px 20px}.tools{display:flex;gap:6px}.tools button{font-size:10px;padding:9px 7px;flex:1}.tools button:nth-child(2){flex:1.7;background:#e8d5a1;color:var(--ink);border:0}#status{font-size:11px;line-height:1.65;color:#c9d1be;margin:14px 0 18px;min-height:52px}#status.error{color:#ffbf9f}.departure-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.departure-heading h3{font:21px Georgia,serif;margin:0}.departure-heading span{font-size:8px;color:#a5b8b7}.line-tabs{display:flex;gap:5px;margin-bottom:12px}.line-tabs button{flex:1;font-size:9px;letter-spacing:.8px;padding:8px 3px}.line-tabs button[aria-pressed=true]{background:var(--cream);color:var(--ink)}.departure{border:1px solid #ffffff21;background:#112e3a;border-radius:7px;padding:13px;margin-bottom:9px}.departure.advised{border-color:#e2b76d;box-shadow:0 0 0 1px #e2b76d55}.dep-top{display:flex;gap:8px;align-items:center}.route-badge{min-width:30px;padding:5px 3px;text-align:center;border-radius:4px;font-size:13px;font-weight:bold;color:#fff9e9}.destination{font-size:11px;font-weight:bold;flex:1;min-width:0;line-height:1.4}.eta{font-size:10px;color:#d8ba78;white-space:nowrap}.stop-choice{display:flex;gap:6px;margin-top:12px;align-items:center}.stop-choice select{min-width:0;width:100%;flex:1;background:#f5edd5;border:0;padding:9px 6px;color:var(--ink);border-radius:4px;font-size:11px}.stop-choice button{font-size:10px;background:#31575b;border:0;white-space:nowrap;padding:10px}.dep-note{font-size:8px;color:#90a7a7;margin-top:8px;line-height:1.5}.ride-history{border-top:1px solid #ffffff20;margin-top:20px;padding-top:14px;font-size:10px;color:#adbfba}.ride-history summary{cursor:pointer}.ride-history ol{padding-left:16px;line-height:1.7}.primary{background:#e8d5a1;color:var(--ink);border:0;padding:13px;font-weight:bold}.primary:hover:not(:disabled){background:#f5e0ab}#success{background:#e8d5a1;color:var(--ink);border-radius:8px;padding:20px;margin:15px 0}#success .eyebrow{color:#716849;font-size:8px}#success h2{font:27px Georgia,serif;margin:0}#success-copy{font-size:12px;line-height:1.6}#success .primary{background:var(--ink);color:var(--cream);width:100%}.tickets{margin:35px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{font:27px Georgia,serif;margin:0}.section-heading>span{font-size:10px;color:#a3b6b2}.missions{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:23px}.mission{text-align:left;padding:15px 12px;min-height:110px;position:relative}.mission.active{border-color:#d8bc7e;background:#ffffff07}.mission .number{display:block;font:25px Georgia,serif;color:#d6b66e;margin-bottom:10px}.mission .name{font:14px/1.3 Georgia,serif;display:block}.mission small{font-size:8px;color:#9fb7b0;display:block;margin-top:8px}footer{border-top:1px solid #ffffff25;padding:16px 0 30px;color:#9fb4b4;font-size:10px;line-height:1.7}footer details{margin-top:10px}footer summary{cursor:pointer}footer p{max-width:900px}#instructions{border:1px solid #b5c2b54d;padding:22px 26px;margin-bottom:25px;line-height:1.8;font-size:13px;background:#213f48;border-radius:9px}#instructions h2{font:26px Georgia,serif;margin:0}#instructions ol{padding-left:20px}#instructions p{font-size:11px;color:#b6c5bb}[hidden]{display:none!important}.station-dot{cursor:pointer}.station-dot:hover .node-dot{stroke:#c58b35;stroke-width:3}.map-label{font:10px Arial,sans-serif;paint-order:stroke;stroke:#f6efd9;stroke-width:4;stroke-linejoin:round;fill:#314b51;pointer-events:none}.map-water{fill:#cbdad4;opacity:.6}.map-brand{font:14px Georgia,serif;letter-spacing:2px;fill:#92a5a0}.map-subtitle{font:7px Arial,sans-serif;letter-spacing:1px;fill:#92a5a0}.trip-trail{fill:none;stroke:#d29e48;stroke-width:9;opacity:.45;stroke-linecap:round;stroke-linejoin:round}.map-route{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.mission-goal{fill:#c89540;stroke:#fdf5dc;stroke-width:2}.home-marker{font:19px Georgia,serif;fill:#173f49;paint-order:stroke;stroke:#fff6dd;stroke-width:4}.current-halo{fill:none;stroke:#1d544c;stroke-width:2;stroke-dasharray:3 2}.station-target{fill:transparent;cursor:pointer}.station-target:hover{fill:#c8954030}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.platform-content{padding:15px}.atlas-heading{padding:22px 20px 16px}.atlas h2{font-size:25px}.station-inspector{padding:12px;gap:6px}.station-inspector>span{font-size:13px}.station-inspector select{width:125px}.intro h1{font-size:44px}.missions{gap:8px}.mission .name{font-size:12px}.postcards{gap:8px;padding-left:14px;padding-right:14px}.postcard-header{padding-left:15px;padding-right:15px}.paper-tag{font-size:8px}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.atlas{max-width:700px}.platform{display:grid;grid-template-columns:230px 1fr;align-items:start}.scene-wrap{aspect-ratio:.8;height:100%;min-height:300px}.scene-wrap>img{height:100%;position:absolute}.scene-caption{left:17px}.scene-caption h2{font-size:25px}.missions{grid-template-columns:repeat(3,1fr)}.mission{min-height:100px}.trip-summary{min-width:150px;padding:13px 15px}.intro h1{font-size:40px}.legend{font-size:9px}.atlas-heading{padding:22px}.station-inspector>span{font-size:16px}.station-inspector select{width:180px}.map-label{font-size:11px}main{padding:0 16px}}@media(max-width:500px){header{padding:18px 18px}.brand{font-size:26px}.brand span{font-size:6px;letter-spacing:1.5px}header>div{gap:0}header button{font-size:9px;padding:9px}.intro{padding:27px 0 26px;gap:15px;align-items:flex-end}.intro h1{font-size:30px;letter-spacing:-1px}.intro .eyebrow{font-size:7px;line-height:1.8;letter-spacing:1.1px}.trip-summary{min-width:100px;padding:10px;max-width:115px}.trip-summary>span{font-size:7px;letter-spacing:1px}.trip-summary strong{font-size:26px;margin:4px}.trip-summary small{font-size:8px}.atlas-heading{padding:20px 17px 15px;gap:5px}.atlas h2{font-size:23px}.atlas-heading p:last-child{font-size:10px}.paper-tag{font-size:7px;padding:6px}.legend{font-size:7px;padding:10px}.map-wrap{padding:3px}.map-key{bottom:6px;left:10px;font-size:7px;gap:7px}.station-inspector{flex-wrap:wrap;padding:12px}.station-inspector>span{flex-basis:100%;font-size:16px}.station-inspector select{flex:1;width:auto;padding:9px}.station-inspector button{padding:9px}.postcard-header{padding:16px 12px 12px}.postcard-header h3{font-size:17px}.postcards{padding:0 12px 18px;gap:8px}.postcard{padding:4px 4px 8px}.postcard strong{font-size:10px}.postcard small{font-size:7px}.stamp-mark{width:28px;height:28px;font-size:13px;right:6px;top:6px}.platform{display:block}.scene-wrap{height:180px;min-height:0;aspect-ratio:auto}.scene-wrap>img{object-position:center 50%}.platform-content{padding:18px}#status{min-height:0}.dep-note{font-size:9px}.stop-choice select{font-size:12px;padding:11px 7px}.stop-choice button{font-size:11px}.tools button{padding:11px;font-size:11px}.departure-heading h3{font-size:23px}.line-tabs button{padding:11px}.section-heading h2{font-size:24px}.section-heading>span{font-size:9px;max-width:80px;text-align:right}.mission .name{font-size:13px}.map-label{font-size:12px}.map-brand{font-size:16px}#instructions{padding:20px}.scene-caption h2{font-size:28px}.intro h1 br{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
