@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap";:root{color:#123f3f;font-synthesis:none;--ink:#123f3f;--paper:#fff9e7;--gold:#ffcb46;--green:#17665e;background:#cde4c6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:5px;outline:3px solid #f2a526}button:disabled{opacity:.7;cursor:wait}.hidden{display:none!important}#world{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.vignette{pointer-events:none;background:linear-gradient(90deg,#f4f9e2eb,#f4f9e2ad 29%,#0000 63%),linear-gradient(#0000 83%,#0c343052);transition:opacity .5s;position:absolute;inset:0}.playing .vignette{opacity:0}.topbar{z-index:5;justify-content:space-between;align-items:center;gap:15px;padding:25px 36px;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:var(--ink);letter-spacing:1px;align-items:center;gap:10px;font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:600;text-decoration:none;display:flex}.brand b{font-weight:900}.brand-mark{border:2px solid var(--ink);border-radius:8px;place-items:center;width:31px;height:35px;font-size:26px;font-weight:900;line-height:1;display:grid;position:relative}.brand-mark span{background:var(--paper);border-radius:10px;font-size:17px;position:absolute;bottom:-5px;right:-6px}.top-actions{align-items:center;gap:9px;display:flex}.satire{letter-spacing:.2px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff9e7bf;border-radius:20px;margin-right:9px;padding:8px 12px;font-size:11px;font-weight:600}.icon-button{width:37px;height:37px;color:var(--ink);background:#fff9e7cf;border:1px solid #fff9e7;border-radius:50%;place-items:center;font-size:23px;display:grid;position:relative}.mute-line{background:var(--ink);width:23px;height:2px;position:absolute;transform:rotate(-48deg)}.sound-on .mute-line{display:none}.menu{z-index:2;width:min(445px,43vw);position:absolute;top:50%;left:8%;transform:translateY(-48%)}.ticket-label{letter-spacing:1px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:21px;font-size:10px;font-weight:800;display:flex}.live-dot{background:#22876d;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22876d15}.ticket-rule{border-top:1px solid #175b4e55;width:22px;margin:0 2px}h1{letter-spacing:-3px;max-width:440px;margin:0;font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(74px,8.6vw,132px);font-style:italic;font-weight:900;line-height:.78;position:relative}h1 span{color:var(--green);margin-top:9px;display:block}h1 svg{fill:none;stroke:#efab22;stroke-linecap:round;stroke-width:5px;opacity:.9;width:94%;height:23px;position:absolute;bottom:-19px;left:1%}.edition{letter-spacing:5px;margin-top:28px;font-size:12px;font-weight:800}.intro{letter-spacing:-.5px;margin:26px 0 12px;font-size:22px;line-height:1.42}.intro strong{font-weight:800}.intro-small{color:#3d6861;margin:0 0 24px;font-size:13px;line-height:1.7}.itinerary{white-space:nowrap;align-items:center;gap:9px;margin:23px 0;font-size:11px;font-weight:700;display:flex}.itinerary i{color:#fff;background:#17715e;border-radius:3px;margin-right:4px;padding:4px;font-size:9px;font-style:normal}.itinerary span:nth-of-type(2) i{background:#58a7ca}.itinerary span:nth-of-type(3) i{background:#d37467}.itinerary>b{color:#7c9180;letter-spacing:-1px;font-size:12px;font-weight:400}.primary{color:var(--paper);background:var(--green);border:0;border-radius:11px;justify-content:space-between;align-items:center;gap:22px;width:100%;padding:18px 22px;font-size:16px;font-weight:800;transition:transform .16s,background .16s;display:flex;box-shadow:0 5px #0a463e}.primary:hover{background:#20786d;transform:translateY(-2px)}.primary:active{transform:translateY(3px);box-shadow:0 2px #0a463e}.button-arrow{font-size:26px;line-height:.75}.menu-options{color:#3e675f;justify-content:center;align-items:center;gap:13px;margin-top:23px;font-size:11px;display:flex}.text-button{color:var(--ink);background:0 0;border:none;padding:6px;font-size:12px;font-weight:700}.text-button span{border:1px solid;border-radius:100%;place-items:center;width:15px;height:15px;margin-left:3px;font-size:10px;display:inline-grid}.option-divider{background:#77928866;width:1px;height:14px}.menu-options select{color:var(--ink);background:0 0;border:0;padding:4px 0;font-size:11px;font-weight:800}.record{text-align:center;color:#607e71;margin-top:18px;font-size:10px}.destination-stamp{outline-offset:5px;color:#fff8e3;text-shadow:0 1px 4px #174f5655;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#315d4918;border:2px solid #fff8deaa;border-radius:50%;outline:1px solid #fff8de80;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:absolute;bottom:12%;right:6%;transform:rotate(-8deg)}.destination-stamp>span{letter-spacing:2px;font-size:9px}.destination-stamp strong{font-family:Barlow Condensed,sans-serif;font-size:42px;font-weight:900}.destination-stamp>div{letter-spacing:1px;margin-bottom:6px;font-size:8px}.destination-stamp path{fill:#fff8e3}footer{color:#fff9e7e6;z-index:1;justify-content:space-between;font-size:10px;font-weight:500;display:flex;position:absolute;bottom:22px;left:36px;right:36px}footer span:first-child{color:#355d50}.hud{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:25px;display:flex;position:absolute;inset:95px 36px auto}.health-panel{background:#fff9e7ee;border-radius:12px;min-width:176px;padding:13px 19px;box-shadow:0 3px #234b4933}#hearts{letter-spacing:3px;color:#e57464;font-size:18px;line-height:1}.empty-heart{color:#174d412b}.chapter-label{align-items:center;gap:10px;margin-top:10px;display:flex}.chapter-label>span{opacity:.25;font-family:Barlow Condensed,sans-serif;font-size:36px;line-height:1}.chapter-label small{letter-spacing:1.1px;margin-bottom:2px;font-size:8px;font-weight:800;display:block}.chapter-label strong{font-size:16px}.route-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9e7d9;border-radius:12px;width:min(400px,35vw);padding:11px 18px}.route-labels{letter-spacing:.7px;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;display:flex}.route-labels b{letter-spacing:0;font-size:13px}.route-track{background:#14594b25;border-radius:5px;height:5px;margin:13px 6px 7px;position:relative}.route-track div{background:var(--green);border-radius:5px;width:0;height:100%}.route-track>span{color:#1b6d5b;margin-left:-7px;font-size:20px;position:absolute;top:-9px;transform:rotate(5deg)}.score-panel{background:#fff9e7ed;border-radius:12px;align-items:center;gap:9px;min-width:125px;padding:15px 18px;display:flex;position:relative}.coin-symbol{color:#a27524;background:#ffc94c;border:2px solid #e3a831;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.score-panel strong{font-family:Barlow Condensed,sans-serif;font-size:30px;line-height:1}.score-label{letter-spacing:1px;opacity:.7;font-size:7px;position:absolute;bottom:6px;right:19px}.toast{text-align:center;z-index:3;opacity:0;pointer-events:none;white-space:nowrap;background:#fff9e7f5;border-radius:30px;max-width:85%;padding:13px 23px;font-size:13px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:205px;left:50%;transform:translate(-50%,-8px);box-shadow:0 4px 15px #173b3820}.toast.visible{opacity:1;transform:translate(-50%)}#hit-flash{pointer-events:none;opacity:0;background:#eb473c;transition:opacity .25s;position:absolute;inset:0}#hit-flash.flash{opacity:.24;transition:none}.controls{color:#fff9e7;text-shadow:0 1px 5px #082c31;z-index:4;align-items:center;gap:22px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.controls>div{white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.controls span{margin-left:5px}kbd{color:#fff9e7;background:#123f3f60;border:1px solid #fff9e788;border-radius:5px;place-items:center;min-width:26px;height:26px;padding:5px;font:700 12px DM Sans,sans-serif;display:inline-grid;box-shadow:0 2px #123f3f60}.boost{color:var(--paper);background:#185f59e8;border:1px solid #fff9e7aa;border-radius:9px;align-items:center;gap:8px;min-width:132px;padding:10px 13px;font-size:12px;display:flex;position:relative;overflow:hidden}.boost>span{color:var(--gold);z-index:1;margin:0;font-size:20px}.boost b,.boost kbd{z-index:1}.boost i{background:#368d7180;width:50%;transition:width .1s;position:absolute;top:0;bottom:0;left:0}.boost.ready{border-color:#ffd869;box-shadow:0 0 20px #ffc94c33}.boost kbd{width:21px;min-width:21px;height:21px;margin-left:auto;padding:2px;font-size:10px}.touch-controls{bottom:max(25px,env(safe-area-inset-bottom));z-index:4;gap:10px;display:flex;position:absolute;left:20px;right:20px}.touch-controls button{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff9e7;background:#174c44aa;border:1px solid #fff9e788;border-radius:17px;width:56px;height:56px;font-size:28px}.touch-controls>span{flex:1}.dialog-backdrop{z-index:10;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0d363f66;place-items:center;padding:25px;display:grid;position:absolute;inset:0}.dialog{background:var(--paper);text-align:center;border-radius:22px;width:440px;max-width:100%;padding:32px 35px;box-shadow:0 16px 80px #082e4644}.dialog-icon{background:#e7eed8;border-radius:50%;place-items:center;width:66px;height:66px;margin:0 auto 22px;font-size:33px;display:grid}.dialog-kicker{letter-spacing:2px;color:#5f8171;font-size:9px;font-weight:800}.dialog h2{margin:12px 0 20px;font-family:Barlow Condensed,sans-serif;font-size:42px;line-height:1}.dialog p{color:#527268;font-size:13px;line-height:1.7}.dialog .primary{margin-top:25px}.dialog .text-button{margin-top:15px}#dialog-body .tutorial-row{text-align:left;border-bottom:1px solid #124a4020;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}#dialog-body .tutorial-row>span{min-width:75px}#dialog-body kbd{color:var(--ink);background:#e5ead5;border-color:#cad4bd}.stats{justify-content:center;gap:35px;padding:13px 0;display:flex}.stats strong{font-family:Barlow Condensed,sans-serif;font-size:34px;display:block}.stats small{letter-spacing:1px;color:#68816f;font-size:9px}.flight-note{background:#e7eed8;border-radius:9px;padding:12px;font-size:11px!important}#fatal{background:var(--paper);z-index:100;text-align:center;place-content:center;padding:40px;display:grid;position:absolute;inset:0}#fatal p{max-width:440px;font-size:15px;line-height:1.6}#fatal button{background:var(--green);color:#fff;border:0;border-radius:10px;padding:15px}@media (width>=1600px){.menu{left:11%}.intro{font-size:25px}.intro-small{font-size:14px}.menu-options{font-size:12px}}@media (height<=800px) and (width>=701px){.menu{transform:translateY(-45%)}h1{font-size:96px}.ticket-label{margin-bottom:16px}.intro{margin-top:19px;font-size:20px}.intro-small{margin-bottom:14px}.itinerary{margin:17px 0}.primary{padding:16px 20px}.menu-options{margin-top:17px}.record{margin-top:12px}.edition{margin-top:25px}}@media (height<=650px) and (width>=701px){.menu{width:370px;top:53%}h1{font-size:76px}.intro-small{display:none}.ticket-label{margin-bottom:12px}.intro{margin:17px 0 10px;font-size:17px}.edition{font-size:10px}.record{display:none}.topbar{padding:16px 25px}footer{bottom:14px}.destination-stamp{width:120px;height:120px}.destination-stamp strong{font-size:32px}}@media (width<=700px){.topbar{padding:18px 19px}.brand{letter-spacing:.6px;font-size:16px}.brand-mark{width:27px;height:29px;font-size:23px}.satire{display:none}.icon-button{width:33px;height:33px;font-size:21px}.top-actions{gap:6px}.vignette{background:linear-gradient(90deg,#eef4ded9,#eef4de8c 60%,#0000),linear-gradient(#0000 40%,#edf3e0a6)}.menu{width:86%;max-width:390px;top:51%;left:7%;transform:translateY(-45%)}h1{width:90%;font-size:clamp(82px,22vw,115px)}.ticket-label{letter-spacing:.7px;margin-bottom:20px;font-size:8px}.edition{letter-spacing:4px;font-size:10px}.intro{margin-top:25px;font-size:21px}.intro-small{font-size:12px}.itinerary{justify-content:flex-start;gap:7px;margin:23px 0;font-size:10px}.itinerary>b{font-size:10px}.primary{padding:18px 19px;font-size:15px}.destination-stamp{display:none}footer{font-size:8px;bottom:17px;left:22px;right:22px}footer span:last-child{display:none}.menu-options{margin-top:21px}.record{margin-top:18px}.hud{flex-wrap:wrap;gap:10px;inset:76px 15px auto}.health-panel{min-width:132px;padding:10px 12px}.chapter-label{gap:6px;margin-top:7px}.chapter-label>span{font-size:29px}.chapter-label strong{font-size:14px}.chapter-label small{letter-spacing:.5px;font-size:7px}#hearts{letter-spacing:2px;font-size:16px}.score-panel{min-width:106px;margin-left:auto;padding:12px 13px}.score-panel strong{font-size:27px}.route-panel{width:100%;padding:8px 14px;position:absolute;top:94px;left:0}.route-labels{font-size:8px}.route-track{margin:11px 5px 6px}.toast{white-space:normal;width:max-content;padding:11px 17px;font-size:11px;top:245px}.controls{bottom:100px}.controls>div{display:none}.boost{min-width:125px;padding:10px 12px}.boost kbd{display:none}.dialog{border-radius:17px;padding:26px 25px}.dialog h2{font-size:37px}.dialog p{font-size:12px}.dialog-icon{width:58px;height:58px;margin-bottom:17px}}@media (height<=700px) and (width<=700px){.menu{top:54%}h1{font-size:79px}.intro{margin-top:20px;font-size:18px}.intro-small{margin-bottom:10px;font-size:11px}.itinerary{margin:15px 0}.ticket-label{margin-bottom:17px}.edition{margin-top:22px}.menu-options{margin-top:18px}.record{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.altimeter{color:#44665e;background:#fff9e7dd;border-radius:12px;flex-direction:column;align-items:center;gap:7px;padding:14px;font-size:11px;display:flex;position:absolute;top:180px;right:36px}.altimeter small{letter-spacing:1.2px;margin-bottom:2px;font-size:7px;font-weight:800}.altimeter span{opacity:.45;padding:4px 8px}.altimeter span.active{opacity:1;background:#d2e5c9;border-radius:5px;font-weight:800}.altimeter i{border-left:1px dashed #50725c80;height:12px}@media (width<=700px){.altimeter{gap:4px;padding:9px;font-size:10px;top:245px;right:15px}.altimeter small{font-size:6px}.altimeter i{height:8px}.edition{letter-spacing:2px;max-width:100%;font-size:8px;line-height:1.5}}
