:root{color:#173033;font-synthesis:none;--ink:#15383b;--paper:#e9e2cb;--paper-2:#d9d0b2;--cream:#f5f0df;--cyan:#35e1d0;--red:#ff5a48;--yellow:#f2be4b;--dark:#071316;--panel:#0d2023;--muted:#7d918d;background:#071316;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%,#183437 0,#071316 48%,#040b0c 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#040d0fb8;border-bottom:1px solid #7bdfd329;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.brand{color:#eef9f5;text-align:left;letter-spacing:.12em;background:0 0;border:0;align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--cyan);width:36px;height:36px;color:var(--cyan);place-items:center;font-weight:900;display:grid;transform:rotate(45deg)}.brand-mark:first-letter{transform:rotate(-45deg)}.brand>span:last-child{flex-direction:column;line-height:1;display:flex}.brand small{color:#6c9995;letter-spacing:.34em;margin-top:5px;font-size:9px}.topbar-right{color:#6c9995;letter-spacing:.18em;align-items:center;gap:8px;font:700 10px/1 monospace;display:flex}.status-dot{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 14px var(--cyan);border-radius:99px}footer{color:#456764;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid #7bdfd31a;padding:28px 5vw;font:600 10px/1.4 monospace}.page-enter{animation:.45s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}}.eyebrow{color:#3ba89f;letter-spacing:.2em;margin-bottom:18px;font:700 11px/1 monospace}h1,h2,p{margin-top:0}h1{color:#f0f7f3;letter-spacing:-.055em;margin-bottom:24px;font-size:clamp(40px,6vw,78px);line-height:.92}h1 em,h2 em{color:var(--cyan);font-style:normal}.home{flex:1;width:min(1240px,100% - 40px);margin:0 auto;padding:clamp(70px,10vw,130px) 0 100px}.hero{max-width:930px}.hero p{color:#93a7a3;max-width:650px;font-size:17px;line-height:1.75}.hero-stats{border-top:1px solid #71c2ba29;border-bottom:1px solid #71c2ba29;width:fit-content;margin:38px 0 90px;display:flex}.hero-stats>div{flex-direction:column;margin-right:32px;padding:18px 32px 18px 0;display:flex}.hero-stats b{color:#e6f4ef;font:500 26px/1 monospace}.hero-stats span{color:#557774;text-transform:uppercase;letter-spacing:.16em;margin-top:7px;font:700 9px/1 monospace}.section-heading{color:#607d79;letter-spacing:.18em;border-bottom:1px solid #244240;justify-content:space-between;margin-bottom:24px;padding-bottom:12px;font:700 10px/1 monospace;display:flex}.section-heading b{color:#b9cac6}.game-card{text-align:left;background:#0a1b1d;border:1px solid #294d49;grid-template-columns:minmax(320px,.9fr) 1.1fr;width:100%;min-height:410px;padding:0;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden}.game-card:hover{border-color:#3ba89f;transform:translateY(-4px);box-shadow:0 20px 70px #00000047}.radar-art{background:linear-gradient(#041417b3,#041417e0),repeating-linear-gradient(0deg,#0000 0 39px,#3ec6b814 40px),repeating-linear-gradient(90deg,#0000 0 39px,#3ec6b814 40px);border-right:1px solid #294d49;place-items:center;min-height:410px;display:grid;position:relative;overflow:hidden}.radar-art:before,.radar-art:after,.radar-large:before,.radar-large:after{content:"";border:1px solid #35e1d040;border-radius:50%;width:280px;height:280px;position:absolute}.radar-art:after{width:170px;height:170px}.radar-art i,.radar-large i{background:#35e1d021;width:1px;height:80%;position:absolute}.radar-art i:nth-of-type(2),.radar-large i:nth-of-type(2){transform:rotate(45deg)}.radar-art i:nth-of-type(3),.radar-large i:nth-of-type(3){transform:rotate(90deg)}.radar-art strong{filter:grayscale();opacity:.75;z-index:2;font-size:66px}.radar-sweep,.radar-large span{transform-origin:0 100%;background:conic-gradient(from 90deg,#35e1d040,#0000 35%);width:50%;height:50%;animation:5s linear infinite sweep;position:absolute;top:0;left:50%}@keyframes sweep{to{transform:rotate(360deg)}}.game-card-copy{flex-direction:column;justify-content:center;padding:clamp(36px,5vw,70px);display:flex}.card-kicker{color:#688580;letter-spacing:.18em;font:700 10px/1 monospace}.live-pill{color:var(--cyan)}.game-card h2{color:#eef6f2;letter-spacing:-.06em;margin:28px 0 24px;font-size:clamp(42px,5vw,64px);line-height:.9}.game-card p{color:#87a09b;max-width:590px;line-height:1.7}.tags{flex-wrap:wrap;gap:8px;margin:15px 0 35px;display:flex}.tags span{color:#77918d;letter-spacing:.12em;border:1px solid #31504d;padding:8px 10px;font:700 9px/1 monospace}.launch{color:#dcebe7;letter-spacing:.16em;border-top:1px solid #244340;justify-content:space-between;padding-top:18px;font:700 11px/1 monospace;display:flex}.launch b{color:var(--cyan);font-size:18px}.coming-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.coming{background:#0a1b1d73;border:1px dashed #24413f;flex-direction:column;justify-content:space-between;min-height:140px;padding:24px;display:flex}.coming b{color:#58716e;letter-spacing:.2em}.mission{flex:1;width:min(1020px,100% - 40px);margin:0 auto;padding:55px 0 110px}.back-link{color:#5b817d;letter-spacing:.14em;background:0 0;border:0;padding:10px 0;font:700 10px/1 monospace}.briefing-card{background-color:var(--paper);max-width:760px;color:var(--ink);background-image:linear-gradient(#214b4c17 1px,#0000 1px),linear-gradient(90deg,#214b4c17 1px,#0000 1px);background-size:28px 28px;margin:50px auto 0;padding:clamp(34px,7vw,74px);position:relative;box-shadow:0 35px 90px #00000059}.paper-fold{border-top:0 solid #0000;border-bottom:58px solid #c9bea0;border-left:0 solid #0000;border-right:58px solid #071316;position:absolute;top:0;right:0}.briefing-card h1{color:var(--ink);font-size:clamp(42px,7vw,70px)}.briefing-card h1 em{color:#087a75}.briefing-card p{color:#486462;line-height:1.7}.briefing-card label{letter-spacing:.14em;flex-direction:column;margin-top:36px;font:800 10px/1 monospace;display:flex}.briefing-card input{color:var(--ink);background:#ffffff2e;border:0;border-bottom:2px solid #14373a8c;outline:none;margin-top:10px;padding:14px 5px;font-size:18px}.primary{background:var(--ink);color:#e8f4ed;letter-spacing:.15em;border:0;padding:17px 22px;font:800 11px/1 monospace;box-shadow:5px 5px #0b39392e}.primary:hover:not(:disabled){background:#075f5e}.primary:disabled{opacity:.55}.primary.full{width:100%;margin-top:20px}.lobby-actions{margin-top:32px}.divider{color:#71817a;align-items:center;gap:12px;margin:28px 0 14px;font:700 9px/1 monospace;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid #15383b38;flex:1}.join-row{gap:10px;display:flex}.join-row input{text-transform:uppercase;letter-spacing:.3em;flex:1;margin:0}.join-row button,.invite-link button{border:1px solid var(--ink);color:var(--ink);background:0 0;padding:0 22px;font:800 10px/1 monospace}.invite-box{border:2px solid #15383b4d;grid-template-columns:1fr auto;align-items:center;gap:10px 20px;margin-top:32px;padding:22px;display:grid}.invite-box small{letter-spacing:.14em;font:800 9px/1 monospace}.invite-box b{letter-spacing:.18em;grid-row:2;font:800 32px/1 monospace}.invite-box .primary{grid-area:1/2/3}.error-banner{color:#793b2d;background:#ff5a4814;border:1px solid #ae5c49;margin-top:18px;padding:13px;font:700 11px/1.4 monospace}.battle-page{flex:1;width:min(1480px,100% - 30px);margin:0 auto;padding:28px 0 90px;position:relative}.battle-topline{border-bottom:1px solid #1b3937;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:16px;display:grid}.room-code{color:#e0efea;align-items:center;gap:10px;display:flex}.room-code b{letter-spacing:.17em;color:var(--cyan);font:800 18px/1 monospace}.room-code button,.sound-toggle{color:#72928e;background:0 0;border:1px solid #244845;padding:8px 10px;font:700 9px/1 monospace}.sound-toggle{justify-self:end}.waiting-panel{text-align:center;color:#c2d2ce;max-width:760px;margin:75px auto 0}.radar-large{border:1px solid #244e49;border-radius:50%;place-items:center;width:280px;height:280px;margin:0 auto 45px;display:grid;position:relative;overflow:hidden}.radar-large:before{width:200px;height:200px}.radar-large:after{width:105px;height:105px}.radar-large i{height:100%}.radar-large b{z-index:2;opacity:.65;filter:grayscale();font-size:38px}.waiting-panel h1{font-size:clamp(46px,7vw,76px)}.waiting-panel p{color:#77928d;max-width:600px;margin:0 auto 28px;line-height:1.7}.invite-link{background:#09191b;border:1px solid #2c5a55;max-width:640px;margin:0 auto;display:flex}.invite-link code{text-align:left;color:#91aaa6;flex:1;padding:15px;font-size:12px;overflow:auto}.invite-link button{color:var(--cyan);border:0;border-left:1px solid #2c5a55}.crew-slots{grid-template-columns:1fr 1fr;gap:14px;margin-top:44px;display:grid}.crew{text-align:left;border:1px solid #244743;grid-template-columns:42px 1fr;min-height:100px;padding:18px;display:grid}.crew span{color:#4a7671;grid-row:1/3;font:500 24px/1 monospace}.crew b{color:#d5e6e1}.crew small{color:#54746f;letter-spacing:.12em;font:700 9px/1 monospace}.crew.scanning{animation:1.7s ease-in-out infinite scanPulse}@keyframes scanPulse{50%{border-color:#3aa69d;box-shadow:inset 0 0 30px #35e1d00d}}.placement-layout{grid-template-columns:minmax(320px,.75fr) minmax(500px,1.25fr);align-items:center;gap:clamp(30px,5vw,80px);padding-top:58px;display:grid}.placement-copy h1{font-size:clamp(44px,6vw,72px)}.placement-copy>p{color:#75928d;max-width:570px;line-height:1.7}.ship-list{gap:7px;margin:28px 0 18px;display:grid}.ship-list button{color:#77908c;text-align:left;background:#0b1d1f;border:1px solid #274641;grid-template-columns:35px 1fr auto;align-items:center;min-height:54px;padding:0 14px;display:grid}.ship-list button span{color:#567b76;font:700 12px/1 monospace}.ship-list button b{letter-spacing:.08em;font-size:12px}.ship-list button i{letter-spacing:2px;color:#3c625d;font-size:10px;font-style:normal}.ship-list button.active{border-color:var(--cyan);color:#e3efeb;background:#0f2b2b}.ship-list button.placed span,.ship-list button.placed i{color:var(--cyan)}.placement-tools{flex-wrap:wrap;gap:8px;display:flex}.placement-tools button{color:#789590;background:0 0;border:1px solid #2b504c;padding:10px 12px;font:700 9px/1 monospace}.ready-note{color:#68a9a1;text-align:center;padding:16px;font:700 10px/1.5 monospace}.paper-board-wrap{background-color:var(--paper);background-image:linear-gradient(#2250501a 1px,#0000 1px),linear-gradient(90deg,#2250501a 1px,#0000 1px);background-size:25px 25px;padding:clamp(24px,4vw,48px);transform:rotate(.35deg);box-shadow:0 28px 80px #0006}.paper-caption{color:#45635f;letter-spacing:.15em;text-align:center;margin-top:20px;font:800 9px/1 monospace}.board{aspect-ratio:1.02;-webkit-user-select:none;user-select:none;grid-template-rows:34px repeat(10,1fr);grid-template-columns:34px repeat(10,1fr);width:min(100%,650px);margin:auto;display:grid}.board-row{display:contents}.board .axis,.board .corner{color:#4c6f6a;place-items:center;font:800 10px/1 monospace;display:grid}.board button{color:var(--ink);background:#ffffff0a;border:1px solid #1c4d4c4d;border-top:0;border-left:0;place-items:center;min-width:0;padding:0;display:grid;position:relative;overflow:visible}.board button:nth-child(11n+2){border-left:1px solid #1c4d4c4d}.board button:not(:disabled):hover,.board button.preview{background:#13807829;box-shadow:inset 0 0 0 1px #0b68644d}.board button.ship{background:#163d3d21}.ship-mark{color:#1e5352;opacity:.72;font-size:clamp(8px,1.2vw,17px)}.hit-mark{color:#b43e30;text-shadow:0 0 18px #ff462d40;z-index:2;font-family:Segoe Print,cursive;font-size:clamp(20px,3vw,37px);line-height:1;transform:rotate(-9deg)}.miss-mark{color:#226b6a;font-size:clamp(20px,2.5vw,34px);line-height:1}.board button.hit:after,.board button.own-hit:after{content:"";background:#be35202e;border-radius:50%;width:72%;height:72%;animation:1.2s ease-out impact;position:absolute}@keyframes impact{0%{opacity:1;transform:scale(.15)}to{opacity:0;transform:scale(2.3)}}.combat{padding-top:38px}.combat-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;display:flex}.combat-header h1{margin:8px 0 0;font-size:clamp(34px,4vw,57px)}.turn-lamp{color:#68827e;letter-spacing:.11em;border:1px solid #294743;align-items:center;gap:8px;padding:12px 16px;font:800 9px/1 monospace;display:flex}.turn-lamp i{background:#596662;border-radius:50%;width:7px;height:7px}.turn-lamp.active{color:var(--cyan);border-color:#2e655f}.turn-lamp.active i{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.boards-grid{grid-template-columns:1fr 1fr;gap:clamp(15px,2.5vw,34px);display:grid}.battle-board-panel{background-color:#dcd5bc;background-image:linear-gradient(#22505014 1px,#0000 1px),linear-gradient(90deg,#22505014 1px,#0000 1px);background-size:24px 24px;border:1px solid #acaa96;padding:clamp(16px,2.5vw,32px);position:relative;box-shadow:0 18px 60px #00000038}.battle-board-panel.enemy{background-color:#ddd2b6}.board-title{color:var(--ink);border-bottom:2px solid #15383b4d;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:11px;display:flex}.board-title span{letter-spacing:.16em;font:900 12px/1 monospace}.board-title b{color:#55716d;text-transform:uppercase;font:700 10px/1 monospace}.fleet-health{color:#365a57;grid-template-columns:repeat(2,1fr);gap:6px 14px;margin-top:18px;display:grid}.fleet-health div{border-top:1px solid #1e484629;justify-content:space-between;gap:8px;padding-top:6px;font:700 8px/1 monospace;display:flex}.fleet-health i{letter-spacing:1px;font-style:normal}.fleet-health .sunk{color:#a14b3e;opacity:.65;text-decoration:line-through}.weapons-console{background:linear-gradient(#0e2425,#091719);border:1px solid #264945;grid-template-columns:190px 1fr auto;align-items:center;gap:16px;margin-top:24px;padding:18px;display:grid}.console-title{flex-direction:column;gap:6px;display:flex}.console-title span{color:var(--cyan);letter-spacing:.18em;font:800 9px/1 monospace}.console-title b{color:#73908b;font:700 9px/1.4 monospace}.weapons{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.weapons button{color:#78938e;text-align:left;background:#0a191b;border:1px solid #2b4b47;grid-template-columns:34px 1fr 24px;align-items:center;min-height:70px;padding:8px 10px;display:grid}.weapons button strong{color:#87aba6;font-size:22px}.weapons button span{flex-direction:column;gap:5px;display:flex}.weapons button b{color:#b6cac5;letter-spacing:.08em;font:800 9px/1 monospace}.weapons button small{font-size:9px}.weapons button em{color:#54746f;text-align:center;font:800 12px/1 monospace}.weapons button.active{border-color:var(--cyan);box-shadow:inset 0 0 30px #35e1d012}.weapons button.active strong,.weapons button.active em{color:var(--cyan)}.weapons button:disabled{opacity:.3}.sonar-report{border-left:1px solid #31504c;flex-direction:column;min-width:150px;padding-left:16px;display:flex}.sonar-report span,.sonar-report small{color:#52736e;font:700 8px/1.4 monospace}.sonar-report b{color:var(--cyan);font:800 18px/1.5 monospace}.combat-log{color:#78908c;border-top:1px solid #25423f;margin-top:18px;padding-top:15px}.combat-log>span{color:#4e706c;letter-spacing:.15em;font:800 9px/1 monospace}.combat-log div{border-bottom:1px solid #2c4a4747;grid-template-columns:70px 1fr;gap:15px;padding:10px 0;display:grid}.combat-log time{color:#4e706c;font:700 9px/1.4 monospace}.combat-log p{margin:0;font:600 10px/1.4 monospace}.result-banner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;background:#020a0be0;flex-direction:column;justify-content:center;align-items:center;animation:.4s pageIn;display:flex;position:fixed;inset:0}.result-banner small{color:#75908b;letter-spacing:.3em;font:800 10px/1 monospace}.result-banner b{color:var(--cyan);letter-spacing:-.05em;margin:18px 0 30px;font-size:clamp(42px,8vw,100px)}.result-banner.lost b{color:var(--red)}.result-banner button{color:#cbe0da;letter-spacing:.15em;background:0 0;border:1px solid #4a7470;padding:14px 20px;font:800 10px/1 monospace}.floating-message{z-index:60;color:#ff988a;background:#2a1713;border:1px solid #a3483a;padding:12px 18px;font:700 10px/1.4 monospace;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 14px 50px #0006}.floating-message.success{color:var(--cyan);background:#0a2422;border-color:#2f7068}.cinematic-fx{z-index:35;pointer-events:none;place-items:center;animation:.9s forwards fxFade;display:grid;position:fixed;inset:0;overflow:hidden}.cinematic-fx span{color:#fff;text-shadow:0 0 45px #ffffffb3;font-size:clamp(80px,13vw,180px);font-weight:950;animation:.7s both fxPop}.fx-sonar .cinematic-fx{background:radial-gradient(circle,#35e1d033,#0000 55%)}.fx-sonar .cinematic-fx span{color:var(--cyan)}.fx-hit .cinematic-fx,.fx-sunk .cinematic-fx{background:radial-gradient(circle,#ff592d3d,#0000 55%)}.shockwave{opacity:.6;border:4px solid;border-radius:50%;width:100px;height:100px;animation:1s ease-out both shock;position:absolute}@keyframes shock{to{opacity:0;transform:scale(12)}}@keyframes fxPop{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}@keyframes fxFade{0%,70%{opacity:1}to{opacity:0}}.fx-hit{animation:.32s screenShake}@keyframes screenShake{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (width<=1000px){.game-card{grid-template-columns:1fr}.radar-art{border-bottom:1px solid #294d49;border-right:0;min-height:280px}.placement-layout{grid-template-columns:1fr}.paper-board-wrap{width:100%;max-width:720px;margin:auto}.weapons-console{grid-template-columns:1fr}.sonar-report{border-top:1px solid #31504c;border-left:0;padding:12px 0 0}}@media (width<=780px){.topbar-right{display:none}.home,.battle-page,.mission{width:min(100% - 22px,1240px)}.hero-stats>div{margin-right:16px;padding-right:16px}.coming-grid,.crew-slots,.boards-grid{grid-template-columns:1fr}.battle-topline{grid-template-columns:1fr auto}.room-code{grid-area:2/1/auto/3;justify-content:center;margin-top:12px}.sound-toggle{grid-area:1/2}.combat-header{flex-direction:column;align-items:stretch}.weapons{grid-template-columns:1fr 1fr}.fleet-health{grid-template-columns:1fr}.invite-box{flex-direction:column;align-items:stretch;display:flex}.invite-box b{margin:8px 0}}@media (width<=480px){.topbar{height:62px;padding:0 14px}.hero{padding-top:10px}.hero-stats{width:100%}.hero-stats>div{flex:1;margin:0;padding:14px 8px 14px 0}.game-card-copy{padding:28px 22px}.briefing-card{padding:44px 22px 28px}.join-row{flex-direction:column}.join-row button{padding:14px}.board{grid-template-rows:24px repeat(10,1fr);grid-template-columns:24px repeat(10,1fr)}.battle-board-panel{padding:10px}.weapons button{grid-template-columns:28px 1fr 20px;padding:6px}.weapons button strong{font-size:16px}}:root{--axis-size:34px;--sea-ink:#0a5258}.battle-page{width:min(1660px,100% - 34px)}.placement-layout{grid-template-columns:minmax(340px,.66fr) minmax(650px,1.34fr);gap:clamp(34px,5vw,88px)}.crumpled-paper,.battle-board-panel{isolation:isolate;background-color:#ded4b8;background-image:linear-gradient(118deg,#0000 0 21%,#4f412a16 21.35%,#0000 22.2%),linear-gradient(34deg,#0000 0 47%,#ffffff36 47.35%,#4d3d2613 48%,#0000 48.7%),linear-gradient(155deg,#0000 0 72%,#4d3d2617 72.2%,#ffffff24 72.8%,#0000 73.7%),linear-gradient(#22505016 1px,#0000 1px),linear-gradient(90deg,#22505016 1px,#0000 1px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E");background-size:auto,auto,auto,25px 25px,25px 25px,180px 180px;box-shadow:0 30px 90px #00000075,inset 0 0 70px #4d3a1e14}.paper-board-wrap{background-color:#ded4b8;padding:clamp(24px,3vw,42px);position:relative;overflow:hidden;transform:rotate(.18deg)}.paper-board-wrap:before,.battle-board-panel:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(at 12% 16%,#ffffff57,#0000 17%),radial-gradient(at 81% 72%,#4f35191a,#0000 19%),radial-gradient(at 45% 48%,#0000 0 38%,#45382612 39%,#0000 40%);position:absolute;inset:0}.water-paper-overlay{pointer-events:none;z-index:1;opacity:.17;mix-blend-mode:multiply;background:radial-gradient(at 15% 40%,#0000 0 18px,#006b7b45 19px,#0000 21px) 0 0/250px 100px,radial-gradient(at 75% 62%,#0000 0 29px,#005b6f38 30px,#0000 33px) 0 0/310px 130px,repeating-radial-gradient(#0000 0 24px,#0466771f 25px,#0000 28px 45px) 0 0/420px 170px;animation:12s linear infinite alternate paperWater;position:absolute;inset:0}@keyframes paperWater{to{background-position:120px 30px,-100px 50px,90px -40px;transform:scale(1.025)}}.paper-board-wrap>.board-shell,.paper-board-wrap>.paper-caption{z-index:2;position:relative}.board-shell{--axis-size:34px;-webkit-user-select:none;user-select:none;width:min(100%,760px);color:var(--ink);margin:0 auto}.board-top-axis{height:var(--axis-size);align-items:stretch;display:grid}.board-main{grid-template-columns:var(--axis-size) 1fr;display:grid}.board-left-axis{display:grid}.board-shell .axis,.board-shell .corner{color:#3b6664;text-shadow:0 1px #ffffff59;place-items:center;font:900 10px/1 monospace;display:grid}.board-sea{aspect-ratio:1;background:linear-gradient(150deg,#0a758426,#0046583d);border:1px solid #124a4e7a;position:relative;overflow:visible;box-shadow:inset 0 0 34px #022f3626,0 8px 22px #382a1114}.board-sea:before{content:"";z-index:0;opacity:.85;background:repeating-radial-gradient(at 12% 28%,#0000 0 18px,#ffffff2e 19px,#0000 21px 44px) 0 0/190px 70px,repeating-radial-gradient(at 70% 62%,#0000 0 30px,#00576726 31px,#0000 35px 68px) 0 0/280px 110px;animation:9s linear infinite seaDrift;position:absolute;inset:0}.board-sea:after{content:"";pointer-events:none;z-index:5;mix-blend-mode:screen;background:linear-gradient(108deg,#0000 20%,#ffffff24 34%,#0000 46%);animation:8s ease-in-out infinite waterGlint;position:absolute;inset:0;transform:translate(-90%)}@keyframes seaDrift{to{background-position:190px 18px,-280px -25px}}@keyframes waterGlint{0%,30%{transform:translate(-95%)}64%,to{transform:translate(120%)}}.sea-depth{z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 40%,#0000 0 44%,#00323d14 100%);position:absolute;inset:0}.cells-layer{z-index:3;display:grid;position:absolute;inset:0}.cells-layer button{min-width:0;color:var(--ink);background:#ffffff04;border:1px solid #1b4b4b4a;border-top:0;border-left:0;place-items:center;padding:0;display:grid;position:relative;overflow:visible}.cells-layer button:nth-child(12n+1){border-left:1px solid #1b4b4b4a}.cells-layer button:nth-child(-n+12){border-top:1px solid #1b4b4b4a}.cells-layer button:not(:disabled):hover,.cells-layer button.preview{background:#2de8d829;box-shadow:inset 0 0 0 2px #0a6f6a59,0 0 18px #24beb41f}.cells-layer button.preview-invalid{background:#ff493533;box-shadow:inset 0 0 0 2px #b12d1f6b}.cells-layer button.hit,.cells-layer button.own-hit{background:#b42e1d17}.cells-layer button.miss{background:#07637114}.ship-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.ship-sprite{filter:drop-shadow(0 5px 3px #00181d61);padding:3px;transition:opacity .25s,filter .25s;position:absolute}.ship-sprite.sunk{opacity:.55;filter:grayscale(.65)sepia(.25)drop-shadow(0 4px 5px #4d190c6b)}.ship-art{width:100%;height:100%;overflow:visible}.ship-art .ship-wake{fill:#e0fdf940}.ship-art .ship-rim{fill:#152729b8;stroke:#dae4dc8a;stroke-width:.65px}.ship-art .ship-highlight{fill:none;stroke:#e7f2ebb3;stroke-width:.8px;opacity:.72}.ship-art .carrier-runway{stroke:#d8dfd9;stroke-width:.7px;opacity:.9}.ship-art .carrier-runway.dashed{stroke-dasharray:4 3;opacity:.42}.ship-art .superstructure{fill:#243a3c;stroke:#b0bfba;stroke-width:.55px}.ship-art .radar-dish{fill:#c9d4d0}.ship-art .deck-metal{fill:#647776db;stroke:#d5e1db8c;stroke-width:.45px}.ship-art .turret{fill:#1f3436;stroke:#b8c6c1;stroke-width:.65px}.ship-art .barrel,.ship-art .periscope{fill:none;stroke:#172729;stroke-width:1.7px;stroke-linecap:round}.ship-art .sub-body{fill:#243b3d;stroke:#9eafab;stroke-width:.7px}.ship-art .sub-tower{fill:#394f50;stroke:#bac6c1;stroke-width:.55px}.ship-art .sub-fin{fill:#15292c}.ship-art .damage-scar{fill:none;stroke:#df6a42;stroke-width:1.4px;filter:drop-shadow(0 0 2px #ff7f54)}.ship-art.damaged{filter:sepia(.18)saturate(1.2)}.ship-list button{grid-template-columns:36px minmax(120px,1fr) minmax(115px,42%);min-height:64px;overflow:hidden}.ship-list button b{flex-direction:column;gap:5px;display:flex}.ship-list button b small{color:#4e706c;letter-spacing:.12em;text-transform:uppercase;font:700 8px/1 monospace}.ship-list-art{width:100%;height:34px;display:block}.ship-list button.active .ship-art{filter:drop-shadow(0 0 5px #35e1d06b)}.orientation-readout{background:#0d2324cc;border-left:3px solid #315955;grid-template-columns:auto 1fr;align-items:center;gap:5px 14px;margin:14px 0;padding:11px 14px;display:grid}.orientation-readout span,.orientation-readout small{color:#557973;letter-spacing:.14em;font:700 8px/1 monospace}.orientation-readout b{color:var(--cyan);font:900 12px/1 monospace}.orientation-readout small{grid-column:1/3}kbd{font:inherit;background:#ffffff0a;border:1px solid;border-bottom-width:2px;border-radius:3px;padding:1px 5px}.rotate-tool{color:var(--cyan)!important;border-color:#36736d!important}.ship-cursor{z-index:100;pointer-events:none;filter:drop-shadow(0 10px 12px #0000008c);animation:.16s both cursorShipIn;position:fixed;transform:translateY(-50%)}.ship-cursor span{white-space:nowrap;color:var(--cyan);letter-spacing:.1em;background:#031214e6;border:1px solid #37756e;padding:5px 7px;font:800 8px/1 monospace;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes cursorShipIn{0%{opacity:0;transform:translateY(-50%)scale(.72)}}.persistent-turn-banner{background:linear-gradient(90deg,#0d2426f5,#081618eb);border:1px solid #294b48;grid-template-columns:42px minmax(200px,1fr) auto;align-items:center;gap:14px;min-height:66px;margin:-8px 0 22px;padding:10px 16px;display:grid;position:relative;overflow:hidden}.persistent-turn-banner:after{content:"";background:linear-gradient(90deg,#0000,#35e1d014,#0000);animation:3.6s linear infinite statusScan;position:absolute;inset:0;transform:translate(-100%)}@keyframes statusScan{to{transform:translate(100%)}}.persistent-turn-banner.mine{box-shadow:inset 3px 0 var(--cyan), 0 0 28px #35e1d00f;border-color:#347a72}.persistent-turn-banner.theirs{box-shadow:inset 3px 0 #8c7250}.turn-icon{color:#789590;border:1px solid #41635f;place-items:center;width:36px;height:36px;font-size:21px;display:grid}.mine .turn-icon{color:var(--cyan);border-color:#347a72;box-shadow:0 0 18px #35e1d021}.persistent-turn-banner div{flex-direction:column;gap:5px;display:flex}.persistent-turn-banner small,.persistent-turn-banner em{color:#577571;letter-spacing:.14em;font:800 8px/1 monospace}.persistent-turn-banner b{color:#c5d8d3;letter-spacing:.08em;font:900 14px/1 monospace}.persistent-turn-banner.mine b{color:var(--cyan)}.turn-change-toast{z-index:55;text-align:center;pointer-events:none;background:#041214f0;border:1px solid #49645f;flex-direction:column;gap:7px;min-width:min(540px,100vw - 40px);padding:18px 28px;animation:2.15s both turnToast;display:flex;position:fixed;top:19%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 80px #00000080}.turn-change-toast.mine{border-color:var(--cyan);box-shadow:0 22px 80px #00000080,0 0 40px #35e1d024}.turn-change-toast small,.turn-change-toast span{color:#69847f;letter-spacing:.2em;font:800 8px/1 monospace}.turn-change-toast b{color:#e7f3ef;letter-spacing:-.02em;font:950 clamp(22px,3vw,39px)/1 monospace}@keyframes turnToast{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}12%,70%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;visibility:hidden;transform:translate(-50%,-7px)scale(.99)}}.explosion-fx,.splash-fx{pointer-events:none;z-index:10;display:block;position:absolute;inset:-55%}.explosion-fx .fireball{aspect-ratio:1;background:radial-gradient(circle at 38% 35%,#fff6c6 0 7%,#ffd247 15%,#ff7c22 42%,#d52310 68%,#0000 70%);border-radius:50%;width:44%;animation:.82s ease-out both fireball;position:absolute;top:28%;left:28%;box-shadow:0 0 18px #ff721f,0 0 34px #ff4b14b3}.explosion-fx .smoke{aspect-ratio:1;filter:blur(.6px);opacity:0;background:radial-gradient(circle at 35% 30%,#a9a49b,#3c4544 65%,#0000 69%);border-radius:50%;width:26%;position:absolute}.explosion-fx .s1{animation:1.55s ease-out .16s both smokeUp;top:16%;left:28%}.explosion-fx .s2{animation:1.6s ease-out .22s both smokeUp2;top:20%;left:48%}.explosion-fx .spark{transform-origin:50%;background:linear-gradient(#fff9aa,#ff601f,#0000);border-radius:9px;width:4px;height:28%;animation:.68s ease-out both spark;position:absolute;top:36%;left:48%}.explosion-fx .p1{--a:35deg}.explosion-fx .p2{--a:120deg}.explosion-fx .p3{--a:215deg}.explosion-fx .p4{--a:300deg}@keyframes fireball{0%{opacity:0;transform:scale(.05)}18%{opacity:1}48%{transform:scale(1.55)}to{opacity:0;filter:blur(4px);transform:scale(2.05)}}@keyframes smokeUp{0%{opacity:0;transform:translateY(12%)scale(.4)}25%{opacity:.9}to{opacity:0;transform:translate(-28%,-90%)scale(1.8)}}@keyframes smokeUp2{0%{opacity:0;transform:translateY(12%)scale(.4)}25%{opacity:.85}to{opacity:0;transform:translate(38%,-108%)scale(1.65)}}@keyframes spark{0%{transform:rotate(var(--a)) translateY(0) scaleY(.4);opacity:1}to{transform:rotate(var(--a)) translateY(-65%) scaleY(.05);opacity:0}}.splash-fx .splash-core{clip-path:polygon(50% 0,60% 42%,83% 12%,68% 54%,100% 39%,70% 67%,78% 100%,51% 74%,25% 100%,31% 66%,0 43%,35% 54%,18% 14%,43% 42%);filter:drop-shadow(0 0 8px #a0f4ffe6);background:linear-gradient(#efffff,#78dfec 45%,#2e9ab51f);width:44%;height:64%;animation:.9s ease-out both splashCore;position:absolute;top:14%;left:28%}.splash-fx .drop{aspect-ratio:1;background:#b8f6ff;border-radius:50% 50% 50% 0;width:7%;animation:.9s ease-out both droplet;position:absolute;top:38%;left:47%}.splash-fx .d1{--dx:-38px;--dy:-46px}.splash-fx .d2{--dx:42px;--dy:-39px}.splash-fx .d3{--dx:-49px;--dy:-18px}.splash-fx .d4{--dx:51px;--dy:-9px}.splash-fx .ripple{aspect-ratio:1;border:2px solid #cbfaffe6;border-radius:50%;width:26%;animation:1.15s ease-out .16s both splashRipple;position:absolute;top:55%;left:37%}@keyframes splashCore{0%{opacity:0;transform:scale(.1)translateY(25%)}24%{opacity:1}60%{transform:scale(1.35)translateY(-20%)}to{opacity:0;transform:scale(1.6)translateY(5%)}}@keyframes droplet{0%{opacity:0;transform:translate(0)rotate(-45deg)scale(.3)}24%{opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(-45deg) scale(.8);opacity:0}}@keyframes splashRipple{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(3.3)}}.cells-layer .fresh-hit{animation:.42s cellHitShake}@keyframes cellHitShake{20%{transform:translate(-2px,1px)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,-2px)}80%{transform:translate(1px,1px)}}.hit-mark{z-index:11;text-shadow:0 0 8px #fbc08b,0 0 18px #ff452173}.miss-mark{z-index:6}.fleet-health{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-health div{align-items:center;min-height:38px}.health-ship{grid-template-columns:72px 1fr;align-items:center;gap:8px;min-width:0;display:grid}.health-ship .ship-art{height:20px}.health-ship b{white-space:nowrap;text-overflow:ellipsis;font:800 8px/1 monospace;overflow:hidden}.fleet-health i{color:#33706a;letter-spacing:.08em;font:900 7px/1 monospace}.fleet-health .sunk i{color:#a14b3e}@media (width<=1250px){.placement-layout{grid-template-columns:minmax(310px,.75fr) minmax(560px,1.25fr);gap:32px}.board-shell{width:min(100%,690px)}.boards-grid{gap:18px}.battle-board-panel{padding:18px}}@media (width<=1000px){.placement-layout{grid-template-columns:1fr}.paper-board-wrap{width:100%;max-width:820px;margin:auto}.board-shell{width:min(100%,760px)}}@media (width<=780px){:root,.board-shell{--axis-size:27px}.persistent-turn-banner{grid-template-columns:36px 1fr}.persistent-turn-banner em{grid-column:1/3}.ship-cursor{display:none}.health-ship{grid-template-columns:58px 1fr}}@media (width<=480px){:root,.board-shell{--axis-size:23px}.board-shell .axis,.board-shell .corner{font-size:8px}.ship-list button{grid-template-columns:28px 1fr 90px;padding:0 8px}.ship-list-art{height:28px}.turn-change-toast{padding:16px;top:24%}}:root{--cyan:#67eadb;--violet:#8f7cff;--blue:#54a8ff;--dark:#070914;--panel:#101522;--muted:#98a0b2}html{background:#070914}body{color:#eef2ff;background:radial-gradient(circle at 12% 8%,#5b4dce38,#0000 31%),radial-gradient(circle at 88% 12%,#1eb5c229,#0000 27%),linear-gradient(#090b16 0%,#070914 52%,#080a12 100%);min-height:100dvh}button{border-radius:12px}.app-shell{min-height:100dvh}.topbar{-webkit-backdrop-filter:blur(22px)saturate(1.25);backdrop-filter:blur(22px)saturate(1.25);background:#090b16bd;border-bottom:1px solid #ffffff13;height:64px;padding:0 clamp(18px,3.4vw,56px)}.brand{letter-spacing:-.01em;gap:11px}.brand-mark{color:#fff;background:linear-gradient(135deg,#7768ff,#42d9ce);border:0;border-radius:11px;width:36px;height:36px;transform:none;box-shadow:0 7px 24px #526eff3d}.brand>span:last-child{line-height:1.02}.brand b{letter-spacing:.025em;font-size:14px}.brand small{color:#868da1;letter-spacing:.22em;margin-top:4px;font:700 8px/1 system-ui,sans-serif}.topbar-right{color:#9ca4b9;letter-spacing:0;font:650 12px/1 system-ui,sans-serif}.status-dot{background:#67eadb;width:8px;height:8px;box-shadow:0 0 16px #67eadbb8}footer{color:#737b90;letter-spacing:0;text-transform:none;border-color:#ffffff12;padding:24px 5vw;font:500 12px/1.5 system-ui,sans-serif}.eyebrow{color:#aeb5ca;letter-spacing:.025em;background:#ffffff0e;border:1px solid #ffffff13;border-radius:999px;align-items:center;margin-bottom:18px;padding:7px 11px;font:700 11px/1 system-ui,sans-serif;display:inline-flex}h1{letter-spacing:-.052em}h1 em,h2 em{color:#0000;background:linear-gradient(90deg,#74eee0,#9c8eff);-webkit-background-clip:text;background-clip:text}.modern-home{width:min(1260px,100% - 40px);padding:clamp(52px,7vw,90px) 0 88px}.modern-hero{background:linear-gradient(125deg,#fff1,#ffffff05 48%,#634ecc17),#10121fad;border:1px solid #ffffff17;border-radius:34px;max-width:none;min-height:510px;padding:clamp(42px,6vw,76px);position:relative;overflow:hidden;box-shadow:0 34px 100px #00000047}.modern-hero:before{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff0e,#0000 32%);position:absolute;inset:0}.hero-glow{pointer-events:none;filter:blur(4px);border-radius:50%;position:absolute}.glow-one{aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#786bff7a,#6452e60f 62%,#0000 72%);width:410px;top:-140px;right:-90px}.glow-two{aspect-ratio:1;background:radial-gradient(circle,#2fd8ca40,#0000 69%);width:310px;bottom:-190px;right:170px}.modern-hero>:not(.hero-glow){z-index:1;position:relative}.modern-hero h1{max-width:880px;margin-bottom:22px;font-size:clamp(52px,7vw,88px);line-height:.94}.modern-hero p{color:#aab1c2;max-width:720px;font-size:clamp(16px,1.6vw,19px);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;display:flex}.hero-cta{color:#fff;letter-spacing:0;text-transform:none;background:linear-gradient(135deg,#7568ff,#4fd7cb);border-radius:14px;justify-content:space-between;align-items:center;gap:22px;min-width:210px;padding:15px 18px;font:760 14px/1 system-ui,sans-serif;display:inline-flex;box-shadow:0 16px 38px #505fe63b}.hero-note{color:#8e96aa;align-items:center;gap:9px;font-size:12px;display:inline-flex}.modern-hero .hero-stats{border:0;gap:10px;width:auto;margin:46px 0 0}.modern-hero .hero-stats>div{background:#05081147;border:1px solid #ffffff13;border-radius:15px;min-width:120px;margin:0;padding:13px 16px}.modern-hero .hero-stats b{color:#f5f7ff;font:700 22px/1 system-ui,sans-serif}.modern-hero .hero-stats span{color:#838ca0;letter-spacing:0;text-transform:none;margin-top:5px;font:600 10px/1 system-ui,sans-serif}.game-library{margin-top:64px}.game-library .section-heading{color:#7f879a;letter-spacing:0;border:0;align-items:baseline;margin-bottom:18px;font:500 13px/1 system-ui,sans-serif}.game-library .section-heading b{color:#f2f4fb;letter-spacing:-.025em;font-size:26px}.modern-card{background:#0f121ec2;border:1px solid #ffffff1a;border-radius:28px;min-height:390px;box-shadow:0 24px 70px #00000038}.modern-card:hover{border-color:#72e5da5c;transform:translateY(-5px);box-shadow:0 34px 90px #0000004f}.modern-card .radar-art{background:linear-gradient(#051218a3,#070f16d1),repeating-linear-gradient(0deg,#0000 0 39px,#5fdacd14 40px),repeating-linear-gradient(90deg,#0000 0 39px,#5fdacd14 40px);border-right:1px solid #ffffff14;min-height:390px}.paper-fleet-cover:after{content:"";filter:blur(10px);background:radial-gradient(#5bdbd82e,#0000 68%);border-radius:50%;width:58%;height:38%;position:absolute;bottom:16%;left:21%}.cover-chip{z-index:3;color:#dce5f4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a1294;border:1px solid #ffffff21;border-radius:999px;padding:8px 11px;font:650 11px/1 system-ui,sans-serif;position:absolute;bottom:20px;left:22px}.modern-card .game-card-copy{padding:clamp(34px,5vw,64px)}.modern-card .card-kicker{color:#8f97aa;letter-spacing:0;align-items:center;gap:12px;font:650 11px/1 system-ui,sans-serif;display:flex}.modern-card .live-pill{color:#7cf0e2;background:#46d7c917;border:1px solid #46d7c929;border-radius:999px;padding:6px 9px}.modern-card h2{text-transform:none;margin:24px 0 18px;font-size:clamp(42px,5vw,64px)}.modern-card p{color:#a0a8ba}.modern-card .tags{margin:16px 0 30px}.modern-card .tags span{color:#9ca4b6;letter-spacing:0;text-transform:none;background:#ffffff0e;border:0;border-radius:999px;padding:8px 10px;font:600 10px/1 system-ui,sans-serif}.modern-card .launch{color:#e8ebf5;letter-spacing:0;border-color:#ffffff13;font:700 13px/1 system-ui,sans-serif}.coming-grid{gap:14px;margin-top:14px}.coming{background:#ffffff06;border:1px solid #ffffff13;border-radius:20px;min-height:130px;padding:22px}.coming span,.coming small{color:#737b90;letter-spacing:0;font:550 11px/1.45 system-ui,sans-serif}.coming b{color:#b9bfd0;letter-spacing:-.01em;font:700 16px/1 system-ui,sans-serif}.back-link{color:#969eb0;letter-spacing:0;font:650 12px/1 system-ui,sans-serif}.back-link:hover{color:#e9ecf7}.briefing-card{background-color:#e3dbc3;border:1px solid #ffffff1a;border-radius:28px;overflow:hidden;box-shadow:0 34px 100px #00000052}.briefing-card h1{text-transform:none}.briefing-card label{letter-spacing:0;text-transform:none;font:700 12px/1 system-ui,sans-serif}.briefing-card input{background:#ffffff57;border:1px solid #15383b3b;border-radius:12px;padding:13px 14px}.briefing-card .primary,.invite-box .primary{text-transform:none;letter-spacing:0;border-radius:13px;font-family:system-ui,sans-serif}.divider span{letter-spacing:0;text-transform:none}.join-row input,.join-row button{border-radius:12px}.waiting-panel h1{text-transform:none}.invite-link{border-color:#6ce4d738;border-radius:14px;overflow:hidden}.crew{background:#ffffff06;border-color:#ffffff17;border-radius:16px}.crew b{text-transform:none}.crew small{letter-spacing:0;text-transform:none;font-family:system-ui,sans-serif}.app-shell:has(.battle-page){height:100dvh;min-height:0;overflow:hidden}.app-shell:has(.battle-page) .topbar{height:58px}.app-shell:has(.battle-page) footer{display:none}.battle-page{width:min(1660px,100% - 28px);height:calc(100dvh - 58px);min-height:0;padding:10px 0 14px;overflow:auto}.battle-topline{border-bottom:0;min-height:44px;padding:0 4px 8px}.room-code{background:#ffffff09;border:1px solid #ffffff14;border-radius:13px;gap:9px;padding:5px 7px 5px 12px}.room-code small{color:#8a93a6;font:650 10px/1 system-ui,sans-serif}.room-code b{color:#e7ebf5;letter-spacing:.13em;font-size:14px}.room-code button,.sound-toggle{color:#a4adbf;letter-spacing:0;background:#ffffff09;border-color:#ffffff13;border-radius:9px;padding:7px 9px;font:650 10px/1 system-ui,sans-serif}.sound-toggle:hover,.room-code button:hover{color:#fff;background:#ffffff12}@media (width>=1001px) and (height>=700px){:is(.battle-page:has(.placement-layout),.battle-page:has(.combat)){overflow:hidden}.placement-layout{grid-template-columns:minmax(300px,370px) minmax(0,1fr);align-items:center;gap:clamp(22px,3vw,48px);height:calc(100% - 44px);min-height:0;padding-top:10px}.placement-copy{scrollbar-width:thin;max-height:100%;padding:4px 8px 4px 2px;overflow:auto}.placement-copy h1{text-transform:none;margin:6px 0 10px;font-size:clamp(35px,3.3vw,51px)}.placement-copy>p{max-width:none;margin-bottom:12px;font-size:12px;line-height:1.5}.placement-copy .eyebrow{margin-bottom:6px}.ship-list{gap:5px;margin:12px 0 10px}.ship-list button{background:#ffffff08;border-color:#ffffff14;border-radius:12px;min-height:50px}.ship-list button.active{background:#42d7c912;border-color:#67eadb8a}.ship-list button b{letter-spacing:0;text-transform:none;font-family:system-ui,sans-serif;font-size:11px}.orientation-readout{border-radius:10px;margin:9px 0;padding:9px 11px}.placement-tools{gap:6px}.placement-tools button{letter-spacing:0;text-transform:none;border-radius:9px;padding:8px 9px;font-family:system-ui,sans-serif}.placement-copy .primary.full{border-radius:12px;margin-top:9px;padding:12px}.paper-board-wrap{border-radius:20px;justify-self:center;width:min(100%,100dvh - 145px,780px);padding:clamp(16px,1.8vw,28px)}.paper-board-wrap .board-shell{width:100%}.paper-caption{margin-top:10px}.combat{grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:7px;height:calc(100% - 44px);min-height:0;padding-top:6px;display:grid}.combat-header{align-items:center;min-height:38px;margin:0}.combat-header .eyebrow{display:none}.combat-header h1{text-transform:none;margin:0;font-size:clamp(24px,2.2vw,34px);line-height:1}.turn-lamp{color:#9aa3b5;letter-spacing:0;background:#ffffff0a;border:0;border-radius:999px;padding:8px 11px;font:650 10px/1 system-ui,sans-serif}.persistent-turn-banner{background:#0f141fbd;border-color:#ffffff13;border-radius:14px;grid-template-columns:34px minmax(170px,1fr) auto;gap:10px;min-height:46px;margin:0;padding:7px 12px}.persistent-turn-banner.mine{border-color:#67eadb52;box-shadow:inset 3px 0 #67eadb,0 9px 30px #00000021}.persistent-turn-banner.theirs{box-shadow:inset 3px 0 #8f7cff}.turn-icon{border-radius:9px;width:30px;height:30px;font-size:16px}.persistent-turn-banner div{gap:2px}.persistent-turn-banner small,.persistent-turn-banner em{color:#8790a4;letter-spacing:0;text-transform:none;font:600 9px/1 system-ui,sans-serif}.persistent-turn-banner b{color:#f0f3fb;letter-spacing:0;text-transform:none;font:750 12px/1 system-ui,sans-serif}.persistent-turn-banner.mine b{color:#8ef1e5}.boards-grid{align-items:start;gap:clamp(10px,1.2vw,18px);min-height:0}.battle-board-panel{border-radius:18px;min-height:0;padding:clamp(10px,1.1vw,16px);box-shadow:0 14px 42px #0000002e}.board-title{margin-bottom:6px;padding-bottom:6px}.board-title span{letter-spacing:0;text-transform:none;font:750 11px/1 system-ui,sans-serif}.board-title b{text-transform:none;font:650 9px/1 system-ui,sans-serif}.battle-board-panel .board-shell{width:min(100%,clamp(330px,100dvh - 430px,555px))}.fleet-health{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:6px}.fleet-health div{min-height:26px;padding-top:4px;display:block;overflow:hidden}.health-ship{grid-template-columns:1fr;gap:1px}.health-ship .ship-art{height:13px}.health-ship b{display:none}.fleet-health i{letter-spacing:0;text-align:center;text-transform:none;margin-top:2px;font:750 6px/1 system-ui,sans-serif;display:block}.weapons-console{background:#0e121de0;border-color:#ffffff13;border-radius:16px;grid-template-columns:92px minmax(0,1fr) minmax(115px,155px);gap:8px;min-height:70px;margin:0;padding:7px 8px;box-shadow:0 12px 32px #00000021}.console-title{gap:3px}.console-title span{color:#e5e8f2;letter-spacing:0;font:750 12px/1 system-ui,sans-serif}.console-title b{color:#788196;font:550 9px/1.25 system-ui,sans-serif}.weapons{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weapons button{background:#ffffff06;border-color:#ffffff12;border-radius:11px;grid-template-columns:24px minmax(0,1fr) 18px;gap:4px;min-width:0;min-height:54px;padding:5px 6px}.weapons button:hover:not(:disabled){background:#ffffff0e}.weapons button.active{background:linear-gradient(135deg,#67eadb17,#8f7cff0f);border-color:#67eadb7a;box-shadow:inset 0 0 24px #67eadb09}.weapons button strong{color:#a3adc0;font-size:17px}.weapons button b{text-overflow:ellipsis;color:#dfe3ee;letter-spacing:0;white-space:nowrap;text-transform:none;font:700 9px/1 system-ui,sans-serif;overflow:hidden}.weapons button small{text-overflow:ellipsis;color:#7d8699;white-space:nowrap;font:550 7px/1 system-ui,sans-serif;overflow:hidden}.weapons button em{color:#919bad;font:750 10px/1 system-ui,sans-serif}.sonar-report{border-color:#ffffff14;min-width:0;padding-left:9px}.sonar-report span,.sonar-report small{color:#798296;font:550 7px/1.2 system-ui,sans-serif}.sonar-report b{color:#79ecdf;font:750 13px/1.25 system-ui,sans-serif}.combat-log{border-color:#ffffff12;align-items:center;gap:12px;min-height:30px;margin:0;padding:5px 8px 0;display:flex;overflow:hidden}.combat-log>span{color:#747d91;letter-spacing:0;text-transform:none;flex:none;font:650 9px/1 system-ui,sans-serif}.combat-log div{border:0;flex:1;align-items:center;gap:6px;min-width:0;padding:0;display:flex}.combat-log time{flex:none;font:550 8px/1 system-ui,sans-serif}.combat-log p{text-overflow:ellipsis;white-space:nowrap;color:#8d96a9;font:550 9px/1 system-ui,sans-serif;overflow:hidden}}.turn-change-toast{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d111cf0;border:1px solid #ffffff1f;border-radius:16px;gap:4px;min-width:min(430px,100vw - 32px);padding:12px 18px;top:92px;transform:translate(-50%);box-shadow:0 18px 60px #0000006b}.turn-change-toast.mine{border-color:#67eadb85}.turn-change-toast.theirs{border-color:#8f7cff7a}.turn-change-toast small,.turn-change-toast span{color:#8d96aa;letter-spacing:0;text-transform:none;font:600 9px/1.2 system-ui,sans-serif}.turn-change-toast b{color:#f4f6fc;letter-spacing:-.02em;text-transform:none;font:780 clamp(20px,2.4vw,31px)/1 system-ui,sans-serif}.turn-change-toast.mine b{color:#7ef0e2}.floating-message{letter-spacing:0;border-radius:12px;font-family:system-ui,sans-serif;bottom:18px}@media (width<=1180px) and (width>=1001px){.weapons-console{grid-template-columns:78px minmax(0,1fr)}.sonar-report{display:none}.weapons button{grid-template-columns:20px minmax(0,1fr) 16px;padding-inline:4px}.weapons button strong{font-size:14px}}@media (width<=1000px){.app-shell:has(.battle-page){height:auto;overflow:visible}.app-shell:has(.battle-page) .topbar{height:62px}.battle-page{height:auto;min-height:calc(100dvh - 62px);overflow:visible}.modern-hero{min-height:0;padding:40px 28px}.modern-card{border-radius:22px}.modern-card .radar-art{border-right:0}.weapons{grid-template-columns:repeat(4,1fr)}}@media (width<=780px){.modern-home{width:min(100% - 24px,1260px);padding-top:24px}.modern-hero{border-radius:24px}.modern-hero h1{font-size:clamp(45px,13vw,70px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-cta,.modern-hero .hero-stats{width:100%}.modern-card .game-card-copy{padding:28px 22px}.game-library{margin-top:38px}.turn-change-toast{top:76px}}@media (width<=520px){.modern-hero{padding:30px 20px}.modern-hero .hero-stats{flex-wrap:wrap}.modern-hero .hero-stats>div{min-width:calc(50% - 6px)}.weapons{grid-template-columns:repeat(2,1fr)}}.ship-sprite.enemy-wreck{opacity:.94;z-index:4;filter:grayscale(.56)sepia(.48)saturate(.74)brightness(.72)contrast(1.22)drop-shadow(0 5px 6px #3611099e);animation:.72s cubic-bezier(.2,.8,.2,1) both wreckReveal}.ship-sprite.enemy-wreck .ship-art{filter:sepia(.48)saturate(.72)brightness(.76)contrast(1.18)}.ship-sprite.enemy-wreck .ship-wake{opacity:.18}.wreck-burn{pointer-events:none;position:absolute;inset:0;overflow:visible}.wreck-burn i{aspect-ratio:1;background:radial-gradient(circle at 50% 65%,#ffe0a0 0 17%,#ff7a3c 22% 46%,#74180eb8 52% 64%,#0000 70%);border-radius:50% 50% 45% 55%;width:12%;animation:1.1s ease-in-out infinite alternate wreckFire;position:absolute;box-shadow:0 0 10px #ff5b30b3,0 -8px 14px #2d2a286b}.wreck-burn i:first-child{top:32%;left:24%}.wreck-burn i:nth-child(2){animation-delay:-.35s;top:46%;left:52%;transform:scale(.8)}.wreck-burn i:nth-child(3){animation-delay:-.7s;top:28%;left:72%;transform:scale(.62)}@keyframes wreckReveal{0%{opacity:0;filter:brightness(2.4)saturate(2);transform:scale(.86)}45%{opacity:1;transform:scale(1.035)}to{opacity:.94;transform:scale(1)}}@keyframes wreckFire{0%{opacity:.62;translate:0 2px;scale:.86}to{opacity:1;translate:0 -2px;scale:1.12}}.sunk-cinematic{background:linear-gradient(145deg,#1a1417f5,#0a0f15f5);border:1px solid #ff77526b;border-radius:24px;grid-template-columns:minmax(160px,1fr) auto;grid-template-areas:"ship small""ship title";align-items:center;gap:4px 24px;width:min(560px,100vw - 42px);padding:24px 30px 26px;animation:.82s cubic-bezier(.18,.8,.2,1) both sunkCardIn;display:grid;box-shadow:0 30px 100px #0000008c,0 0 70px #ff502c1f}.sunk-ships-preview{grid-area:ship;align-items:center;gap:6px;display:grid}.sunk-cinematic .ship-art{filter:grayscale(.55)sepia(.5)brightness(.75)drop-shadow(0 10px 12px #0000008c);width:100%;height:58px}.sunk-ships-preview .ship-art+.ship-art{opacity:.86;height:42px}.sunk-cinematic small{color:#ff9b79;letter-spacing:.09em;text-transform:uppercase;grid-area:small;font:700 10px/1 system-ui,sans-serif}.sunk-cinematic b{color:#fff4ef;letter-spacing:-.025em;white-space:nowrap;grid-area:title;font:800 clamp(22px,3vw,34px)/1.05 system-ui,sans-serif}@keyframes sunkCardIn{0%{opacity:0;transform:translateY(20px)scale(.9)}38%{opacity:1;transform:translateY(0)scale(1.035)}to{opacity:0;transform:translateY(-6px)scale(1)}}.series-score{color:#eef3fb;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:18px;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);align-items:center;gap:12px;min-width:min(430px,100vw - 38px);padding:14px 18px 12px;display:grid;position:relative}.series-score .score-player{justify-content:flex-start;align-items:center;gap:12px;min-width:0;display:flex}.series-score .score-player.mine{justify-content:flex-end}.series-score small{color:#a1aabd;text-overflow:ellipsis;white-space:nowrap;font:650 12px/1 system-ui,sans-serif;overflow:hidden}.series-score b,.result-banner .series-score b{color:#f7f9ff;letter-spacing:-.04em;margin:0;font:850 30px/1 system-ui,sans-serif}.series-score .mine b{color:#79ecdf}.series-score>i{color:#596276;font:500 17px/1 system-ui,sans-serif}.series-score>em{color:#7e889e;white-space:nowrap;background:#111724;border-radius:999px;padding:2px 8px;font:650 8px/1 system-ui,sans-serif;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.series-score.compact{border-radius:12px;gap:7px;width:fit-content;min-width:220px;padding:7px 11px 6px}.series-score.compact small{max-width:86px;font-size:9px}.series-score.compact b,.result-banner .series-score.compact b{font-size:18px}.series-score.compact>em{font-size:7px;bottom:-6px}.placement-copy>.series-score{margin:0 0 14px}.result-banner{padding:22px;overflow:auto}.result-banner>small{color:#9099ab;letter-spacing:.12em;text-transform:uppercase;font:700 10px/1 system-ui,sans-serif}.result-banner>b{color:var(--cyan);letter-spacing:-.055em;margin:12px 0 16px;font:850 clamp(46px,7vw,84px)/.92 system-ui,sans-serif}.result-banner.lost>b{color:#ff7968}.result-banner>.series-score{margin-bottom:20px}.rematch-panel{background:#ffffff0b;border:1px solid #ffffff17;border-radius:20px;width:min(470px,100vw - 38px);padding:18px;box-shadow:0 18px 55px #00000029}.rematch-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.rematch-heading span{color:#f1f4fb;font:760 18px/1 system-ui,sans-serif}.rematch-heading strong{color:#79ecdf;text-align:center;font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:10px;min-width:58px;padding:7px 9px;font:800 16px/1 system-ui,sans-serif}.rematch-panel p{color:#929bae;margin:12px 0 14px;font:550 12px/1.55 system-ui,sans-serif}.rematch-panel .rematch-expired{color:#a98f91}.result-banner .rematch-panel button{letter-spacing:0;text-transform:none;border-radius:12px;width:100%;margin:0;padding:12px 14px;font:720 12px/1 system-ui,sans-serif}.result-banner .rematch-primary{color:#a5f8ee;background:linear-gradient(135deg,#67eadb2e,#5bb1cc1c);border:1px solid #67eadb8c}.result-banner .rematch-primary:hover:not(:disabled){background:linear-gradient(135deg,#67eadb42,#5bb1cc2b)}.result-banner .rematch-primary:disabled{opacity:.58}.result-banner .rematch-secondary{color:#919aad;background:0 0;border:1px solid #ffffff14;margin-top:8px}.result-banner .rematch-secondary:hover{color:#dfe4ef;background:#ffffff09}@media (width>=1001px) and (height>=700px){.combat-header{gap:12px}.combat-header>:first-child{flex:auto}.combat-header>.series-score,.combat-header>.turn-lamp{flex:none}}@media (width<=1000px){.combat-header .series-score.compact{align-self:flex-start}.sunk-cinematic{text-align:center;grid-template-columns:1fr;grid-template-areas:"ship""small""title"}.sunk-cinematic b{white-space:normal}}@media (width<=520px){.series-score{gap:7px;width:100%;min-width:0;padding-inline:10px}.series-score small{max-width:90px;font-size:10px}.series-score b,.result-banner .series-score b{font-size:24px}.sunk-cinematic{padding:18px}.sunk-cinematic .ship-art{height:58px}.result-banner{justify-content:flex-start;padding-top:72px}}.join-loading{color:#9db4b0;letter-spacing:.08em;justify-content:center;align-items:center;gap:12px;min-height:55vh;display:flex}.racing-library-card{background:linear-gradient(135deg,#091726,#0c1320 48%,#160f1c);border-color:#4974ae7a;margin-top:18px}.racing-library-card:hover{border-color:#45c9ff;box-shadow:0 25px 80px #0050a038}.racing-live{color:#59d8ff}.racing-cover{background:radial-gradient(circle at 72% 32%,#33d3ff2e,#0000 25%),radial-gradient(circle at 24% 72%,#ff389c26,#0000 28%),linear-gradient(145deg,#0d1d31 0%,#080d17 62%,#160d19 100%);border-right:1px solid #4b80bb52;min-height:410px;position:relative;overflow:hidden}.racing-cover:before{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff0d 49%,#0000 55%);position:absolute;inset:-15%;transform:rotate(-8deg)}.racing-cover-track{border:34px solid #263343;border-radius:50%;width:520px;height:260px;position:absolute;top:50%;left:50%;transform:translate(-52%,-47%)rotate(-12deg);box-shadow:0 0 0 6px #d6e0e7,0 0 0 13px #29313c,inset 0 0 30px #06090d}.racing-cover-track:before{content:"";border:2px dashed #ffffff47;border-radius:50%;position:absolute;inset:-27px}.cover-car{transform-origin:50%;border-radius:14px 18px 11px 11px;width:62px;height:31px;position:absolute;box-shadow:0 8px 22px #00000080}.cover-car:before{content:"";background:#142232;border-radius:8px;width:24px;height:21px;position:absolute;top:5px;left:18px;box-shadow:inset 0 0 0 3px #aee5ff66}.cover-car:after{content:"";filter:blur(3px);background:currentColor;width:26px;height:3px;position:absolute;inset:4px -14px auto auto;box-shadow:12px 0 7px,24px 0 12px}.cover-car-a{color:#24cdf7;background:#24cdf7;top:38%;left:28%;transform:rotate(19deg)}.cover-car-b{color:#ff477e;background:#ff477e;top:65%;left:54%;transform:rotate(-29deg)}.racing-cover-speed{background:repeating-linear-gradient(112deg,#0000 0 70px,#53cdff12 71px 73px,#0000 74px 118px);animation:2.7s linear infinite raceCoverSpeed;position:absolute;inset:0}@keyframes raceCoverSpeed{to{transform:translate(118px)}}.racing-entry{flex:1;width:min(1380px,100% - 36px);margin:0 auto;padding:42px 0 90px}.racing-entry-card{background:#070f19c7;border:1px solid #5b97d252;border-radius:28px;grid-template-columns:1.15fr .85fr;min-height:650px;margin:34px auto 0;display:grid;overflow:hidden;box-shadow:0 35px 110px #0006}.racing-entry-art{background:radial-gradient(circle at 25% 20%,#1bbfff3b,#0000 30%),radial-gradient(circle at 80% 74%,#ff368c2e,#0000 31%),linear-gradient(135deg,#0a1b2d,#08111c 56%,#16101b);min-height:650px;position:relative;overflow:hidden}.racing-entry-art:before{content:"";background:linear-gradient(90deg,#2f1a10,#734832,#312017);height:20%;position:absolute;bottom:8%;left:10%;right:10%;transform:perspective(400px)rotateX(65deg);box-shadow:0 -40px 100px #0009}.racing-entry-art>span{color:#ffffffa6;letter-spacing:.3em;font:900 11px/1 monospace;position:absolute;bottom:8%;left:8%}.track-ribbon{border:42px solid #2a3543;border-radius:50%;position:absolute;box-shadow:0 0 0 6px #d8e0e5,0 0 0 11px #25303b}.track-one{width:640px;height:360px;top:19%;left:-8%;transform:rotate(-12deg)}.track-two{border-width:34px;width:330px;height:210px;top:35%;left:34%;transform:rotate(21deg)}.micro-car{z-index:3;border-radius:22px 29px 15px 15px;width:92px;height:46px;position:absolute;box-shadow:0 18px 32px #0000008c}.micro-car:before{content:"";background:#102437;border-radius:12px;width:39px;height:29px;position:absolute;top:7px;left:30px;box-shadow:inset 0 0 0 4px #beebff6b}.micro-car i{background:#05070a;border-radius:6px;width:16px;height:9px;position:absolute;bottom:-5px}.micro-car i:first-child{left:14px}.micro-car i:last-child{right:14px}.car-blue{background:linear-gradient(90deg,#178ec9,#2fe2ff);top:36%;left:22%;transform:rotate(16deg)}.car-pink{background:linear-gradient(90deg,#a6174c,#ff4e91);top:61%;right:17%;transform:rotate(-34deg)}.speed-lines{background:repeating-linear-gradient(115deg,#0000 0 63px,#50ceff0e 64px 66px,#0000 67px 105px);animation:2s linear infinite raceCoverSpeed;position:absolute;inset:0}.racing-entry-copy{flex-direction:column;justify-content:center;padding:clamp(36px,5vw,74px);display:flex}.racing-kicker{color:#56c6ff;text-transform:uppercase;letter-spacing:.18em;font:800 10px/1 monospace}.racing-entry-copy h1{margin:19px 0 22px;font-size:clamp(54px,6vw,86px)}.racing-entry-copy>p{color:#98aabc;max-width:590px;font-size:16px;line-height:1.75}.racing-entry-copy label{color:#71879a;text-transform:uppercase;letter-spacing:.14em;flex-direction:column;margin-top:24px;font:700 10px/1 monospace;display:flex}.racing-entry-copy input{color:#eaf7ff;background:#08111b;border:1px solid #263b51;border-radius:11px;outline:none;margin-top:9px;padding:15px 16px}.racing-entry-copy input:focus{border-color:#42c9ff;box-shadow:0 0 0 3px #42c9ff14}.racing-entry-actions{gap:12px;margin-top:25px;display:grid}.race-primary{color:#03131b;background:linear-gradient(135deg,#6ae6ff,#28b9ff);border:0;border-radius:12px;padding:16px 21px;font-weight:900;box-shadow:0 15px 35px #19a8ff33}.race-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.race-primary:disabled{opacity:.5}.race-join-row{grid-template-columns:1fr auto;gap:8px;display:grid}.race-join-row input{letter-spacing:.2em;text-transform:uppercase;margin:0}.race-join-row button{color:#a8c3d9;background:#0d1c2b;border:1px solid #2d465e;border-radius:11px;padding:0 20px}.racing-invite-box{background:#132d4461;border:1px solid #28445d;border-radius:16px;grid-template-columns:1fr auto;gap:8px 14px;margin-top:25px;padding:18px;display:grid}.racing-invite-box small{color:#7292aa}.racing-invite-box b{color:#eaf8ff;letter-spacing:.22em;font-size:27px}.racing-invite-box .race-primary{grid-area:1/2/3}.racing-entry-meta{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.racing-entry-meta span{color:#6f889c;text-transform:uppercase;border:1px solid #25394d;border-radius:99px;padding:7px 9px;font:700 9px/1 monospace}.race-error{color:#ff9a9a;background:#590d1d40;border:1px solid #ff556861;border-radius:10px;margin-top:14px;padding:11px 13px;font-size:12px}.racing-lobby{color:#eaf5fc;width:min(1500px,100% - 32px);margin:0 auto;padding:26px 0 80px;position:relative}.racing-lobby-bg{z-index:-1;background:radial-gradient(circle at 12% 22%,#1d99ee29,#0000 29%),radial-gradient(circle at 86% 72%,#fe3a8e1f,#0000 28%),linear-gradient(#06101a,#09131f 50%,#070c13);position:fixed;inset:72px 0 0}.race-lobby-header{grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:26px;display:grid}.race-lobby-header>div:nth-child(2){text-align:center;flex-direction:column;gap:5px;display:flex}.race-lobby-header>div:nth-child(2) span{color:#657f94;text-transform:uppercase;letter-spacing:.19em;font:800 9px/1 monospace}.race-lobby-header>div:nth-child(2) b{letter-spacing:.18em}.race-room-chip{background:#08121cbd;border:1px solid #263e52;border-radius:12px;justify-self:end;align-items:center;gap:10px;padding:8px 10px;display:flex}.race-room-chip small{color:#60778b}.race-room-chip b{letter-spacing:.16em;color:#63d8ff}.race-room-chip button{color:#8fdfff;background:#123248;border:0;border-radius:7px;padding:7px 9px}.race-lobby-grid{grid-template-columns:1.1fr .9fr;gap:20px;display:grid}.glass-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(150deg,#101f2fe0,#070f18e6);border:1px solid #547ea447;border-radius:24px;box-shadow:0 30px 90px #00000040}.garage-panel,.paddock-panel{padding:clamp(24px,3vw,42px)}.race-section-label{color:#4dcaf9;letter-spacing:.2em;text-transform:uppercase;font:800 9px/1 monospace}.garage-panel h1{margin:11px 0 24px;font-size:clamp(40px,4vw,60px)}.garage-panel h1 em{color:#5fd7ff}.paddock-panel h2{color:#eef8fe;margin:12px 0 20px;font-size:32px}.car-selector{grid-template-columns:1fr 1fr;gap:10px;display:grid}.car-selector>button{color:#cfe3f1;text-align:left;background:#06101ac2;border:1px solid #273c50;border-radius:17px;grid-template-columns:1fr 1fr;gap:9px;min-height:195px;padding:17px;transition:all .2s;display:grid;overflow:hidden}.car-selector>button:hover{border-color:#467ca2;transform:translateY(-2px)}.car-selector>button.selected{border-color:#48d3ff;box-shadow:inset 0 0 38px #19b7ff14,0 10px 35px #0003}.car-selector>button>span{flex-direction:column;align-self:end;gap:3px;display:flex}.car-selector>button>span b{font-size:15px}.car-selector>button>span small{color:#708ba0;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.car-preview{--car-color:#27d6ff;filter:drop-shadow(0 18px 16px #0000006b);grid-column:1/3;width:126px;height:58px;margin:6px auto 10px;position:relative;transform:rotate(-8deg)}.car-preview .car-body{background:linear-gradient(90deg,color-mix(in srgb,var(--car-color),#111 16%),var(--car-color));border-radius:24px 31px 15px 15px;position:absolute;inset:13px 3px 9px;box-shadow:inset 0 0 0 2px #ffffff21}.car-preview .car-glass{background:#102639;border-radius:12px;width:48px;height:31px;position:absolute;top:14px;left:46px;box-shadow:inset 0 0 0 3px #9adfff47}.car-preview .wheel{background:#030609;border-radius:5px;width:18px;height:10px;position:absolute}.car-preview .w1{top:5px;left:18px}.car-preview .w2{top:5px;right:18px}.car-preview .w3{bottom:1px;left:18px}.car-preview .w4{bottom:1px;right:18px}.car-preview.speed{transform:rotate(-8deg)scaleX(1.07)scaleY(.92)}.car-preview.heavy{transform:rotate(-8deg)scale(1.06)}.car-preview.drift .car-body{border-radius:30px 22px 19px 19px}.car-stats{align-self:end;gap:5px;display:grid}.car-stats div{grid-template-columns:28px 1fr;align-items:center;gap:5px;display:grid}.car-stats span{color:#577088;font:800 7px/1 monospace}.car-stats i{background:#152637;border-radius:99px;height:4px;overflow:hidden}.car-stats b{background:#51d5ff;height:100%;display:block}.paint-row{border-top:1px solid #1d3244;align-items:center;gap:10px;margin-top:18px;padding-top:18px;display:flex}.paint-row>span{color:#6e879a;text-transform:uppercase;letter-spacing:.12em;margin-right:4px;font:800 9px/1 monospace}.paint-row button{--paint:#fff;background:var(--paint);border:3px solid #0000;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1px #ffffff26}.paint-row button.active{box-shadow:0 0 0 2px var(--paint),0 0 20px color-mix(in srgb,var(--paint),transparent 40%);border-color:#fff}.pilot-list{gap:9px;display:grid}.pilot-slot{background:#09131e;border:1px solid #23394d;border-radius:13px;grid-template-columns:36px 8px 1fr auto;align-items:center;gap:10px;min-height:67px;padding:10px 13px;display:grid}.pilot-slot.ready{background:#12394c59;border-color:#44d7ff8c}.pilot-slot.empty{opacity:.42;grid-template-columns:36px 1fr}.pilot-number{color:#4b657a;font:800 13px/1 monospace}.pilot-slot>i{border-radius:7px;width:7px;height:32px}.pilot-slot div{flex-direction:column;gap:4px;display:flex}.pilot-slot div b{font-size:13px}.pilot-slot div small{color:#607a8f}.pilot-slot strong{letter-spacing:.12em;color:#557084;font:900 8px/1 monospace}.track-card{background:linear-gradient(135deg,#0d2233,#0b1520);border:1px solid #253c50;border-radius:15px;grid-template-columns:120px 1fr;gap:16px;margin-top:18px;padding:13px;display:grid}.track-card-map{color:#5bcff9;background:#071019;border-radius:10px;height:78px;padding:8px}.track-card-map svg{width:100%;height:100%}.track-card>div:last-child{flex-direction:column;justify-content:center;gap:4px;display:flex}.track-card span,.track-card small{color:#647e92;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.ready-button{color:#76ddff;letter-spacing:.09em;background:linear-gradient(135deg,#143d55,#0d2638);border:1px solid #3488b0;border-radius:14px;width:100%;margin-top:20px;padding:17px;font-weight:900}.ready-button.ready{color:#c8ffff;background:linear-gradient(135deg,#155f6a,#0d3d4a);border-color:#5fe7ee}.ready-hint{text-align:center;color:#60798d;margin:10px 10px 0;font-size:10px;line-height:1.5}.race-error.inline{margin-top:12px}.race-runtime{z-index:80;color:#fff;-webkit-user-select:none;user-select:none;background:#061019;position:fixed;inset:0;overflow:hidden}.race-scene,.race-webgl{width:100%;height:100%;display:block}.race-scene{position:absolute;inset:0}.race-vignette{pointer-events:none;background:linear-gradient(#02070cb8,#0000 18% 72%,#02070cc7),radial-gradient(circle,#0000 53%,#0105095c 100%);position:absolute;inset:0}.race-hud-top{pointer-events:none;grid-template-columns:auto 105px 135px 190px 110px;align-items:stretch;gap:8px;height:64px;display:grid;position:absolute;top:18px;left:22px;right:22px}.race-hud-top>*{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#040c13c9;border:1px solid #67abd240;box-shadow:0 10px 30px #00000038}.race-logo{pointer-events:auto;color:#fff;text-align:left;background:#040c13c9;border:1px solid #67abd240;border-radius:12px;flex-direction:column;padding:8px 18px;display:flex}.race-position,.race-lap,.race-clock,.race-room-mini{border-radius:12px;flex-direction:column;justify-content:center;align-items:center;display:flex}.race-position strong{color:#5fdcff;font-size:29px;line-height:.9}.race-position span,.race-lap span,.race-clock span,.race-room-mini span{color:#638095;letter-spacing:.17em;margin-bottom:5px;font:800 7px/1 monospace}.race-lap b{font-size:23px}.race-lap i{color:#637a8d;font-size:14px;font-style:normal}.race-clock b{letter-spacing:.03em;font:850 19px/1 monospace}.race-room-mini b{letter-spacing:.15em;color:#a7c7d9;font:850 13px/1 monospace}.race-standings{gap:5px;width:210px;display:grid;position:absolute;top:96px;left:22px}.race-standings>div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#9fb3c2;background:#040c13b3;border:1px solid #5281a033;border-radius:8px;grid-template-columns:25px 5px 1fr auto;align-items:center;gap:7px;height:38px;padding:0 10px;display:grid}.race-standings>div.me{color:#fff;background:#0d3043bd;border-color:#4fd2ff80}.race-standings strong{font:900 13px/1 monospace}.race-standings i{border-radius:6px;height:22px}.race-standings span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800;overflow:hidden}.race-standings small{color:#668195;font:800 8px/1 monospace}.race-minimap{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#6edcff;background:#040c13b8;border:1px solid #568eb13d;border-radius:13px;width:190px;height:132px;padding:10px;position:absolute;top:96px;right:22px}.race-minimap svg{filter:drop-shadow(0 0 6px #3dccff40);width:100%;height:100%}.race-hud-bottom{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040b12c7;border:1px solid #5a99bf40;border-radius:18px;grid-template-columns:210px 210px 1fr 210px;gap:8px;width:min(940px,100% - 44px);min-height:92px;padding:9px;display:grid;position:absolute;bottom:23px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000059}.driver-card{background:#091521;border-radius:11px;grid-template-columns:8px 1fr;align-items:center;gap:11px;padding:8px 12px;display:grid}.driver-color{border-radius:8px;height:52px}.driver-card div{flex-direction:column;gap:5px;display:flex}.driver-card small{color:#658094;letter-spacing:.09em;text-transform:uppercase;font:800 8px/1 monospace}.driver-card b{font-size:13px}.speed-cluster{grid-template-columns:auto 1fr;align-items:end;column-gap:7px;padding:7px 10px;display:grid;position:relative}.speed-cluster strong{letter-spacing:-.07em;font-size:42px;font-style:italic;line-height:.9}.speed-cluster span{color:#65a7c5;margin-bottom:5px;font:900 8px/1 monospace}.speed-bar{background:#132635;border-radius:99px;grid-column:1/3;height:6px;margin-top:8px;overflow:hidden}.speed-bar i{background:linear-gradient(90deg,#21aaff,#52e5ff);height:100%;display:block}.drift-cluster{flex-direction:column;justify-content:center;gap:7px;padding:10px;display:flex}.drift-cluster>span{color:#69869a;letter-spacing:.12em;font:800 8px/1 monospace}.drift-cluster>div{background:#122432;border-radius:99px;height:8px;overflow:hidden}.drift-cluster i{background:linear-gradient(90deg,#2bc2ff,#ca6dff);height:100%;display:block;box-shadow:0 0 12px #5bd5ff}.drift-cluster small{color:#587286;font:700 8px/1 monospace}.power-slot{color:#dcedf6;text-align:left;background:linear-gradient(135deg,#0b1b29,#0a1119);border:1px solid #284358;border-radius:12px;grid-template-columns:52px 1fr;align-items:center;gap:8px;padding:8px;display:grid}.power-slot>span{color:#6bdcff;background:#123149;border-radius:12px;place-items:center;width:46px;height:46px;font-size:25px;display:grid;box-shadow:inset 0 0 20px #26bcff1f}.power-slot>div{flex-direction:column;gap:3px;display:flex}.power-slot small,.power-slot em{color:#59758a;letter-spacing:.1em;font:800 7px/1 monospace}.power-slot b{font-size:12px}.power-slot:disabled{opacity:.56}.power-slot:not(:disabled){border-color:#46b7e9;box-shadow:0 0 22px #1faceb1f}.power-slot.power-overdrive>span{color:#ff80d8;background:#391638}.power-slot.power-mine>span,.power-slot.power-missile>span{color:#ff8c69;background:#3a1c18}.power-slot.power-shield>span{color:#70ffdf;background:#103631}.race-controls-hint{color:#d5e8f394;letter-spacing:.08em;text-shadow:0 1px 4px #000;font:750 8px/1 monospace;position:absolute;bottom:126px;left:50%;transform:translate(-50%)}.race-controls-hint kbd{color:#a7cfdf;background:#050d14b3;border:1px solid #97c5de59;border-radius:5px;margin:0 5px 0 10px;padding:4px 6px}.race-countdown{pointer-events:none;background:radial-gradient(circle,#04192729,#02080d5c);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.race-countdown small{letter-spacing:.3em;color:#89cce8;font:900 10px/1 monospace}.race-countdown b{letter-spacing:-.08em;text-shadow:0 18px 65px #0000008c,0 0 42px #37ccff2e;font-size:clamp(130px,20vw,290px);font-style:italic;line-height:.85;animation:.7s cubic-bezier(.2,.8,.2,1) countPop}.race-countdown.go b{color:#63e6ff;text-shadow:0 0 55px #34d7ff99}.race-countdown span{color:#7693a5;text-transform:uppercase;letter-spacing:.18em;margin-top:20px;font-size:10px;font-weight:800}@keyframes countPop{0%{opacity:0;transform:scale(.55)}40%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.race-event-toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051019d1;border:1px solid #54b0da57;border-radius:10px;max-width:480px;padding:11px 17px;font-size:11px;font-weight:800;animation:3.2s both raceToast;position:absolute;top:94px;left:50%;transform:translate(-50%)}.race-event-toast.hit{color:#ffb0b4;border-color:#ff5e6585}.race-event-toast.pickup,.race-event-toast.power{color:#9eeeff;border-color:#57ddff80}@keyframes raceToast{0%{opacity:0;transform:translate(-50%,-10px)}12%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-5px)}}.race-error.floating{z-index:20;max-width:500px;margin:0;position:absolute;bottom:142px;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #00000059}.race-results-overlay{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#01060ab8;place-items:center;display:grid;position:absolute;inset:0}.race-results-card{background:linear-gradient(145deg,#0c1c2af5,#050c13f7);border:1px solid #5fa3c75c;border-radius:25px;width:min(840px,100% - 36px);padding:clamp(25px,4vw,48px);box-shadow:0 40px 120px #0000008c}.results-kicker{color:#61cff5;letter-spacing:.2em;text-transform:uppercase;font:800 9px/1 monospace}.race-results-card h2{letter-spacing:-.05em;color:#fff;margin:12px 0 25px;font-size:clamp(42px,6vw,70px)}.results-table{gap:7px;display:grid}.results-table>div{background:#09141f;border:1px solid #213748;border-radius:12px;grid-template-columns:36px 8px 1fr 110px 70px;align-items:center;gap:11px;min-height:64px;padding:8px 12px;display:grid}.results-table>div.winner{background:linear-gradient(90deg,#744e124d,#0a1620);border-color:#e3bc54}.results-table>div>strong{font-size:22px}.results-table>div>i{border-radius:7px;height:38px}.results-table>div>span{flex-direction:column;gap:4px;display:flex}.results-table span b{font-size:13px}.results-table span small{color:#637d90;font-size:9px}.results-table em{font:800 11px/1 monospace}.results-table u{color:#63d7ff;font:900 11px/1 monospace;text-decoration:none}.results-footer{border-top:1px solid #213747;grid-template-columns:1fr auto;gap:18px;margin-top:22px;padding-top:18px;display:grid}.results-footer>div:first-child{flex-direction:column;gap:7px;display:flex}.results-footer span,.rematch-actions small{color:#607c8f;text-transform:uppercase;letter-spacing:.1em;font:800 8px/1.4 monospace}.results-footer b{color:#b6d0df;font-size:11px}.rematch-actions{text-align:right;grid-template-columns:1fr 1fr;gap:7px;display:grid}.rematch-actions small{grid-column:1/3}.rematch-actions button{color:#04131b;background:#47cfff;border:0;border-radius:9px;padding:11px 13px;font-weight:900}.rematch-actions button.secondary{color:#8ba8b9;background:#172736}.rematch-actions button:disabled{opacity:.5}.mobile-race-controls{display:none}@media (width<=1000px){.racing-entry-card,.race-lobby-grid{grid-template-columns:1fr}.racing-entry-art{min-height:420px}.racing-entry-card{min-height:0}.racing-cover{border-bottom:1px solid #4b80bb52;border-right:0}.race-hud-top{grid-template-columns:auto 80px 100px 150px}.race-room-mini{display:none}.race-standings{width:180px}.race-minimap{width:160px;height:112px}.race-hud-bottom{grid-template-columns:170px 170px 1fr 180px}}@media (width<=760px){.racing-entry{width:calc(100% - 20px);padding-top:20px}.racing-entry-art{min-height:340px}.racing-entry-copy{padding:30px 22px}.racing-invite-box{grid-template-columns:1fr}.racing-invite-box .race-primary{grid-area:auto/1}.car-selector{grid-template-columns:1fr}.car-selector>button{grid-template-columns:1fr 1fr}.race-lobby-header{grid-template-columns:1fr auto}.race-lobby-header>div:nth-child(2){display:none}.race-lobby-grid{gap:12px}.garage-panel,.paddock-panel{padding:22px 16px}.race-hud-top{grid-template-columns:auto 65px 78px 122px;height:53px;top:9px;left:10px;right:10px}.race-logo{padding:7px 10px}.race-logo b{font-size:16px}.race-position strong{font-size:21px}.race-lap b{font-size:17px}.race-clock b{font-size:14px}.race-standings{width:150px;top:70px;left:10px}.race-standings>div{grid-template-columns:18px 4px 1fr auto;height:31px;padding:0 7px}.race-standings i{height:16px}.race-standings span{font-size:9px}.race-minimap{width:120px;height:85px;padding:6px;top:70px;right:10px}.race-hud-bottom{grid-template-columns:110px 120px 1fr 120px;width:calc(100% - 20px);min-height:72px;padding:6px;bottom:9px}.driver-card{gap:6px;padding:5px 7px}.driver-color{height:38px}.driver-card b{font-size:9px}.speed-cluster strong{font-size:30px}.drift-cluster{padding:5px}.power-slot{grid-template-columns:35px 1fr;padding:5px}.power-slot>span{width:32px;height:32px;font-size:18px}.power-slot b{font-size:9px}.race-controls-hint{display:none}.mobile-race-controls{pointer-events:none;grid-template-columns:1fr 1fr auto auto;gap:7px;display:grid;position:absolute;bottom:91px;left:8px;right:8px}.mobile-race-controls>div{gap:5px;display:flex}.mobile-race-controls button{pointer-events:auto;color:#bbd7e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05111ab8;border:1px solid #71bce252;border-radius:12px;min-width:44px;height:44px;font-weight:900}.mobile-race-controls .gas{color:#78e9ff;background:#0d6078a8}.mobile-race-controls .drift{color:#d9a7ff}.mobile-race-controls .mobile-power{color:#ffdb6b;font-size:19px}.race-results-card{padding:22px 14px}.results-table>div{grid-template-columns:27px 5px 1fr 75px 46px;gap:6px}.results-table em,.results-table u{font-size:8px}.results-footer{grid-template-columns:1fr}.rematch-actions{text-align:left}}.hero-race-cta{color:#aeeaff;background:#11446047;border:1px solid #52c3ff73;border-radius:10px;padding:15px 19px;font-weight:850;box-shadow:inset 0 0 24px #31b9ff0d}.hero-race-cta:hover{background:#1a62845c;border-color:#54d5ff}.hero-race-cta span{color:#5bdcff;margin-left:12px}.racing-lobby-bg:before{content:"";opacity:.8;background:linear-gradient(120deg,#0000 0 42%,#4fd2ff06 43% 44%,#0000 45% 100%) 0 0/170px 170px;position:absolute;inset:0}.race-lobby-header>div:nth-child(2) small{color:#3d566a;letter-spacing:.22em;font:800 7px/1 monospace}.race-lobby-grid-v2{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);align-items:start}.glass-panel{background:linear-gradient(145deg,#0d1c2bed,#050d16f0);border-color:#5d9dc440;box-shadow:0 35px 100px #00000052,inset 0 1px #ffffff06}.garage-v2{position:relative;overflow:hidden}.garage-v2:before{content:"";pointer-events:none;background:radial-gradient(circle,#39d0ff1c,#0000 68%);border-radius:50%;width:420px;height:420px;position:absolute;top:-220px;right:-180px}.garage-v2 h1{margin-bottom:18px}.paddock-v2{position:sticky;top:18px}.garage-showcase{background:linear-gradient(135deg,#05111cf0,#0a1c2ab8);border:1px solid #5297c047;border-radius:22px;grid-template-columns:minmax(260px,.95fr) minmax(250px,1.05fr);gap:18px;min-height:300px;padding:14px;display:grid;box-shadow:inset 0 0 70px #1eabe809}.showcase-stage{perspective:700px;background:radial-gradient(circle at 50% 58%,#2d9dc92e,#0000 34%),linear-gradient(#07121c,#060c13);border-radius:16px;place-items:center;min-height:270px;display:grid;position:relative;overflow:hidden}.showcase-grid{transform-origin:bottom;background-image:linear-gradient(#64c7ef0f 1px,#0000 1px),linear-gradient(90deg,#64c7ef0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;transform:perspective(400px)rotateX(62deg)scale(1.6)translateY(28%);-webkit-mask-image:linear-gradient(#0000 20%,#000);mask-image:linear-gradient(#0000 20%,#000)}.showcase-stage:after{content:"";background:linear-gradient(90deg,#0000,#3cd7ff,#0000);height:2px;position:absolute;bottom:21px;left:12%;right:12%;box-shadow:0 0 22px #23c9ff}.showcase-glow{--car-color:#37d8ff;background:color-mix(in srgb,var(--car-color),transparent 70%);filter:blur(34px);opacity:.68;border-radius:50%;width:68%;height:38%;position:absolute;top:36%;left:16%}.showcase-model-code{color:#47677c;letter-spacing:.2em;font:800 7px/1 monospace;position:absolute;bottom:13px;left:15px}.showcase-copy{flex-direction:column;justify-content:center;padding:17px 14px 15px 5px;display:flex}.showcase-copy>span{color:#5bcee9;text-transform:uppercase;letter-spacing:.18em;font:900 8px/1 monospace}.showcase-copy h2{letter-spacing:-.045em;color:#f4fbff;margin:8px 0 13px;font-size:clamp(31px,3vw,48px);line-height:.95}.showcase-copy p{color:#8099aa;max-width:420px;margin:0 0 20px;font-size:12px;line-height:1.65}.showcase-stats{gap:9px;display:grid}.showcase-stats>div{grid-template-columns:86px 1fr;align-items:center;gap:10px;display:grid}.showcase-stats span{letter-spacing:.1em;font-size:7px}.showcase-stats i{height:6px}.showcase-stats b{background:linear-gradient(90deg,#2caeff,#6deaff);box-shadow:0 0 10px #4ad7ff47}.car-selector-v2{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.car-selector-v2>button{text-align:center;background:linear-gradient(155deg,#08141fe6,#050c13e6);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:126px;padding:9px;display:flex}.car-selector-v2>button>span{align-self:stretch;align-items:center}.car-selector-v2>button>span b{font-size:11px}.car-selector-v2>button>span small{font-size:7px}.car-selector-v2>button.selected{background:radial-gradient(circle at 50% 30%,#34ccff21,#0000 50%),linear-gradient(155deg,#0b2435,#08131e);box-shadow:inset 0 0 34px #1fbeff14,0 10px 28px #00000042}.car-preview-svg{--car-color:#31d8ff;filter:drop-shadow(0 13px 12px #00000073);place-items:center;width:112px;height:76px;transition:all .25s;display:grid;transform:rotate(-7deg)}.car-selector-v2 button:hover .car-preview-svg{transform:rotate(-4deg)translateY(-3px)scale(1.04)}.car-preview-svg.hero{filter:drop-shadow(0 28px 20px #0000008c);width:min(84%,290px);height:auto;transform:rotate(-7deg)perspective(500px)rotateX(8deg)}.car-preview-svg.hero svg{animation:3.4s ease-in-out infinite garageFloat}@keyframes garageFloat{50%{transform:translateY(-4px)rotate(.6deg)}}.car-preview-svg svg{width:100%;height:100%;overflow:visible}.car-shadow-svg{fill:#0000007a;filter:blur(3px)}.tire-svg{fill:#020407}.body-svg{stroke:color-mix(in srgb,var(--car-color),#fff 18%);stroke-width:1px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--car-color),transparent 72%))}.body-highlight-svg{fill:#ffffff24}.glass-svg{fill:#102b3c;stroke:#5fb5d2;stroke-opacity:.45;stroke-width:1.2px}.glass-line-svg,.side-detail-svg,.vent-svg{fill:none;stroke:#d5f2ff59;stroke-width:1.2px;stroke-linecap:round}.vent-svg{stroke:#081017;stroke-width:2px}.front-light-svg{fill:#c9fbff;filter:drop-shadow(0 0 5px #8defff)}.tail-light-svg{fill:#ff4057;filter:drop-shadow(0 0 5px #ff304c)}.wing-svg{fill:none;stroke:#080c11;stroke-width:4px;stroke-linecap:round}.heavy-intake-svg{fill:#0a1118}.car-preview-svg.speed{transform:rotate(-7deg)scaleX(1.05)}.car-preview-svg.heavy{transform:rotate(-7deg)scale(1.04)}.car-preview-svg.drift{transform:rotate(-10deg)}.paddock-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.paddock-title-row h2{margin-bottom:18px}.host-chip{color:#ffd96f;letter-spacing:.12em;white-space:nowrap;background:#6e4b1038;border:1px solid #ffcd5766;border-radius:8px;padding:7px 9px;font:900 7px/1 monospace}.pilot-slot{background:linear-gradient(90deg,#07121cfa,#081824cc);min-height:70px;transition:all .2s}.pilot-slot.ready{border-color:#53deff8f;box-shadow:inset 4px 0 #41deff99,inset 0 0 28px #23b4e009}.pilot-slot.ready strong{color:#72ecff}.track-card-v2{background:radial-gradient(circle at 15%,#31c2ff14,#0000 35%),linear-gradient(135deg,#0b2131,#08131e);grid-template-columns:150px 1fr;margin-top:16px}.track-card-v2 .track-card-map{height:98px}.track-card-v2 b{font-size:21px}.track-card-v2 small{line-height:1.5}.lobby-ready-stack{gap:9px;margin-top:18px;display:grid}.lobby-ready-stack .ready-button{margin:0}.race-start-button{color:#536b7d;background:linear-gradient(135deg,#101a24,#0a121a);border:1px solid #526c8061;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:72px;transition:all .25s;display:flex}.race-start-button span,.host-wait-card span{letter-spacing:.16em;font:850 7px/1 monospace}.race-start-button b{letter-spacing:.08em;font-size:16px}.race-start-button.armed{color:#d7faff;background:linear-gradient(135deg,#13516d,#0b2b40);border-color:#4fdfff;box-shadow:0 14px 36px #26b9f133,inset 0 0 30px #3ddcff12}.race-start-button.armed:hover{filter:brightness(1.08);transform:translateY(-2px)}.race-start-button:disabled{cursor:not-allowed}.host-wait-card{color:#61798a;background:#09131d;border:1px solid #263b4c;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:70px;display:flex}.host-wait-card b{font-size:13px}.host-wait-card.armed{color:#bcefff;background:#0f354766;border-color:#56dcff73}.ready-hint{margin-top:9px}.race-hud-top{grid-template-columns:minmax(220px,1fr) 100px 128px 182px 106px;height:68px;top:14px;left:18px;right:18px}.race-hud-top>*{background:linear-gradient(145deg,#030b12e0,#05111bbf);border-color:#66b8e03d;box-shadow:0 16px 38px #00000045,inset 0 1px #ffffff06}.race-logo{clip-path:polygon(0 0,98% 0,94% 100%,0 100%);justify-content:center;padding-left:18px}.race-logo span{font-size:11px}.race-logo b{text-shadow:0 0 16px #49cfff42;font-size:24px}.race-position strong{font-size:31px}.race-clock b{font-size:20px}.race-standings>div{background:linear-gradient(90deg,#040c13d1,#071722b3);border-color:#5a97b833;box-shadow:0 8px 20px #00000029}.race-standings>div.me{box-shadow:inset 3px 0 #51d9ff,0 8px 20px #00000029}.race-minimap{background:linear-gradient(145deg,#040c13db,#081824bd);width:215px;height:145px;top:96px;right:18px;box-shadow:0 15px 36px #00000040}.race-hud-bottom{background:linear-gradient(140deg,#030a10e0,#071520d1);border-color:#5faed44d;width:min(1020px,100% - 42px);min-height:96px;bottom:18px;box-shadow:0 22px 62px #0000006b,inset 0 1px #ffffff08}.speed-cluster strong{text-shadow:0 0 24px #50daff2e}.race-finish-flash{z-index:18;text-align:center;pointer-events:none;background:linear-gradient(90deg,#0000,#04121df0 10%,#092332f7 50%,#04121df0 90%,#0000);border-top:2px solid #6be8ff;border-bottom:2px solid #6be8ff;width:min(610px,100% - 40px);padding:25px 34px;animation:.55s cubic-bezier(.15,.85,.2,1) both finishFlashIn;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)skew(-6deg);box-shadow:0 0 70px #29caff30}.race-finish-flash>:not(.finish-speed-lines){z-index:1;display:block;position:relative;transform:skew(6deg)}.race-finish-flash small{color:#79e8ff;letter-spacing:.28em;font:900 9px/1 monospace}.race-finish-flash h2{letter-spacing:-.07em;color:#fff;text-shadow:0 8px 35px #000,0 0 32px #53e0ff38;margin:12px 0 10px;font-size:clamp(62px,8vw,110px);font-style:italic;line-height:.82}.race-finish-flash b{color:#79e8ff;font:900 18px/1 monospace}.race-finish-flash span{color:#7590a2;text-transform:uppercase;letter-spacing:.14em;margin-top:13px;font-size:9px}.finish-speed-lines{background:repeating-linear-gradient(112deg,#0000 0 58px,#5de0ff13 59px 61px,#0000 62px 92px);animation:1.6s linear infinite finishLines;position:absolute;inset:-40%}@keyframes finishLines{to{transform:translate(120px)}}@keyframes finishFlashIn{0%{opacity:0;transform:translate(-50%,-50%)skew(-6deg)scale(.72)}to{opacity:1;transform:translate(-50%,-50%)skew(-6deg)scale(1)}}.race-results-overlay{background:radial-gradient(circle at 50% 40%,#19729729,#0000 35%),#01060acc}.race-results-card{background:linear-gradient(145deg,#0a1d2cfa,#040b12fa);border-color:#5fc5eb59;box-shadow:0 45px 150px #000000a8,inset 0 1px #ffffff0a}.race-results-card h2{font-style:italic}.results-table>div{background:linear-gradient(90deg,#08131d,#0a1925)}.results-table>div.winner{background:linear-gradient(90deg,#6b4a1161,#0a1721);border-color:#f2c75e;box-shadow:inset 4px 0 #f0c453}@media (width<=1180px){.race-lobby-grid-v2{grid-template-columns:1fr}.paddock-v2{position:static}.garage-showcase{grid-template-columns:.95fr 1.05fr}.car-selector-v2{grid-template-columns:repeat(4,1fr)}}@media (width<=760px){.garage-showcase{grid-template-columns:1fr}.showcase-stage{min-height:220px}.showcase-copy{padding:10px}.car-selector-v2{grid-template-columns:1fr 1fr}.car-selector-v2>button{min-height:118px}.race-hud-top{grid-template-columns:auto 64px 76px 120px}.race-finish-flash{padding:20px 14px}.race-finish-flash h2{font-size:58px}.track-card-v2{grid-template-columns:120px 1fr}.paddock-title-row{flex-direction:column;align-items:flex-start}.host-chip{margin-bottom:4px}}.racing-lobby{width:min(1580px,100% - 28px);padding-top:18px}.race-lobby-header{margin-bottom:14px}.race-lobby-grid-v2{grid-template-columns:minmax(0,1.45fr) minmax(380px,.72fr);align-items:stretch;gap:16px}.garage-v2,.paddock-v2{background:linear-gradient(145deg,#07141ff0,#040b12f5);border-radius:20px;padding:22px;box-shadow:0 32px 100px #00000057,inset 0 1px #ffffff09}.garage-v2 h1{letter-spacing:-.055em;margin:8px 0 14px;font-size:clamp(38px,3.2vw,58px)}.garage-showcase{border-radius:18px;grid-template-columns:minmax(390px,1.2fr) minmax(260px,.8fr);gap:10px;min-height:360px;padding:8px;overflow:hidden}.showcase-grid{opacity:.22}.showcase-glow{opacity:.44;filter:blur(48px);width:74%;height:44%;top:42%;left:13%}.showcase-model-code{z-index:5;color:#6d8ea1;font-size:8px;bottom:17px;left:18px}.garage-car-viewer{z-index:3;cursor:grab;touch-action:none;position:absolute;inset:0}.garage-car-viewer:active{cursor:grabbing}.garage-webgl{width:100%;height:100%;display:block}.garage-viewer-hint{z-index:2;color:#6f8ea1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.13em;background:#030b128f;border:1px solid #66b0d338;border-radius:999px;padding:7px 10px;font:800 7px/1 monospace;position:absolute;bottom:12px;right:14px}.showcase-copy p{color:#95a9b7;font-size:13px}.showcase-stats>div{grid-template-columns:92px 1fr}.showcase-stats i{background:#0d1b25;border-radius:999px;height:7px;overflow:hidden}.showcase-stats b{border-radius:999px;height:100%;display:block}.car-selector-v2>button{background:linear-gradient(155deg,#08141f,#050b11);border-radius:12px;min-height:110px;padding:7px}.car-selector-v2 .car-preview-svg{width:94px;height:62px}.paint-row{margin-top:10px;padding-top:10px}.pilot-slot{border-radius:11px;min-height:63px}.track-card-v2,.lobby-ready-stack{margin-top:12px}.ready-hint{margin-bottom:0}.racing-play{background:#05090d}.race-hud-top>*{-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:linear-gradient(150deg,#030b12d1,#04121cab);border-radius:12px}.race-logo{clip-path:none;border-radius:12px!important}.race-logo b{font-size:22px}.race-standings{width:204px;top:82px;left:12px}.race-minimap{border-radius:14px;width:202px;height:138px;top:82px;right:12px}.race-hud-bottom{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;width:min(940px,100% - 34px);min-height:86px;bottom:12px}.race-hud-bottom .power-slot{min-height:66px}.race-countdown{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (width<=1180px){.race-lobby-grid-v2{grid-template-columns:1fr}.garage-showcase{grid-template-columns:minmax(360px,1.15fr) minmax(250px,.85fr)}}@media (width<=760px){.garage-showcase{grid-template-columns:1fr;min-height:560px}.showcase-stage{min-height:300px}.garage-viewer-hint{display:none}}.racing-lobby-bg{background:radial-gradient(circle at 15% 18%,#2582b81a,#0000 30%),radial-gradient(circle at 82% 74%,#97366912,#0000 31%),linear-gradient(#071019,#0a121a 55%,#070c11)}.showcase-glow{opacity:.22;filter:blur(54px)}.garage-v2,.paddock-v2{box-shadow:0 28px 85px #0000004f,inset 0 1px #ffffff06}.race-vignette{background:linear-gradient(#00040896,#0000 12% 75%,#000408b8),radial-gradient(circle at 50% 48%,#0000 60%,#00020557 100%)}.race-scene:after{content:"";pointer-events:none;opacity:calc(var(--race-speed,0) * .14);background:repeating-conic-gradient(at 50% 55%,#0000 0deg 5deg,#ceeff91f 5.15deg 5.32deg,#0000 5.45deg 10deg);position:absolute;inset:-8%;transform:scale(1.08);-webkit-mask:radial-gradient(circle at 50% 55%,#0000 0 38%,#000 72%,#0000 100%);mask:radial-gradient(circle at 50% 55%,#0000 0 38%,#000 72%,#0000 100%)}.race-hud-top>*,.race-hud-bottom,.race-standings>div,.race-minimap{border-color:#7cafc72e;box-shadow:0 14px 34px #0000003d,inset 0 1px #ffffff05}.race-minimap svg{filter:drop-shadow(0 0 4px #3dccff38)}.speed-bar i{box-shadow:0 0 8px #32d2ff47}.race-countdown{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:radial-gradient(circle,#030c120a,#02070b33)}.race-countdown b{text-shadow:0 12px 44px #000000e6,0 0 22px #47d7ff21}.racing-library-card{background:radial-gradient(circle at 72% 26%,#2fbbff1c,#0000 28%),linear-gradient(140deg,#081522,#090f18 58%,#120d14)}.garage-v2,.paddock-v2{background:linear-gradient(148deg,#06121cf7,#040a10fa);border-color:#66aacd38}.showcase-stage{background:radial-gradient(at 50% 78%,#48c3e821,#0000 42%),linear-gradient(#07131d,#050a10 74%)}.garage-car-viewer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#c5ebf961,#0000);height:1px;position:absolute;inset:8% 13% auto;box-shadow:0 0 26px #57d6ff2e}.track-card-v2{background:radial-gradient(circle at 15%,#32c7ff17,#0000 35%),linear-gradient(135deg,#0a2030,#07111a);border-color:#57b8e042}.race-hud-top>*,.race-hud-bottom,.race-standings>div,.race-minimap{-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);border-color:#7db4cd2b}.race-event-toast{box-shadow:0 18px 48px #0000006b,inset 0 1px #ffffff08}.race-countdown small{letter-spacing:.34em}.race-countdown span{letter-spacing:.22em;text-transform:uppercase}.hyper-car-profile{flex:none;width:100%;height:42px;overflow:visible}.car-selector-v2>button>span{flex:none;line-height:1.25}.racing-lobby .car-selector-v2>button{flex-direction:column;gap:3px;min-height:88px;display:flex}.racing-entry,.racing-lobby,.race-runtime{--hyper-cyan:#36d9ff;--hyper-edge:#294151;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.racing-entry-card{background:#0c1725;border-radius:8px;min-height:580px;margin-top:15px}.hyper-entry-art{background:radial-gradient(at 50% 70%,#233c54,#07111f);min-height:530px}.hyper-entry-art .garage-car-viewer{position:absolute;inset:0}.hyper-entry-art>span{z-index:2;letter-spacing:.24em;font:600 12px Inter,sans-serif;position:absolute;bottom:35px;left:32px}.racing-entry-copy{padding:36px}.racing-entry-copy h1{letter-spacing:-.055em;font-size:clamp(34px,4.2vw,65px);line-height:1.02}.racing-entry-copy h1 em{color:#36d9ff}.racing-lobby{width:min(1680px,100% - 36px);padding:12px 0 20px}.race-lobby-header{align-items:center;gap:20px;margin-bottom:14px;display:flex}.race-lobby-header>div:nth-child(2){text-align:left;flex:1}.race-lobby-header>div:nth-child(2) span{letter-spacing:.12em;font:600 11px Inter,sans-serif}.race-lobby-header b{letter-spacing:.05em!important}.race-lobby-grid-v2{grid-template-columns:minmax(0,1.75fr) minmax(300px,.8fr);gap:18px}.racing-lobby .glass-panel{background:linear-gradient(145deg,#132234ee,#091420ee);border-color:#2a4056;border-radius:9px}.garage-panel{padding:22px}.garage-panel h1{letter-spacing:-.05em;margin:7px 0 14px;font-size:36px}.garage-showcase{border-color:#2a4056;border-radius:5px;grid-template-columns:minmax(0,1.8fr) minmax(170px,.8fr);min-height:320px}.showcase-stage{background:#0b1521;min-height:320px}.showcase-copy{padding:22px}.showcase-copy h2{font-size:32px}.showcase-copy p{font-size:12px;line-height:1.6}.showcase-model-code{font:600 9px Inter,sans-serif}.garage-viewer-hint{letter-spacing:.12em;background:#142434c9;font:600 8px Inter,sans-serif}.car-selector-v2{gap:7px;margin-top:10px}.car-selector-v2 button{background:#111d2b;border-radius:5px;min-height:85px;padding:5px}.car-selector-v2 .car-preview-svg{height:42px}.car-selector-v2 button span small{letter-spacing:.05em;font:500 9px Inter,sans-serif}.paint-row{margin-top:12px}.paint-row button{width:22px;height:22px}.paddock-panel{padding:20px}.paddock-panel h2{font-size:24px}.pilot-slot{border-radius:5px;min-height:53px;padding:9px}.pilot-list{gap:7px}.pilot-slot small,.race-section-label{font-family:Inter,sans-serif}.track-selector{letter-spacing:.14em;color:#87a6ba;justify-content:space-between;align-items:center;margin:16px 0 8px;font-size:10px;display:flex}.track-selector select{color:#d5eefb;background:#172b3d;border:1px solid #396077;border-radius:5px;min-width:155px;padding:9px;font:600 13px Inter,sans-serif}.track-selector select:disabled{opacity:.7}.track-card-v2{min-height:75px;padding:8px}.track-card-map{width:100px;height:64px}.track-card small{font:500 8px Inter,sans-serif}.track-card b{font-size:18px}.lobby-ready-stack{gap:7px;margin-top:12px}.ready-button{min-height:44px;padding:10px}.race-start-button{min-height:55px;padding:10px}.ready-hint{font-size:10px}.hyper-graphics{pointer-events:auto;z-index:120;font:500 11px Inter,sans-serif;position:relative}.hyper-graphics>button{color:#a9c4d7;white-space:nowrap;background:#142435;border:1px solid #314b61;border-radius:5px;padding:10px}.graphics-panel{color:#a9c4d7;background:#0b1828;border:1px solid #36556f;border-radius:6px;min-width:260px;padding:18px;position:absolute;top:42px;right:0;box-shadow:0 15px 50px #0009}.graphics-panel b{color:#fff;letter-spacing:.14em}.graphics-panel button{color:#fff;background:#142a3c;border:1px solid #314b61;margin:3px;padding:8px;display:inline-block}.graphics-panel button[aria-pressed=true]{color:#36d9ff;border-color:#36d9ff}.graphics-panel small{margin-top:12px;display:block}.race-hud-top{grid-template-columns:minmax(170px,1fr) 95px 105px 155px auto 90px;gap:10px;height:62px;top:20px;left:24px;right:24px}.race-hud-top>*{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101e2dd9;border-color:#354959;border-radius:4px}.race-logo{padding:10px 16px}.race-logo span{letter-spacing:.18em;font:500 9px Inter,sans-serif}.race-logo b{letter-spacing:-.04em;color:#eaf6ff;font:750 20px Inter,sans-serif}.race-position strong{font:750 30px Inter,sans-serif}.race-lap span,.race-clock span,.race-room-mini span{letter-spacing:.1em;font:500 9px Inter,sans-serif}.race-clock b{font-variant-numeric:tabular-nums;font:600 21px Inter,sans-serif}.race-hud-top .hyper-graphics{align-items:center;padding:5px;display:flex}.race-hud-bottom{width:min(1020px,100% - 48px);box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#101c2cd9;border-color:#395060;border-radius:5px;grid-template-columns:185px 215px 1fr 235px;bottom:25px}.speed-cluster strong{letter-spacing:-.06em;font-variant-numeric:tabular-nums;font:750 54px Inter,sans-serif}.speed-cluster>span{font-family:Inter,sans-serif}.power-slot b{font:600 16px Inter,sans-serif}.power-slot{border-radius:4px}.driver-card b{font-family:Inter,sans-serif}.race-minimap{background:#0b1929b8;border-radius:5px}.hyper-sector{pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:146px;left:28px}.hyper-sector span{letter-spacing:.2em;text-transform:uppercase;color:#a1bacf;font-size:11px}.hyper-sector b{letter-spacing:.04em;color:#eaf6ff;font-size:21px}.race-controls-hint{bottom:128px}.hyper-debug{z-index:150;color:#9ee7ff;pointer-events:none;white-space:pre;background:#06111fde;border:1px solid #35556a;padding:12px;font:12px/1.7 monospace;position:absolute;top:220px;left:25px}.race-loading{color:#c9eaff;background:#07111f;place-items:center;font-size:28px;display:grid;position:absolute;inset:0}.race-vignette{opacity:.52}.race-event-toast{letter-spacing:.02em;border-radius:5px;font:600 13px Inter,sans-serif}.race-countdown small{font-family:Inter,sans-serif}@media (width>=1100px) and (height<=850px){.garage-showcase,.showcase-stage{min-height:265px}.garage-panel{padding:16px}.showcase-copy h2{font-size:28px}.showcase-copy p{margin:8px 0}.garage-panel h1{font-size:30px}.pilot-slot{min-height:45px}.paddock-panel{padding:15px}.racing-lobby{padding-top:8px}.race-lobby-header{margin-bottom:8px}.car-selector-v2 button{min-height:72px}.track-card-v2{min-height:65px}}@media (width<=1000px){.race-lobby-grid-v2{grid-template-columns:1fr}.race-lobby-header{flex-wrap:wrap}.race-hud-top{grid-template-columns:1fr 65px 70px 115px auto;gap:4px;left:10px;right:10px}.race-hud-bottom{grid-template-columns:130px 145px 1fr 160px}.race-logo b{font-size:14px}.race-room-mini{display:none}.power-slot b{font-size:12px}.hyper-sector{bottom:130px}.garage-showcase{min-height:340px}}@media (width<=600px){.garage-showcase{grid-template-columns:1fr}.showcase-stage{min-height:300px}.race-hud-top{grid-template-columns:1fr 48px 60px 95px}.race-hud-top .hyper-graphics{position:absolute;top:65px;right:0}.race-hud-bottom{grid-template-columns:85px 1fr 130px;width:calc(100% - 20px);bottom:10px}.driver-card{display:none}.speed-cluster strong{font-size:34px}.race-clock b{font-size:16px}.hyper-sector{font-size:10px;bottom:155px}.race-minimap{top:120px}.racing-entry-copy{padding:20px}.race-lobby-header .back-link{display:none}}@media (width>=1100px) and (height<=760px){.racing-lobby .garage-panel,.racing-lobby .paddock-panel{padding:12px}.racing-lobby .paddock-panel h2{margin:8px 0 10px;font-size:22px}.racing-lobby .pilot-slot{gap:6px;min-height:42px;padding:6px}.racing-lobby .pilot-list{gap:5px}.racing-lobby .track-selector{margin:10px 0 6px}.racing-lobby .track-card{grid-template-columns:80px 1fr;gap:8px;margin-top:6px;padding:6px}.racing-lobby .track-card-map{width:80px;height:48px;padding:4px}.racing-lobby .track-card small{font-size:7px}.racing-lobby .lobby-ready-stack{gap:5px;margin-top:8px}.racing-lobby .ready-button{min-height:38px;padding:8px}.racing-lobby .race-start-button{min-height:46px;padding:6px}.racing-lobby .ready-hint{margin-top:5px;font-size:9px}.racing-lobby .garage-showcase,.racing-lobby .showcase-stage{min-height:230px}.racing-lobby .showcase-copy{padding:12px}.racing-lobby .paint-row{margin-top:8px;padding-top:10px}}
