@font-face{font-family:Rail;src:url('assets/display.ttf') format('truetype');font-display:swap;font-weight:900}@font-face{font-family:Han;src:url('assets/chinese.otf') format('opentype');font-display:swap}*{box-sizing:border-box}:root{--navy:#152b3d;--paper:#f0eadb;--cream:#fff8e8;--orange:#ed843d;--muted:#66717a;--line:#b7b4a6;--blue:#4e89a3}body{margin:0;background:var(--paper);color:var(--navy);font-family:Arial,Han,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:1px solid var(--line);border-radius:3px}a:hover,button:hover{filter:brightness(1.08)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ed843d;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}h1,h2{font-family:Rail,Han,sans-serif;font-weight:900}svg{width:19px;height:19px;fill:currentColor;flex:none}.masthead{background:var(--navy);color:var(--cream);padding:20px 4.5%;display:flex;gap:25px;align-items:center;justify-content:space-between;border-bottom:1px solid #476071}.brand{display:flex;align-items:center;gap:12px;font-size:18px;letter-spacing:2px;font-weight:bold;line-height:1.15;white-space:nowrap}.brand img{border:1px solid #667d8d;border-radius:3px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:8px;color:#bccdd1;font-weight:400}.topnav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.languages{display:flex;border:1px solid #71848b;border-radius:3px;padding:3px}.languages button{border:0;font-size:10px;padding:6px 9px}.languages [aria-pressed=true]{background:var(--cream);color:var(--navy)}.music{border:0;color:#c3d4d7;padding:7px;font-size:10px;white-space:nowrap}.social{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border:1px solid #7693a4;border-radius:3px;font-size:12px;font-weight:bold;white-space:nowrap}.facebook{background:#356180;color:white}.support{background:#f2c477;color:#1f303b;border-color:#ffdda2;box-shadow:0 3px 0 #8c6e3e}.lobby{max-width:1440px;margin:auto}.hero{position:relative;min-height:620px;color:var(--cream);background:linear-gradient(90deg,rgba(12,35,52,.9) 0%,rgba(12,35,52,.75) 32%,rgba(12,35,52,0) 62%),url('assets/junction-keyart.webp') center right/cover no-repeat;overflow:hidden}.hero-copy{position:relative;z-index:1;padding:68px 5.5%;max-width:650px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:bold;color:#6d7b7f}.hero .eyebrow{color:#ccdbd9;font-size:8px}.hero h1{font-size:78px;letter-spacing:-2.5px;margin:30px 0 24px;line-height:1}.hero h1 span{display:block;font-family:Han,sans-serif;letter-spacing:5px;font-size:28px;font-weight:400;margin-top:15px;color:#f3c577}.hero-line{font-family:Rail,Han,sans-serif;font-size:32px;line-height:1.12;letter-spacing:-.8px;margin:22px 0 18px}.hero-desc{color:#d5e1db;font-size:14px;max-width:310px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;font-size:11px;font-weight:bold;letter-spacing:.9px;border-radius:3px;padding:16px 22px;white-space:nowrap}.orange{color:#172c3c;background:var(--orange);border:1px solid #ffbc7f;box-shadow:0 4px 0 #8c4826}.text-link{font-size:11px;border-bottom:1px solid #74858b;white-space:nowrap}.text-link.light{border-color:#b2c0b4}.hero-note{font-size:8px;letter-spacing:1.5px;color:#c0d0cd;margin-top:30px}.ticket-mark{position:absolute;right:5%;bottom:35px;color:var(--navy);background:var(--cream);padding:10px 18px;border-top:4px solid var(--orange);box-shadow:0 5px 15px #19344744;text-align:center;transform:rotate(3deg)}.ticket-mark b{display:block;font-family:Rail,sans-serif;font-size:35px;line-height:1.1}.ticket-mark span{font-size:7px;letter-spacing:2px}.briefing{padding:45px 5.5% 46px;background:#e2e5d8;border-top:1px solid #adb8ac;border-bottom:1px solid #b7bdb0;display:grid;grid-template-columns:1fr 2.5fr;gap:42px}.section-heading h2{font-size:29px;letter-spacing:-1px;margin-top:13px;max-width:300px}.briefing ol{list-style:none;padding:0;margin:0;display:flex;gap:28px}.briefing li{display:flex;gap:13px;flex:1}.briefing li>b{font-family:Rail,sans-serif;font-size:25px;line-height:1.15;color:#9b5936}.briefing h3{font-size:13px;margin:4px 0 10px}.briefing p{font-size:12px;color:#586973}.shift-shelf{padding:45px 5.5% 50px}.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.shelf-heading h2{font-size:31px;letter-spacing:-1px;margin-top:12px}.home-levels{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin:30px 0 24px}.home-level{position:relative;border:1px solid #a9b1af;border-top:4px solid #52768a;background:#f8f3e7;padding:17px 15px 15px}.home-level .number{font-family:Rail,sans-serif;font-size:32px;color:#224963;line-height:1}.home-level b{display:block;font-size:11px;margin-top:10px;line-height:1.4;min-height:30px}.home-level small{display:block;color:#63747c;font-size:9px;margin-top:7px}.rush-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--navy);color:var(--cream);padding:25px 28px;border-left:6px solid var(--orange);margin:28px 0 20px}.rush-banner .eyebrow{color:#b7cece}.rush-banner h3{font-family:Rail,Han,sans-serif;font-size:23px;margin-top:12px}.round-arrow{display:grid;place-items:center;flex:none;border:1px solid #829b9d;border-radius:50%;width:42px;height:42px;font-size:25px}.local-note{font-size:11px;color:#65747a}footer{margin:0 auto;max-width:1320px;padding:25px 22px 33px;border-top:1px solid #a5afad;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;letter-spacing:1px}footer small{display:block;color:#677780;font-size:8px;margin-top:6px}.footerlinks{display:flex;gap:18px}.footerlinks .social{background:none;border:0;box-shadow:none;color:#36566e;padding:5px 0;font-size:11px}.footerlinks .support{color:#88532b}.game-main{max-width:1110px;margin:auto;padding:26px 25px 37px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.game-heading h1{font-size:30px;letter-spacing:-.8px;margin-top:10px}.game-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(270px,1fr);gap:36px;align-items:start}.dispatch-board{border:1px solid #2c495a;background:var(--navy);border-radius:6px;overflow:hidden;box-shadow:0 6px 0 #a8ad9e,0 12px 30px #22374718}.score-strip{padding:14px 19px;background:var(--navy);color:var(--cream);display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;border-bottom:1px solid #6b8490}.score-strip>div>span{display:block;font-size:8px;letter-spacing:1.5px;color:#b9ccd0}.score-strip strong{display:block;font-family:Rail,sans-serif;font-size:27px;line-height:1.1;margin-top:5px}.score-strip>div:nth-child(2) strong{color:#f1bd7b}.pause{color:#fff7df;border:1px solid #8da0a6;align-self:center;width:34px;height:35px;font-size:17px}.map-wrap{position:relative;aspect-ratio:720/900;isolation:isolate}#map{width:100%;height:100%;display:block;touch-action:manipulation;cursor:pointer}.switch-deck{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;background:var(--navy);border-top:1px solid #6d8390}.switch-deck button{border:1px solid #90a0a1;background:#e7e8d9;color:#223b4c;padding:12px 9px;display:flex;align-items:center;gap:9px;text-align:left;box-shadow:0 3px 0 #0b1c2a}.switch-deck button i{display:grid;place-items:center;border-radius:50%;background:#ce723a;color:#fff5dd;width:25px;height:25px;flex:none;font:normal bold 13px Arial}.switch-deck small{display:block;font-size:7px;letter-spacing:.9px;color:#5f727c;white-space:nowrap}.switch-deck b{display:block;font-size:13px;margin-top:3px;line-height:1.1;white-space:nowrap}.game-aside{padding-top:9px}.game-aside h2{font-size:35px;letter-spacing:-1px;max-width:340px;margin:18px 0 18px}.aside-desc{font-size:12px;color:#65747b}.depots-key{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #a9b2af;padding:21px 0;font-family:Rail,sans-serif;font-size:17px}.depot-a{color:#996513}.depot-b{color:#286a93}.depot-c{color:#ab4f3e}.depot-d{color:#2b7563}.queue-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 12px}.queue-heading h3,.collection-heading h3{font-family:Rail,Han,sans-serif;font-size:18px;letter-spacing:-.5px}.queue-heading>span{font-size:8px;letter-spacing:1px;color:#6e7d82}.next-queue{display:grid;gap:7px;min-height:135px}.queue-ticket{display:flex;align-items:center;gap:10px;background:#faf4e6;border:1px solid #adb8b7;border-left:5px solid var(--ticket);padding:8px 12px;font-size:12px;height:41px}.queue-ticket b{font-family:Rail,sans-serif;font-size:16px;color:var(--ticket)}.queue-ticket .target-name{font-size:10px;font-weight:bold}.queue-ticket small{margin-left:auto;color:#65777e;font-size:9px}.queue-empty{padding:12px;color:#6c7d83;font-size:11px}.status{min-height:64px;font-size:11px;color:#82522c;display:flex;align-items:center;padding:12px 0}.tool-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #b5bcb6;border-bottom:1px solid #b5bcb6;padding:15px 0}.tool-row button{border:0;font-size:10px;padding:0;text-decoration:underline;text-underline-offset:3px}.tool-row #restart{margin-right:auto}.tool-row #sfx{font-size:9px}.record-row{display:flex;justify-content:space-between;gap:10px;font-size:9px;padding:17px 0;color:#60747e}.record-row b{color:#97602e;letter-spacing:.5px}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0 15px}.collection-heading>span{font-size:9px;color:#62747c}.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.level-grid button{padding:10px 2px 8px;font-size:12px;font-weight:bold;background:#f8f1e1;line-height:1.1;border-color:#a4b0ad}.level-grid button small{display:block;margin-top:5px;font-size:8px;letter-spacing:.8px;color:#768185}.level-grid [aria-current=true]{background:#214359;color:#fff4dd;border-color:#214359}.level-grid [aria-current=true] small{color:#e6c68f}.extra-modes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.extra-modes a{display:block;border:1px solid #7c9298;background:#dfe6dd;padding:12px 10px;font-size:10px;font-weight:bold}.extra-modes a:last-child{background:#f0debe;border-color:#c8a674}.extra-modes small{display:block;font-size:7px;color:#697b82;font-weight:400;letter-spacing:.6px;margin-top:5px}.keyboard-note{font-size:8px;letter-spacing:.6px;color:#677b83;margin-top:20px}.overlay{position:absolute;inset:0;z-index:3;padding:22px;display:flex;align-items:center;justify-content:center;background:rgba(20,43,59,.75);backdrop-filter:blur(3px)}.dialog{width:100%;max-width:390px;max-height:100%;display:flex;flex-direction:column;background:#fcf4e1;color:#163248;border:1px solid #d7c9a8;border-top:6px solid var(--orange);border-radius:3px;padding:27px;box-shadow:0 7px 0 #163348}.dialog .eyebrow{color:#9a5a30;flex-shrink:0}.dialog h2{font-size:31px;letter-spacing:-1px;margin:12px 0 18px;flex-shrink:0}.dialog #dialog-body{min-height:0;overflow:auto}.dialog p{font-size:12px;line-height:1.7}.dialog p+p{margin-top:12px}.dialog .dialog-stars{font-size:30px;letter-spacing:5px;color:#a36925;margin-bottom:12px}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;flex-shrink:0}.dialog-actions button{padding:11px 14px;font-size:11px;font-weight:bold;background:#e4e7dc;border:1px solid #a1aaa0}.dialog-actions .orange{background:var(--orange);border-color:#b76833}.chain{position:absolute;left:0;right:0;top:49%;text-align:center;font-family:Rail,Han,sans-serif;font-size:35px;pointer-events:none;color:#fff5d9;text-shadow:0 3px #24455e,0 0 8px #24455e;opacity:0}.chain.active{opacity:1}
@media(min-width:1200px){.masthead{padding-left:max(4.5%,calc((100vw - 1320px)/2));padding-right:max(4.5%,calc((100vw - 1320px)/2))}.game-main{max-width:1100px}}
@media(max-width:1050px){.masthead{padding:16px 24px;gap:18px}.brand{font-size:15px;letter-spacing:1px}.topnav{gap:5px}.social{padding:9px 11px;font-size:11px}.music{font-size:9px;padding:7px 3px}.hero h1{font-size:65px}.hero-copy{max-width:550px}.hero-line{font-size:29px}.briefing{grid-template-columns:1fr;gap:28px}.section-heading h2{max-width:none}.home-levels{grid-template-columns:repeat(4,1fr)}.game-grid{grid-template-columns:minmax(0,1.6fr) minmax(255px,1fr);gap:26px}.game-aside h2{font-size:29px}.switch-deck{gap:7px;padding:12px}.switch-deck button{padding:10px 6px;gap:6px}.switch-deck b{font-size:11px}.switch-deck small{font-size:6px}.extra-modes{grid-template-columns:1fr}}
@media(max-width:760px){.masthead{padding:14px 18px;gap:14px;flex-wrap:wrap}.brand{font-size:16px}.brand img{width:42px;height:42px}.topnav{width:100%;justify-content:flex-start;gap:8px}.topnav .languages{margin-right:auto}.topnav .social{padding:9px 11px}.topnav .music{padding:7px 0}.hero{min-height:720px;background:linear-gradient(0deg,#152b3d 0%,rgba(21,43,61,.95) 33%,rgba(21,43,61,0) 74%),url('assets/junction-keyart.webp') 66% top/auto 480px no-repeat}.hero-copy{max-width:none;padding:295px 24px 35px}.hero .eyebrow{font-size:7px;letter-spacing:1px}.hero h1{font-size:51px;letter-spacing:-1.8px;margin:20px 0 23px}.hero h1 span{font-size:20px;letter-spacing:3px;margin-top:13px}.hero-line{font-size:25px;line-height:1.2;margin:14px 0}.hero-desc{font-size:12px;max-width:345px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:25px}.hero-actions .button{padding:15px 18px;font-size:10px}.hero-actions .text-link{font-size:10px}.hero-note{font-size:7px;letter-spacing:1px;margin-top:25px}.ticket-mark{right:22px;bottom:auto;top:294px;padding:7px 10px;transform:rotate(4deg)}.ticket-mark b{font-size:23px}.ticket-mark span{font-size:5px;letter-spacing:1px}.briefing{padding:34px 24px;gap:25px}.section-heading h2{font-size:26px}.briefing ol{flex-direction:column;gap:23px}.briefing li>b{flex:none;width:35px}.briefing h3{font-size:13px;margin-top:3px}.briefing p{font-size:12px}.shift-shelf{padding:35px 24px 40px}.shelf-heading h2{font-size:25px}.shelf-heading .text-link{font-size:10px}.shelf-heading .eyebrow{font-size:8px}.home-levels{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:24px}.home-level{padding:13px 11px;border-top-width:3px}.home-level .number{font-size:27px}.home-level b{font-size:10px}.home-level small{font-size:8px}.rush-banner{padding:22px 18px}.rush-banner h3{font-size:18px}.rush-banner .eyebrow{font-size:8px}footer{margin:0 18px;flex-wrap:wrap;gap:17px;padding:24px 0}.footerlinks{gap:15px}.footerlinks .social{font-size:10px}.game-main{max-width:610px;padding:22px 16px 32px}.game-heading{margin-bottom:18px}.game-heading h1{font-size:25px}.game-heading .eyebrow{font-size:8px;letter-spacing:1px}.game-heading .text-link{font-size:10px}.game-grid{grid-template-columns:1fr;gap:29px}.score-strip{padding:12px 16px;gap:8px}.score-strip>div>span{font-size:7px;letter-spacing:1px}.score-strip strong{font-size:24px}.switch-deck{padding:12px;gap:9px}.switch-deck button{padding:11px 7px;gap:6px}.switch-deck b{font-size:12px}.switch-deck small{font-size:7px;letter-spacing:.4px}.game-aside{padding:0 6px}.game-aside h2{font-size:29px;margin:13px 0}.game-aside>.eyebrow{font-size:8px}.aside-desc{font-size:12px}.next-queue{grid-template-columns:repeat(3,1fr);gap:8px;min-height:100px}.queue-ticket{height:88px;padding:10px;align-items:flex-start;flex-direction:column;gap:3px;border-left-width:4px}.queue-ticket b{font-size:17px}.queue-ticket .target-name{font-size:8px}.queue-ticket small{font-size:8px;margin-left:0;margin-top:auto}.extra-modes{grid-template-columns:1fr 1fr}.depots-key{padding:17px 0}.keyboard-note{font-size:8px;margin-top:16px}.dialog{padding:24px}.dialog h2{font-size:29px}.overlay{padding:17px}}
@media(max-width:390px){.masthead{padding:12px 13px;gap:12px}.topnav{gap:5px}.topnav .social{font-size:10px;gap:5px;padding:8px}.topnav .social svg{width:15px}.languages button{font-size:9px;padding:6px}.music span{font-size:9px}.hero-copy{padding-left:18px;padding-right:18px}.hero h1{font-size:43px;letter-spacing:-1.5px}.hero-line{font-size:22px}.ticket-mark{right:17px;top:294px}.hero-actions{gap:14px}.hero-actions .button{padding:14px;font-size:9px}.hero-actions .text-link{font-size:9px}.game-main{padding-left:12px;padding-right:12px}.game-heading h1{font-size:22px}.game-heading .text-link{font-size:9px}.score-strip{padding:10px 12px;gap:6px}.score-strip strong{font-size:21px}.score-strip>div>span{font-size:6px}.pause{width:29px;height:31px}.switch-deck{padding:10px 8px 12px;gap:6px}.switch-deck button{padding:10px 5px;gap:5px}.switch-deck button i{width:20px;height:20px;font-size:11px}.switch-deck b{font-size:10px}.switch-deck small{font-size:6px;letter-spacing:0}.dialog{padding:17px}.dialog h2{font-size:25px;margin:9px 0 12px}.dialog p{font-size:11px;line-height:1.65}.dialog .eyebrow{font-size:7px;letter-spacing:1px}.dialog-actions{margin-top:16px;gap:8px}.dialog-actions button{font-size:10px;padding:9px 11px}.overlay{padding:14px}.dialog .dialog-stars{font-size:25px}.home-levels{gap:7px}.shift-shelf{padding:30px 18px}.shelf-heading h2{font-size:22px}.shelf-heading .text-link{font-size:8px}.queue-ticket{padding:8px}.footerlinks{width:100%;justify-content:space-between}.next-queue{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.hero-line{max-width:340px}
