  #startMenu {
    position:fixed; inset:0; z-index:100;
    display:flex; align-items:center; justify-content:center;
    background:radial-gradient(ellipse at top, #2a1a08 0%, #0a0604 60%, #000 100%);
    user-select:none; cursor:default;
    font-family:'Inter','Segoe UI',sans-serif;
    overflow:hidden;
  }
  #startMenu.hidden { display:none; }
  /* Animated dust particles in BG */
  #startMenu .dust {
    position:absolute; inset:0; pointer-events:none;
    background-image:
      radial-gradient(circle at 20% 30%, rgba(232,160,48,0.04) 0%, transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(180,120,30,0.05) 0%, transparent 50%),
      radial-gradient(circle at 50% 50%, rgba(60,40,20,0.10) 0%, transparent 60%);
    animation:dustPan 25s ease-in-out infinite alternate;
  }
  @keyframes dustPan { from{background-position:0 0,0 0,0 0;} to{background-position:30% 0,-20% 10%,10% -10%;} }
  #startMenu .vignette {
    position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.7) 100%);
  }
  #startMenuPanel {
    position:relative; text-align:center;
    background:linear-gradient(180deg, rgba(30,25,20,0.94), rgba(15,12,10,0.96));
    border:2px solid rgba(232,160,48,0.35);
    border-radius:12px;
    padding:36px 42px;
    box-shadow:0 12px 60px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.06);
    min-width:min(420px, 92vw);
    max-width:92vw;
    z-index:2;
  }
  @media (max-height: 600px) { #startMenuPanel { padding:18px 24px; min-width:340px; } }
  #startMenuPanel h1 {
    color:#e8a030; font-size:38px; margin:0; letter-spacing:6px;
    text-shadow:2px 2px 0 #000, 0 0 24px rgba(232,160,48,0.35);
    font-family:'Courier New', monospace;
  }
  #startMenuPanel .subtitle {
    color:#aaa; font-size:11px; margin:4px 0 24px;
    letter-spacing:3px;
  }
  #mpNameInput {
    width:260px; padding:11px 14px; font-size:15px;
    font-family:'Courier New', monospace; color:#fff;
    background:#1a1612; border:2px solid #3a322a;
    border-radius:6px; outline:none; margin-bottom:14px;
    text-align:center; letter-spacing:1px;
    transition:border-color 0.15s, box-shadow 0.15s;
  }
  #mpNameInput:focus { border-color:#e8a030; box-shadow:0 0 0 3px rgba(232,160,48,0.18); }
  #mpNameInput::placeholder { color:#666; }
  #playBtn {
    padding:12px 56px; font-size:16px; font-weight:bold;
    font-family:'Courier New', monospace; color:#fff;
    background:linear-gradient(180deg, #d48a3a, #a96820);
    border:2px solid #e8a030; border-radius:8px; cursor:pointer;
    letter-spacing:2px;
    transition:transform 0.08s, box-shadow 0.15s, background 0.15s;
    box-shadow:0 4px 14px rgba(0,0,0,0.5);
  }
  #playBtn:hover:not(:disabled) {
    background:linear-gradient(180deg, #e89a4a, #c47820);
    transform:translateY(-1px); box-shadow:0 6px 18px rgba(232,160,48,0.35);
  }
  #playBtn:active:not(:disabled) { transform:translateY(1px); }
  #playBtn:disabled { opacity:0.4; cursor:not-allowed; }
  #lobbyStatus {
    font-size:12px; color:#aaa; margin-bottom:18px;
    min-height:18px; letter-spacing:0.5px;
  }
  #lobbyStatus .ok { color:#7ee87e; }
  #lobbyStatus .err { color:#ff6868; }
  #lobbyStatus .connecting { color:#ffd54f; }
  /* v8 debug overlay */
  #v8Debug {
    position:fixed; right:8px; bottom:8px; max-width:42vw; max-height:46vh;
    background:rgba(8,12,8,0.86); color:#9fe88a; font:11px/1.35 'Courier New',monospace;
    padding:8px 10px; border:1px solid #3a6; border-radius:6px; z-index:9999;
    overflow:auto; white-space:pre-wrap; pointer-events:auto; display:none;
  }
  #v8Debug h6 { margin:0 0 6px; color:#e8a030; font-size:11px; }
  #v8Debug .row { color:#cfd; }
  #v8Debug .row.err { color:#ff8a8a; }
  #serverInfo {
    margin-top:18px; font-size:11px; color:#666;
    display:flex; gap:12px; justify-content:center;
  }
  #serverInfo span { padding:3px 8px; background:rgba(255,255,255,0.04); border-radius:4px; }
  /* SIDE SELECT MODAL */
  #sideSelect {
    position:fixed; inset:0; z-index:120;
    display:none; align-items:center; justify-content:center;
    background:radial-gradient(ellipse at center, rgba(30,20,10,0.92), rgba(0,0,0,0.96));
    backdrop-filter:blur(8px);
    font-family:'Inter','Segoe UI',sans-serif;
  }
  #sideSelect.show { display:flex; animation:fadeIn 0.4s; }
  #sideSelect .wrap {
    background:linear-gradient(180deg, rgba(28,22,16,0.95), rgba(14,10,8,0.95));
    border:2px solid rgba(232,160,48,0.4); border-radius:14px;
    padding:30px 36px; max-width:760px; width:92vw;
    box-shadow:0 20px 80px rgba(0,0,0,0.8);
    text-align:center;
  }
  #sideSelect h2 {
    color:#e8a030; font-size:24px; letter-spacing:4px;
    font-family:'Courier New', monospace; margin-bottom:6px;
  }
  #sideSelect .desc { color:#888; font-size:12px; letter-spacing:1px; margin-bottom:24px; }
  #sideSelect .options {
    display:flex; gap:18px; justify-content:center; flex-wrap:wrap;
  }
  #sideSelect .opt {
    flex:1 1 240px; max-width:260px; padding:18px 14px;
    background:linear-gradient(180deg, rgba(20,20,20,0.85), rgba(8,8,8,0.95));
    border:2px solid rgba(255,255,255,0.10); border-radius:10px;
    cursor:pointer; transition:transform 0.15s, border-color 0.15s, box-shadow 0.15s;
    text-align:center;
  }
  #sideSelect .opt:hover { transform:translateY(-3px); }
  #sideSelect .opt.ct:hover { border-color:#4a7fc8; box-shadow:0 8px 24px rgba(60,120,200,0.35); }
  #sideSelect .opt.t:hover { border-color:#c87f3a; box-shadow:0 8px 24px rgba(200,120,60,0.35); }
  #sideSelect .opt .preview {
    width:90px; height:120px; margin:0 auto 12px; border-radius:6px;
    background:#0a0a0a; position:relative; overflow:hidden;
    border:1px solid rgba(255,255,255,0.08);
  }
  #sideSelect .opt.ct .preview { background:linear-gradient(180deg,#1a2540,#0a1020); }
  #sideSelect .opt.t  .preview { background:linear-gradient(180deg,#3a2a18,#180e08); }
  /* Voxel-style figurine (pure CSS) */
  #sideSelect .opt .preview .fig {
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    width:48px; height:96px;
  }
  #sideSelect .opt .preview .fig .head {
    position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:22px; height:22px; border-radius:2px;
  }
  #sideSelect .opt .preview .fig .torso {
    position:absolute; top:22px; left:50%; transform:translateX(-50%);
    width:30px; height:30px; border-radius:2px;
  }
  #sideSelect .opt .preview .fig .legL, #sideSelect .opt .preview .fig .legR {
    position:absolute; top:54px; width:10px; height:36px; border-radius:1px;
  }
  #sideSelect .opt .preview .fig .legL { left:10px; }
  #sideSelect .opt .preview .fig .legR { right:10px; }
  #sideSelect .opt.ct .fig .head { background:#1a1a1a; box-shadow:inset 0 -3px 0 #f3c9a0; }
  #sideSelect .opt.ct .fig .torso { background:#35527a; box-shadow:inset 0 0 0 2px #1a2540; }
  #sideSelect .opt.ct .fig .legL, #sideSelect .opt.ct .fig .legR { background:#2a3a55; }
  #sideSelect .opt.t .fig .head { background:#3a2a1a; box-shadow:inset 0 -3px 0 #c8a070; }
  #sideSelect .opt.t .fig .torso { background:#8a6f3e; box-shadow:inset 0 0 0 2px #4a3a20; }
  #sideSelect .opt.t .fig .legL, #sideSelect .opt.t .fig .legR { background:#55432a; }
  #sideSelect .opt .ttl {
    font-family:'Courier New', monospace;
    font-size:16px; font-weight:bold; letter-spacing:2px;
    margin-bottom:4px;
  }
  #sideSelect .opt.ct .ttl { color:#5dbcff; }
  #sideSelect .opt.t  .ttl { color:#ffb24d; }
  #sideSelect .opt .info { font-size:11px; color:#bbb; line-height:1.4; }
  #sideSelect .opt .loadout {
    font-size:10px; color:#888; margin-top:6px; letter-spacing:0.5px;
  }
  #sideSelect .auto {
    margin-top:18px; color:#666; font-size:11px; letter-spacing:1px;
  }
  #sideSelect .timer { color:#e8a030; font-weight:bold; }
  #sideSelect .opt.locked { opacity:0.45; cursor:not-allowed; transform:none; }
  #sideSelect .opt.locked:hover { transform:none; border-color:rgba(255,255,255,0.10); box-shadow:none; }
  #sideSelect .opt .ctCount {
    display:block; margin-top:4px; font-size:10px; color:#666; letter-spacing:0.5px;
  }

