:root{color-scheme:light;font-family:ui-rounded,"Segoe UI",system-ui,sans-serif;color:#26343c;font-synthesis:none}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#d7eff3;overscroll-behavior:none}
body{-webkit-user-select:none;user-select:none}
[hidden]{display:none!important}
button,input{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:default;opacity:.55}
button:focus-visible,input:focus-visible{outline:2px solid #327eb4;outline-offset:3px}
#game{display:block;width:100%;height:100%;outline:0;touch-action:none;cursor:crosshair;-webkit-tap-highlight-color:transparent}
.menu-layer{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(215,239,243,.35);backdrop-filter:blur(5px)}
.menu-card{position:relative;width:min(380px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:30px 30px 23px;background:#f9fdff;border:1px solid #405661;border-radius:18px;box-shadow:0 16px 50px #294f6122;overscroll-behavior:contain}
.menu-logo{display:flex;justify-content:center;align-items:center;width:100%;margin:0;line-height:0;font-size:0}
.menu-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:145px;margin:0 auto;object-fit:contain;object-position:center}
.menu-intro{font-size:13px;color:#627983;line-height:1.5;margin:12px 0 20px}
.name-label,.create-form label{display:block;font-size:11px;font-weight:650;color:#627983;margin-bottom:6px}
input{border:1px solid #bdcdd4;background:#fff;border-radius:7px;padding:10px 12px;min-width:0;width:100%;color:#26343c;font-size:14px;user-select:text;touch-action:auto}
.play-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #26343c;background:#26343c;color:#fff;padding:13px 17px;border-radius:8px;font-weight:650;font-size:18px;margin:12px 0 24px;transition:transform .15s,background .15s}
.play-button:not(:disabled):hover{background:#3f5662;transform:translateY(-1px)}
.play-button span{font-size:23px;font-weight:400}
.server-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.server-heading h2{font-size:13px;margin:0;font-weight:700;letter-spacing:.1px}
.text-button{border:0;background:none;color:#667f8b;padding:5px 0;font-size:11px}.text-button:hover{color:#26343c}
.server-list{display:grid;gap:7px;max-height:194px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.server-row{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;gap:10px;padding:10px 12px;border:1px solid #d3e1e6;background:#fff;border-radius:7px;transition:border-color .15s,background .15s}
.server-row:hover,.server-row.selected{border-color:#405661;background:#edf7fa}
.server-copy{display:grid;gap:3px;min-width:0}.server-copy strong{font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-copy small{font-size:10px;color:#71858e}
.server-count{font-size:11px;font-variant-numeric:tabular-nums;color:#71858e;flex-shrink:0}
.server-status{min-height:16px;font-size:10px;line-height:1.5;color:#71858e;margin:9px 0}.server-status.error{color:#b04e4e}
.create-button{padding:10px 12px;width:100%;border:1px dashed #aec4cc;border-radius:7px;color:#526d79;background:none;font-size:12px}.create-button:hover{background:#edf7fa}
.create-form{padding:12px;background:#edf7fa;border:1px solid #aec4cc;border-radius:7px;margin-top:10px}
.form-buttons{display:flex;gap:15px;justify-content:flex-end;margin-top:10px}.form-buttons button[type=submit]{border:0;border-radius:5px;background:#26343c;color:#fff;padding:8px 11px;font-size:11px}
.controls-hint,.touch-hint{font-size:10px;line-height:1.7;color:#8a9ca4;text-align:center;margin:18px 0 0}.touch-hint{display:none}
.menu-return{position:fixed;left:max(16px,env(safe-area-inset-left));top:calc(max(16px,env(safe-area-inset-top)) + 40px);border:1px solid #536873;background:#f9fdffee;color:#405661;padding:5px 11px;border-radius:6px;font-size:11px;z-index:5}
.points-hud{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;align-items:baseline;gap:6px;z-index:5;color:#26343c;text-shadow:0 1px 2px #fff9;pointer-events:none}.points-hud strong{font-size:24px;font-weight:750;font-variant-numeric:tabular-nums}.points-hud span{font-size:11px}
.round-hud{position:fixed;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5;min-width:180px;max-width:240px;text-align:center;background:#f9fdffed;padding:9px 13px;border:1px solid #afc4cd;border-radius:6px;pointer-events:none}
.round-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px}.round-heading span{font-variant-numeric:tabular-nums;font-size:12px;color:#627983}.round-hud small{font-size:10px;display:block;color:#71858e;margin-top:4px}.safe-color{padding:6px 8px;border-radius:4px;margin-top:8px;color:#26343c;font-size:11px}
.mobile-controls{display:none;position:fixed;inset:0;z-index:6;pointer-events:none}
.mobile-stick{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:calc(max(24px,env(safe-area-inset-bottom)));width:110px;height:110px;border:1px solid #53687399;border-radius:50%;background:#f9fdff66;touch-action:none;pointer-events:auto}
.mobile-thumb{width:43px;height:43px;position:absolute;left:33px;top:33px;border-radius:50%;background:#536873cc;border:1px solid #26343c66;pointer-events:none}
.mobile-actions{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)));display:flex;align-items:flex-end;gap:12px;pointer-events:auto}
.mobile-actions button{border:1px solid #53687399;border-radius:50%;background:#f9fdffb8;color:#26343c;display:grid;place-content:center;touch-action:none;user-select:none;padding:0}.mobile-actions button span{font-size:23px;line-height:1}.mobile-actions button small{font-size:9px;margin-top:4px}.mobile-jump{width:58px;height:58px}.mobile-push{width:72px;height:72px}
.power-card{position:fixed;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));width:190px;border:1px solid #536873;box-shadow:0 4px 18px #294f6110;z-index:5;animation:power-in .22s ease-out;pointer-events:auto}
.spectator-controls{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:7px 8px;background:#f9fdfff2;border:1px solid #afc4cd;border-radius:8px;box-shadow:0 4px 18px #294f6110}
.spectator-controls button{border:1px solid #c7d8df;border-radius:5px;background:#edf7fa;color:#405661;height:34px;min-width:32px;padding:0 9px;font-size:22px;touch-action:manipulation}.spectator-controls button:hover:not(:disabled){background:#dceff4}.spectator-controls .spectator-view{font-size:11px;min-width:85px;white-space:nowrap}
.spectator-copy{display:grid;gap:2px;min-width:0;width:140px;padding:0 3px}.spectator-copy small{font-size:9px;color:#71858e}.spectator-copy strong{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.power-preview{height:112px;background:transparent;pointer-events:none}
.power-copy{background:#f9fdff;padding:0 15px 14px}.power-copy h2{font-size:13px;font-weight:650;line-height:1.5;margin:0 0 4px}.power-copy p{font-size:11px;line-height:1.55;color:#69808c;margin:0}
.power-other{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.power-other:empty{display:none}.power-other button{font-size:9px;line-height:1.4;color:#69808c;border:1px solid #d3e1e6;background:none;padding:3px 5px;border-radius:3px}
@keyframes power-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(pointer:coarse){#game{cursor:default}.controls-hint{display:none}.touch-hint{display:block}.server-row{padding-top:12px;padding-bottom:12px}.power-card{width:160px}.power-preview{height:95px}.power-copy{padding:0 12px 11px}}
@media(hover:none) and (pointer:coarse){.mobile-controls{display:block}.round-hud{left:max(16px,env(safe-area-inset-left));top:calc(max(16px,env(safe-area-inset-top)) + 76px);transform:none;min-width:0;width:150px;max-width:calc(100vw - 195px);padding:8px}.round-heading{font-size:10px;gap:5px}.round-heading span{font-size:10px}.round-hud small{font-size:9px}.safe-color{font-size:10px;padding:5px}}
@media(max-height:700px){.menu-card{padding:22px 25px 18px}.menu-logo img{max-height:115px}.menu-intro{margin:8px 0 14px}.play-button{margin-bottom:18px}.server-list{max-height:140px}.controls-hint,.touch-hint{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}


.customizer-card{width:min(850px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#f9fdff;border:1px solid #405661;border-radius:18px;box-shadow:0 16px 50px #294f6122;animation:power-in .18s ease-out;overscroll-behavior:contain}
.customizer-heading{display:flex;align-items:center;gap:16px;padding:22px 26px 18px;border-bottom:1px solid #dce7ec}.customizer-heading>div:first-child{flex:1}.customizer-heading small{font-size:9px;letter-spacing:1.5px;color:#8a9ca4}.customizer-heading h2{font-size:26px;letter-spacing:-.7px;margin:4px 0 0}.customizer-wallet{display:grid;text-align:right;gap:1px;font-variant-numeric:tabular-nums}.customizer-wallet strong{font-size:22px}.customizer-wallet span{font-size:10px;color:#71858e}.customizer-close{border:0;background:none;color:#71858e;font-size:26px;padding:4px 0 4px 10px}
.customizer-body{display:grid;grid-template-columns:44% 56%;min-height:365px}.customizer-stage{display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at center,#f3fbfd,#deedf2);border-right:1px solid #dce7ec;border-radius:0 0 0 8px}.customizer-stage canvas{display:block;width:100%;height:335px;min-height:250px;touch-action:none;cursor:grab;outline:0}.customizer-stage canvas:active{cursor:grabbing}.customizer-stage canvas:focus-visible{outline:2px solid #327eb4;outline-offset:-3px}
.customizer-view-actions{display:flex;justify-content:flex-end;padding:0 16px 16px}.customizer-view-actions button{white-space:nowrap;border:0;background:none;color:#405661;font-size:10px;padding:5px}
.customizer-options{padding:21px;min-width:0}.customizer-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px;border-bottom:1px solid #dce7ec;padding-bottom:8px}.customizer-tabs button{border:0;border-radius:5px;padding:8px 11px;font-size:11px;background:none;color:#71858e}.customizer-tabs button[aria-pressed=true]{background:#26343c;color:#fff}
.customizer-items{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:278px;overflow:auto;overscroll-behavior:contain}.outfit-item{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;min-height:68px;text-align:left;border:1px solid #cbdce3;border-radius:7px;background:#fff;padding:10px 12px;color:#405661}.outfit-item strong{font-size:11px;font-weight:600}.outfit-item small{font-size:10px;color:#8297a1}.outfit-item:hover{background:#edf7fa}.outfit-item[aria-pressed=true]{border-color:#405661;background:#e5f2f6;box-shadow:inset 0 0 0 1px #405661}
.colour-control{margin-bottom:24px}.colour-control label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}.colour-control input[type=color]{width:42px;height:29px;padding:2px;cursor:pointer;border-radius:6px}.colour-control p{font-size:10px;color:#8297a1;margin:1px 0 11px}.colour-palette{display:flex;flex-wrap:wrap;gap:8px}.colour-swatch{width:24px;height:24px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #cbdce3;padding:0}.colour-swatch:hover{box-shadow:0 0 0 2px #405661}.outfit-note{color:#8297a1;font-size:10px;line-height:1.5}
.customizer-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #dce7ec;padding:17px 23px}.customizer-footer p{font-size:11px;line-height:1.5;color:#71858e;max-width:370px;margin:0}.customizer-footer p.error{color:#b04e4e}.customizer-footer>div{display:flex;gap:8px;flex-shrink:0}.customizer-footer button{font-size:11px;padding:10px 13px;border-radius:6px;border:1px solid #26343c}.customizer-save{background:#26343c;color:#fff}.customizer-buy{background:#fff;color:#26343c}
@media(max-width:620px){.customizer-heading{padding:15px 18px}.customizer-heading h2{font-size:22px}.customizer-body{grid-template-columns:1fr;min-height:0}.customizer-stage{border-right:0;border-bottom:1px solid #dce7ec}.customizer-stage canvas{height:235px;min-height:0}.customizer-view-actions{padding-bottom:10px}.customizer-options{padding:14px}.customizer-tabs{margin-bottom:14px}.customizer-items{max-height:204px}.colour-control{margin-bottom:16px}.customizer-colours{display:grid;grid-template-columns:1fr 1fr;gap:16px}.outfit-note{grid-column:1/-1;margin:0}.customizer-footer{padding:13px 15px;gap:12px;flex-wrap:wrap}.customizer-footer p{font-size:10px;width:100%;max-width:none}.customizer-footer>div{margin-left:auto}.customizer-footer button{padding:10px 12px}}
@media(max-height:660px) and (min-width:621px){.customizer-stage canvas{height:290px;min-height:0}.customizer-body{min-height:320px}.customizer-items{max-height:220px}.customizer-heading{padding:15px 22px}.customizer-options{padding:15px 20px}}

#game.scoped{cursor:none}.scope-overlay{position:fixed;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at center,transparent 0,transparent 26%,#14212c99 56%,#14212ce8 83%)}.scope-overlay i,.scope-overlay b{position:absolute;display:block;left:50%;top:50%;transform:translate(-50%,-50%);background:#f5fcff;box-shadow:0 0 0 1px #172733aa}.scope-overlay i{width:34px;height:1px}.scope-overlay b{width:1px;height:34px}.tower-hud{position:fixed;right:max(16px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:5;display:grid;gap:5px;min-width:145px;padding:12px 15px;border:1px solid #afc4cd;border-radius:7px;background:#f9fdfff0;pointer-events:none}.tower-hud small{font-size:9px;letter-spacing:1.2px;color:#71858e}.tower-hud strong{font-size:25px;font-variant-numeric:tabular-nums}.tower-hud span{font-size:10px;color:#627983}@media(pointer:coarse){.tower-hud{min-width:120px;padding:9px 11px}.tower-hud strong{font-size:21px}}

.menu-home{display:grid;grid-template-columns:380px minmax(0,1fr);align-items:center;gap:clamp(28px,7vw,100px);width:min(1040px,100%)}
.menu-home .menu-card{width:100%}.menu-character{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.menu-character-stage{width:min(430px,100%)}.menu-character-stage canvas{display:block;width:100%;height:min(62dvh,510px);touch-action:none;cursor:grab;outline:0}.menu-character-stage canvas:active{cursor:grabbing}.menu-character-stage canvas:focus-visible{outline:2px solid #327eb4;outline-offset:-3px}
.menu-customize{width:min(220px,100%);padding:13px 22px;border:1px solid #405661;border-radius:8px;background:#f9fdfff2;color:#26343c;font-size:14px;font-weight:650;box-shadow:0 5px 18px #294f6114}.menu-customize:hover{background:#e5f2f6}
.outfit-thumbnail{width:48px;height:48px;object-fit:contain;display:grid;place-items:center;background:#edf6fa;border-radius:5px;color:#8a9ca4;font-size:20px}.outfit-item-copy{min-width:0;display:grid;gap:5px}.outfit-item strong{overflow-wrap:anywhere}
@media(max-width:820px){.menu-home{grid-template-columns:minmax(250px,340px) minmax(150px,1fr);gap:24px}.menu-character-stage canvas{height:min(57dvh,430px)}}
@media(max-width:620px){.menu-layer{padding:12px}.menu-home{grid-template-columns:minmax(0,1fr) minmax(105px,.58fr);gap:12px}.menu-home .menu-card{padding:20px 15px;max-height:calc(100dvh - 24px);border-radius:12px}.menu-home .menu-logo img{max-height:120px}.menu-intro{font-size:11px;margin:10px 0 15px}.menu-home .server-row{padding:9px 7px;gap:5px}.menu-home .server-copy strong{font-size:11px}.menu-home .server-copy small,.menu-home .server-count{font-size:9px}.menu-home .controls-hint,.menu-home .touch-hint{font-size:9px}.menu-character-stage canvas{height:clamp(230px,42dvh,340px)}.menu-customize{font-size:12px;padding:10px 9px}.outfit-item{padding:8px;gap:7px;grid-template-columns:42px minmax(0,1fr)}.outfit-thumbnail{width:42px;height:42px}}
@media(max-height:500px) and (min-width:621px){.menu-character-stage canvas{height:calc(100dvh - 95px)}}

.round-hud .round-label{margin:0 0 7px;font-size:9px;letter-spacing:.6px;color:#71858e}
.round-presentation{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:24px}
.presentation-copy{max-width:620px;padding:26px 35px 22px;border:1px solid #d4e9ed;background:#f5fcfff0;border-radius:12px;box-shadow:0 12px 60px #26343c15;animation:reveal-minigame .5s ease both}
.presentation-copy>small{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#5b7887}
.presentation-copy h2{font-size:clamp(30px,5vw,54px);line-height:1.08;letter-spacing:-1.5px;margin:12px 0;color:#26343c}
.presentation-copy p{font-size:13px;line-height:1.6;color:#526e7c;margin:0;max-width:460px}
#presentation-countdown{display:block;font-size:52px;line-height:1.1;color:#26343c;margin-top:14px;font-variant-numeric:tabular-nums}
#presentation-countdown:empty,#presentation-next:empty{display:none}
#presentation-next{font-size:11px;margin-top:10px;font-variant-numeric:tabular-nums}
.round-presentation.podium{align-items:flex-start;padding-top:max(24px,7dvh)}
.round-presentation.podium .presentation-copy{background:transparent;box-shadow:none;border:0;padding:0 20px}
.round-presentation.podium h2{font-size:clamp(27px,4vw,42px);margin:8px 0}
.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes reveal-minigame{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.presentation-copy{padding:22px 23px;max-width:90vw}.presentation-copy p{font-size:12px}.round-presentation.podium{padding-top:12dvh}.round-hud{min-width:160px;max-width:220px}.round-hud .round-label{font-size:8px}}
@media(max-height:500px){.round-presentation.podium{padding-top:16px}.round-presentation.podium h2{font-size:25px}.round-presentation.podium #presentation-next{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.presentation-copy{animation:none}}

.round-hud.fish-danger{background:#fff0e4;border-color:#e58d69;color:#763a26}.round-hud.fish-danger #round-message{font-weight:750;color:#963f25}
.connection-alert{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;max-width:min(600px,90vw);margin:0;padding:12px 18px;border:1px solid #cf8b7b;border-radius:9px;background:#fff5eeeF;color:#6f342d;text-align:center;font-size:13px;line-height:1.5;box-shadow:0 5px 24px #26343c15}.connection-alert[hidden]{display:none}

.tug-qte{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:9;display:grid;justify-items:center;gap:7px;pointer-events:auto;font-size:12px;color:#24414f}.tug-qte[hidden]{display:none}.tug-meter{display:flex;align-items:center;gap:10px;font-weight:800;font-size:10px;letter-spacing:.08em}.tug-meter>span:first-child{color:#ce454d}.tug-meter>span:last-child{color:#3762b5}.tug-track{width:160px;height:7px;border-radius:5px;background:linear-gradient(90deg,#f25f64 50%,#5b8ff7 50%);position:relative;box-shadow:0 0 0 2px #ffffffb0}.tug-track i{position:absolute;top:-4px;width:4px;height:15px;background:#fff;box-shadow:0 0 0 1px #233e4c;left:50%}.tug-qte button{width:132px;height:132px;background:#f6fcffe8;border:2px solid #294655;border-radius:50%;padding:4px;position:relative;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tug-qte button svg{width:100%;height:100%}.tug-qte button strong{position:absolute;left:0;right:0;top:74px;font-size:13px;letter-spacing:.05em}.tug-qte button:active{transform:scale(.97)}.tug-qte button:disabled{cursor:default}.tug-qte small{background:#f6fcffe8;padding:5px 12px;border-radius:7px;min-width:190px;text-align:center}.safe-color.light-signal{font-weight:800;letter-spacing:.05em}.safe-color.light-signal strong{font-size:15px}@media(max-height:520px){.tug-qte{bottom:9px;gap:3px}.tug-qte button{width:102px;height:102px}.tug-qte button strong{top:57px;font-size:11px}}

.tug-qte button[hidden]{display:none}.tug-qte button{width:144px;height:144px;border-color:#355363;box-shadow:0 4px 16px #183b4f26}.tug-qte button strong{top:91px;font-size:11px;pointer-events:none}.tug-qte button:focus-visible{outline:3px solid #5b8ff7;outline-offset:4px}.tug-qte small{min-height:25px}.tug-qte{min-width:252px}@media(max-height:520px){.tug-qte button{width:106px;height:106px}.tug-qte button strong{top:66px;font-size:9px}}

.mobile-sprint{position:absolute;right:0;bottom:86px;width:58px;height:58px}.mobile-sprint[aria-pressed="true"]{background:#b9e7f5;border-color:#355363}.mobile-actions button[hidden]{display:none}
