:root{--navy:#102c3b;--ink:#173744;--paper:#fff9ec;--cream:#f3eddb;--coral:#bd3d29;--aqua:#b8efea;--line:#c9ccbd;--bs-body-color:var(--ink);--bs-body-bg:var(--paper);--bs-border-color:var(--line);--bs-primary:#bd3d29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #007a77;outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.04;letter-spacing:-.045em;font-weight:800}h1{font-size:clamp(2.7rem,5.3vw,5.7rem)}h2{font-size:clamp(2rem,3.6vw,3.5rem)}h3{font-size:1.45rem}p{max-width:70ch}.shell{max-width:1360px;margin:auto;padding:0 32px}.kicker,.route-code{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.kicker{color:#a33120}.skip{position:fixed;left:12px;top:-70px;background:white;padding:12px;z-index:300}.skip:focus{top:10px}.station-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:2px solid var(--navy)}.topline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:1.45rem;font-weight:900;letter-spacing:-.04em;line-height:1.1}.brand small{display:block;font-size:.62rem;letter-spacing:.13em;font-weight:700;margin-top:5px}.brand img{width:38px;height:38px}.navbar{padding:16px 0}.navbar-nav{gap:20px}.nav-link{font-size:.88rem;font-weight:700;color:var(--navy)}.navbar-toggler{padding:10px;border:1px solid var(--navy);border-radius:0;font-size:.82rem}.departure{padding-top:30px}.departure-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:24px 0 32px}.departure-head h1{max-width:850px;margin:8px 0 0}.departure-head p{max-width:270px;font-size:.95rem}.arrival-panorama{position:relative;background:var(--aqua);height:480px}.arrival-panorama>img{width:100%;height:100%;object-fit:cover}.panorama-tag{position:absolute;bottom:20px;left:20px;padding:8px 14px;background:var(--navy);color:white;font-size:.73rem;letter-spacing:.09em}.paper-ticket{height:100%;background:#f9d074;padding:28px 24px;position:relative;border-left:2px dashed var(--navy);display:flex;flex-direction:column;gap:16px}.paper-ticket h2{font-size:1.75rem}.paper-ticket .ticket-image{height:110px;width:100%;object-fit:cover}.ticket-code{display:flex;justify-content:space-between;font-size:.7rem;font-weight:800;letter-spacing:.1em;border-bottom:1px solid var(--navy);padding-bottom:10px}.btn{border-radius:0;padding:12px 20px;font-weight:750;white-space:normal;display:inline-flex;justify-content:center;align-items:center;gap:9px;line-height:1.3}.btn-primary{--bs-btn-bg:var(--navy);--bs-btn-border-color:var(--navy);--bs-btn-hover-bg:#255467;--bs-btn-hover-border-color:#255467;--bs-btn-active-bg:#255467}.btn-outline-dark{--bs-btn-color:var(--navy);--bs-btn-border-color:var(--navy);--bs-btn-hover-bg:var(--navy);--bs-btn-hover-border-color:var(--navy)}.arrow{width:19px;height:19px;flex:none}.line-moods{display:flex;gap:8px;flex-wrap:wrap}.line-moods button{background:transparent;border:1px solid #536772;padding:7px 10px;font-size:.75rem;font-weight:700}.line-moods button[aria-pressed="true"]{background:var(--navy);color:white}.paper-ticket p{font-size:.85rem;line-height:1.5;margin:0}.section{padding:64px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-title p{font-size:.9rem;max-width:330px;margin:0}.ready-hall{border-bottom:1px solid var(--line)}.main-stop{height:100%;background:var(--navy);color:var(--paper);position:relative}.main-stop>img{width:100%;height:390px;object-fit:cover}.main-stop .stop-copy{padding:28px}.stop-copy h3{font-size:2rem}.main-stop .kicker{color:#ffc175}.stop-copy p{font-size:.92rem}.stop-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.save-stop{color:inherit;background:transparent;border:1px solid currentColor;padding:8px 12px;font-size:.8rem;line-height:1.4;font-weight:700}.save-stop[aria-pressed="true"]{background:#f9d074;color:var(--navy);border-color:var(--navy)}.compact-stop{display:grid;grid-template-columns:44% 1fr;min-height:280px;background:var(--aqua);border-bottom:1px solid var(--navy)}.compact-stop+ .compact-stop{margin-top:20px;background:#f4ddbd}.compact-stop img{width:100%;height:100%;object-fit:cover}.compact-stop .stop-copy{padding:23px}.compact-stop h3{font-size:1.5rem}.compact-stop p{font-size:.85rem;line-height:1.5}.compact-stop .stop-meta{flex-wrap:wrap;margin-top:15px;gap:10px}.text-action{font-size:.84rem;font-weight:800;display:inline-flex;align-items:center;gap:8px}.network{background:var(--cream);border-bottom:2px solid var(--navy)}.route-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px}.line-panel{align-self:start;position:sticky;top:138px;border-top:4px solid var(--coral);background:var(--paper);padding:22px}.line-panel summary{font-weight:800;cursor:pointer;list-style:none}.line-options{display:flex;flex-direction:column;gap:5px;margin:18px 0}.line-options button{background:transparent;border:0;text-align:left;padding:9px 12px;border-left:3px solid #c8c9bb;font-size:.88rem;font-weight:650}.line-options button[aria-pressed="true"]{border-color:var(--coral);background:#f5e4cf}.line-panel .form-label{font-size:.77rem;font-weight:800}.form-control,.form-select{border:1px solid #8a9a9b;border-radius:0;background:#fffdf7;color:var(--navy);padding:11px 13px}.form-control:focus,.form-select:focus{border-color:#217575;box-shadow:0 0 0 .2rem #21757528}.line-panel .form-select{font-size:.82rem;padding:10px;margin-bottom:15px}.search-drawer{border-bottom:1px solid var(--navy);margin-bottom:22px;padding-bottom:16px}.search-drawer summary{cursor:pointer;font-weight:750;font-size:.9rem}.search-drawer .form-control{margin-top:14px}.route-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.route-results-head p{margin:0;font-size:.81rem}.route-results-head button{border:0;background:transparent;text-decoration:underline;font-size:.8rem}.station-shelf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 22px}.station-card{background:var(--paper);border:1px solid var(--line);position:relative;min-width:0}.station-card:nth-child(even){transform:translateY(20px)}.station-picture{position:relative;display:block}.station-picture img{display:block;width:100%;height:220px;object-fit:cover}.station-label{position:absolute;left:14px;top:14px;background:var(--navy);color:white;padding:5px 9px;font-size:.67rem;font-weight:750;letter-spacing:.04em}.station-card .station-details{padding:22px}.station-card h3{font-size:1.45rem;margin:10px 0}.station-card p{font-size:.87rem;line-height:1.55;margin-bottom:22px}.station-bottom{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.station-bottom .save-stop{font-size:.72rem}.empty-route{padding:36px;background:white;border:1px dashed var(--navy)}.itinerary{background:var(--navy);color:var(--paper)}.itinerary .kicker{color:#ffc175}.itinerary-list{padding:0;margin:28px 0;list-style:none;display:flex;flex-wrap:wrap;gap:14px;counter-reset:stop}.itinerary-list li{background:var(--paper);color:var(--navy);padding:18px;flex:1 1 230px;border-right:2px dashed var(--navy);display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}.itinerary-list img{width:56px;height:56px;object-fit:cover}.itinerary-list a{font-weight:750;font-size:.9rem}.itinerary-list button{border:0;background:transparent;text-align:left;padding:0;font-size:.72rem;text-decoration:underline}.empty-itinerary{padding:20px;border:1px dashed #8babad;color:#d4e6e5;font-size:.9rem}.workshop-board{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:28px}.workshop-board article:nth-child(2){padding-top:65px}.workshop-board article:nth-child(3){padding-top:30px}.workshop-board img{width:100%;height:250px;object-fit:cover}.workshop-board article:nth-child(2) img{height:320px}.workshop-board h3{margin:18px 0 12px}.workshop-board p{font-size:.88rem}.community-poster{background:var(--aqua);padding:36px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.community-poster img{width:100%;max-height:430px;object-fit:cover}.rating-list{list-style:none;padding:0;margin:28px 0}.rating-list li{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #6da7a5;padding:14px 0;font-size:.88rem}.final-stop{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:2px solid var(--navy)}.faq details{border-bottom:1px solid #9ca9a9;padding:18px 0}.faq summary{font-weight:750;cursor:pointer;line-height:1.45}.faq p{padding-top:15px;font-size:.9rem}.footer{padding:38px 0;background:var(--navy);color:#edf4ef}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer nav{display:flex;gap:12px 25px;flex-wrap:wrap;max-width:520px}.footer a,.footer button{font-size:.85rem}.footer button{border:0;background:transparent;color:inherit;text-decoration:underline;padding:0}.footer small{display:block;border-top:1px solid #56717b;margin-top:28px;padding-top:20px;color:#c4d8d7}.cookie-sheet{position:fixed;right:22px;bottom:20px;z-index:150;width:420px;max-width:calc(100% - 32px);padding:22px;background:var(--paper);border:2px solid var(--navy);box-shadow:5px 5px 0 #16374644}.cookie-sheet p{font-size:.82rem;line-height:1.5;margin:8px 0 16px}.cookie-sheet .choices{display:flex;gap:10px}.cookie-sheet button{font-size:.77rem;padding:10px 12px;flex:1}.cookie-sheet[hidden],[hidden]{display:none!important}.toast-note{position:fixed;left:20px;bottom:20px;max-width:350px;z-index:160;background:var(--navy);color:white;padding:10px 16px;border:1px solid #a7d1d1;font-size:.84rem}.inner-heading{padding-top:46px;padding-bottom:32px}.inner-heading h1{font-size:clamp(2.4rem,5vw,4.5rem);margin:12px 0 20px}.breadcrumb-line{font-size:.8rem;margin-bottom:25px}.game-deck{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.play-platform{background:var(--navy);color:white;padding:20px;min-width:0}.play-hud{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.83rem;flex-wrap:wrap}.play-hud strong{font-size:1.3rem;margin-left:5px;color:#ffd077}.play-platform canvas{width:100%;height:auto;display:block;aspect-ratio:8/5;background:#b8efea;touch-action:none}.play-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.play-controls button{padding:10px 13px;border:1px solid #cededa;background:var(--paper);color:var(--navy);font-size:.81rem;font-weight:750}.play-controls button:disabled{opacity:.55}.play-controls label{font-size:.83rem;display:flex;align-items:center;gap:12px;flex:1 1 150px}.play-controls input{width:100%;min-width:80px}.play-status{font-size:.86rem;line-height:1.5;margin:18px 0 0;color:#e4f4ef;min-height:2.5em}.game-log{background:#f7d784;padding:22px;border-bottom:5px solid var(--coral)}.game-log img{width:100%;height:175px;object-fit:cover;margin-bottom:24px}.game-log h2{font-size:1.7rem}.game-log dt{font-size:.71rem;letter-spacing:.1em;text-transform:uppercase;margin-top:18px}.game-log dd{font-size:.9rem}.field-notes{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding:48px 0}.field-notes h2{font-size:2rem}.field-notes p{font-size:.94rem}.practice-note{border-left:5px solid var(--coral);padding:20px 25px;background:var(--cream)}.capture-strip{padding:32px 0 55px;border-bottom:1px solid var(--line)}.capture-strip h2{font-size:2rem}.capture-strip .captures{display:grid;grid-template-columns:1fr 1fr;gap:20px}.capture-strip img{width:100%;border:1px solid var(--line)}.capture-strip figcaption{font-size:.78rem;padding-top:8px}.feedback-station{padding:50px 0;border-bottom:1px solid var(--line)}.feedback-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:55px}.stamp-vote{border:2px dashed var(--coral);padding:20px;margin:20px 0 22px}.stamp-vote legend{float:none;width:auto;padding:0 8px;font-size:.85rem;font-weight:750}.stamp-options{display:flex;gap:8px;flex-wrap:wrap}.stamp-options label{display:flex;align-items:center;gap:7px;border:1px solid #91a3a2;padding:9px 12px;background:white;cursor:pointer}.comment-card{padding:20px;background:var(--cream);border-left:3px solid var(--coral);margin-top:12px}.comment-card p{white-space:pre-wrap;font-size:.92rem;margin:8px 0 0;overflow-wrap:anywhere}.comment-card small{font-size:.72rem}.form-label{font-weight:750;font-size:.87rem}.field-help{font-size:.8rem;color:#46616c}.status-message{min-height:1.6em;font-size:.88rem;margin-top:14px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px}.related-signs{display:flex;gap:20px;flex-wrap:wrap;padding-top:24px}.related-signs a{flex:1 1 250px;display:flex;gap:18px;align-items:center;background:var(--cream);padding:15px;font-weight:750;text-decoration:none}.related-signs img{width:90px;height:75px;object-fit:cover}.concept-board{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}.concept-board>img{width:100%;height:500px;object-fit:cover}.concept-spec{background:var(--cream);padding:30px;border-top:5px solid var(--coral)}.concept-spec h2{font-size:2rem}.concept-spec p{font-size:.94rem}.concept-spec details{border-top:1px solid var(--line);padding:18px 0}.concept-spec summary{font-weight:750;cursor:pointer}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-form{background:var(--cream);padding:35px;border-top:5px solid var(--coral)}.contact-form .form-control{margin-bottom:18px}.legal-layout{display:grid;grid-template-columns:250px minmax(0,780px);gap:55px;padding-bottom:60px}.legal-layout nav{position:sticky;top:150px;align-self:start;border-top:4px solid var(--coral);padding-top:20px}.legal-layout nav a{display:block;margin-bottom:15px;font-size:.9rem}.legal-text h2{font-size:1.7rem;margin:35px 0 15px}.legal-text p,.legal-text li{font-size:.95rem}.story-platform{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center}.story-platform img{width:100%;height:500px;object-fit:cover}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.principles article{border-top:4px solid var(--coral);padding:25px;background:var(--cream)}.principles h2{font-size:1.5rem}.principles p{font-size:.9rem}.small-copy{font-size:.87rem}.screen-dialog{max-width:1100px;width:92%;border:2px solid var(--navy);padding:20px;background:var(--paper)}.screen-dialog::backdrop{background:#0c2934cc}.screen-dialog button{margin-bottom:15px}.screen-dialog img{width:100%}.capture-button{padding:0;border:0;background:transparent;display:block;width:100%;cursor:zoom-in}.no-js{padding:12px;background:#f9d074}
@media(max-width:1100px){.shell{padding:0 24px}.arrival-panorama{height:500px}.paper-ticket{padding:22px 18px}.route-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}.compact-stop{grid-template-columns:40% 1fr}.compact-stop .stop-copy{padding:18px}.game-deck{grid-template-columns:minmax(0,1fr) 250px}.final-stop{gap:40px}.workshop-board{gap:20px}}
@media(max-width:767px){.shell{padding:0 18px}.topline{font-size:.57rem;letter-spacing:.06em}.topline span:last-child{display:none}.navbar{padding:12px 0}.navbar-collapse{padding-top:15px}.navbar-nav{gap:0}.nav-link{padding:12px}.brand{font-size:1.25rem}.brand small{font-size:.55rem}.departure{padding-top:10px}.departure-head{display:block;padding:23px 0}.departure-head h1{font-size:3rem}.departure-head p{max-width:100%;margin:20px 0 0}.arrival-panorama{height:290px}.panorama-tag{left:12px;bottom:12px;font-size:.62rem}.paper-ticket{border-left:0;border-top:2px dashed var(--navy);padding:23px}.paper-ticket .ticket-image{height:150px}.section{padding:42px 0}.section-title{display:block;margin-bottom:23px}.section-title p{margin-top:15px;max-width:100%}.main-stop>img{height:260px}.main-stop .stop-copy{padding:24px}.compact-stop{grid-template-columns:40% 1fr;min-height:220px}.compact-stop h3{font-size:1.35rem}.compact-stop .stop-copy{padding:18px}.ready-secondary{margin-top:20px}.route-layout{display:block}.line-panel{position:static;margin-bottom:25px;padding:18px}.line-options{flex-direction:row;flex-wrap:wrap;gap:5px}.line-options button{font-size:.8rem;border-left:0;border-bottom:3px solid #c8c9bb;padding:9px}.line-panel .form-select{margin-bottom:12px}.station-shelf{gap:22px;grid-template-columns:1fr}.station-card:nth-child(even){transform:none}.station-picture img{height:220px}.station-card .station-details{padding:21px}.workshop-board{display:block}.workshop-board article,.workshop-board article:nth-child(2),.workshop-board article:nth-child(3){padding:0;margin-bottom:32px}.workshop-board img,.workshop-board article:nth-child(2) img{height:240px}.community-poster{grid-template-columns:1fr;padding:24px;gap:28px}.community-poster img{height:300px}.final-stop{display:block}.faq{margin-top:25px}.footer-top{display:block}.footer nav{margin-top:25px;gap:15px 22px}.footer small{font-size:.72rem}.cookie-sheet{right:16px;bottom:12px;padding:18px;max-height:calc(100dvh - 30px);overflow:auto}.game-deck{grid-template-columns:1fr}.play-platform{padding:14px}.play-hud{gap:12px;font-size:.77rem}.play-hud strong{font-size:1rem}.game-log{display:grid;grid-template-columns:110px 1fr;gap:16px}.game-log img{height:130px;margin:0}.game-log h2{font-size:1.35rem}.game-log dl,.game-log>a{grid-column:1 / -1}.game-log dl{display:flex;gap:24px;margin:0}.game-log dt{margin:0}.field-notes{grid-template-columns:1fr;gap:22px;padding:32px 0}.capture-strip .captures{grid-template-columns:1fr}.feedback-layout{grid-template-columns:1fr;gap:30px}.feedback-station{padding:35px 0}.concept-board{grid-template-columns:1fr;gap:25px}.concept-board>img{height:300px}.concept-spec{padding:24px}.contact-layout{grid-template-columns:1fr;gap:25px}.contact-form{padding:24px}.legal-layout{grid-template-columns:1fr;gap:15px}.legal-layout nav{position:static;display:flex;flex-wrap:wrap;gap:10px 20px}.legal-layout nav a{margin:0;font-size:.8rem}.story-platform{grid-template-columns:1fr;gap:30px}.story-platform img{height:320px}.principles{grid-template-columns:1fr;gap:18px}.inner-heading{padding-top:30px;padding-bottom:20px}.stamp-options{gap:5px}.stamp-options label{padding:8px 9px}.rating-list li{display:block}.rating-list li span{display:block;margin-top:5px}}
/* Maintain horizontal gutters on sections that are also .shell; .section shorthand previously reset them. */
.section.shell{padding-inline:32px}
@media(max-width:1100px){.section.shell{padding-inline:24px}}
@media(max-width:767px){.section.shell{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