/* Update 14 crouch input selector */
#v9Settings .v14-crouch-setting { gap:8px; }
#v14CrouchMode { background:rgba(4,9,13,.82); color:#d9f2ff; border:1px solid rgba(140,205,240,.28); border-radius:3px; padding:4px 7px; font:700 10px/1.2 "Courier New",monospace; letter-spacing:.08em; outline:none; }
#v14CrouchMode:focus { border-color:rgba(125,210,255,.72); box-shadow:0 0 0 2px rgba(80,170,230,.12); }

/* V43 pre-match ability loadout */
.v43-ability-setting{margin:0 0 14px}
#v43AbilitySelectBtn{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(70,224,255,.28);border-radius:7px;background:linear-gradient(90deg,rgba(8,21,31,.88),rgba(24,9,38,.82));color:#dffcff;cursor:pointer;text-align:left;box-shadow:inset 0 0 20px rgba(39,215,255,.035);transition:border-color .18s,transform .18s,box-shadow .18s}
#v43AbilitySelectBtn:hover{transform:translateY(-1px);border-color:rgba(89,234,255,.65);box-shadow:0 0 22px rgba(54,210,255,.12),inset 0 0 24px rgba(192,54,255,.06)}
.v43-selected-icon{width:42px;height:42px;border:1px solid rgba(119,239,255,.45);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);background:radial-gradient(circle,rgba(73,239,255,.28),rgba(22,55,78,.16) 58%,rgba(0,0,0,.35));position:relative;box-shadow:0 0 14px rgba(65,230,255,.25)}
.v43-selected-icon:before,.v43-selected-icon:after{content:"";position:absolute;inset:8px;border:2px solid #79efff;border-radius:50%;box-shadow:0 0 9px #37ddff}
.v43-selected-icon:after{inset:19px 9px auto 20px;height:11px;border:0;border-left:2px solid #fff;border-bottom:2px solid #fff;border-radius:0;transform-origin:bottom left}
#v43AbilitySelectBtn[data-ability="barrier"] .v43-selected-icon:before{inset:7px;border-radius:0;clip-path:polygon(50% 0,95% 25%,95% 72%,50% 100%,5% 72%,5% 25%);background:linear-gradient(135deg,rgba(58,156,255,.12),rgba(214,48,255,.22));border:2px solid #b568ff}
#v43AbilitySelectBtn[data-ability="barrier"] .v43-selected-icon:after{display:none}
.v43-selected-copy{display:flex;flex-direction:column;min-width:0}.v43-selected-copy small{font:700 9px/1.2 monospace;letter-spacing:.15em;color:#6b9baa}.v43-selected-copy strong{font:800 13px/1.25 monospace;letter-spacing:.08em;color:#e9fbff}.v43-selected-copy em{font:700 8px/1.2 monospace;letter-spacing:.12em;color:#806e93;font-style:normal}.v43-ability-setting b{font:800 9px/1 monospace;letter-spacing:.13em;color:#6ae9ff}
#v43AbilityModal{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 30%,rgba(20,39,58,.88),rgba(3,4,10,.97) 68%);backdrop-filter:blur(12px)}
#v43AbilityModal.show{display:flex;animation:v43AbilityIn .24s ease-out}
@keyframes v43AbilityIn{from{opacity:0}to{opacity:1}}
.v43-ability-shell{width:min(1180px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(102,226,255,.34);border-radius:10px;background:linear-gradient(145deg,rgba(7,16,25,.98),rgba(17,7,29,.98));box-shadow:0 30px 90px rgba(0,0,0,.75),0 0 48px rgba(49,192,255,.09);padding:22px}
.v43-ability-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(128,216,255,.13);padding-bottom:15px;margin-bottom:18px}.v43-ability-head small{font:700 10px/1 monospace;letter-spacing:.2em;color:#5ba0ba}.v43-ability-head h2{margin:5px 0 0;font:900 25px/1 monospace;letter-spacing:.14em;color:#e7fbff;text-shadow:0 0 18px rgba(73,224,255,.24)}#v43AbilityClose{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);color:#a9bdc9;font:300 28px/1 sans-serif;border-radius:5px;cursor:pointer}#v43AbilityClose:hover{color:#fff;border-color:rgba(109,231,255,.45)}
.v43-ability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v43-ability-card{position:relative;min-height:270px;display:grid;grid-template-columns:116px 1fr;gap:16px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:linear-gradient(145deg,rgba(9,20,30,.82),rgba(12,8,20,.9));color:#d9edf6;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.v43-ability-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(90,225,255,.055),transparent 65%);transform:translateX(-120%);transition:transform .45s}.v43-ability-card:hover:before{transform:translateX(120%)}.v43-ability-card:hover{transform:translateY(-3px);border-color:rgba(102,222,255,.42)}.v43-ability-card.selected{border-color:rgba(96,236,255,.82);box-shadow:0 0 28px rgba(47,213,255,.13),inset 0 0 28px rgba(179,52,255,.05)}
.v43-card-icon{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(57,227,255,.14),rgba(11,28,44,.16) 58%,transparent 72%)}.v43-card-icon svg{width:88px;height:88px;fill:none;stroke:#67ecff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(56,226,255,.7))}.v43-icon-barrier svg{stroke:#c16cff;filter:drop-shadow(0 0 8px rgba(185,74,255,.72))}.v43-card-copy{display:flex;flex-direction:column}.v43-card-copy small{font:700 9px/1.2 monospace;letter-spacing:.18em;color:#56899c}.v43-card-copy strong{margin-top:7px;font:900 17px/1.2 monospace;letter-spacing:.08em;color:#f1fcff}.v43-card-copy em{margin-top:2px;font:700 9px/1.2 monospace;font-style:normal;letter-spacing:.15em;color:#9378a7}.v43-card-copy p{margin:14px 0 16px;font:500 12px/1.55 'Segoe UI',sans-serif;color:#9eb2bd}.v43-card-stats{display:flex;gap:8px;flex-wrap:wrap}.v43-card-stats b{padding:6px 8px;border:1px solid rgba(113,221,255,.18);border-radius:3px;background:rgba(68,198,255,.045);font:800 9px/1 monospace;letter-spacing:.1em;color:#7fdfff}.v43-card-check{position:absolute;right:12px;top:12px;opacity:0;padding:5px 7px;background:#56e8ff;color:#041116;font:900 8px/1 monospace;letter-spacing:.1em;font-style:normal;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.v43-ability-card.selected .v43-card-check{opacity:1}
.v43-ability-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(129,216,255,.13)}.v43-ability-foot span{font:600 10px/1.45 monospace;color:#728b98}.v43-ability-foot kbd{padding:2px 6px;border:1px solid rgba(255,255,255,.24);border-radius:3px;color:#fff;background:rgba(255,255,255,.05)}#v43AbilityApply{padding:11px 22px;border:1px solid #67e9ff;border-radius:5px;background:linear-gradient(180deg,#237d9b,#14516f);color:#f4ffff;font:900 11px/1 monospace;letter-spacing:.13em;cursor:pointer;box-shadow:0 0 18px rgba(57,219,255,.16)}#v43AbilityApply:hover{background:linear-gradient(180deg,#2d9ebf,#176580)}

#v43AbilitySelectBtn[data-ability="echo"] .v43-selected-icon:before{inset:8px;border-radius:50%;border:2px solid #ff5469;box-shadow:0 0 12px #ff334f,0 0 24px rgba(255,45,85,.35)}
#v43AbilitySelectBtn[data-ability="echo"] .v43-selected-icon:after{display:block;inset:16px;border:2px solid #ff8b9a;border-radius:50%;height:auto;transform:none;box-shadow:0 0 8px #ff3d57}
.v44-icon-echo svg{stroke:#ff5a70;filter:drop-shadow(0 0 9px rgba(255,50,82,.78))}
.v43-ability-card[data-ability="echo"].selected{border-color:rgba(255,82,108,.86);box-shadow:0 0 30px rgba(255,45,79,.14),inset 0 0 30px rgba(255,56,86,.05)}
.v43-ability-card[data-ability="echo"] .v43-card-check{background:#ff546b;color:#200307}
@media(max-width:980px){.v43-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.v43-ability-grid{grid-template-columns:1fr}.v43-ability-card{min-height:220px}.v43-ability-foot{align-items:stretch;flex-direction:column}#v43AbilityApply{width:100%}}


.v43-ability-card[data-ability="neural"].selected{border-color:rgba(255,52,101,.9);box-shadow:0 0 32px rgba(255,32,91,.18),inset 0 0 32px rgba(72,26,255,.08)}
.v43-ability-card[data-ability="neural"] .v43-card-check{background:#ff3b72;color:#23020c}
.v45-icon-neural svg{stroke:#ff4d83;filter:drop-shadow(0 0 8px rgba(255,48,112,.76))}
@media(max-width:1100px){.v43-ability-grid{grid-template-columns:1fr}.v43-ability-card{min-height:220px}}
#v43AbilitySelectBtn[data-ability="neural"] .v43-selected-icon{border-color:rgba(255,68,122,.62);background:radial-gradient(circle,rgba(255,39,103,.25),rgba(63,25,91,.18) 60%,rgba(0,0,0,.36));box-shadow:0 0 16px rgba(255,45,112,.28)}
#v43AbilitySelectBtn[data-ability="neural"] .v43-selected-icon:before{inset:7px 9px;border:2px solid #ff4b82;border-radius:48% 52% 46% 54%/55% 48% 52% 45%;box-shadow:0 0 10px #ff315f,inset 0 0 9px rgba(128,62,255,.45)}
#v43AbilitySelectBtn[data-ability="neural"] .v43-selected-icon:after{display:block;inset:13px 19px 13px 19px;height:auto;border:0;border-left:1px solid #ffd3df;border-right:1px solid #9f78ff;border-radius:0;transform:none;box-shadow:0 0 7px #ff4a82}

/* V46 Phase Breach + Resonance Breaker */
.v46-icon-phase svg{stroke:#55efff;filter:drop-shadow(0 0 9px rgba(48,224,255,.82))}.v46-icon-resonance svg{stroke:#ff4b8d;filter:drop-shadow(0 0 9px rgba(255,42,115,.82))}
.v43-ability-card[data-ability="phase"].selected{border-color:rgba(69,233,255,.92);box-shadow:0 0 34px rgba(43,216,255,.18),inset 0 0 34px rgba(84,54,255,.08)}
.v43-ability-card[data-ability="phase"] .v43-card-check{background:#53edff;color:#03171d}
.v43-ability-card[data-ability="resonance"].selected{border-color:rgba(255,68,142,.92);box-shadow:0 0 34px rgba(255,37,115,.18),inset 0 0 34px rgba(255,98,28,.07)}
.v43-ability-card[data-ability="resonance"] .v43-card-check{background:#ff4b8d;color:#26030f}
#v43AbilitySelectBtn[data-ability="phase"] .v43-selected-icon{border-color:rgba(75,237,255,.68);background:radial-gradient(circle,rgba(45,229,255,.26),rgba(37,42,111,.18) 60%,rgba(0,0,0,.36));box-shadow:0 0 18px rgba(42,224,255,.32)}
#v43AbilitySelectBtn[data-ability="phase"] .v43-selected-icon:before{inset:9px 6px;border:0;border-top:2px solid #7cf6ff;border-bottom:2px solid #7cf6ff;border-radius:0;clip-path:polygon(0 35%,62% 35%,62% 0,100% 50%,62% 100%,62% 65%,0 65%);background:rgba(60,226,255,.13);box-shadow:0 0 10px #38e4ff}
#v43AbilitySelectBtn[data-ability="phase"] .v43-selected-icon:after{display:none}
#v43AbilitySelectBtn[data-ability="resonance"] .v43-selected-icon{border-color:rgba(255,73,142,.68);background:radial-gradient(circle,rgba(255,45,113,.24),rgba(106,25,73,.16) 60%,rgba(0,0,0,.36));box-shadow:0 0 18px rgba(255,42,116,.30)}
#v43AbilitySelectBtn[data-ability="resonance"] .v43-selected-icon:before{inset:8px;border:2px solid #ff4b8d;border-radius:50%;box-shadow:0 0 9px #ff2f76,inset 0 0 7px rgba(255,126,33,.35)}
#v43AbilitySelectBtn[data-ability="resonance"] .v43-selected-icon:after{display:block;inset:14px;border:2px solid #ff9b55;border-radius:50%;height:auto;transform:none;box-shadow:0 0 7px #ff3f78}
@media(min-width:1181px){.v43-ability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v43-ability-card{grid-template-columns:92px 1fr;min-height:245px;padding:15px}.v43-card-icon{width:86px;height:86px}.v43-card-icon svg{width:70px;height:70px}.v43-card-copy strong{font-size:15px}.v43-card-copy p{font-size:11px;margin:10px 0 12px}}
@media(min-width:761px) and (max-width:1180px){.v43-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
