:root{--deep:#04131c;--ocean:#082a3c;--reef:#0e4c61;--aqua:#43e6cf;--cyan:#54cfff;--foam:#eafcff;--muted:#9cc1ca;--coral:#ff8f75;--gold:#ffd166;--panel:rgba(5,35,47,.78);--line:rgba(149,225,230,.14);--danger:#ff8e8e;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--foam);background:var(--deep)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 60% 0,#0d4860 0,#061b28 45%,#031018 100%);color:var(--foam)}body{min-height:100vh;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.hidden{display:none!important}.glass{background:linear-gradient(145deg,rgba(10,51,65,.88),rgba(5,29,41,.78));border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.22);backdrop-filter:blur(14px)}#ocean-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;opacity:.58}#ocean-bg:before{content:"";position:absolute;width:130%;height:60%;left:-15%;top:-32%;background:repeating-linear-gradient(102deg,transparent 0 7%,rgba(126,244,255,.055) 8% 9%,transparent 10% 16%);transform:perspective(500px) rotateX(55deg);filter:blur(5px)}#ocean-bg i{position:absolute;border-radius:50%;background:rgba(160,246,255,.15);animation:rise 11s linear infinite}#ocean-bg i:nth-child(1){width:8px;height:8px;left:12%;bottom:-5%;animation-delay:-2s}#ocean-bg i:nth-child(2){width:4px;height:4px;left:42%;bottom:-3%;animation-delay:-7s}#ocean-bg i:nth-child(3){width:11px;height:11px;left:77%;bottom:-8%;animation-delay:-4s}#ocean-bg i:nth-child(4){width:5px;height:5px;left:91%;bottom:-4%;animation-delay:-9s}@keyframes rise{to{transform:translateY(-115vh);opacity:0}}.screen{position:relative;z-index:1;min-height:100vh}.landing{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,480px);gap:6vw;align-items:center;max-width:1240px;margin:auto;padding:7vh 6vw}.hero h1{font-size:clamp(4rem,9vw,8.4rem);line-height:.82;letter-spacing:-.075em;margin:.08em 0 .22em}.hero h1 span{color:var(--aqua)}.eyebrow{font-weight:800;letter-spacing:.22em;font-size:.72rem;color:var(--aqua);margin:0 0 .7rem}.hero-copy{max-width:680px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.7;color:#bad9df}.rule-strip{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.2rem}.rule-strip b{padding:.6rem .85rem;border:1px solid var(--line);border-radius:999px;background:rgba(10,68,79,.5);font-size:.83rem}.logo-mark{width:84px;height:52px;position:relative}.logo-mark:before{content:"";position:absolute;width:60px;height:34px;left:20px;top:9px;border-radius:60% 45% 45% 60%;background:linear-gradient(135deg,var(--aqua),var(--cyan));box-shadow:0 0 30px rgba(67,230,207,.2)}.logo-mark:after{content:"";position:absolute;left:0;top:13px;border-right:28px solid var(--aqua);border-top:14px solid transparent;border-bottom:14px solid transparent}.logo-mark span{position:absolute;z-index:2;width:5px;height:5px;border-radius:50%;background:#02222d;right:13px;top:20px}.auth-card{border-radius:28px;padding:1.5rem}.tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.2);border-radius:14px;padding:5px;margin-bottom:1.5rem}.tabs button{border:0;background:transparent;border-radius:10px;padding:.75rem}.tabs button.active{background:rgba(92,226,218,.13);color:var(--aqua)}form{display:grid;gap:1rem}label{display:grid;gap:.4rem;font-size:.77rem;font-weight:700;color:#b7d4d9}input,textarea,select{width:100%;border:1px solid rgba(148,220,226,.18);background:rgba(1,18,26,.58);color:var(--foam);border-radius:11px;padding:.78rem .9rem}textarea{resize:vertical}.check{grid-template-columns:auto 1fr;align-items:start;font-weight:500;line-height:1.45}.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--aqua)}.primary,.secondary,.ghost{border-radius:12px;padding:.78rem 1rem;font-weight:800;border:1px solid transparent}.primary{background:linear-gradient(135deg,var(--aqua),#31bbd1);color:#03242d}.secondary{background:rgba(72,211,203,.13);border-color:rgba(72,211,203,.3);color:#bffff5}.ghost{background:transparent;border-color:var(--line);color:#bad9df}.big{font-size:1.04rem;padding:1rem 1.1rem}.error{color:var(--danger);min-height:1.1em;font-size:.82rem}.fine{font-size:.79rem;line-height:1.5;color:var(--muted)}.topbar{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid var(--line);background:rgba(3,19,28,.68);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{justify-self:start;border:0;background:none;font-weight:900;font-size:1.05rem}.mini-fish{display:inline-block;width:22px;height:13px;background:var(--aqua);border-radius:60% 45% 45% 60%;vertical-align:-2px;margin-right:8px;position:relative}.mini-fish:before{content:"";position:absolute;left:-8px;top:2px;border-right:9px solid var(--aqua);border-top:5px solid transparent;border-bottom:5px solid transparent}nav{display:flex;gap:.2rem;background:rgba(0,0,0,.16);padding:4px;border-radius:12px}nav button{border:0;background:none;border-radius:9px;padding:.58rem .9rem;color:#93b9c1;font-size:.82rem;font-weight:700}nav button.active{background:rgba(96,228,217,.12);color:var(--foam)}.account-pill{justify-self:end;display:grid;grid-template-columns:auto auto auto auto;align-items:baseline;gap:.4rem;font-size:.78rem}.account-pill b{color:var(--gold);font-size:1rem}.account-pill small{color:var(--muted)}.account-pill button{border:0;background:none;color:var(--muted);font-size:1.1rem}.view{max-width:1260px;margin:auto;padding:3rem 4vw 5rem}.lobby-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:1.2rem}.lobby-grid article{border-radius:22px;padding:1.5rem}.play-card{grid-row:span 2}.play-card h2,.wheel-card h2,.section-title h2{font-size:2rem;margin:.2rem 0 1.2rem;letter-spacing:-.04em}.stat-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.85rem 0;color:var(--muted)}.stat-row b{color:var(--foam)}.queue-box{text-align:center;padding:2rem 1rem}.sonar{width:72px;height:72px;margin:0 auto 1rem;border:1px solid var(--aqua);border-radius:50%;position:relative}.sonar:after{content:"";position:absolute;inset:8px;border:1px solid rgba(67,230,207,.45);border-radius:50%;animation:pulse 1.5s ease-out infinite}@keyframes pulse{from{transform:scale(.5);opacity:1}to{transform:scale(1.6);opacity:0}}.pearl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.pearl-item{border:1px solid var(--line);background:rgba(0,0,0,.13);border-radius:14px;padding:.75rem}.pearl-item b{display:block;text-transform:capitalize}.pearl-item small{display:block;color:var(--gold);margin:.35rem 0}.pearl-item button{width:100%;padding:.45rem;border:0;border-radius:8px;background:rgba(67,230,207,.12);color:var(--aqua)}.action-row{display:flex;gap:.7rem;align-items:center}.action-row>*{flex:1}.card-head{display:flex;justify-content:space-between;align-items:start}.tag{border:1px solid var(--line);border-radius:999px;padding:.35rem .55rem;font-size:.68rem;color:var(--muted)}.wheel{width:min(230px,65vw);aspect-ratio:1;margin:1.3rem auto;border-radius:50%;position:relative;background:conic-gradient(var(--aqua) 0 12.5%,#26769a 12.5% 25%,var(--gold) 25% 37.5%,#895ea6 37.5% 50%,var(--coral) 50% 62.5%,#2f9d92 62.5% 75%,#5279b8 75% 87.5%,#d6a541 87.5% 100%);border:10px solid rgba(201,255,248,.12);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.2);transition:transform 2.1s cubic-bezier(.16,.78,.17,1)}.wheel-core{position:absolute;inset:30%;display:grid;place-items:center;border-radius:50%;background:#092b39;font-size:2rem;border:1px solid var(--line)}.pointer{position:absolute;top:-18px;left:calc(50% - 10px);border-left:10px solid transparent;border-right:10px solid transparent;border-top:24px solid var(--foam)}.wheel-result{text-align:center;color:var(--muted);min-height:2.5em}.wheel-card button{width:100%;margin-top:.55rem}.tutorial-card ol{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.tutorial-card li{display:grid;grid-template-columns:70px 1fr;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.tutorial-card li b{color:var(--aqua)}.tutorial-card li span{color:var(--muted);font-size:.84rem;line-height:1.45}.section-title{margin-bottom:1.6rem}.section-title h2{font-size:2.5rem;margin:.1rem 0}.section-title>p:last-child{color:var(--muted)}.skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.skin-card{border-radius:18px;padding:1rem;border:1px solid var(--line);background:rgba(5,34,46,.72)}.fish-preview{height:120px;display:grid;place-items:center;background:radial-gradient(circle,rgba(65,202,213,.14),transparent 65%);position:relative}.preview-body{width:105px;height:55px;border-radius:60% 43% 43% 60%;position:relative}.preview-body:before{content:"";position:absolute;left:-29px;top:10px;border-right:35px solid var(--accent);border-top:17px solid transparent;border-bottom:17px solid transparent}.preview-body:after{content:"";position:absolute;right:17px;top:17px;width:6px;height:6px;border-radius:50%;background:#04131c}.skin-meta{display:flex;justify-content:space-between;align-items:baseline}.skin-meta small{color:var(--gold)}.skin-card button{width:100%;margin-top:.8rem}.list-panel{border-radius:18px;padding:.4rem}.history-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:1rem;border-bottom:1px solid var(--line);align-items:center}.history-row small{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-grid article{padding:1.2rem;border-radius:18px}.admin-grid article:last-child{grid-column:span 2}.admin-user{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.82rem}.game{position:fixed;inset:0;z-index:100;background:#042030;overflow:hidden}.game canvas{width:100%;height:100%;display:block;touch-action:none}.game-top{position:absolute;top:max(15px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:8px}.game-top>div{min-width:92px;text-align:center;padding:.55rem .8rem;border:1px solid rgba(198,247,246,.16);background:rgba(3,24,33,.74);border-radius:12px;backdrop-filter:blur(8px)}.game-top b{display:block}.game-top small{font-size:.58rem;color:var(--muted);letter-spacing:.13em}.leaderboard{position:absolute;right:16px;top:16px;width:190px;padding:.65rem;border-radius:12px;font-size:.72rem}.leaderboard h4{margin:.1rem 0 .45rem}.leader-row{display:flex;justify-content:space-between;padding:.22rem}.event-feed{position:absolute;left:15px;top:88px;width:280px;pointer-events:none}.event-line{font-size:.72rem;background:rgba(3,22,31,.5);border-radius:8px;padding:.35rem .5rem;margin-bottom:.3rem;color:#c4dfe4;animation:fadefeed 5s forwards}@keyframes fadefeed{70%{opacity:1}to{opacity:0}}.effects{position:absolute;left:15px;bottom:88px;display:flex;gap:.4rem}.effect-chip{font-size:.7rem;padding:.4rem .55rem;border-radius:999px;background:rgba(64,220,209,.18);border:1px solid rgba(64,220,209,.3)}.pearl-controls{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:.45rem}.pearl-btn{min-width:78px;padding:.5rem;border-radius:10px;border:1px solid rgba(190,247,242,.15);background:rgba(3,27,37,.75);backdrop-filter:blur(8px);font-size:.68rem}.pearl-btn b{display:block;color:var(--aqua);font-size:.84rem}.pearl-btn:disabled{opacity:.4}.leave-game{position:absolute;left:15px;top:15px;border:1px solid var(--line);background:rgba(3,24,33,.7);border-radius:10px;padding:.5rem .7rem}.game #landscape-warning{display:none;position:absolute;inset:auto 20px 20px;background:rgba(3,19,28,.88);padding:.8rem;border-radius:12px;text-align:center}.result-card{min-width:min(520px,90vw);padding:1.5rem;background:#082b39;color:var(--foam);border:1px solid var(--line);border-radius:20px}.result-card h2{font-size:2rem}.result-row{display:grid;grid-template-columns:32px 1fr auto;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line)}dialog{border:0;background:transparent}dialog::backdrop{background:rgba(0,8,13,.72);backdrop-filter:blur(8px)}#toast{position:fixed;z-index:300;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:#0c3e4b;border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;transition:.25s;pointer-events:none}#toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:850px){.landing{grid-template-columns:1fr;padding-top:5vh}.hero h1{font-size:4.5rem}.hero-copy{font-size:1rem}.topbar{grid-template-columns:auto 1fr auto;padding:0 12px}.topbar nav{position:fixed;bottom:0;left:0;right:0;border-radius:0;justify-content:center;background:#061f2b;padding:7px;z-index:30}.view{padding:2rem 1rem 5rem}.lobby-grid{grid-template-columns:1fr}.play-card{grid-row:auto}.account-pill span,.account-pill small{display:none}.admin-grid{grid-template-columns:1fr}.admin-grid article:last-child{grid-column:auto}.leaderboard{top:70px;width:150px}.event-feed{width:190px}.pearl-controls{width:100%;padding:0 8px;overflow-x:auto;justify-content:flex-start}.pearl-btn{min-width:70px}.game-top>div{min-width:74px;padding:.45rem}.game .leaderboard{display:none}}@media(max-width:700px) and (orientation:portrait){.game #landscape-warning{display:block}}@media(prefers-reduced-motion:reduce){#ocean-bg i,.sonar:after{animation:none}.wheel{transition:none}} 
.legal-page{max-width:900px;margin:0 auto;padding:3rem 1rem 6rem}.legal-brand{display:inline-block;margin-bottom:1.2rem;text-decoration:none;color:var(--foam)}.legal-card{border-radius:22px;padding:clamp(1.2rem,4vw,2.5rem);line-height:1.65}.legal-card h1{font-size:clamp(2.2rem,6vw,4rem);letter-spacing:-.05em;margin:.2rem 0 1rem}.legal-card h2{margin-top:2rem;color:var(--aqua)}.legal-card p{color:#c5dde2}.check a{color:var(--aqua)}
.settings-panel{max-width:720px;border-radius:18px;padding:1.4rem;display:grid;gap:1rem}.settings-panel a{color:var(--aqua)}html.low-motion #ocean-bg i,html.low-motion .sonar:after{animation:none!important}html.low-motion .wheel{transition:none!important}

.dash-game{position:absolute;right:18px;bottom:18px;border:1px solid rgba(190,247,242,.25);background:rgba(3,27,37,.82);color:var(--aqua);border-radius:999px;width:86px;height:86px;font-weight:900;touch-action:none}.dash-game:disabled{opacity:.45}

/* FishRun v2.1 — calm motion and depth layer */
:root{--ease-water:cubic-bezier(.22,.78,.28,1);--soft-glow:0 16px 56px rgba(0,12,19,.26),inset 0 1px 0 rgba(232,255,252,.035)}
html,body{background:radial-gradient(ellipse at 58% -12%,#15566a 0,#0a3446 29%,#051f2d 59%,#03131c 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 18% 18%,rgba(93,218,211,.055),transparent 31%),radial-gradient(circle at 84% 52%,rgba(68,155,194,.045),transparent 34%)}
.glass{box-shadow:var(--soft-glow);border-color:rgba(166,232,232,.12)}
.lobby-grid article,.auth-card,.skin-card,.settings-panel{transition:transform .42s var(--ease-water),border-color .42s ease,box-shadow .42s ease,background .42s ease}
@media(hover:hover){.lobby-grid article:hover,.skin-card:hover{transform:translateY(-2px);border-color:rgba(151,233,227,.2);box-shadow:0 22px 62px rgba(0,11,17,.28),inset 0 1px 0 rgba(234,255,252,.045)}}
.primary,.secondary,.ghost,.pearl-item button,nav button{transition:transform .2s var(--ease-water),background .28s ease,border-color .28s ease,box-shadow .28s ease,opacity .2s ease}
.primary{box-shadow:0 8px 24px rgba(49,187,209,.12),inset 0 1px 0 rgba(255,255,255,.26)}
@media(hover:hover){.primary:hover,.secondary:hover,.ghost:hover,.pearl-item button:hover{transform:translateY(-1px)}.primary:hover{box-shadow:0 11px 30px rgba(49,187,209,.19),inset 0 1px 0 rgba(255,255,255,.28)}}
.primary:active,.secondary:active,.ghost:active,.pearl-item button:active{transform:translateY(1px) scale(.995)}

#ocean-bg{opacity:.72;background:linear-gradient(180deg,rgba(51,160,174,.025),transparent 38%)}
#ocean-bg:before{animation:surface-caustic 18s ease-in-out infinite alternate;opacity:.82}
#ocean-bg:after{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at center,transparent 25%,rgba(1,11,18,.22) 72%,rgba(1,8,13,.52) 100%);animation:ambient-breathe 12s ease-in-out infinite alternate}
#ocean-bg i{box-shadow:0 0 9px rgba(171,247,243,.08);animation-duration:16s}
#ocean-bg i:nth-child(2){animation-duration:21s}#ocean-bg i:nth-child(3){animation-duration:25s}#ocean-bg i:nth-child(4){animation-duration:19s}
@keyframes surface-caustic{from{transform:perspective(500px) rotateX(55deg) translate3d(-2%,0,0);opacity:.55}to{transform:perspective(500px) rotateX(55deg) translate3d(3%,2%,0);opacity:.92}}
@keyframes ambient-breathe{from{transform:scale(1);opacity:.7}to{transform:scale(1.035);opacity:1}}

.queue-box{--queue-progress:0%;position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 50% 34%,rgba(65,211,202,.075),transparent 42%);border:1px solid rgba(142,229,224,.08);min-height:285px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.queue-orbit{width:104px;height:104px;position:relative;display:grid;place-items:center;margin:0 auto 1.05rem}
.queue-orbit .sonar{position:absolute;inset:0;width:auto;height:auto;margin:0;border-color:rgba(105,239,224,.42);box-shadow:inset 0 0 30px rgba(61,210,201,.035),0 0 34px rgba(61,210,201,.035)}
.queue-orbit .sonar:before{content:"";position:absolute;inset:-1px;border-radius:50%;border-top:1px solid rgba(163,255,243,.72);border-right:1px solid transparent;animation:sonar-orbit 5.4s linear infinite}
.queue-orbit .sonar span{position:absolute;width:5px;height:5px;border-radius:50%;left:13px;top:21px;background:rgba(181,255,247,.78);box-shadow:0 0 10px rgba(105,239,224,.55)}
.queue-orbit>b{font-size:2rem;line-height:1;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.queue-orbit>small{position:absolute;top:66%;font-size:.52rem;letter-spacing:.17em;color:#8ebbc1}
.queue-box h3{margin:.05rem 0 .45rem;font-size:1.25rem}.queue-box>p{margin:.25rem 0;color:var(--muted)}
.queue-meter{width:min(330px,78%);height:5px;margin:1.05rem auto .6rem;border-radius:999px;background:rgba(1,18,25,.48);overflow:hidden;border:1px solid rgba(144,227,223,.08)}
.queue-meter span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,rgba(67,230,207,.52),rgba(97,210,232,.84));box-shadow:0 0 16px rgba(67,230,207,.18);transition:width .65s var(--ease-water)}
.queue-phase{font-size:.73rem!important;min-height:1.1em}.queue-bump #queue-detail{animation:queue-arrival .52s var(--ease-water)}
@keyframes sonar-orbit{to{transform:rotate(360deg)}}
@keyframes queue-arrival{0%{opacity:.45;transform:translateY(4px)}100%{opacity:1;transform:translateY(0)}}

.wheel{--wheel-angle:0deg;transform:rotate(var(--wheel-angle));transition:transform 2.25s cubic-bezier(.12,.58,.08,1);box-shadow:inset 0 0 0 2px rgba(255,255,255,.07),inset 0 0 32px rgba(255,255,255,.025),0 20px 48px rgba(0,0,0,.22)}
.wheel:before{content:"";position:absolute;inset:-15px;border-radius:50%;border:1px solid rgba(137,236,230,.11);box-shadow:0 0 30px rgba(67,230,207,.05);pointer-events:none}
.wheel-core{box-shadow:inset 0 0 22px rgba(74,217,207,.08),0 3px 15px rgba(0,0,0,.2)}
.wheel.spinning{box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 0 40px rgba(69,226,207,.10),0 20px 48px rgba(0,0,0,.22)}
.wheel.spinning .wheel-core{animation:wheel-breathe .8s ease-in-out infinite alternate}
@keyframes wheel-breathe{to{box-shadow:inset 0 0 26px rgba(86,229,217,.15),0 0 19px rgba(84,207,255,.09)}}

.fish-preview{overflow:hidden;border-radius:13px;background:radial-gradient(circle at 50% 46%,rgba(74,205,211,.13),transparent 59%),linear-gradient(180deg,rgba(25,85,99,.16),rgba(5,31,43,.06))}
.preview-body{animation:preview-swim 4.8s ease-in-out infinite;box-shadow:inset 0 8px 14px rgba(255,255,255,.055),0 10px 22px rgba(0,0,0,.12)}
@keyframes preview-swim{0%,100%{transform:translateX(-3px) rotate(-1deg)}50%{transform:translateX(4px) rotate(1deg)}}

.game{background:#041f2c}.game canvas{filter:saturate(.94) contrast(.99)}
.arena-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 47%,transparent 45%,rgba(0,12,18,.12) 76%,rgba(0,8,13,.38) 100%);box-shadow:inset 0 0 80px rgba(0,10,16,.2)}
.game-top,.leaderboard,.event-feed,.effects,.pearl-controls,.leave-game,.dash-game,.game #landscape-warning{z-index:2}
.game-top>div{background:linear-gradient(180deg,rgba(4,35,46,.72),rgba(3,23,32,.66));border-color:rgba(198,247,246,.13);box-shadow:0 7px 26px rgba(0,12,17,.18),inset 0 1px 0 rgba(255,255,255,.035);transition:transform .25s var(--ease-water),border-color .25s ease}
.game-top b{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.leaderboard{background:linear-gradient(160deg,rgba(3,30,40,.69),rgba(3,20,29,.59));border-color:rgba(180,236,235,.105)}
.leader-row{border-radius:7px;transition:background .25s ease}.leader-row:nth-child(1){background:rgba(255,215,118,.045)}
.event-line{backdrop-filter:blur(5px);border:1px solid rgba(164,228,227,.06);animation:fadefeed 5s var(--ease-water) forwards}
.effect-chip{backdrop-filter:blur(7px);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.pearl-btn{transition:transform .18s var(--ease-water),background .25s ease,border-color .25s ease,opacity .2s ease,box-shadow .25s ease}
.pearl-btn:not(:disabled):hover{transform:translateY(-2px);background:rgba(11,48,57,.9);border-color:rgba(135,239,228,.26);box-shadow:0 8px 22px rgba(0,13,18,.2)}
.pearl-btn:not(:disabled):active{transform:translateY(1px) scale(.98)}
.dash-game{background:radial-gradient(circle at 40% 34%,rgba(36,86,95,.93),rgba(3,27,37,.88));box-shadow:inset 0 0 0 1px rgba(190,247,242,.05),0 10px 30px rgba(0,11,16,.28);transition:transform .18s var(--ease-water),box-shadow .25s ease,opacity .2s ease}
.dash-game:not(:disabled):hover{transform:scale(1.035);box-shadow:inset 0 0 0 1px rgba(190,247,242,.08),0 0 30px rgba(67,230,207,.09),0 10px 30px rgba(0,11,16,.28)}
.dash-game:not(:disabled):active{transform:scale(.96)}
.result-card{background:linear-gradient(160deg,#0a3544,#062632);box-shadow:0 30px 100px rgba(0,7,11,.46),inset 0 1px 0 rgba(255,255,255,.035)}

@media(max-width:850px){.queue-box{min-height:250px}.queue-orbit{width:92px;height:92px}.arena-vignette{background:radial-gradient(ellipse at 50% 50%,transparent 53%,rgba(0,9,14,.28) 100%)}.dash-game{width:78px;height:78px;right:12px;bottom:max(13px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#ocean-bg:before,#ocean-bg:after,.queue-orbit .sonar:before,.wheel.spinning .wheel-core,.preview-body{animation:none!important}.queue-meter span{transition:none}.wheel{transition-duration:.12s!important}}
html.low-motion #ocean-bg:before,html.low-motion #ocean-bg:after,html.low-motion .queue-orbit .sonar:before,html.low-motion .wheel.spinning .wheel-core,html.low-motion .preview-body{animation:none!important}html.low-motion .queue-meter span{transition:none!important}html.low-motion .wheel{transition-duration:.12s!important}

/* v2.2 tactile-water polish */
.game-top>div.hud-pulse{animation:hud-soft-pulse .5s var(--ease-water);border-color:rgba(116,239,224,.34);box-shadow:0 7px 26px rgba(0,12,17,.18),0 0 22px rgba(73,224,205,.10),inset 0 1px 0 rgba(255,255,255,.05)}
.game-top>div.hud-pulse.hud-gold{border-color:rgba(255,215,125,.34);box-shadow:0 7px 26px rgba(0,12,17,.18),0 0 22px rgba(255,205,105,.11),inset 0 1px 0 rgba(255,255,255,.05)}
@keyframes hud-soft-pulse{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-2px) scale(1.025)}100%{transform:translateY(0) scale(1)}}
.queue-bump .queue-orbit{filter:drop-shadow(0 0 10px rgba(87,227,214,.10))}
.queue-bump .queue-orbit>b{animation:queue-count-soft .5s var(--ease-water)}
@keyframes queue-count-soft{0%{transform:scale(.96);opacity:.7}55%{transform:scale(1.035);opacity:1}100%{transform:scale(1)}}
.pearl-btn:not(:disabled):active,.dash-game:not(:disabled):active{transform:scale(.965);filter:brightness(1.08)}
.pearl-btn{transition:transform .15s ease,border-color .2s ease,background .2s ease,opacity .2s ease}
.dash-game{transition:transform .15s ease,box-shadow .22s ease,border-color .22s ease,opacity .2s ease;box-shadow:0 8px 28px rgba(0,12,17,.18),inset 0 1px 0 rgba(255,255,255,.035)}
.dash-game:not(:disabled){border-color:rgba(153,244,235,.34);box-shadow:0 8px 28px rgba(0,12,17,.18),0 0 18px rgba(67,230,207,.07),inset 0 1px 0 rgba(255,255,255,.04)}
.event-line{border:1px solid rgba(167,228,229,.055);backdrop-filter:blur(5px)}
.game canvas{-webkit-tap-highlight-color:transparent}
@media(max-width:850px){.event-feed{top:82px;left:10px}.effects{left:10px;bottom:104px;max-width:60vw;flex-wrap:wrap}.pearl-controls{scrollbar-width:none}.pearl-controls::-webkit-scrollbar{display:none}.pearl-btn{min-height:48px}.dash-game{user-select:none;-webkit-user-select:none}}
@media(prefers-reduced-motion:reduce){.game-top>div.hud-pulse,.queue-bump .queue-orbit>b{animation:none!important}.pearl-btn,.dash-game{transition:none!important}}
html.low-motion .game-top>div.hud-pulse,html.low-motion .queue-bump .queue-orbit>b{animation:none!important}html.low-motion .pearl-btn,html.low-motion .dash-game{transition:none!important}

/* FishRun v2.4 — serenity and density polish */
.queue-school{display:flex;align-items:center;justify-content:center;gap:7px;height:18px;margin:.15rem 0 .25rem;opacity:.8}
.queue-school span{width:10px;height:6px;border-radius:60% 45% 45% 60%;background:rgba(126,211,207,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transform:translateY(1px) scale(.84);transition:background .45s ease,transform .45s var(--ease-water),box-shadow .45s ease,opacity .45s ease}
.queue-school span:before{content:"";display:block;position:relative;left:-4px;top:1px;width:0;height:0;border-right:5px solid rgba(126,211,207,.12);border-top:2px solid transparent;border-bottom:2px solid transparent;transition:border-right-color .45s ease}
.queue-school span.active{background:rgba(119,231,219,.55);box-shadow:0 0 9px rgba(91,225,211,.12);transform:translateY(0) scale(1);opacity:1}
.queue-school span.active:before{border-right-color:rgba(119,231,219,.55)}
.queue-school span:nth-child(2n){transform-origin:center;transition-delay:35ms}.queue-school span:nth-child(3n){transition-delay:70ms}
.effect-chip{position:relative;overflow:hidden;isolation:isolate;padding-bottom:.46rem}
.effect-chip:after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:var(--effect-progress,100%);height:2px;background:rgba(167,247,236,.58);box-shadow:0 0 8px rgba(118,237,222,.14);transition:width .18s linear}
.effect-lightning:after{background:rgba(131,229,255,.7)}.effect-freeze:after{background:rgba(183,232,255,.72)}.effect-magnet:after{background:rgba(205,162,247,.7)}.effect-armor:after{background:rgba(255,218,143,.72)}
.result-reveal{opacity:0;transform:translateY(7px);animation:result-water-in .46s var(--ease-water) forwards;animation-delay:var(--result-delay,0ms)}
@keyframes result-water-in{to{opacity:1;transform:translateY(0)}}
.game-top>div{will-change:transform}.event-feed{mask-image:linear-gradient(to bottom,#000 78%,transparent 100%)}
@media(max-width:850px){.queue-school{gap:6px}.queue-school span{width:9px;height:5px}.result-reveal{animation-duration:.34s}}
@media(prefers-reduced-motion:reduce){.queue-school span,.effect-chip:after,.result-reveal{transition:none!important;animation:none!important}.result-reveal{opacity:1;transform:none}}
html.low-motion .queue-school span,html.low-motion .effect-chip:after,html.low-motion .result-reveal{transition:none!important;animation:none!important}html.low-motion .result-reveal{opacity:1;transform:none}

/* v2.4 perceptual polish */
.game canvas{background:linear-gradient(180deg,rgba(5,43,58,.08),rgba(2,25,35,.04));}
.event-line{animation:event-drift-in .34s var(--ease-water);transform-origin:left center;}
@keyframes event-drift-in{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
.result-card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 0,rgba(110,225,215,.055),transparent 42%);}
.queue-box:after{content:"";position:absolute;inset:auto 8% 8% 8%;height:1px;background:linear-gradient(90deg,transparent,rgba(140,232,225,.10),transparent);pointer-events:none;}
@media(max-width:850px){.game canvas{filter:saturate(.91) contrast(.985)}.event-line{max-width:68vw}.queue-box:after{inset:auto 14% 7% 14%}}
@media(prefers-reduced-motion:reduce){.event-line{animation:none!important}}
html.low-motion .event-line{animation:none!important}


/* v2.5 depth-feedback polish */
.game{isolation:isolate}
.event-line{box-shadow:0 6px 22px rgba(0,12,18,.08)}
.game-top>div{transform:translateZ(0)}
@media(max-width:850px){.game-top>div{backdrop-filter:blur(6px)}.event-line{backdrop-filter:blur(3px)}}
@media(prefers-reduced-motion:reduce){.event-line{transition:none!important}}
html.low-motion .event-line{transition:none!important}


/* calm-density polish */
.game-top b{transition:font-variation-settings .18s ease,opacity .18s ease}
.game canvas{touch-action:none}
@media(max-width:850px){.leaderboard{max-width:min(185px,42vw)}.leader-row{gap:.35rem}.game-top{gap:6px}.game-top>div{padding:.48rem .62rem}}
@media(prefers-reduced-motion:reduce){.game-top b{transition:none!important}}
html.low-motion .game-top b{transition:none!important}

/* v2.8 calm-readability polish */
.dash-game{position:absolute;isolation:isolate;--dash-charge:100%}
.dash-game:before{content:"";position:absolute;inset:3px;border-radius:50%;padding:2px;pointer-events:none;background:conic-gradient(from -90deg,rgba(119,239,225,.52) 0 var(--dash-charge),rgba(119,239,225,.055) var(--dash-charge) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.86;transition:background .18s linear,opacity .2s ease}
.dash-game:not(:disabled):before{opacity:1}
@media(prefers-reduced-motion:reduce){.dash-game:before{transition:none!important}}
html.low-motion .dash-game:before{transition:none!important}

/* Canonical product-contract controls */
.room-tier{display:grid;gap:.35rem;margin:.65rem 0;color:var(--muted)}
.room-tier select,.keybind-grid button{background:rgba(4,31,42,.8);color:inherit;border:1px solid rgba(168,236,230,.18);border-radius:10px;padding:.65rem}
.keybind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.6rem 0 1rem}.keybind-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.keybind-row span{text-transform:capitalize}.keybind-row button{min-width:4.4rem}
.turnstile-slot:empty{display:none}.turnstile-slot{min-height:1px;margin:.45rem 0}
.hud-tool{position:fixed;z-index:25;border:1px solid rgba(190,247,241,.2);background:rgba(2,28,39,.74);color:#dffbf7;border-radius:999px;padding:.52rem .75rem;font:600 11px system-ui}.fullscreen-game{right:1rem;top:1rem}.rotate-game{right:6.8rem;top:1rem}#leaderboard-toggle{right:1rem;top:3.8rem}.leaderboard.collapsed{display:none}.minimap{position:fixed;right:1rem;bottom:5.5rem;z-index:22;width:160px;height:160px;border-radius:14px;border:1px solid rgba(188,245,239,.18);background:rgba(0,18,28,.65);backdrop-filter:blur(8px)}.minimap.hidden{display:none}.fullscreen-hint{position:fixed;left:50%;top:5.1rem;transform:translateX(-50%);z-index:30;padding:.55rem .8rem;border-radius:999px;background:rgba(1,25,35,.78);color:#dffbf7;font:600 11px system-ui;transition:opacity .3s}.fullscreen-hint.hidden{opacity:0;pointer-events:none}.game.hide-details .game-top>div:first-child,.game.hide-details .game-top>div:nth-child(3){display:none}@media(max-width:720px){.minimap{width:112px;height:112px;bottom:5.1rem}.hud-tool{font-size:10px;padding:.45rem .58rem}.rotate-game{right:5.8rem}.keybind-grid{grid-template-columns:1fr}}

.lobby-display-tools{display:flex;gap:.55rem;margin:.7rem 0}.pseudo-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:9999!important;overflow:auto!important;background:#052b38}.game.pseudo-fullscreen{overflow:hidden!important}.turnstile-slot:empty{display:none}

.leader-tabs{margin:0 0 1rem}.leaderboard-me-row{outline:1px solid rgba(147,238,225,.34);background:rgba(92,216,198,.07)}
