@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-semi-condensed-latin-400-normal-DlzeKIMS.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-400-normal-CwTnoNB3.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-semi-condensed-latin-800-normal-C0_dLkYa.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-800-normal-BEMn64Cj.woff)format("woff")}:root{color:#fff0d3;font-synthesis:none;--ink:#0f474d;--sand-start:#e0cfb4;--sand-end:#c9ac81;--sand-ink:#62493b;--sage:#839855cc;--sea:#087d83;--panel:#193c4cef;--cream:#ffedca;--muted:#c1d6d4;--coral:#ef886f;--lagoon:#69d0d5;--shadow:0 10px 30px #133c4d35;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#236b73;font-family:Barlow Semi Condensed,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;border-radius:8px;min-height:44px}button:disabled{cursor:default;opacity:.45}button:not(:disabled),a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:3px;outline:3px solid #fff0b8}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;font-weight:700}h1{font-size:28px}h2{font-size:19px}h3{font-size:14px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.wide{width:100%}.icon{width:19px;height:19px;-webkit-mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;background:currentColor;flex-shrink:0;display:inline-block}button.primary,.primary{color:#1c3b45;background:#f0dab0;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex;box-shadow:inset 0 -3px 1px #bea97f}button.primary:hover:not(:disabled){background:#fff0c9;transform:translateY(-1px)}button.primary:active:not(:disabled){transform:translateY(1px)}.secondary{background:#315564;border:1px solid #d6eee333;align-items:center;gap:10px;padding:12px 16px;display:flex}.secondary:hover:not(:disabled){background:#416878}.icon-button{background:#193c4ad9;justify-content:center;align-items:center;width:44px;padding:12px;display:inline-flex}.icon-button:hover:not(:disabled){background:#416374}.app{background:#154e57;height:100dvh;min-height:600px;position:relative;overflow:hidden}.topbar{z-index:5;pointer-events:none;justify-content:space-between;align-items:center;height:100px;padding:24px 3%;display:flex;position:relative}.topbar nav{pointer-events:auto;gap:10px;display:flex}.small-logo{pointer-events:auto;width:190px;display:block}.small-logo img{width:100%;display:block}.world{z-index:1;pointer-events:none;position:absolute;inset:100px 300px 145px}.world canvas{max-width:100%;display:block}.panel{background:var(--panel);box-shadow:var(--shadow);border-radius:12px}.home .topbar{justify-content:flex-end}.home .small-logo{display:none}.home .world{inset:100px 2% 100px 40%}.home-menu{z-index:2;flex-direction:column;align-items:center;gap:26px;width:min(34%,500px);display:flex;position:absolute;top:48%;left:6%;transform:translateY(-50%)}.home-menu h1 img{width:100%;height:auto;display:block}.home-copy{text-align:center;color:#fff1d1;padding:10px 18px;font-size:18px;line-height:1.5}.home-actions{gap:16px;width:100%;display:grid}.home-actions button{justify-content:space-between;min-height:72px;padding:18px 24px;font-size:20px}.home-actions .secondary{background:#234855ed;font-weight:700}.home-footer{text-shadow:0 1px 4px #163944;background:#17434e55;justify-content:center;gap:32px;padding:10px;font-size:13px;display:flex;position:absolute;bottom:30px;left:0;right:0}.roster{z-index:3;width:246px;max-height:calc(100dvh - 265px);padding:18px 16px;position:absolute;top:112px;left:3%;overflow:auto}.panel-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-title span{color:var(--muted);font-size:12px}.add-practice{justify-content:center;width:100%;margin-bottom:20px;padding:10px 8px;font-size:12px}.team-roster+.team-roster{margin-top:20px}.team-roster h3{color:var(--cream);align-items:center;gap:7px;margin-bottom:8px;display:flex}.team-roster h3 small{color:var(--muted);letter-spacing:0;margin-left:auto;font-size:10px;font-weight:400}.team-dot{background:var(--coral);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.lagoon .team-dot,.team-dot.lagoon{background:var(--lagoon)}.player-row{border-bottom:1px solid #a6c3b924;align-items:center;gap:10px;min-height:58px;padding:10px 0;display:flex}.player-row:last-child{border-bottom:0}.portrait{flex-shrink:0;width:34px;height:38px}.portrait img{object-fit:contain;width:100%;height:100%}.player-label{flex-direction:column;flex:1;gap:3px;min-width:0;font-size:13px;display:flex}.player-label small{color:var(--muted);font-size:10px}.remove{background:0 0;width:28px;min-height:32px;padding:7px}.remove .icon{width:14px;height:14px}.hp{background:#b3cecf25;border-radius:2px;width:34px;height:5px;overflow:hidden}.hp>span{background:#b3d49a;height:100%;display:block}.out{opacity:.5}.empty-roster{color:var(--muted);padding:12px 0;font-size:11px}.host-panel{z-index:3;text-align:center;width:260px;padding:22px 18px;position:absolute;top:112px;right:3%}.host-panel h1{margin-bottom:6px;font-size:24px}.qr-frame{background:linear-gradient(135deg,#b78050,#925f41 48%,#62493b);border-radius:48% 46% 45% 47%;place-items:center;width:236px;height:266px;margin:24px auto 20px;padding:44px 24px 34px;display:grid;position:relative;box-shadow:inset -8px -10px #62493b55,0 10px 18px #62493b22}.qr-frame:before{content:"";background:#543b2b;border-radius:50%;width:9px;height:12px;position:absolute;top:16px;left:calc(50% - 5px);transform:rotate(-12deg);box-shadow:-15px 7px #543b2b,14px 8px #543b2b}.qr-frame:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #e0cfb433;position:absolute;inset:8px}.qr-frame canvas{z-index:1;border-radius:12px;width:188px;max-width:188px;height:188px;max-height:188px;display:block;position:relative}.room-code-label{color:var(--sand-ink);font-size:13px}.room-code{letter-spacing:.17em;color:#f7dca4;margin:4px 0 8px;font-size:33px;font-weight:700}.join-link{overflow-wrap:anywhere;color:#d1e0da;font-size:10px;line-height:1.6;text-decoration:none;display:block}.device-link{text-underline-offset:3px;align-items:center;gap:10px;margin:18px 0 21px;font-size:12px;display:inline-flex}.device-link .icon{width:16px;height:16px}.host-settings{color:var(--muted);border-top:1px solid #b9d3ca33;justify-content:space-between;padding:18px 0;font-size:10px;display:flex}.host-panel .small{margin-top:12px}.host-bottom{z-index:3;align-items:center;gap:20px;width:min(710px,100% - 650px);min-width:460px;padding:23px 24px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.host-bottom h2{margin-bottom:5px}.host-bottom p{color:#d4e2d9;font-size:12px}.host-bottom>.icon-button{background:0 0;flex-shrink:0;margin-left:auto}.bottom-symbol{color:#e8d29f;width:43px}.bottom-symbol .icon{width:32px;height:32px}.turn-display{padding:12px 0 22px}.turn-label{color:var(--coral);font-size:20px;font-weight:700}.lagoon .turn-label{color:var(--lagoon)}.turn-clock{font-size:64px;font-weight:600;line-height:1.4}.totem-status{border-top:1px solid #b9d3ca33;gap:16px;padding-top:16px;display:grid}.totem-status>div{align-items:center;gap:7px;font-size:11px;display:flex}.totem-status strong{margin-left:auto;font-size:11px}.join-panel{width:min(590px,92%);padding:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.join-panel h1{text-align:center;margin-bottom:9px}.join-panel>.muted{text-align:center;font-size:13px}.join-panel form{margin:24px 0}.join-panel label{margin-bottom:9px;font-size:12px;display:block}.code-entry{gap:10px;display:flex}.code-entry input{color:#fff0cd;letter-spacing:.2em;background:#315564;border:1px solid #a8c7c155;border-radius:8px;flex:1;width:0;min-width:90px;padding:12px 18px;font-size:22px;font-weight:700}.code-entry button{font-size:13px}.team-choices{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.team-choice{color:var(--cream);background:#315563;border:1px solid #ffffff24;flex-direction:column;align-items:center;gap:7px;padding:16px 12px;transition:background .15s,transform .15s;display:flex}.team-choice:hover:not(:disabled){background:#426974;transform:translateY(-3px)}.team-choice.coral{--team:var(--coral)}.team-choice.lagoon{--team:var(--lagoon)}.team-choice strong{color:var(--team);font-size:21px}.team-choice>span:not(.shore-portrait){font-size:11px}.team-pick{align-items:center;gap:8px;margin-top:10px;display:flex}.team-pick .icon{width:13px;height:13px}.shore-portrait{width:100%;height:105px;display:block;position:relative}.shore-portrait img{z-index:1;width:76px;height:76px;position:absolute;top:0;left:50%;transform:translate(-50%)}.shore-ground{background:#9ba785;border-radius:50%;width:120px;height:32px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 9px #947e5e}.join .view-control,.player .view-control{display:none}.player{background:#1a3d4b;height:100dvh;min-height:0;overflow:hidden}.player .topbar{background:#193b49;height:54px;padding:6px 16px}.player .small-logo{width:125px}.player .topbar nav{gap:4px}.player .topbar .icon-button{background:0 0;width:38px;min-height:38px;padding:10px}.player .fullscreen-control{display:none}.phone{background:#1b4050;flex-direction:column;max-width:900px;height:calc(100dvh - 54px);min-height:0;margin:auto;display:flex}.player-status{background:#1a3c4b;justify-content:space-between;align-items:center;gap:12px;min-height:82px;padding:13px 20px;display:flex}.player-status p{color:#bfd8d4;align-items:center;gap:7px;margin-top:7px;font-size:11px;display:flex}.health-inline{color:#e9e6c4;margin-left:10px}.phone-clock{color:#efd6a2;text-align:center;min-width:44px;font-size:35px;line-height:1}.phone-clock .icon{width:26px;height:26px}.player-message{color:#e4e5d2;text-align:center;background:#28505c;min-height:31px;padding:7px 15px;font-size:11px;line-height:1.5}.text-button{background:0 0;min-height:26px;padding:0 6px;font-size:11px;text-decoration:underline}.phone canvas{touch-action:none;outline-offset:-4px;-webkit-user-select:none;user-select:none;flex:1;width:100%;height:0;min-height:140px;display:block}.controller-footer{padding:12px 16px max(8px,env(safe-area-inset-bottom));background:#193d4c;flex-shrink:0}.inventory{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.inventory-slot{min-height:67px;color:var(--item);background:#325663;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:9px 5px;font-size:10px;display:flex;position:relative}.inventory-slot.selected{border-color:var(--item);opacity:1;background:#42636c}.selected-dot{background:var(--item);border-radius:50%;width:5px;height:5px;position:absolute;top:7px;right:7px}.ability-description{color:#cbded5;text-align:center;justify-content:center;align-items:center;min-height:29px;font-size:10px;display:flex}.keyboard-controls{align-items:center;gap:10px;display:flex}.keyboard-controls label{flex-shrink:0;font-size:10px}.keyboard-controls output{color:#f2d8a3;display:block}.keyboard-controls input{accent-color:#efd9ac;flex:1;width:0;min-height:34px}.keyboard-controls button{min-height:40px;padding:10px 15px;font-size:12px}.gesture-hint{text-align:center;color:#bfd3cf;margin-top:7px;font-size:10px}.ability-symbol{width:28px;height:28px;color:var(--item);flex-shrink:0}.ability-symbol svg{width:100%;height:100%}#toast{z-index:25;color:#173c49;max-width:min(520px,90%);box-shadow:var(--shadow);background:#efdfbb;border-radius:8px;padding:14px 20px;font-size:13px;line-height:1.5;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}#connection{text-align:center;color:#193c49;z-index:20;background:#eed7a5;padding:8px;font-size:12px;position:fixed;top:0;left:0;right:0}dialog{color:#f8edcf;background:#1b3e4d;border:none;border-radius:12px;width:calc(100% - 28px);max-width:600px;max-height:90dvh;padding:32px;box-shadow:0 20px 80px #11344177}dialog::backdrop{background:#0c2932aa}dialog h2{margin-bottom:16px;margin-right:40px;font-size:29px}dialog h3{margin:25px 0 12px;font-size:18px}dialog p,dialog li{color:#d5e2d9;font-size:13px;line-height:1.7}dialog ol{padding-left:22px}dialog li{margin:10px 0}dialog strong{color:#fff0cc}.dialog-close{position:absolute;top:15px;right:15px}.help-items{grid-template-columns:1fr 1fr;gap:15px;display:grid}.help-items p{gap:12px;font-size:11px;display:flex}.render-error{pointer-events:auto;background:#1c4352;border-radius:12px;padding:20px;font-size:14px}@media (min-width:1700px){.roster,.host-panel{width:280px}.world{inset-inline:350px}.host-bottom{width:750px}}@media (min-width:761px){.in-match .roster{width:215px;padding:16px}.in-match .host-panel{width:225px;padding:18px}.in-match .turn-display{text-align:left;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:0 0 16px;display:grid}.in-match .turn-label{font-size:17px}.in-match .turn-clock{font-variant-numeric:tabular-nums;font-size:44px;line-height:1.1}.in-match .turn-display>.muted{grid-column:1/-1;font-size:11px}.in-match .host-bottom{gap:12px;padding:14px 20px;bottom:20px}.in-match .host-bottom h2{font-size:16px}.in-match .host-bottom p{font-size:11px}.in-match .bottom-symbol{width:30px}.in-match .bottom-symbol .icon{width:24px;height:24px}}@media (max-width:1100px){.roster{width:205px;padding:16px 12px;left:20px}.host-panel{width:225px;padding:18px 14px;right:20px}.world{inset:95px 235px 145px}.qr-frame{width:194px;height:194px}.qr-frame canvas{max-width:168px;max-height:168px}.host-bottom{width:calc(100% - 80px);min-width:0;max-width:650px;padding:17px 20px;bottom:20px}.home-menu{width:36%;left:5%}.home-copy{font-size:16px}}@media (max-width:760px){.app:not(.player){height:100dvh;min-height:100dvh;overflow:auto}.topbar{height:82px;padding:17px 18px}.small-logo{width:145px}.topbar nav{gap:5px}.topbar .icon-button{width:38px;min-height:40px;padding:10px}.home-menu{gap:17px;width:80%;top:100px;left:10%;transform:none}.home-menu h1{width:min(100%,340px)}.home-copy{font-size:14px}.home-actions{gap:12px;width:80%;position:fixed;top:calc(100dvh - 300px);left:10%}.home-actions button{min-height:58px;font-size:17px}.home .world{inset:255px 0 220px}.home-footer{flex-wrap:wrap;gap:9px;padding:7px 15px;font-size:10px;bottom:12px}.host .world{height:310px;inset:120px 0 auto}.roster{grid-template-columns:1fr 1fr;column-gap:16px;width:calc(100% - 30px);max-height:none;margin:355px 15px 15px;display:grid;position:relative;top:auto;left:auto}.panel-title,.add-practice{grid-column:1/-1}.team-roster+.team-roster{margin-top:0}.host-panel{width:calc(100% - 30px);margin:0 15px 15px;position:relative;top:auto;right:auto}.host-bottom{gap:12px;width:calc(100% - 30px);margin:0 15px 20px;padding:18px;position:relative;bottom:auto;left:auto;transform:none}.host-bottom h2{font-size:17px}.host-bottom p{font-size:11px}.host.in-match .host-panel{margin-top:0}.turn-display{justify-content:space-around;align-items:center;padding:0 0 15px;display:flex}.turn-label{font-size:16px}.turn-clock{font-size:38px}.turn-display .muted{max-width:90px}.totem-status{grid-template-columns:1fr 1fr;gap:15px}.totem-status>div{flex-wrap:wrap}.host.in-match .roster{margin-top:325px}.join-panel{width:calc(100% - 30px);margin:24px auto;padding:24px 18px;position:relative;top:auto;left:auto;transform:none}.join-panel h1{font-size:25px}.join-panel>.muted{font-size:12px}.team-choices{gap:10px}.team-choice{padding:14px 7px}.team-pick{font-size:10px!important}.code-entry{gap:8px}.code-entry button{padding:12px;font-size:12px}.code-entry input{padding:12px;font-size:20px}.player-status h1{font-size:19px}.player .topbar{height:50px}.phone{height:calc(100dvh - 50px)}.help-items{grid-template-columns:1fr}}@media (max-height:650px) and (min-width:761px){.app:not(.player){min-height:500px}.topbar{height:80px;padding-block:12px}.roster,.host-panel{top:85px}.roster{max-height:calc(100dvh - 200px)}.host-panel{padding:14px}.qr-frame{width:160px;height:160px;margin:8px auto}.qr-frame canvas{max-width:145px;max-height:145px}.room-code{margin-bottom:3px;font-size:24px}.device-link{margin:10px 0}.host-settings{padding:10px 0}.host-bottom{padding:14px;bottom:15px}.world{inset-block:90px 110px}.host-panel h1{font-size:20px}.host-panel .small{margin-top:6px}}@media (max-height:620px){.player-status{min-height:62px;padding:8px 16px}.player-status h1{font-size:17px}.player-status p{margin-top:3px}.controller-footer{padding-top:7px}.inventory-slot{min-height:51px;padding:6px}.inventory-slot svg{width:19px;height:19px}.ability-description{min-height:24px}.gesture-hint{display:none}.player-message{min-height:28px;font-size:10px}}@media (orientation:landscape) and (max-height:520px){.player .topbar{height:44px}.phone{grid-template-rows:62px 1fr;grid-template-columns:1fr 240px;height:calc(100dvh - 44px);display:grid}.player-status{grid-column:1}.player-message{z-index:2;grid-column:1;width:calc(100% - 240px);padding:4px;position:absolute;bottom:0;left:0}.phone canvas{grid-area:2/1;height:100%;min-height:0}.controller-footer{flex-direction:column;grid-area:1/2/3;justify-content:center;padding:12px;display:flex}.inventory{gap:5px}.keyboard-controls{flex-wrap:wrap}.keyboard-controls input{min-width:120px}.keyboard-controls button{width:100%}.home-menu{gap:12px;width:34%;top:50%;left:5%;transform:translateY(-50%)}.home-copy{font-size:12px}.home-actions{position:static}.home-actions button{min-height:48px;font-size:15px}.home .world{inset:60px 0 45px 40%}.home-footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app .world{width:100%;height:100dvh;inset:0}.player{background:#183d45}.player .topbar{background:0 0}.phone{background:#183d45;max-width:650px}.player-status{background:0 0;min-height:78px;padding:10px 24px}.player-status h1{font-size:20px}.player-status p{color:#c0d8cf}.phone-clock{font-size:30px}.player-message{color:#d5e4d8;background:0 0;min-height:0;padding:4px 20px}.player-message[hidden]{display:none}.phone canvas{background:0 0}.controller-footer{padding:8px 24px max(14px,env(safe-area-inset-bottom));background:0 0}.inventory{gap:12px;width:100%;max-width:340px;margin:auto}.inventory-slot{background:#254b52;border-radius:10px;min-height:60px;padding:9px 5px}.inventory-slot:not(:disabled):hover{background:#345f63}.inventory-slot:disabled{opacity:1}.inventory-slot:disabled .icon{opacity:.35;width:15px;height:15px}.inventory-slot:disabled svg{opacity:.65}.inventory-slot svg{width:22px;height:22px}.inventory-slot span:empty:not(.icon){display:none}.ability-description{min-height:25px;font-size:11px}.manual-controls{text-align:center;color:#b8d1c8;font-size:11px}.manual-controls summary{cursor:pointer;border-radius:6px;min-height:32px;padding:8px;list-style:none}.manual-controls summary:focus-visible{outline:2px solid #f0dab0}.manual-controls summary:after{content:" +"}.manual-controls[open] summary:after{content:" -"}.keyboard-controls{padding:8px 0 0}.keyboard-controls label{text-align:left}@media (max-width:360px){.player-status{padding-inline:17px}.player-status h1{font-size:18px}.controller-footer{padding-inline:18px}}@media (orientation:landscape) and (max-height:520px){.phone{grid-template-columns:1fr 235px;max-width:none}.player-status{min-height:62px;padding:6px 22px}.player-message{width:calc(100% - 235px)}.controller-footer{padding:14px}}.app{background:var(--sea)}.app:not(.player){--panel:#e0cfb4;--cream:#62493b;--muted:#62493b;color:var(--ink);background:var(--sea);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app:not(.player) .topbar{background:0 0;height:65px;padding:10px 4%}.app:not(.player) .topbar .small-logo{width:130px;display:block}.app:not(.player) .topbar nav{gap:6px}.app .panel{border-radius:18px;box-shadow:0 7px 22px #0f474d24}.app .primary,.app .match-result .primary{background:linear-gradient(110deg,var(--sand-start),var(--sand-end));color:var(--sand-ink);box-shadow:none;font-weight:500}.app .primary:hover:not(:disabled),.app .match-result .primary:hover:not(:disabled){background:linear-gradient(110deg,#eddfc9,#d6bc96)}.app .secondary,.app .icon-button{background:var(--sage);color:var(--ink);border:0;font-weight:500}.app .secondary:hover:not(:disabled),.app .icon-button:hover:not(:disabled){background:#96aa68}.app button:focus-visible,.app a:focus-visible,.app input:focus-visible{outline-color:#fff0b8}.app:not(.player) .player-label small,.app:not(.player) .host-bottom p,.app:not(.player) .panel-title span,.app:not(.player) .team-roster h3 small,.app:not(.player) .team-roster h3,.app:not(.player) .room-code{color:var(--sand-ink)}.app:not(.player) .hp{background:#b6b88d}.app:not(.player) .hp>span{background:#527f64}.app:not(.player) .host-settings,.app:not(.player) .join-link{color:var(--sand-ink)}.app:not(.player) .team-choice{color:#e0cfb4;background:#0f474d;border:0;border-radius:14px}.app:not(.player) .team-choice:hover:not(:disabled){background:#195960}.code-entry input{color:var(--sand-ink);background:#f0e4d1;border-color:#62493b55}.code-entry input::placeholder{color:#806955}.player,.phone,.player .match-result{background:#0f474d}.player-status,.controller-footer{background:0 0}.inventory-slot{background:#245b5b;border-radius:14px}.inventory-slot.selected{background:#3b6d64}.app dialog:not(.arena-guide){color:#62493b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#e0cfb4;border-radius:18px}.app dialog p,.app dialog li,.app dialog strong{color:#62493b}.app dialog::backdrop{background:#0f474dbb}.app .match-result{background:#0f474df2}.app .match-result .primary{font-size:24px}h1,h2,h3{letter-spacing:0;font-weight:600}.explore-control{white-space:nowrap;padding:8px 13px;font-size:12px}.host .roster,.host .host-panel{top:85px}.host.in-match .host-panel{width:260px;top:auto;bottom:24px;right:24px}.host.in-match .host-bottom{width:calc(100% - 330px);min-width:0;max-width:760px;left:24px;transform:none}.host.in-match .roster{background:#e0cfb4;max-height:calc(100dvh - 300px)}.arena-status{line-height:1.6}.arena-guide{color:#62493b;background:#e0cfb4;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;overflow:hidden}.arena-guide iframe{border:0;width:100%;height:calc(100% - 54px);display:block}.arena-guide .guide-close{color:#fff7db;background:#345849;min-height:42px;margin:6px 4%;padding:8px 18px}@media (max-width:760px){.app:not(.player) .topbar{height:65px;padding:8px 12px}.app:not(.player) .topbar .small-logo{width:75px}.explore-control{padding:8px;font-size:11px}.host.in-match .host-panel{width:calc(100% - 30px);position:relative;bottom:auto;right:auto}.host.in-match .host-bottom{width:calc(100% - 30px);left:auto;transform:none}.host .roster,.host .host-panel{top:auto}.host.in-match .roster{max-height:none}.host .world{height:440px!important}.host .roster,.host.in-match .roster{margin-top:370px}.player .explore-control{display:none}}@media (prefers-reduced-motion:reduce){.app *{scroll-behavior:auto}}.world:has(.island-loading){z-index:50}.island-loading{z-index:50;pointer-events:auto;isolation:isolate;background:#bdc9df;position:fixed;inset:0;overflow:hidden}.cloud-bank{will-change:transform;background:#bdc9df;width:68%;position:absolute;inset-block:-12%}.cloud-bank-left{--cloud-exit:-175%;left:-10%}.cloud-bank-right{--cloud-exit:175%;right:-10%;transform:scaleX(-1)}.cloud-billow{width:145%;height:58%;position:absolute;left:-25%;transform:rotate(-14deg)}.cloud-billow svg{width:100%;height:100%;overflow:visible}.cloud-billow-0{top:-12%;left:-30%;transform:rotate(12deg)scale(1.3)}.cloud-billow-1{top:6%;left:-20%;transform:rotate(-24deg)scale(1.2)}.cloud-billow-2{top:25%;left:-26%;transform:rotate(6deg)scale(1.25)}.cloud-billow-3{top:44%;left:-10%;transform:rotate(-18deg)scale(1.3)}.cloud-billow-4{top:65%;left:-25%;transform:rotate(16deg)scale(1.4)}.cloud-billow-5{top:82%;left:-15%;transform:rotate(-8deg)scale(1.2)}.island-loading-copy{color:#263a4f;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.island-loading-copy h2{font-size:clamp(22px,2vw,30px);font-weight:700}.island-loading-copy p{margin-top:6px;font-size:16px}.clouds-dispersing{pointer-events:none;background:0 0}.clouds-dispersing .cloud-bank{background:0 0;animation:.85s cubic-bezier(.16,1,.3,1) both cloud-part}.clouds-dispersing .cloud-bank-right{animation-name:cloud-part-right}.clouds-dispersing .island-loading-copy{animation:.15s ease-out both cloud-copy-out}@keyframes cloud-part{to{transform:translateX(var(--cloud-exit)) rotate(-8deg)}}@keyframes cloud-part-right{to{transform:translateX(var(--cloud-exit)) scaleX(-1) rotate(-8deg)}}@keyframes cloud-copy-out{to{opacity:0}}.world[aria-busy=true]>canvas{visibility:hidden}.island-loading:has(.render-error){background:#bdc9df}.island-loading .render-error{color:#263a4f}.island-loading .render-error p{max-width:38ch}.island-loading .render-error a{text-underline-offset:4px;align-items:center;min-height:44px;margin-top:12px;font-weight:700;display:inline-flex}@media (max-width:760px){.cloud-bank{width:82%}.cloud-bank-left{left:-24%}.cloud-bank-right{right:-24%}.cloud-billow{width:210%;left:-55%}.cloud-billow-1,.cloud-billow-3,.cloud-billow-5{left:-45%}}@media (prefers-reduced-motion:reduce){.clouds-dispersing .cloud-bank{animation:.12s linear both cloud-copy-out}.clouds-dispersing .island-loading-copy{animation-duration:.12s}}.app:not(.player) .coral .turn-label{color:#a84e3d}.app:not(.player) .lagoon .turn-label{color:#1f6e70}.app:not(.player) .team-choice{color:#fff0d3}.app:not(.player) .join-link{color:#52675a}.topbar .match-controls{display:none}.host.in-match{height:100dvh;min-height:0;overflow:hidden}.host.in-match .world{height:100dvh!important}.host.in-match .roster,.host.in-match .host-bottom,.host.in-match .screen-controls{display:none}.host.in-match .match-controls{display:flex}.settings-actions{gap:12px;margin-top:24px;display:grid}.app.home .topbar,.app.host .topbar{background:0 0;justify-content:space-between;gap:12px;height:auto;min-height:65px;padding:10px 4%;position:absolute;inset:0 0 auto}.app.home .topbar .small-logo,.app.host .topbar .small-logo{flex-shrink:0;order:0;width:100px;display:block}.app.home .topbar button,.app.host .topbar button{color:#fff7db;box-shadow:none;text-shadow:0 1px 3px #183d49;background:0 0;border-color:#0000}.app.home .topbar button:hover,.app.host .topbar button:hover{background:#183d4966}.app.home .topbar button:focus-visible,.app.host .topbar button:focus-visible,.app.home .topbar a:focus-visible,.app.host .topbar a:focus-visible{outline-color:#fff0b8}.settings-actions [hidden]{display:none}@media (max-width:760px){.app.home .topbar,.app.host .topbar{gap:6px;padding:8px 12px}.app.home .topbar .small-logo,.app.host .topbar .small-logo{width:75px}}@media (max-width:420px){.home .topbar .view-control{display:none}}#boat-controls{flex-direction:column;gap:10px;padding:4px 0;display:flex}#boat-controls[hidden],.controller-footer [hidden]{display:none}#boat-status{color:#e5e7ce;text-align:center;margin:0;font-size:13px}#boat-charge{accent-color:#efd6a2;width:100%;height:12px}#boat-leave{min-height:44px;font-size:13px}.match-result{--result-team:var(--coral);z-index:4;color:#fff0d3;text-align:center;background:#183d49ed;place-items:center;padding:80px 24px 32px;display:grid;position:absolute;inset:0;overflow:auto}.match-result[hidden]{display:none}.match-result.lagoon{--result-team:var(--lagoon)}.match-result.draw{--result-team:#efd6a2}.result-content{width:min(100%,760px);margin:auto;animation:.7s cubic-bezier(.16,1,.3,1) both result-arrive}.result-emblem{width:260px;height:230px;color:var(--result-team);margin:0 auto 22px;position:relative}.result-crown{position:absolute;top:0;left:calc(50% - 30px);transform:rotate(-10deg)}.result-crown .icon{width:60px;height:48px}.result-coconuts{justify-content:center;align-items:center;display:flex;position:absolute;inset:34px 0 10px}.result-coconuts img{z-index:1;object-fit:contain;filter:drop-shadow(0 16px 12px #102d3577);width:200px;height:200px;position:relative}.result-tie .result-coconuts img{width:155px;height:170px;margin:0 -12px;transform:rotate(-12deg)}.result-tie .result-coconuts img+img{transform:rotate(12deg)}.result-ripple{opacity:.65;border:2px solid;border-radius:50%;width:80%;height:42px;position:absolute;bottom:0;left:10%}.result-ripple:after{content:"";opacity:.5;border:1px solid;border-radius:50%;position:absolute;inset:8px -28px -12px}.match-result h1{letter-spacing:-.04em;color:var(--result-team);font-size:clamp(44px,7vw,96px);font-weight:800;line-height:1.05}.result-crew{color:#c0d8cf;text-wrap:balance;max-width:45ch;margin:10px auto 0;font-size:14px}.result-actions{margin-top:34px}.app .match-result .primary{color:#1c3b45;background:#f0dab0;min-width:240px;min-height:56px;font-size:18px}.app .match-result .primary:hover:not(:disabled){background:#fff0c9}.app .match-result button:focus-visible{outline-color:#fff0b8}.player.ended .phone{display:none}.player .match-result{padding:24px 22px max(24px,env(safe-area-inset-bottom));background:#183d45;inset:54px 0 0}.player .result-emblem{width:220px;height:195px;margin-bottom:24px}.player .result-coconuts img{width:170px;height:170px}.player .result-tie .result-coconuts img{width:135px;height:150px}.player .match-result h1{font-size:clamp(38px,10vw,60px)}.player .result-actions{margin-top:28px}.player .result-actions .primary{width:100%;max-width:340px}@keyframes result-arrive{0%{opacity:.4;transform:translateY(26px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-height:700px){.match-result{padding-top:72px;padding-bottom:20px}.result-emblem{height:170px;margin-bottom:16px}.result-coconuts img{width:150px;height:150px}.result-crown .icon{width:48px;height:38px}.result-actions{margin-top:22px}.player .result-emblem{height:145px;margin-bottom:16px}.player .result-coconuts img{width:130px;height:130px}.player .result-actions{margin-top:20px}}@media (prefers-reduced-motion:reduce){.result-content{animation:none}}@media (orientation:landscape) and (max-height:520px){.player .match-result{padding:16px 22px}.player .result-content{grid-template-columns:minmax(120px,.65fr) minmax(0,1fr);align-items:center;gap:8px 24px;display:grid}.player .result-emblem{grid-area:1/1/4;width:100%;max-width:220px;height:170px;margin:auto}.player .result-content h1{grid-column:2;font-size:38px}.player .result-crew,.player .result-actions{grid-column:2;margin:0 auto}.player .result-crew{font-size:12px}.player .result-actions{width:100%;margin-top:8px}.player .result-actions .primary{min-width:0;min-height:48px}}.app.home .topbar{justify-content:flex-end;min-height:44px;padding:0 3%;inset:auto 0 16px}.app.home .topbar .small-logo{display:none}.app.home .topbar button{color:#e0cfb4;text-shadow:none}.app.home .home-menu{align-items:center;gap:40px;width:32.3%;max-width:720px;top:19.3%;left:9.2%;transform:none}.home-menu h1{filter:none;width:100%}.home-actions{gap:22px;width:71%;margin-left:6%}.app.home .home-actions button{white-space:nowrap;border-radius:16px;justify-content:flex-start;gap:20px;min-height:70px;padding:14px 26px;font-size:24px;font-weight:500}.home-actions img{object-fit:contain;flex-shrink:0;width:40px;height:40px}.app.home .home-actions .secondary{background:var(--sage);color:var(--ink)}.app.home .home-actions .secondary:hover:not(:disabled){background:#96aa68}@media (min-width:761px) and (max-width:1100px){.app.home .home-menu{gap:28px;width:36%;left:6%}.home-actions{gap:18px;width:90%}.app.home .home-actions button{gap:16px;padding:14px 18px}}@media (max-width:760px) and (orientation:portrait){.app.home{min-height:640px}.app.home .home-menu{pointer-events:none;width:100%;max-width:none;display:block;inset:0;transform:none}.home-menu h1{width:min(78%,420px);position:absolute;top:8%;left:50%;transform:translate(-50%)}.home-actions{pointer-events:auto;gap:16px;width:min(82%,420px);margin-left:0;position:absolute;top:auto;bottom:12%;left:50%;transform:translate(-50%)}.app.home .home-actions button{min-height:64px;padding:12px 24px}.app.home .topbar{padding:0 12px;bottom:14px}.app.home .topbar .explore-control{display:none}}@media (orientation:landscape) and (max-height:520px){.app.home .home-menu{gap:20px;width:35%;top:12%;left:6%}.home-actions{gap:12px;width:90%;margin-left:0;position:static;transform:none}.app.home .home-actions button{gap:14px;min-height:50px;padding:8px 16px;font-size:24px}.home-actions img{width:32px;height:32px}.app.home .topbar{bottom:4px}}.app.host .topbar .small-logo{width:220px}.host:not(.in-match) .roster,.host:not(.in-match) .host-panel{top:120px}.host:not(.in-match) .host-panel{background:linear-gradient(155deg,#eee0c8,#e0cfb4 70%,#d5bd98);border-radius:24px;width:300px;padding:26px 24px 24px}.host-panel .qr-frame{width:236px;height:266px;margin:24px auto 20px;padding:44px 24px 34px}.host-panel .qr-frame canvas{width:188px;max-width:188px;height:188px;max-height:188px}.host-panel h1{margin-bottom:4px;font-size:32px;font-weight:500;line-height:1.1}.host-panel p.muted{font-size:14px}.host-panel .room-code{letter-spacing:.2em;margin:4px 0 10px;padding-left:.2em;font-size:38px;font-weight:600;line-height:1.2}.host-panel .join-link{color:#62493b;font-size:12px;line-height:1.4}.host-panel .device-link{margin:16px 0 20px;font-size:15px}.host-panel .host-settings{border-color:#62493b33;padding:16px 0;font-size:12px}.host-panel .primary{color:#fff4df;background:#0f474d;border-radius:12px;min-height:52px;font-size:20px}.host-panel .primary:hover:not(:disabled){background:#195960}.host-panel .small{margin-top:12px;font-size:12px}.host-panel button:focus-visible,.host-panel a:focus-visible{outline-color:#0f474d}@media (max-width:1100px) and (min-width:761px){.host:not(.in-match) .host-panel{width:270px;padding:24px 16px}}@media (max-width:760px){.app.host .topbar .small-logo{width:150px}.host:not(.in-match) .roster,.host:not(.in-match) .host-panel{top:auto}.host:not(.in-match) .host-panel{width:calc(100% - 30px);margin-bottom:24px;padding:28px 24px}}@media (max-height:800px) and (min-width:761px){.host:not(.in-match) .host-panel{padding-block:18px;top:105px}.host-panel h1{font-size:28px}.host-panel .qr-frame{width:214px;height:236px;margin-block:16px;padding:38px 20px 22px}.host-panel .qr-frame canvas{width:174px;max-width:174px;height:174px;max-height:174px}.host-panel .device-link{margin-block:10px 14px}.host-panel .host-settings{padding-block:12px}.host:not(.in-match) .host-panel{scrollbar-color:#925f41 #e0cfb4;scrollbar-width:thin;max-height:calc(100dvh - 121px);overflow-y:auto}}.app.host .host-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.host-panel .qr-frame{width:188px;height:188px;box-shadow:none;background:0 0;border-radius:0;margin:16px auto 12px;padding:0}.host-panel .qr-frame:before,.host-panel .qr-frame:after{display:none}.host-panel .qr-frame canvas{opacity:0;border-radius:0;max-width:100%;max-height:100%;width:100%!important;height:100%!important}.host-panel .qr-frame:hover canvas{opacity:1}.host.in-match .host-panel{width:204px;margin:0;padding:8px;display:block;position:absolute;top:72px;bottom:auto;right:12px}.host.in-match #join-block>h1,.host.in-match #join-block>.muted,.host.in-match .join-link,.host.in-match .device-link,.host.in-match #host-status{display:none}.host.in-match .room-code-label,.host.in-match .room-code{color:#62493b}@media (max-width:760px){.host.in-match .host-panel{width:144px;padding:8px;top:64px;right:4px}.host.in-match .qr-frame{width:128px;height:128px;margin:0 auto 8px}.host.in-match .room-code{font-size:28px}}
