@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#fff;background:#91cbd3;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block}button{font:inherit;cursor:pointer;color:inherit;border:0}button,button *,#touch,#touch *,#app>canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#ui{position:fixed;inset:0;pointer-events:none}button,input{pointer-events:auto}.top{position:absolute;top:30px;left:36px;right:36px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Barlow Condensed,Impact,sans-serif;font-style:italic;font-weight:800;font-size:30px;letter-spacing:1px}.brand span{color:#d7ff69}.tag{font-size:10px;letter-spacing:2px;color:#d5e8e7;margin-top:3px}.pill{background:#132c3bd9;border:1px solid #ffffff24;border-radius:30px;padding:11px 17px;font-size:11px;letter-spacing:1px}.dot{display:inline-block;width:6px;height:6px;background:#d7ff69;border-radius:50%;margin-right:8px}.panel{position:absolute;top:50%;left:7%;transform:translateY(-48%);max-width:460px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#d7ff69;margin-bottom:20px}.panel h1{font:800 italic clamp(68px,8vw,115px)/.85 "Barlow Condensed",Impact,sans-serif;letter-spacing:-2px;margin:0 0 25px;text-transform:uppercase}.panel h1 span{color:#d7ff69}.panel p{font-size:14px;line-height:1.8;color:#e0eded;max-width:340px}.primary{background:#d7ff69;color:#182a28;padding:18px 27px;border-radius:5px;font-weight:800;margin-top:22px;box-shadow:0 5px #92b943}.primary:hover{background:#e6ff9d;transform:translateY(-1px)}.hint{font-size:11px!important;color:#bdd3d4!important;margin-top:23px}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#102b3bec 0%,#17394b99 32%,transparent 75%)}.footer{position:absolute;bottom:27px;left:36px;right:36px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#d3e7e7}.hud{position:absolute;top:105px;left:36px;background:#132c3bdd;padding:20px 24px;border-radius:8px;width:220px}.hud small{font-size:10px;letter-spacing:2px;color:#a9c3ca}.time{font-size:32px;font-weight:800;margin:8px 0 17px;font-variant-numeric:tabular-nums}.row{display:flex;justify-content:space-between;font-size:12px;margin:10px 0}.track{height:4px;background:#ffffff25;border-radius:4px;overflow:hidden}.track div{height:100%;background:#d7ff69;width:100%}.controls{position:absolute;bottom:35px;left:50%;transform:translate(-50%);background:#132c3bd9;padding:14px 20px;border-radius:8px;font-size:11px;white-space:nowrap;color:#d6e5e7}kbd{font:600 11px Inter,sans-serif;background:#ffffff20;border:1px solid #ffffff28;border-radius:3px;padding:4px 6px;margin:0 3px}.toast{position:absolute;top:25%;width:100%;text-align:center;font-weight:800;font-size:25px;text-shadow:0 2px 9px #132c3b}.actions{display:flex;gap:8px}.actions button{background:#132c3bd9;border:1px solid #ffffff24;border-radius:30px;padding:11px 15px;font-size:11px}.hidden{display:none!important}.mobile{display:none}.loading{position:fixed;inset:0;background:#102b3b;display:grid;place-items:center;font-size:20px;z-index:10}@media(pointer:coarse),(max-width:650px),(max-width:950px)and (max-height:600px){.mobile{display:block}.controls{display:none}#stick{position:absolute;bottom:40px;left:35px;width:120px;height:120px;border:2px solid #ffffff70;background:#132c3b60;border-radius:50%;pointer-events:auto;touch-action:none}#nub{position:absolute;left:38px;top:38px;width:40px;height:40px;background:#d7ff69;border-radius:50%;pointer-events:none}.touch-buttons{position:absolute;bottom:45px;right:25px;display:flex;gap:16px}.touch-buttons button{width:74px;height:74px;border-radius:50%;background:#d7ff69;color:#132c3b;font-weight:800;touch-action:none}#sprint{background:#132c3bce;color:#fff}.hud{top:83px;left:20px;padding:12px;width:170px}.time{font-size:24px;margin:5px 0}.top{top:20px;left:20px;right:20px}.footer{left:20px;right:20px}.panel{left:7%;max-width:80%}.panel h1{font-size:75px}.panel p{font-size:12px}.tag{display:none}}@media(max-height:500px){.panel h1{font-size:65px}.panel p{margin:8px 0}.primary{margin-top:8px;padding:12px 20px}.hint,.footer{display:none}.eyebrow{margin-bottom:10px}.hud{top:75px}.top{top:15px}}:root{--accent: #d7ff69}button:focus-visible{outline:3px solid white;outline-offset:4px}button:disabled{cursor:default;opacity:.55}.brand span,.eyebrow,.panel h1 span,.intro h1 span,.result-card h1 span{color:var(--accent)}.primary{background:var(--accent);box-shadow:0 4px #0004}.primary:hover{background:var(--accent);filter:brightness(1.1)}.track div{background:var(--accent)}.menu-shell{position:absolute;inset:125px 7% 60px;display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:center;max-width:1200px}.intro h1,.result-card h1{font:800 italic clamp(65px,7vw,110px)/.87 "Barlow Condensed",Impact,sans-serif;letter-spacing:-2px;margin:0 0 25px}.intro p,.course-detail p,.result-card p{font-size:14px;line-height:1.7;color:#d8e8ed}.intro p{max-width:390px}.rule-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:25px}.rule-chips span{font-size:9px;letter-spacing:1px;border:1px solid #ffffff40;border-radius:30px;padding:9px;color:#e8f6f4}.course-picker{background:#102739cf;border:1px solid #ffffff20;border-radius:14px;padding:25px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.course-picker .eyebrow{margin-bottom:16px}.course-card{width:100%;text-align:left;display:flex;gap:15px;align-items:center;background:#ffffff06;border:1px solid #ffffff25;border-radius:7px;padding:14px 12px;margin-bottom:9px;transition:background .15s,border-color .15s}.course-card.selected{border-color:var(--card-accent);background:#ffffff12}.course-card:hover{background:#ffffff1a}.course-card.locked{opacity:.65}.course-number{font:800 italic 32px Barlow Condensed,Impact,sans-serif;color:var(--card-accent)}.course-info{display:flex;flex:1;flex-direction:column;gap:5px}.course-info small{font-size:8px;letter-spacing:1.5px;color:#b6c8d5}.course-info strong{font-size:17px}.course-info>span{font-size:10px;color:#c4d5db}.course-arrow{font-size:24px;color:var(--card-accent)}.course-detail{padding:12px 0 0}.course-detail>b{font-size:10px;color:var(--accent);letter-spacing:2px}.course-detail p{font-size:12px;margin:9px 0}.target-line{font-size:10px;color:#c4d5db;line-height:1.8}.course-picker .primary{width:100%;margin-top:15px;font-size:12px;padding:15px 10px}.course-picker .hint{font-size:10px!important;line-height:1.6;margin:15px 0 0}.score-line{border-top:1px solid #ffffff25;margin-top:16px;padding-top:14px;display:flex;align-items:baseline;gap:7px}.score-line>b{font-size:22px;color:var(--accent)}.score-line>span{font-size:8px;letter-spacing:1px}.score-line>strong{font-size:11px;color:#ffdd75;margin-left:auto}.hud #boost-label{font-size:10px;color:#8cff83;letter-spacing:1px;margin-top:12px}.countdown{position:absolute;inset:30% 0 auto;text-align:center;font:800 italic 110px Barlow Condensed,Impact,sans-serif;color:var(--accent);text-shadow:0 5px 30px #102739}.toast{top:19%;font-size:21px}.secondary{padding:15px 19px;border:1px solid #ffffff50;background:#ffffff12;border-radius:5px;font-size:12px;font-weight:700}.result{display:flex;align-items:center;justify-content:center;max-width:none;inset:110px 5% 45px}.result-card{max-width:690px;text-align:center;background:#102739e8;padding:28px 36px;border:1px solid #ffffff25;border-radius:15px;animation:arrive .4s ease-out;pointer-events:auto}.result-card h1{font-size:65px;margin:18px 0 25px}.result-card .medal{display:inline-block;border:1px solid currentColor;padding:8px 20px;border-radius:30px;letter-spacing:3px;font-size:12px;color:#ffcc65}.result-card .medal.silver{color:#c3d9ed}.result-card .medal.bronze{color:#e7ac89}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.result-stats div{display:flex;flex-direction:column;gap:7px}.result-stats b{font-size:24px}.result-stats span{font-size:9px;letter-spacing:1px;color:#c4d5db}.result-actions{display:flex;gap:10px;justify-content:center;align-items:baseline}.result-actions .primary,.result-card p{font-size:12px}.result~.hud{opacity:.3}#speed-lines{position:absolute;inset:0;opacity:0;transition:opacity .2s;box-shadow:inset 0 0 100px #b2ffab33;background:repeating-conic-gradient(from 0deg at 50% 55%,transparent 0deg 11deg,#ffffff15 11deg 11.4deg,transparent 11.4deg 22deg);-webkit-mask-image:radial-gradient(ellipse,transparent 40%,black 100%);mask-image:radial-gradient(ellipse,transparent 40%,black 100%)}#speed-lines.active{opacity:1}@keyframes arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1000px){.menu-shell{inset:110px 5% 45px;grid-template-columns:1fr 355px;gap:25px}.intro h1{font-size:75px}.actions{gap:5px}.actions button{font-size:9px;padding:10px}.course-picker{padding:18px}.brand{font-size:25px}}@media(max-width:650px){.top{left:16px;right:16px;top:15px;align-items:flex-start}.brand{font-size:24px}.tag{display:none}.actions{max-width:220px;justify-content:flex-end;flex-wrap:wrap}.actions button{padding:8px;font-size:8px}.menu-shell{inset:100px 16px 20px;display:block;overflow-y:auto;pointer-events:auto}.intro h1{font-size:57px;margin-bottom:12px}.intro h1 br{display:none}.intro>p,.intro .rule-chips,.intro .hint{display:none}.intro .eyebrow{font-size:9px;margin:0 0 12px}.course-picker{padding:16px}.course-card{padding:10px;margin-bottom:6px}.course-info strong{font-size:15px}.course-detail{padding-top:5px}.course-detail p{font-size:11px}.course-picker .hint{margin-top:10px}.footer{display:none}.hud{left:16px;top:95px;width:160px;padding:12px}.hud .row{font-size:10px;margin:7px 0}.score-line{padding-top:8px;margin-top:8px}.score-line>b{font-size:18px}.time{font-size:24px;margin-bottom:10px}.toast{top:30%;font-size:17px;padding:0 18px}.result{inset:95px 16px 20px}.result-card{padding:20px 15px}.result-card h1{font-size:50px}.result-stats{gap:10px;grid-template-columns:repeat(2,1fr)}.result-actions{flex-wrap:wrap}.result-actions .primary{margin-top:10px}.secondary{padding:12px}.controls{display:none}}@media(max-height:600px)and (min-width:651px){.menu-shell{inset:80px 5% 15px;grid-template-columns:1fr 360px;overflow-y:auto;pointer-events:auto;align-items:start}.intro{padding-top:25px}.intro h1{font-size:65px}.intro p{font-size:12px}.course-picker{padding:13px}.course-picker>.eyebrow{display:none}.course-card{padding:8px;margin-bottom:5px}.course-info strong{font-size:14px}.course-info small{font-size:7px}.course-detail p{font-size:10px;margin:5px 0}.course-detail>b{font-size:9px}.course-picker .hint,.intro .hint,.footer{display:none}.course-picker .primary{padding:11px;margin-top:8px}.target-line{font-size:9px}.hud{top:70px;padding:10px 14px;width:175px}.hud .row{margin:6px 0;font-size:10px}.hud .time{font-size:24px;margin:4px 0 7px}.score-line{margin-top:8px;padding-top:6px}.score-line>b{font-size:18px}.toast{top:23%;font-size:18px}.result{display:flex;inset:70px 10px 10px;overflow-y:auto}.result-card{padding:15px 25px}.result-card h1{font-size:44px;margin:12px 0}.result-stats b{font-size:20px}.result-card .eyebrow{margin-bottom:10px}.result-card p{margin:7px 0}.result-actions .primary{margin-top:7px;padding:12px 18px}.countdown{font-size:80px}.rule-chips{margin-top:15px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}#speed-lines{display:none}}@media(max-width:650px){.brand{font-size:19px;white-space:nowrap}.actions{max-width:195px;margin-left:10px}.actions button{font-size:8px;padding:8px 7px}}@media(max-height:600px)and (min-width:651px){.hud{width:155px}.hud .checkpoint-row,.hud .resets-row,.hud .tokens-row{display:none}.hud small{font-size:8px}.hud .time{font-size:21px}.hud .row{margin:4px 0}.hud #boost-label{font-size:8px;margin-top:6px}.toast{padding-left:165px;padding-right:165px}.controls{display:none}}@media(max-height:600px)and (min-width:651px){.course-picker{padding:10px 13px}.course-card{padding:6px 10px;gap:12px;margin-bottom:4px}.course-info{gap:3px}.course-info>span{font-size:8px}.course-info small{font-size:6px}.course-info strong{font-size:13px}.course-number{font-size:26px}.course-detail{padding-top:4px}.course-detail p{line-height:1.4}}select,a{pointer-events:auto}input,select{font:inherit;min-width:0;color:#fff;background:#183247;border:1px solid #ffffff40;border-radius:5px;padding:11px}.menu-shell{overflow-y:auto;pointer-events:auto}.intro h1{font-size:clamp(65px,6.5vw,94px)}.intro>.hint{margin-top:15px}.online-form{margin-top:24px;padding:17px;background:#102739ce;border:1px solid #ffffff25;border-radius:9px;max-width:440px;pointer-events:auto}.online-form .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:13px}.identity-row,.online-actions{display:flex;gap:8px}.identity-row{margin-bottom:9px}.identity-row input{width:65%;font-size:12px}.identity-row select{width:35%;font-size:11px}.online-actions .secondary{font-size:9px;padding:12px 10px;white-space:nowrap}.online-actions input{width:105px;text-transform:uppercase;font-size:10px;letter-spacing:1px;flex:1}.online-form p{font-size:11px;color:#ffba99;line-height:1.4;margin:9px 0 0;max-width:none}.course-card{padding:11px 12px}.online-lobby{grid-template-columns:1fr 420px;align-items:center}.lobby-copy h1{font:800 italic clamp(55px,6vw,86px)/.9 "Barlow Condensed",Impact,sans-serif;letter-spacing:-1px;margin:0 0 22px}.lobby-copy h1 span{color:var(--accent)}.lobby-copy>p{max-width:410px;font-size:13px;line-height:1.7;color:#d8e8ed}.room-code{font:800 46px Barlow Condensed,Impact,sans-serif;letter-spacing:10px;color:var(--accent);padding:10px 0 20px}.qr-row{display:flex;align-items:center;gap:18px;max-width:470px}.qr-row img{width:135px;height:135px;border-radius:8px}.qr-row a{display:block;overflow-wrap:anywhere;color:var(--accent);font-size:12px;line-height:1.5}.qr-row p{color:#d8e8ed;font-size:11px;line-height:1.6}.course-select-label{font-size:9px;letter-spacing:2px;display:flex;flex-direction:column;gap:10px;color:#bdcfd6}.course-select-label select{font-size:13px;letter-spacing:0}.roster{margin:18px 0}.roster-player{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff15;font-size:12px}.roster-player i,.ranking-row i{width:9px;height:9px;border-radius:50%;flex-shrink:0}.roster-player small{margin-left:auto;font-size:8px;letter-spacing:1px;color:#c1d6db}.lobby-roster>.secondary{width:100%;margin-top:13px}.lobby-roster p{font-size:11px;color:#ffba99}.network-rank{position:absolute;top:105px;right:36px;width:245px;background:#132c3be8;border:1px solid #ffffff25;border-radius:8px;padding:15px}.network-rank>small{font-size:9px;letter-spacing:1px;color:var(--accent)}.ranking-row{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:13px}.ranking-row>b{font-size:12px;width:12px}.ranking-row>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row>strong{font-size:9px;color:#c1d6db}.ranking-row.you{color:var(--accent)}.net-status{position:absolute;bottom:90px;left:50%;transform:translate(-50%);padding:12px 20px;background:#ad3058ee;border-radius:8px;max-width:90%;font-size:12px;text-align:center}.finish-list{margin:20px 0}.finish-list>div{display:flex;align-items:center;gap:15px;border-bottom:1px solid #ffffff22;padding:12px 0;font-size:13px}.finish-list>div>b{width:18px;color:var(--accent)}.finish-list>div>span{text-align:left;flex:1}.finish-list small{color:#bcd0d8;font-size:9px}.online-form input::placeholder{color:#9db8c7}.online-form select option,.course-select-label option{background:#163246}.result-card{max-height:100%;overflow-y:auto}.result-card:has(.finish-list){min-width:min(610px,100%)}@media(max-width:1000px){.online-form{padding:13px}.online-actions{gap:5px}.online-actions .secondary{padding:12px 8px;font-size:8px}.online-form .eyebrow{letter-spacing:.7px;font-size:8px}.online-lobby{grid-template-columns:1fr 355px}.qr-row img{width:110px;height:110px}}@media(max-width:650px){.intro h1{font-size:52px}.online-form{margin:0 0 18px;max-width:none}.intro .online-form p,.online-lobby{display:block}.lobby-copy h1{font-size:47px;margin-bottom:12px}.lobby-copy>.eyebrow{font-size:8px;letter-spacing:1px}.lobby-copy>p{font-size:11px}.room-code{font-size:34px;padding-bottom:15px}.qr-row{margin-bottom:20px}.qr-row img{width:100px;height:100px}.lobby-roster{margin-bottom:15px}.network-rank{top:95px;right:12px;width:150px;padding:10px}.ranking-row{font-size:8px;gap:4px;margin-top:10px}.ranking-row>b{font-size:10px;width:10px}.ranking-row>strong{font-size:7px}.network-rank>small{font-size:7px}.finish-list>div{gap:8px;font-size:10px}.finish-list small{font-size:7px}.finish-list strong{font-size:10px}.result-card:has(.finish-list){min-width:0;width:100%}.net-status{bottom:180px;font-size:10px}.lobby-roster .eyebrow{font-size:9px;letter-spacing:1px}}@media(max-height:600px)and (min-width:651px){.intro h1{font-size:53px}.intro>p,.intro>.rule-chips{display:none}.online-form{margin-top:15px;padding:10px}.online-form .eyebrow{font-size:8px;line-height:1.4;margin-bottom:8px}.identity-row input,.identity-row select{padding:8px}.online-actions .secondary{padding:10px 7px}.online-actions input{padding:8px}.online-form p{font-size:9px}.course-card{padding:5px 10px;margin-bottom:4px}.course-detail p{font-size:9px}.target-line{font-size:8px}.course-picker .primary{font-size:10px;padding:9px}.online-lobby{align-items:start}.lobby-copy h1{font-size:44px}.lobby-copy>p{display:none}.lobby-copy .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.room-code{font-size:30px;padding:0 0 12px}.qr-row{gap:12px}.qr-row img{width:90px;height:90px}.qr-row a,.qr-row p{font-size:9px}.roster-player{padding:7px 0;font-size:10px}.roster{margin:10px 0}.network-rank{top:70px;right:20px;width:155px;padding:10px}.ranking-row{gap:5px;font-size:8px;margin-top:8px}.ranking-row>strong{font-size:7px}.network-rank>small{font-size:7px}.ranking-row>b{font-size:10px}.finish-list{margin:8px 0}.finish-list>div{padding:7px 0}.net-status{bottom:15px;font-size:10px}}.mode-picker{display:flex;gap:8px;margin:12px 0}.mode-picker button{flex:1;padding:12px;border:1px solid #ffffff50;border-radius:8px;background:#193b4a;color:#fff;font-weight:900;cursor:pointer}.mode-picker button[aria-pressed=true]{background:var(--accent);color:#172c3b;border-color:var(--accent)}.challenge-toggle{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.challenge-toggle input{width:18px;height:18px;accent-color:var(--accent)}.mode-rules{font-size:12px;line-height:1.6;color:#d8e5e7}#island-progress{margin-top:10px;font-weight:900;color:#ffe16c;font-size:11px;line-height:1.5}.objective-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.objective-badges span{padding:6px 10px;border:1px solid var(--accent);border-radius:20px;color:var(--accent);font-size:12px}.hud .expert-lives{display:flex;color:#ffe16c}.course-select-label+.course-select-label{margin-top:14px}@media(min-width:651px){.menu-shell:not(.result){align-items:start}}.mode-picker~.course-card{padding:8px 12px}.mode-picker~.course-card .course-info{gap:4px}.mode-picker~.course-card .course-info strong{font-size:15px}.mode-picker~.course-detail p{line-height:1.5}.mode-picker{margin:8px 0}.mode-picker button{padding:9px}.course-picker .challenge-toggle{margin:8px 0}.mode-rules{margin:8px 0 12px;line-height:1.4;font-size:11px}@media(min-width:651px)and (max-height:900px){.menu-shell:not(.result){inset:105px 7% 40px}.course-picker{padding:18px}.course-picker .eyebrow{margin-bottom:12px}.mode-picker~.course-card{padding:7px 10px;margin-bottom:7px}.course-picker .primary{margin-top:10px}}.bridge-shoot{position:absolute;bottom:105px;right:36px;background:#63f5ff;color:#132c3b;border:2px solid #e3fcff;border-radius:12px;padding:14px 24px;font-weight:900;box-shadow:0 0 24px #63f5ff70;touch-action:none}.bridge-shoot small{display:block;margin-top:4px;font-size:9px}.bridge-shoot:active{background:#fff;transform:scale(.96)}#bridge-status{color:#63f5ff;font-size:10px;font-weight:800;line-height:1.6;margin-top:9px}@media(pointer:coarse),(max-width:650px),(max-width:950px)and (max-height:600px){.bridge-shoot{bottom:140px;right:25px;width:74px;height:74px;border-radius:50%;padding:9px 4px;font-size:13px}.bridge-shoot small{font-size:8px}}@media(max-height:600px)and (min-width:651px){.hud.in-combat .score-line,.hud.in-combat #bridge-status{display:none}}
