/* Neon Bomber: entirely scoped to its own page; site sidebar/topbar remain untouched. */
.nb-page{--nb-ink:#e8f8ff;--nb-muted:#91a8bf;--nb-cyan:#42dfff;--nb-border:#24415c;--nb-bg:#080f20;color:var(--nb-ink);font-family:Arial,'Segoe UI',sans-serif;box-sizing:border-box;width:min(1110px,calc(100% - 168px));position:relative;left:42px;margin:112px auto 75px;background:linear-gradient(135deg,#0c1a30,#080e1d 64%);border:1px solid #2a4b6c;border-radius:18px;box-shadow:0 12px 70px #000b,0 0 45px #1a88de1b;min-height:680px;overflow:hidden}.nb-page *{box-sizing:border-box}.nb-page button,.nb-page input,.nb-page select{font-family:inherit}.nb-page button{cursor:pointer}.nb-page h1,.nb-page h2,.nb-page h3,.nb-page p{margin:0}.nb-page button:focus-visible,.nb-page a:focus-visible,.nb-page input:focus-visible,.nb-page select:focus-visible{outline:2px solid #8debff;outline-offset:2px}.nb-head{display:flex;gap:20px;align-items:center;padding:19px 25px;background:linear-gradient(90deg,#122943,#0b182c);border-bottom:1px solid var(--nb-border)}.nb-logo{display:flex;align-items:center;gap:12px}.nb-logo small,.nb-eyebrow{letter-spacing:2px;font-size:10px;color:#59d7f1;font-weight:800}.nb-logo h1{font-size:27px;letter-spacing:2px;line-height:1.1}.nb-logo em{font-style:normal;color:var(--nb-cyan);text-shadow:0 0 16px #23c0f966}.nb-orb{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;border:1px solid #24d3e7;color:#30edfc;font-size:27px;transform:rotate(-10deg)}.nb-back{border:1px solid var(--nb-border);padding:9px 11px;border-radius:8px;color:#80e6fc;white-space:nowrap;font-weight:700;font-size:12px}.nb-back:hover{background:#15415a}.nb-connection{margin-left:auto;color:#ffad85;font-size:11px;white-space:nowrap}.nb-connection.online{color:#66e7b1}.nb-nav{display:flex;flex-wrap:wrap;gap:4px;padding:8px 20px;background:#0b1628;border-bottom:1px solid var(--nb-border);align-items:center}.nb-nav button{border:0;border-bottom:2px solid transparent;background:transparent;color:#92bbcf;padding:12px 14px;font-size:11px;font-weight:800;letter-spacing:.6px}.nb-nav button.active,.nb-nav button:hover{border-color:#39d8f3;color:#e4fbff}.nb-profile{margin-left:auto;font-size:12px;color:#a7f4ff}.nb-notice{font-size:12px;color:#a6c9e1;border-bottom:1px solid #223b53;padding:9px 25px;min-height:34px;background:#0b1b2d}.nb-notice.error{color:#ff8f99}.nb-screen{padding:24px;min-height:465px}.nb-screen[hidden],.nb-create[hidden],.nb-overlay[hidden]{display:none!important}.nb-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #244b63;padding:32px;background:radial-gradient(circle at 85% 35%,#0b667453,transparent 33%),linear-gradient(135deg,#112d46,#0d1930);border-radius:14px;margin-bottom:20px}.nb-hero h2{font-size:clamp(24px,3.2vw,39px);margin:9px 0;letter-spacing:1px}.nb-hero h2 strong{color:#42def7}.nb-hero p{font-size:14px;color:#acbdce;max-width:520px;line-height:1.65}.nb-hero-icon{font-size:104px;text-shadow:0 0 20px #21eafa,0 0 60px #5ed0fb;position:relative;color:#56e9ee;padding:0 48px}.nb-hero-icon span{position:absolute;font-size:24px;color:#ffae5d;top:45%;left:57%}.nb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.nb-btn{background:linear-gradient(180deg,#172f4b,#0e2035);border:1px solid #35708a;color:#c5f2ff;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:800;letter-spacing:.5px;transition:filter .2s,transform .2s}.nb-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.25)}.nb-btn:disabled{opacity:.4;cursor:not-allowed}.nb-primary{background:linear-gradient(110deg,#0c889b,#2564b4);border-color:#50d7ff;color:white;box-shadow:0 0 20px #29a9fc22}.nb-danger{color:#ffb8c4;border-color:#843e59;background:#361c33}.nb-small{background:transparent;color:#70dcf4;border:1px solid #30546d;border-radius:7px;padding:7px;font-size:10px}.nb-columns{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.nb-panel{background:#0c192c;border:1px solid #28405a;border-radius:12px;padding:22px}.nb-panel h3,.nb-side h3{font-size:12px;letter-spacing:1.5px;color:#d5f4ff;margin-bottom:15px}.nb-panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.nb-muted{color:#9fb0c5;font-size:13px;line-height:1.6;margin-bottom:14px!important}.nb-inline{display:flex;gap:8px}.nb-page input:not([type='checkbox']):not([type='range']),.nb-page select{min-width:0;width:100%;background:#081427;border:1px solid #31526d;border-radius:8px;padding:11px 12px;color:#edfaff;outline:0;font-size:13px}.nb-create{margin-top:19px;border-top:1px solid #2c4864;padding-top:15px;display:grid;gap:12px}.nb-create h3{margin-bottom:0}.nb-panel label{display:block;color:#9ec3d8;font-size:12px;line-height:2}.nb-panel label input,.nb-panel label select{display:block}.nb-panel .nb-toggle{display:flex;align-items:center;gap:8px;line-height:1.4}.nb-toggle input{accent-color:#40daef}.nb-rooms{display:grid;gap:9px;max-height:330px;overflow:auto}.nb-room{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#10213a;border:1px solid #28465e;border-radius:9px;padding:13px}.nb-room strong{display:block;font-size:14px}.nb-room small{color:#98acc1;display:block;margin-top:6px;font-size:11px}.nb-room-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.nb-room-head h2{font-size:26px;margin:8px 0}.nb-players{display:grid;gap:9px}.nb-player{display:flex;align-items:center;gap:12px;border-radius:9px;background:#10223a;border:1px solid #25445b;padding:11px}.nb-avatar{width:34px;height:34px;border-radius:8px;background:#173f58;display:grid;place-items:center;font-size:20px}.nb-player .nb-pname{flex:1;font-size:13px;font-weight:700}.nb-player small{display:block;color:#83bcd4;margin-top:3px;font-weight:400}.nb-player .nb-ready{font-size:11px;color:#eeac75}.nb-player .nb-ready.yes{color:#6de8a7}.nb-panel hr,.nb-side hr{border:0;border-top:1px solid #2a435c;margin:20px 0}.nb-panel select:disabled,.nb-panel input:disabled{opacity:.5}.nb-matchbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.nb-matchbar h2{font-size:20px;margin-top:6px}.nb-match-info{display:flex;gap:10px}.nb-match-info span{display:inline-flex;align-items:center;background:#0c233a;border:1px solid #2a5773;border-radius:8px;padding:11px 14px;color:#78e8ff;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}.nb-game-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:13px;align-items:start}.nb-canvas-wrap{position:relative;border:1px solid #338ca7;border-radius:10px;overflow:hidden;background:#050f1c;box-shadow:0 0 30px #269fca20;min-width:0}.nb-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:690/598;touch-action:none}.nb-side{background:#0c192e;border:1px solid #25415f;border-radius:10px;padding:15px;font-size:12px}.nb-side h3{color:#70dafa}.nb-score-row{display:flex;align-items:center;gap:8px;padding:9px 5px;border-bottom:1px solid #24354a}.nb-score-row strong{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb-score-row b{color:#eed194}.nb-score-row.dead{opacity:.48}.nb-score-dot{width:11px;height:11px;border-radius:3px}.nb-perks p{display:flex;justify-content:space-between;gap:7px;margin:13px 0;color:#bdeaf3}.nb-perks small{color:#8198b2}.nb-controls{color:#8da7c1}.nb-controls strong{color:#79cbe9}.nb-controls p{margin-top:8px;line-height:1.5}.nb-overlay{position:absolute;inset:0;background:#03101bbd;display:grid;place-items:center;backdrop-filter:blur(3px);pointer-events:none}.nb-overlay-card{text-align:center;background:#091a2ef2;border:1px solid #40c8ea;border-radius:14px;padding:26px;box-shadow:0 0 50px #30b6d32d;max-width:85%}.nb-overlay-card h2{font-size:clamp(20px,3vw,36px);color:#9cf3ff;margin:12px 0}.nb-overlay-card p{font-size:13px;color:#c7dbe9;line-height:1.5}.nb-touch{display:none}.nb-manual{line-height:1.7}.nb-manual h2{margin-bottom:20px}.nb-manual p{font-size:14px;color:#b8cce2;margin:13px 0;line-height:1.9}.nb-foot{text-align:center;color:#60829a;padding:16px;border-top:1px solid #243e5c;font-size:10px;letter-spacing:.6px}
@media(max-width:1150px){.nb-game-grid{grid-template-columns:minmax(0,1fr) 195px}.nb-side{padding:10px}.nb-perks p{display:block}.nb-perks small{display:block;margin-top:4px}}
@media(max-width:950px){.nb-page{width:calc(100% - 132px);left:36px;margin-top:105px}.nb-game-grid{grid-template-columns:1fr}.nb-side{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nb-side hr{display:none}.nb-side .nb-controls{display:none}.nb-hero-icon{padding:0 8px;font-size:65px}}
@media(max-width:750px){.nb-page{width:calc(100% - 18px);left:0;margin:20px auto 95px;border-radius:13px;min-height:500px}.nb-head{padding:12px;gap:10px}.nb-logo h1{font-size:19px}.nb-logo small{font-size:7px}.nb-orb{width:30px;height:30px;font-size:19px}.nb-back{font-size:10px;padding:8px}.nb-connection{font-size:9px}.nb-nav{padding:5px 9px}.nb-nav button{font-size:10px;padding:9px}.nb-profile{font-size:10px}.nb-screen{padding:12px}.nb-hero{padding:20px}.nb-hero-icon{display:none}.nb-columns{grid-template-columns:1fr}.nb-matchbar{flex-wrap:wrap}.nb-touch{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;padding:10px}.nb-pad{display:flex;flex-direction:column;align-items:center;gap:5px}.nb-pad>div{display:flex;gap:5px}.nb-pad button{width:46px;height:41px;border:1px solid #438bb5;border-radius:8px;background:#102943;color:#b7efff;touch-action:none}.nb-bomb-touch{height:70px;min-width:125px;touch-action:none}}
@media(max-width:440px){.nb-head{gap:6px}.nb-back{font-size:9px;padding:5px}.nb-logo h1{font-size:15px}.nb-connection{font-size:8px}.nb-match-info span{padding:8px;font-size:11px}.nb-matchbar .nb-btn{padding:8px;font-size:9px}.nb-room-head{flex-wrap:wrap}.nb-side{grid-template-columns:1fr}}

/* v0.4.3: static neon artwork and sound controls, isolated from the game renderer. */

body:has(.nb-page){background:linear-gradient(180deg,#020712d9,#040817ef),url('neon-world.webp') center top/cover fixed #050913;}
.nb-page{isolation:isolate;background:linear-gradient(140deg,#0b1c32e8,#080c1ceb 76%);box-shadow:0 20px 80px #000c,0 0 52px #249bea20;border-color:#2e7f9a;}
.nb-head{background:linear-gradient(95deg,#123d5b,#14102f 65%,#27133f);position:relative;}
.nb-head:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#00ebff,#ff3d97,#ffaa44);opacity:.65;}
.nb-logo em{color:#ffb84d;text-shadow:0 0 11px #ff6c35,0 0 21px #fa3766;}
.nb-hero{position:relative;min-height:270px;overflow:hidden;background:linear-gradient(90deg,#081424fc 0%,#081424ef 33%,#071325ad 61%,#05112261 100%),url('neon-arena.webp') center 44%/cover no-repeat;border-color:#396c9c;box-shadow:inset 0 0 80px #0709168a,0 12px 36px #0309116e;}
.nb-hero:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,transparent 60%,#e538a50d),repeating-linear-gradient(0deg,transparent,transparent 5px,#a2e4ff04 6px);}
.nb-hero>div:first-child{position:relative;z-index:1;}
.nb-hero h2{color:#fff;text-shadow:0 3px 18px #000,0 0 22px #04acd73d;}
.nb-hero h2 strong{color:#ffca55;text-shadow:0 0 15px #ff863a95;}
.nb-hero p{color:#dfedff;text-shadow:0 2px 7px #000;}
.nb-hero-icon{display:none;}
.nb-panel{background:linear-gradient(160deg,#0e1c30e8,#0c1528ed);box-shadow:inset 0 1px #83dfff10;}
.nb-game-grid .nb-canvas-wrap{border:2px solid #45b5df;box-shadow:0 0 0 5px #00dbff0b,0 0 37px #29b8fc2e;background:linear-gradient(150deg,#080e25,#101c35);}
.nb-game-grid .nb-side{background:linear-gradient(180deg,#111c35,#0a1326);border-color:#3d6478;}
.nb-audio-controls{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:7px;border-left:1px solid #2f4760;flex-wrap:wrap;}
.nb-nav .nb-audio-controls button{padding:8px 9px;font-size:10px;border:1px solid #305678;border-radius:7px;background:#091a2d;color:#9feeff;white-space:nowrap;}
.nb-nav .nb-audio-controls button[aria-pressed='false']{color:#8fa3b7;border-color:#26384c;}
.nb-audio-controls label{display:flex;align-items:center;gap:6px;color:#a4e8f7;font-size:10px;font-weight:bold;letter-spacing:1px;padding:0 6px;}
/* Explicit reset: the site's generic input padding used to prevent the slider from reaching 0/100. */
.nb-page .nb-audio-controls input#nbVolume{
  -webkit-appearance:none;appearance:none;display:block;flex:0 0 108px;
  width:108px;min-width:108px;max-width:108px;height:22px;
  margin:0;padding:0;border:0;border-radius:0;box-shadow:none;
  background:linear-gradient(90deg,#35dfff 0 var(--nb-volume-fill,55%),#35506a var(--nb-volume-fill,55%) 100%) center/100% 6px no-repeat;
  cursor:pointer;touch-action:pan-x;
}
.nb-page #nbVolume::-webkit-slider-runnable-track{height:6px;background:transparent;border:0;border-radius:8px;}
.nb-page #nbVolume::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border:2px solid #dcfaff;border-radius:50%;background:#32d7f4;box-shadow:0 0 9px #29d4ff88;margin-top:-5.5px;}
.nb-page #nbVolume::-moz-range-track{height:6px;background:#35506a;border:0;border-radius:8px;}
.nb-page #nbVolume::-moz-range-progress{height:6px;background:#35dfff;border-radius:8px;}
.nb-page #nbVolume::-moz-range-thumb{width:13px;height:13px;border:2px solid #dcfaff;border-radius:50%;background:#32d7f4;box-shadow:0 0 9px #29d4ff88;}
.nb-audio-controls .nb-volume-value{display:inline-block;min-width:35px;color:#b8efff;font-variant-numeric:tabular-nums;text-align:right;letter-spacing:0;font-size:10px;}
@media(max-width:750px){.nb-page .nb-audio-controls input#nbVolume{flex-basis:90px;width:90px;min-width:90px;max-width:90px;}}

.nb-nav .nb-profile{margin-left:7px;}
@media(max-width:950px){.nb-nav .nb-audio-controls{order:3;width:100%;justify-content:center;border-left:0;border-top:1px solid #2a4054;padding-top:7px;}.nb-nav .nb-profile{margin-left:auto;}}
@media(max-width:750px){body:has(.nb-page){background-attachment:scroll;}.nb-hero{min-height:230px;background-position:center 40%;}.nb-hero h2{font-size:25px;}.nb-hero{background-image:linear-gradient(90deg,#081424f0,#081424bf),url('neon-arena.webp');}.nb-audio-controls{gap:3px;}.nb-nav .nb-audio-controls button{padding:8px 5px;font-size:9px;}}
@media(prefers-reduced-motion:reduce){.nb-hero:after{display:none;}}

/* The arena pattern is a fixed, transparent decorative layer over the canvas. */
.nb-canvas-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('neon-arena.webp') center/cover no-repeat;opacity:.075;z-index:1;}
.nb-overlay{z-index:2;}
@media(prefers-reduced-motion:reduce){.nb-canvas-wrap::after{display:none;}}

/* v0.5: Community leaderboard. Isolated from arena rendering and input. */
.nb-community{padding:25px 22px}.nb-community .nb-panel-title{align-items:flex-start;margin-bottom:16px}.nb-community h2{font-size:clamp(18px,3vw,28px);margin-top:8px}
.nb-community-summary,.nb-my-stats{padding:13px 16px;border:1px solid #2f607a;background:#102239;border-radius:10px;margin:15px 0;color:#9ae5ff;font-size:13px;line-height:1.7}
.nb-my-stats h3{margin-bottom:6px;color:#ffcd88}.nb-my-stats p{color:#d7ebf8}.nb-sort{display:flex;align-items:center;gap:10px;color:#a5ddf6;font-size:12px;font-weight:700;margin:18px 0}.nb-sort select{max-width:260px}
.nb-ranking-scroll{overflow-x:auto;border:1px solid #284d68;border-radius:10px}.nb-ranking{width:100%;border-collapse:collapse;min-width:690px;font-size:12px;font-variant-numeric:tabular-nums}.nb-ranking th{text-transform:uppercase;font-size:10px;letter-spacing:.7px;background:#122b44;color:#9eeaff;text-align:left}.nb-ranking td,.nb-ranking th{padding:12px 10px;border-bottom:1px solid #25415a}.nb-ranking td:nth-child(2){color:#e1f8ff;font-weight:bold}.nb-ranking tr:nth-child(even){background:#0b2035}.nb-ranked-note{font-size:10px;margin:12px 0;color:#81b5d3;line-height:1.5}
