:root { --bg:#05070a; --panel:#0b1018ed; --panel-solid:#0b1018; --amber:#ffd000; --amber-hot:#ffe35b; --teal:#3287ff; --text:#f5f7fb; --muted:#8a9bb2; --line:#7c9bc42b; --danger:#ff5864; }
html,body { background:#05070a; }
button,a,input,select { accent-color:#ffd000; }
.primary-btn,.btn.primary { background:#ffd000; color:#080b10; border-color:#ffd000; }
.primary-btn:hover,.btn.primary:hover { background:#ffe35b; box-shadow:0 0 30px #ffd00025; }
#menu-screen { height:100dvh; max-height:100dvh; overflow:hidden; background:radial-gradient(ellipse at 52% 24%,#153b6b80,transparent 65%),linear-gradient(110deg,#030609ed,#0b1420bd,#030609f5); }
#menu-screen .lobby-top { flex:0 0 62px; min-height:62px; padding:0 24px; background:#06090fe8; border-bottom:1px solid #4e85c92b; }
#menu-screen .wordmark { font-size:19px; font-weight:900; letter-spacing:2px; }
#menu-screen .wordmark-dot { width:24px; height:24px; border:0; border-radius:0; box-shadow:none; background:transparent url('/assets/blackdivision/favicon.webp') center/contain no-repeat; }
#menu-screen .lobby-promo-bar,#menu-screen .squad-card,#menu-screen .news-card,#menu-screen .account-card,#menu-screen .skins-card,#menu-screen .releases-card,#menu-screen .profile-stats { display:none !important; }
#menu-screen .lobby-layout { flex:1 1 0; min-height:0; grid-template-columns:minmax(220px,265px) minmax(190px,1fr) minmax(260px,310px); gap:20px; padding:22px 24px 12px; overflow:hidden; }
#menu-screen .lobby-panel { min-height:0; gap:14px; overflow:hidden; padding:0; }
#menu-screen .lobby-heading h1 { font-size:clamp(22px,2.5vw,36px); line-height:1; }
#menu-screen .lobby-heading .eyebrow { margin-bottom:8px; font-size:9px; }
#menu-screen .mode-list { display:grid; grid-template-rows:repeat(6,minmax(38px,1fr)); gap:6px; flex:1; min-height:0; max-height:370px; }
#menu-screen .mode-card { min-height:0; padding:9px 11px; background:#0c1421cf; border:1px solid #718baa26; border-left:2px solid transparent; transition:background .18s,border-color .18s; }
#menu-screen .mode-card.active { background:linear-gradient(90deg,#ffd00023,#0b1423); border-color:#ffd0006b; border-left-color:#ffd000; }
#menu-screen .mode-card:hover { border-color:#3287ff; background:#122641; }
#menu-screen .mode-info b { font-size:12px; letter-spacing:.6px; }
#menu-screen .mode-info small { font-size:9px; }
#menu-screen .mode-num { font-size:9px; }
#menu-screen .mode-icon { font-size:20px; }
#menu-screen .mode-badge { font-size:8px; }
#menu-screen .mode-brief { min-height:48px; padding:10px 0; border-top:1px solid #6482ac26; }
#menu-screen .mode-brief p { font-size:11px; line-height:1.4; }
#menu-screen .lobby-center { position:relative; border-bottom:1px solid #3287ff44; overflow:hidden; justify-content:flex-start; }
.bd-operator-art { position:absolute; inset:0 -50px; background:url('/assets/blackdivision/brand-soldier.webp') center 30%/contain no-repeat; opacity:.98; mask-image:linear-gradient(#000 0%,#000 76%,transparent 99%); }
#menu-screen .lobby-stage-tag { position:relative; z-index:2; border-color:#3287ff44; color:#bddaff; background:#070c15c9; margin-bottom:auto; }
#menu-screen .lobby-operator-readout { position:relative; z-index:2; margin-top:auto; margin-bottom:22px; padding:15px; background:#050a13c9; border-left:2px solid #ffd000; width:85%; }
#menu-screen .lobby-operator-readout strong { font-size:clamp(17px,2.2vw,30px); }
#menu-screen .lobby-center-content { display:none; }
#menu-screen .map-card { flex:0 0 auto; padding:0; overflow:hidden; border:1px solid #3287ff44; background:#0b1421; }
#menu-screen .map-preview { height:clamp(88px,16vh,145px); background:url('/assets/blackdivision/favela-preview.webp') center/cover; position:relative; }
#menu-screen .map-preview::after { content:'FAVELA'; position:absolute; left:14px; bottom:10px; font-size:23px; font-weight:900; letter-spacing:3px; text-shadow:0 2px 10px #000; }
#menu-screen .map-preview > * { display:none; }
#menu-screen .map-meta { padding:10px 13px; }
#menu-screen .map-meta b { display:none; }
#menu-screen .map-meta small { font-size:9px; }
.bd-preview-open { border:0; background:#17365c; width:100%; padding:9px; color:#d8eaff; text-align:left; letter-spacing:1px; font-size:9px; cursor:pointer; }
#menu-screen .loadout-card { padding:14px; background:#0b1420e8; border:1px solid #637b9a33; }
#menu-screen .loadout-row,#menu-screen .stat-bars { display:none; }
.bd-weapon-label { display:block; color:#8a9bb2; font-size:9px; letter-spacing:1px; margin:10px 0 7px; }
#bd-weapon-select { display:block; width:100%; min-height:40px; border:1px solid #6a8dbf55; background:#070d16; padding:8px; color:#fff; font-size:12px; font-weight:700; }
#bd-weapon-stats { color:#9fb8d9; font-size:9px; margin:9px 0; letter-spacing:.5px; }
#bd-loadout-status { color:#ffd000; font-size:8px; min-height:12px; letter-spacing:1px; }
#menu-screen .lobby-action-box { margin-top:auto; flex:0 0 auto; background:transparent; padding:0; }
#menu-screen .lobby-action { min-height:56px; font-size:16px; letter-spacing:2px; border:0; border-bottom:3px solid #9f8500; background:#ffd000; color:#090c10; }
#menu-screen .lobby-action-hint { font-size:9px; margin:0 0 7px; }
#menu-screen .lobby-action-meta { font-size:8px; margin:7px 0; }
#menu-screen .lobby-secondary-actions { gap:6px; }
#menu-screen .lobby-secondary-actions button { padding:7px; font-size:9px; }
#menu-screen .lobby-footer { flex:0 0 30px; min-height:30px; padding:0 24px; font-size:8px; background:#05080de6; }
#menu-screen .lobby-controls-hint { font-size:8px; gap:12px; }
#menu-screen .lobby-controls-hint kbd { font-size:8px; }
#menu-screen .lobby-nav { gap:20px; font-size:10px; }
#menu-screen .lobby-nav span:not(.active) { display:none; }
.oz-session { left:auto; right:70px; top:13px; transform:none; padding:2px; border:0; background:transparent; }
.oz-session-copy,.oz-session .oz-avatar { display:none; }
.oz-side { right:12px; top:auto; bottom:45px; }
.oz-bottom-hint { display:none; }
.bd-map-dialog { color:#e8f1ff; background:#080e18; border:1px solid #397cc1; padding:0; width:min(960px,90vw); max-height:90dvh; }
.bd-map-dialog::backdrop { background:#02040be6; backdrop-filter:blur(8px); }
.bd-map-dialog img { display:block; width:100%; max-height:65dvh; object-fit:cover; }
.bd-map-dialog .bd-map-copy { padding:20px; display:flex; gap:18px; align-items:center; }
.bd-map-dialog h2 { color:#ffd000; font-size:25px; margin:0; }
.bd-map-dialog p { color:#9fb4cd; font-size:12px; margin:5px 0 0; }
.bd-map-dialog button { margin-left:auto; background:#ffd000; color:#070b12; border:0; padding:12px 20px; font-weight:800; cursor:pointer; }
#bd-sprint-state { position:absolute; left:50%; bottom:75px; transform:translateX(-50%); font:10px 'Segoe UI',sans-serif; letter-spacing:2px; color:#ffd000; pointer-events:none; }
body.bd-game-page { overflow:hidden; height:100dvh; }
body:not(.bd-game-page) .brand-mark { border:0; transform:none; background:url('/assets/blackdivision/favicon.webp') center/contain no-repeat; }
body:not(.bd-game-page) .brand-mark span { visibility:hidden; }
body:not(.bd-game-page) .hero-bg { background-image:linear-gradient(90deg,#05070af5 10%,#05070a30),url('/assets/blackdivision/social-poster.webp'); background-size:cover; background-position:center 35%; opacity:.6; }
body:not(.bd-game-page) .hero-grid { opacity:.12; }
body:not(.bd-game-page) .hero-title { font-size:clamp(36px,6.5vw,90px); letter-spacing:-3px; }
body:not(.bd-game-page) .hero-title span { color:#ffd000; }
body:not(.bd-game-page) .panel-image { background:url('/assets/blackdivision/favela-preview.webp') center/cover; }
body:not(.bd-game-page) .auth-art { background-image:linear-gradient(#02060d80,#02060de6),url('/assets/blackdivision/brand-soldier.webp'); }
@media(max-height:690px) and (min-width:901px) {
 #menu-screen .lobby-layout { padding-top:12px; gap:14px; }
 #menu-screen .lobby-heading h1 { font-size:24px; }
 #menu-screen .mode-brief { display:none; }
 #menu-screen .lobby-panel { gap:10px; }
 #menu-screen .map-preview { height:88px; }
 #menu-screen .loadout-card { padding:10px; }
 #menu-screen .lobby-action { min-height:45px; }
 #menu-screen .lobby-top { flex-basis:52px; min-height:52px; }
 #menu-screen .lobby-footer { flex-basis:25px; min-height:25px; }
}
@media(max-width:900px) {
 #menu-screen .lobby-layout { grid-template-columns:minmax(150px,1fr) minmax(200px,1fr); gap:12px; padding:12px; }
 #menu-screen .lobby-center { display:none; }
 #menu-screen .lobby-heading h1 { font-size:23px; }
 #menu-screen .lobby-top { padding:0 12px; }
 #menu-screen .lobby-nav,#menu-screen .lobby-profile-chip,#menu-screen .lobby-online-pill { display:none; }
 #menu-screen .lobby-footer { padding:0 12px; }
 #menu-screen .lobby-controls-hint { display:none; }
 #menu-screen .mode-card { padding:6px; }
 #menu-screen .mode-num,#menu-screen .mode-icon,#menu-screen .mode-badge { display:none; }
 #menu-screen .mode-info b { font-size:10px; }
 #menu-screen .mode-info small { font-size:8px; }
 #menu-screen .lobby-panel { gap:10px; }
 #menu-screen .mode-brief { display:none; }
 .oz-session { top:16px; right:55px; }
 #menu-screen .map-preview { height:90px; }
 #menu-screen .map-meta small { font-size:8px; }
}
@media(max-width:480px) {
 #menu-screen .lobby-layout { grid-template-columns:minmax(125px,.8fr) minmax(170px,1fr); gap:8px; padding:10px 8px; }
 #menu-screen .wordmark { font-size:14px; letter-spacing:1px; }
 #menu-screen .lobby-section-tag,#menu-screen .server-pill { display:none; }
 #menu-screen .lobby-heading h1 { font-size:20px; }
 #menu-screen .loadout-card { padding:10px; }
 #menu-screen .lobby-action { min-height:49px; font-size:12px; letter-spacing:1px; }
 #menu-screen .lobby-action-hint,#menu-screen .lobby-action-meta { font-size:7px; }
 #menu-screen .lobby-footer { display:none; }
 #menu-screen .mode-list { max-height:none; }
}
@media(max-height:450px) {
 #menu-screen .lobby-top { flex-basis:42px; min-height:42px; }
 #menu-screen .lobby-layout { padding:8px; }
 #menu-screen .lobby-heading,#menu-screen .map-meta,#menu-screen .lobby-footer,#bd-loadout-status,#bd-weapon-stats { display:none; }
 #menu-screen .map-preview { height:55px; }
 #menu-screen .lobby-action { min-height:38px; }
 #menu-screen .mode-list { gap:3px; grid-template-rows:repeat(6,minmax(28px,1fr)); }
 #menu-screen .mode-info small { display:none; }
 #menu-screen .lobby-panel { gap:6px; }
 #menu-screen .bd-weapon-label { margin:4px 0; }
 #bd-weapon-select { min-height:30px; }
}
/* Override the previous phone layout, which hid the entire start column. */
#menu-screen.lobby-screen { overflow:hidden; }
#menu-screen .lobby-layout { display:grid; }
#menu-screen .lobby-right { display:flex; flex-direction:column; align-items:stretch; }
#menu-screen .mode-list { overflow:hidden; }
#menu-screen .map-card > .eyebrow { display:block; padding:9px 13px; font-size:8px; letter-spacing:2px; background:#111e31; }
#loading-screen .brand-mark,.gate-mark { transform:none; border:0; background:url('/assets/blackdivision/favicon.webp') center/contain no-repeat; }
#loading-screen .brand-mark > *,.gate-mark > * { visibility:hidden; }

#menu-screen .map-preview::after { content:attr(data-map-name); font-size:20px; }
.bd-map-label { display:block; color:#9eb3cf; font-size:8px; letter-spacing:1.5px; padding:8px 12px 4px; }
.bd-map-select { width:calc(100% - 24px); margin:0 12px 8px; min-height:30px; color:#f7f9fc; background:#080f1c; border:1px solid #3287ff66; font:700 11px 'Segoe UI',sans-serif; padding:5px 8px; }
#menu-screen .map-card > .eyebrow { display:none; }
#menu-screen .map-preview { height:clamp(72px,13vh,116px); }
@media(max-height:690px) { #menu-screen .map-preview { height:68px; } .bd-map-label { padding-top:5px; } }
@media(max-height:450px) { #menu-screen .map-preview,#menu-screen .bd-map-label { display:none; } .bd-map-select { min-height:27px; margin-top:7px; margin-bottom:7px; } }
/* 0.4.0: real operator, compact 3-slot loadout and fixed fullscreen control. */
.bd-operator-art{display:none!important;background:none!important}
#menu-screen .lobby-center{pointer-events:auto;background:radial-gradient(ellipse at 50% 70%,transparent 10%,#03091055 90%)}
#bd-operator-drag{position:absolute;inset:55px 0 75px;touch-action:none;cursor:grab;z-index:4;outline-offset:-4px}
#bd-operator-drag:active{cursor:grabbing}#bd-operator-drag:focus-visible{outline:2px solid #f4c638}
.bd-operator-choice{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:9px;align-items:center;font-size:10px;color:#f6cc40;white-space:nowrap}
.bd-operator-choice select{background:#08131b;border:1px solid #294554;color:#eef5ff;padding:7px;max-width:150px}
#menu-screen .promo-showcase{display:none}#menu-screen .lobby-center-content{pointer-events:none}#menu-screen .lobby-center-hint{color:#d5e5ee;font-size:10px;letter-spacing:1px}
#menu-screen .loadout-card{padding:10px 14px;gap:3px}#menu-screen .loadout-card select{width:100%;height:31px;min-height:28px;padding:4px 9px;background:#09121b;color:#ecf4fc;border:1px solid #294859;font-size:12px}
#menu-screen .loadout-card .bd-weapon-label{margin:3px 0 0;font-size:9px;line-height:1.1}#bd-weapon-stats,#bd-loadout-status{font-size:9px;margin:3px 0;line-height:1.2}
#bd-fullscreen{position:fixed;bottom:7px;left:50%;transform:translateX(-50%);z-index:210;background:#07111eee;border:1px solid #33576d;color:#f4ca37;padding:7px 11px;font:600 10px system-ui;cursor:pointer;letter-spacing:.8px}
#bd-slots{position:fixed;bottom:65px;right:22px;z-index:60;display:flex;gap:5px;pointer-events:none;font:600 10px system-ui}#bd-slots[hidden]{display:none}#bd-slots span{background:#06101bd9;border:1px solid #3e5768;color:#b7cad7;padding:8px}#bd-slots span.active{border-color:#f6c83b;color:#f6c83b}
@media(max-height:800px){#menu-screen .map-preview{height:70px;min-height:55px}#menu-screen .loadout-card{padding:7px 10px}#menu-screen .loadout-card select{height:27px;min-height:25px}#menu-screen .map-meta small,#menu-screen .map-card>.eyebrow{display:none}#menu-screen .map-card{padding:10px}}
@media(max-height:620px){#menu-screen .map-preview{height:42px;min-height:32px}#menu-screen .loadout-card select{height:24px;min-height:22px;font-size:11px}#bd-weapon-stats{display:none}#menu-screen .loadout-card .eyebrow{display:none}#bd-fullscreen{padding:4px 8px;font-size:9px}#bd-slots{bottom:50px;right:8px;font-size:9px}}

/* Movimentos enviados pelo jogador — prévia em 3D, sem deslocar a plataforma. */
.bd-motion-choice{position:absolute;top:55px;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:9px;align-items:center;font-size:10px;color:#a8c9de;white-space:nowrap}
.bd-motion-choice select{background:#08131b;border:1px solid #294554;color:#eef5ff;padding:6px;max-width:175px;font-size:11px}
#bd-operator-drag{top:94px}
@media(max-height:620px){.bd-motion-choice{top:48px}.bd-motion-choice select{padding:3px;font-size:10px}#bd-operator-drag{top:75px}}

/* 0.6.0: clean ADS, walking-only lobby, fullscreen managed on player input. */
#bd-fullscreen,.bd-motion-choice{display:none!important}
#bd-operator-drag{top:55px}
#crosshair.oz-aiming .ch,#crosshair.oz-aiming .ch-dot{opacity:0!important}
#crosshair.oz-aiming::before{content:none!important;display:none!important}
