:root{--bg:#07040b;--purple:#8e5cff;--gold:#ffd85a;--green:#72ff9b;--cyan:#6cecff;--red:#ff6868;--orange:#ff9950;--ink:#f7f2ff;--muted:#aa9cba}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{font-family:"Courier New",monospace;display:flex;justify-content:center;padding:10px;background:radial-gradient(circle at 50% 0,rgba(142,92,255,.2),transparent 48rem),linear-gradient(#09050e,#050307)}button,input{font:inherit}.ccg-game{width:min(1320px,100%);background:#09050e;border:3px solid var(--purple);box-shadow:0 0 0 4px #1b0d2a,0 0 42px rgba(142,92,255,.32)}
.topbar{display:grid;grid-template-columns:300px 1fr;gap:10px;align-items:center;padding:8px 10px;background:linear-gradient(90deg,#1a0c2b,#35144d,#1a0c2b);border-bottom:2px solid var(--purple)}.brand{display:flex;gap:10px;align-items:center}.brand img{width:70px;height:43px;object-fit:contain}.brand h1{margin:0;font-size:18px;text-transform:uppercase;line-height:1}.brand p{margin:4px 0 0;color:var(--muted);font-size:8px}.hud{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.hud>div{background:#0a0610;border:1px solid #553874;padding:5px 3px;text-align:center;min-width:0}.hud b{display:block;color:var(--gold);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud span{display:block;margin-top:2px;color:#81748e;font-size:7px}
.mission{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:9px;align-items:center;padding:7px 10px;background:#100819;border-bottom:1px solid #49305f;font-size:10px}.mission strong{color:var(--gold)}.status,.sound-toggle{padding:4px 8px;border:1px solid #5a416f;background:#0b0610;color:#c7b9d3;font-size:9px}.status.online{border-color:#3f8f58;color:var(--green)}.sound-toggle{cursor:pointer;color:var(--gold)}
.game-area{position:relative;width:100%;aspect-ratio:16/9;background:#030205;overflow:hidden}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.game-area:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,rgba(0,0,0,.07) 2px,rgba(0,0,0,.07) 4px);opacity:.38}
.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:rgba(4,2,8,.89);backdrop-filter:blur(2px);z-index:6}.hidden{display:none!important}.panel{width:min(820px,96%);max-height:94%;overflow:auto;padding:20px;text-align:center;background:linear-gradient(#241238,#11091b);border:3px solid var(--purple);box-shadow:0 0 34px rgba(142,92,255,.34)}.panel.compact{width:min(520px,95%)}.hero-logo{width:min(240px,60vw);height:108px;object-fit:contain}.panel h2{margin:5px 0 10px;color:var(--gold);font-size:clamp(27px,4vw,44px);text-transform:uppercase}.panel p{font-size:12px;line-height:1.45;color:#ddd4e6}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.feature-strip span{padding:7px;border:1px solid #5d4276;background:#0b0610;color:#cdbfda;font-size:8px}.feature-strip b{display:block;color:var(--gold);font-size:9px;margin-bottom:2px}.field{display:block;max-width:360px;margin:15px auto;text-align:left}.field span{display:block;margin-bottom:4px;color:var(--gold);font-size:9px}input{width:100%;padding:10px;background:#08050d;border:1px solid #745797;color:#fff;outline:none}#room-code{text-transform:uppercase;text-align:center;letter-spacing:2px}.menu-buttons,.join-row{display:flex;gap:8px;justify-content:center;max-width:680px;margin:9px auto;flex-wrap:wrap}.join-row input{max-width:210px}button{cursor:pointer;padding:10px 13px;border:2px solid var(--purple);background:#241336;color:#fff;font-weight:bold;box-shadow:3px 3px 0 #000}button.primary{border-color:var(--gold);background:var(--gold);color:#160b1e}button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #000}.note{font-size:9px!important;color:#9e8faf!important}.keys-help{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}kbd{padding:5px 7px;background:#09060e;border:1px solid #7f67a0;border-bottom-width:3px;font:700 8px "Courier New",monospace}
.lower{display:grid;grid-template-columns:1.15fr .95fr .9fr 1.05fr;border-top:2px solid var(--purple);background:#0c0612}.lower>div{padding:9px 10px;min-height:82px;border-right:1px solid #3c294e}.lower>div:last-child{border-right:0}.lower h3{margin:0 0 5px;color:var(--gold);font-size:9px}.lower p,.lower div{font-size:9px;line-height:1.45;color:#ac9dbb}#message{font-size:10px;color:#ddd4e6;margin:0}.quest-done{color:var(--green)!important}.lower b{color:#fff}
.pickup-toast{position:absolute;top:13%;left:50%;z-index:4;transform:translate(-50%,-20px) scale(.92);min-width:280px;max-width:min(620px,82%);padding:15px 22px;text-align:center;border:2px solid var(--gold);background:rgba(8,5,13,.94);box-shadow:0 0 30px rgba(255,216,90,.22);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.pickup-toast.show{opacity:1;transform:translate(-50%,0) scale(1)}.pickup-toast b{display:block;color:var(--gold);font-size:19px;text-transform:uppercase;text-shadow:2px 2px #000}.pickup-toast span{display:block;color:#ece3f5;font-size:11px;line-height:1.45;margin-top:7px}.pickup-toast.green{border-color:var(--green)}.pickup-toast.green b{color:var(--green)}.pickup-toast.cyan{border-color:var(--cyan)}.pickup-toast.cyan b{color:var(--cyan)}.pickup-toast.red{border-color:var(--red)}.pickup-toast.red b{color:var(--red)}
@media(max-width:900px){body{padding:0}.ccg-game{border-left:0;border-right:0}.topbar{grid-template-columns:1fr}.brand{display:none}.hud{grid-template-columns:repeat(4,1fr)}.lower{grid-template-columns:1fr 1fr}.feature-strip{grid-template-columns:1fr}}@media(max-width:560px){.mission{grid-template-columns:1fr auto}.mission strong,.status{display:none}.menu-buttons,.join-row{flex-direction:column}.join-row input{max-width:none}.panel{padding:14px 11px}.panel p{font-size:10px}.lower{grid-template-columns:1fr}.pickup-toast b{font-size:13px}}

.ccg-game:fullscreen{width:100vw;height:100vh;max-width:none;border:0;box-shadow:none;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden;background:#050307}
.ccg-game:fullscreen .topbar{grid-template-columns:1fr;padding:4px 8px;min-height:38px}
.ccg-game:fullscreen .brand{display:none}
.ccg-game:fullscreen .hud{grid-template-columns:repeat(8,minmax(64px,1fr));gap:3px}
.ccg-game:fullscreen .hud>div{padding:3px 2px}
.ccg-game:fullscreen .mission{padding:4px 8px;min-height:28px}
.ccg-game:fullscreen .control-strip span{padding:4px 6px;font-size:7px}
.ccg-game:fullscreen .game-area{height:100%;min-height:0;aspect-ratio:auto;overflow:hidden}
.ccg-game:fullscreen canvas{width:100%;height:100%;object-fit:contain;background:#030205}
.ccg-game:fullscreen .lower{min-height:0;grid-template-columns:1.1fr .9fr .95fr 1.05fr}
.ccg-game:fullscreen .lower>div{min-height:0;padding:5px 8px}
.ccg-game:fullscreen .lower h3{margin-bottom:2px}
.ccg-game:fullscreen .pickup-toast{position:absolute;top:7%}
.ccg-game:fullscreen .overlay{position:absolute}
.ccg-game:-webkit-full-screen{width:100vw;height:100vh;max-width:none;overflow:hidden}

select{width:100%;padding:10px;background:#08050d;border:1px solid #745797;color:#fff;outline:none;font:inherit}.collection-summary{color:var(--cyan)!important;font-size:10px!important}.event-log{display:none!important}.event-line{background:rgba(5,3,8,.86);border-left:3px solid var(--purple);padding:6px 8px;font-size:9px;line-height:1.3;color:#efe8f5;box-shadow:0 2px 8px rgba(0,0,0,.4);animation:eventIn .18s ease}.event-line.gold{border-left-color:var(--gold)}.event-line.red{border-left-color:var(--red)}.event-line.green{border-left-color:var(--green)}.event-line.cyan{border-left-color:var(--cyan)}@keyframes eventIn{from{transform:translateX(-8px);opacity:0}to{transform:none;opacity:1}}
.choice-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}.choice-grid button{text-align:left;padding:12px}.choice-grid button b{display:block;color:var(--gold);margin-bottom:4px}.inventory-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.inventory-slot{border:1px solid #604878;background:#09060e;padding:9px;text-align:left;min-height:48px}.inventory-slot b{display:block;color:var(--gold);font-size:10px}.inventory-slot span{font-size:8px;color:#aa9cba}.hud{grid-template-columns:repeat(8,minmax(72px,1fr))}
@media(max-width:900px){.inventory-list{grid-template-columns:1fr}.hud{grid-template-columns:repeat(4,1fr)}}
.slot-actions{display:flex;gap:5px;margin-top:6px}.slot-actions button{padding:3px 6px;font-size:7px;box-shadow:none;border-width:1px}

.control-strip{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:1px;background:#2c1d39;border-bottom:1px solid #5a416f}
.control-strip span{padding:6px 8px;background:#0c0711;color:#bdaecb;font-size:8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.control-strip b{color:var(--gold)}
@media(max-width:900px){.control-strip{grid-template-columns:1fr}.control-strip span{white-space:normal;padding:4px 7px}}

@media (max-height:820px){.ccg-game:fullscreen .lower{display:none}.ccg-game:fullscreen{grid-template-rows:auto auto auto minmax(0,1fr)}.ccg-game:fullscreen .topbar{min-height:34px}.ccg-game:fullscreen .mission{min-height:24px}.ccg-game:fullscreen .control-strip span{padding:3px 5px}}

/* v5 viewport discipline: the page itself never needs vertical scrolling during play. */
html,body{height:100%;overflow:hidden}
body{padding:0;align-items:stretch}
.ccg-game{width:min(1320px,100vw);height:100dvh;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;overflow:hidden;margin:0 auto}
.game-area{width:100%;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden}
canvas{width:100%;height:100%;object-fit:contain;background:#030205}
.fullscreen-hint{background:#291635;color:#d7cae2;text-align:center;padding:4px 8px;font-size:9px;border-bottom:1px solid #654a82;letter-spacing:.3px}
.fullscreen-hint b{color:var(--gold)}.fullscreen-hint kbd{padding:2px 5px;font-size:8px}
.pickup-toast{position:relative;top:auto;left:auto;z-index:3;transform:none;min-width:0;max-width:none;width:100%;height:58px;padding:6px 18px;border-width:0 0 2px;background:rgba(8,5,13,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;opacity:.2;transition:opacity .12s}
.pickup-toast.show{opacity:1;transform:none}.pickup-toast b{font-size:16px;line-height:1.1}.pickup-toast span{font-size:10px;line-height:1.15;margin-top:3px;max-width:96%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccg-game:fullscreen{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto}.ccg-game:fullscreen .fullscreen-hint{display:none}.ccg-game:fullscreen .pickup-toast{position:relative;top:auto;height:52px}
.inventory-objective{border:1px solid #73549a;background:#0b0610;padding:10px;margin:8px 0 12px;text-align:left}.inventory-objective b{display:block;color:var(--gold);font-size:11px}.inventory-objective span{display:block;color:#fff;font-size:10px;margin-top:4px;line-height:1.35}.inventory-objective small{display:block;color:var(--cyan);font-size:8px;margin-top:5px}
@media(max-height:820px){.lower{display:none}.ccg-game{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}.ccg-game:fullscreen{grid-template-rows:auto auto auto auto minmax(0,1fr)}}


/* v6 readability / no-scroll / reference layout */
html,body{height:100%;max-height:100%;overflow:hidden}
body{padding:0}
.ccg-game{height:100dvh;max-height:100dvh;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto}
.game-area{height:100%;min-height:0;aspect-ratio:auto}
.game-area canvas{width:100%;height:100%;object-fit:fill}
.pickup-toast{height:56px;min-height:56px;max-height:56px;flex:0 0 56px;overflow:hidden}
.pickup-toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-panel{width:min(760px,96%);max-height:94%;overflow:auto}
.inventory-slot small{display:block;color:#8f829d;font-size:7px;line-height:1.25;margin-top:4px}
.inventory-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 14px;text-align:left}
.inventory-guide>div{border:1px solid #4e3863;background:#08050d;padding:7px}
.inventory-guide b{display:block;color:var(--gold);font-size:8px}.inventory-guide span{display:block;color:#b9aec5;font-size:7px;line-height:1.25;margin-top:2px}
.inventory-panel h3{color:var(--cyan);font-size:10px;margin:12px 0 5px}
@media(max-height:900px){.lower{display:none}.ccg-game{grid-template-rows:auto auto auto auto auto minmax(0,1fr)}.ccg-game:fullscreen{grid-template-rows:auto auto auto auto minmax(0,1fr)}}
@media(max-width:760px){.inventory-guide{grid-template-columns:1fr}.control-strip{grid-template-columns:1fr}.control-strip span{white-space:normal}}

/* V7 AUDIT: fixed notification rail, compact viewport, legible menu and build verification. */
.mission{grid-template-columns:auto minmax(0,1fr) auto auto auto auto;padding:5px 8px;min-height:28px}
.build-badge{padding:3px 7px;border:1px solid #6cecff;color:#6cecff;background:#071016;font-size:8px;font-weight:700;white-space:nowrap}
.hero-logo{width:160px;height:160px;max-width:34vw;object-fit:contain;margin:0 auto 4px}
.panel{padding:16px 18px}.panel h2{font-size:clamp(25px,3.2vw,40px);margin:2px 0 8px}
.pickup-toast,.ccg-game:fullscreen .pickup-toast{
  position:static!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  transform:none!important;width:100%!important;max-width:none!important;height:62px!important;min-height:62px!important;max-height:62px!important;
  margin:0!important;padding:6px 16px!important;z-index:auto!important;flex:0 0 62px!important;border:0!important;border-bottom:2px solid var(--gold)!important;
  background:#0a0610!important;display:flex!important;align-items:center!important;justify-content:center!important;visibility:hidden;opacity:0;
}
.pickup-toast.show{visibility:visible;opacity:1!important;transform:none!important}
.pickup-toast b{font-size:17px!important;line-height:1.05}.pickup-toast span{font-size:10px!important;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccg-game{height:100dvh;max-height:100dvh;grid-template-rows:auto auto auto auto 62px minmax(0,1fr) auto}
.ccg-game:fullscreen{height:100vh;max-height:100vh;grid-template-rows:auto auto auto 62px minmax(0,1fr) auto}
.ccg-game:fullscreen .fullscreen-hint{display:none!important}
.game-area{min-height:0!important;overflow:hidden!important}
.game-area canvas{width:100%;height:100%;object-fit:fill}
.control-strip span{font-size:8.5px;padding:5px 7px}
@media(max-height:900px){
  .lower{display:none!important}
  .ccg-game{grid-template-rows:auto auto auto auto 62px minmax(0,1fr)}
  .ccg-game:fullscreen{grid-template-rows:auto auto auto 62px minmax(0,1fr)}
}
@media(max-height:720px){
  .topbar{display:none}
  .ccg-game{grid-template-rows:auto auto auto 58px minmax(0,1fr)}
  .pickup-toast,.ccg-game:fullscreen .pickup-toast{height:58px!important;min-height:58px!important;max-height:58px!important}
}
@media(max-height:720px){.ccg-game:fullscreen{grid-template-rows:auto auto 58px minmax(0,1fr)}.ccg-game:fullscreen .topbar{display:none}}

/* V8 UI + AUDIO — readability-first desktop layout. The dungeon never sits underneath HUD/reference information. */
:root{--sidebar:330px}
html,body{width:100%;height:100%;overflow:hidden}
body{padding:0;font-family:Consolas,"Lucida Console","Courier New",monospace;background:#050307}
.ccg-game{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;box-shadow:none;display:grid;grid-template-rows:auto auto auto auto 74px minmax(0,1fr);overflow:hidden}
.topbar{display:block;padding:4px 6px;background:#0b0610;border-bottom:2px solid var(--purple)}
.brand{display:none!important}
.hud{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}
.hud>div{min-height:50px;padding:6px 4px;display:flex;flex-direction:column;justify-content:center;background:#100817;border:1px solid #62457c}
.hud b{font-size:15px;line-height:1.05;overflow:visible;text-overflow:clip;color:var(--gold)}
.hud span{font-size:9px;line-height:1.1;margin-top:4px;color:#b3a4c0;letter-spacing:.35px}
.mission{min-height:38px;padding:6px 10px;gap:10px;font-size:13px;line-height:1.2;grid-template-columns:auto minmax(0,1fr) auto auto auto auto}
.mission strong{font-size:13px}.mission #mission-text{font-size:13px;color:#f4edf8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.build-badge,.status,.sound-toggle{font-size:11px;padding:5px 9px;line-height:1;min-height:26px}
.control-strip{grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #684c83;background:#261733}
.control-strip span{font-size:11px;line-height:1.25;padding:7px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0d0812;color:#ddd0e7}
.fullscreen-hint{min-height:31px;padding:7px 8px;font-size:12px;line-height:1.2;letter-spacing:.25px;background:#261532;border-bottom:1px solid #6b4f87}
.fullscreen-hint kbd{font-size:11px;padding:2px 7px}
.pickup-toast,.ccg-game:fullscreen .pickup-toast{height:74px!important;min-height:74px!important;max-height:74px!important;flex:0 0 74px!important;padding:8px 18px!important;background:#0c0712!important;border-bottom:2px solid var(--gold)!important;visibility:hidden;opacity:0;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center;overflow:hidden}
.pickup-toast.show{visibility:visible;opacity:1!important}
.pickup-toast b{font-size:21px!important;line-height:1.05;letter-spacing:.3px}
.pickup-toast span{font-size:13px!important;line-height:1.2;margin-top:5px;max-width:94%;white-space:normal!important;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.game-area{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar);background:#030205;overflow:hidden}
.canvas-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:#030205;border-right:2px solid #56396e}
.canvas-wrap canvas#game{display:block;width:100%;height:100%;object-fit:fill;image-rendering:auto;background:#030205}
.reference-panel{min-width:0;min-height:0;overflow:hidden;padding:9px;background:linear-gradient(#0b0710,#060409);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px}
.reference-card{min-width:0;background:#0b0710;border:1px solid #62457c;padding:8px;overflow:hidden}
.reference-card h3{margin:0 0 7px;color:var(--gold);font-size:12px;line-height:1.15;letter-spacing:.2px;text-align:left}
.radar-card{height:180px}.radar-card canvas{width:100%;height:145px;display:block;background:#030205;border:1px solid #3c2a4c;image-rendering:auto}
.named-enemy-guide{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.named-guide-entry{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px;align-items:center;min-width:0;background:#08050d;border:1px solid #3d2a4d;padding:5px}
.named-guide-entry img,.named-guide-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--gold);background:#1a0e23}
.named-guide-copy{min-width:0}.named-guide-copy b{display:block;font-size:11px;line-height:1.05;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.named-guide-copy span{display:block;margin-top:3px;font-size:9px;line-height:1.05;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-reference-card{min-height:0}.item-quick-guide{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.item-guide-entry{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:center;min-width:0;padding:4px;background:#08050d;border:1px solid #342442}
.item-guide-icon{width:30px;height:26px;display:grid;place-items:center;border:1px solid currentColor;background:#120a18;font-size:9px;font-weight:700}
.item-guide-copy{min-width:0}.item-guide-copy b{display:block;font-size:10px;line-height:1.05;color:#fff}.item-guide-copy span{display:block;margin-top:2px;font-size:8.5px;line-height:1.08;color:#b9aec5}
.reference-tip{padding:6px 7px;border:1px solid #62457c;background:#110919;color:#d6c7df;font-size:10px;line-height:1.2}.reference-tip b{color:var(--gold)}
.lower{display:none!important}
.overlay{position:absolute;inset:0;z-index:20;padding:14px;background:rgba(4,2,8,.93)}
.panel{width:min(920px,94%);max-height:94%;padding:18px 22px}.hero-logo{width:min(220px,42vw);height:138px;max-width:none}.panel h2{font-size:clamp(30px,3vw,44px)}.panel p{font-size:14px;line-height:1.45}.feature-strip span{font-size:11px;line-height:1.25}.feature-strip span b{font-size:11px}.field span{font-size:11px}.field input,.field select,select{font-size:14px}.menu-buttons button,.join-row button,.join-row input{font-size:13px}.keys-help kbd{font-size:10px;line-height:1.35}
.inventory-panel{width:min(900px,94%)}.inventory-objective b{font-size:14px}.inventory-objective span{font-size:12px}.inventory-objective small{font-size:10px}.inventory-slot b{font-size:12px}.inventory-slot span,.inventory-slot small{font-size:10px}.inventory-guide b{font-size:10px}.inventory-guide span{font-size:9px}.inventory-panel h3{font-size:12px}
.ccg-game:fullscreen{width:100vw;height:100vh;max-width:none;max-height:100vh;border:0;box-shadow:none;display:grid;grid-template-rows:auto auto auto 74px minmax(0,1fr);overflow:hidden}
.ccg-game:fullscreen .topbar{display:block;padding:4px 6px;min-height:unset}.ccg-game:fullscreen .hud{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.ccg-game:fullscreen .hud>div{padding:6px 4px}.ccg-game:fullscreen .mission{min-height:38px;padding:6px 10px}.ccg-game:fullscreen .control-strip span{font-size:11px;padding:7px 8px}.ccg-game:fullscreen .game-area{height:100%;min-height:0}.ccg-game:fullscreen .pickup-toast{height:74px!important;min-height:74px!important;max-height:74px!important}.ccg-game:fullscreen .fullscreen-hint{display:none!important}
@media(max-width:1380px){:root{--sidebar:300px}.hud b{font-size:14px}.mission,#mission-text{font-size:12px!important}.control-strip span{font-size:10px}.named-guide-copy b{font-size:10px}.named-guide-copy span{font-size:8px}.item-guide-copy b{font-size:9px}.item-guide-copy span{font-size:8px}}
@media(max-width:1120px){:root{--sidebar:270px}.named-enemy-guide,.item-quick-guide{grid-template-columns:1fr}.radar-card{height:150px}.radar-card canvas{height:115px}.reference-panel{gap:6px;padding:6px}.reference-card{padding:6px}.hud{grid-template-columns:repeat(4,1fr)}.hud>div{min-height:40px}.control-strip{grid-template-columns:1fr}.control-strip span{padding:4px 7px;white-space:normal}.mission{grid-template-columns:auto minmax(0,1fr) auto auto}.mission .build-badge,.mission .status{display:none}}
@media(max-height:820px){.ccg-game{grid-template-rows:auto auto auto auto 66px minmax(0,1fr)}.ccg-game:fullscreen{grid-template-rows:auto auto auto 66px minmax(0,1fr)}.hud>div{min-height:42px;padding:4px 3px}.hud b{font-size:13px}.hud span{font-size:8px}.mission{min-height:32px;padding:4px 8px}.control-strip span{padding:5px 6px}.fullscreen-hint{min-height:27px;padding:5px 6px}.pickup-toast,.ccg-game:fullscreen .pickup-toast{height:66px!important;min-height:66px!important;max-height:66px!important}.pickup-toast b{font-size:18px!important}.pickup-toast span{font-size:11px!important}.radar-card{height:150px}.radar-card canvas{height:115px}.named-guide-entry{grid-template-columns:28px minmax(0,1fr);padding:4px}.named-guide-entry img,.named-guide-avatar{width:26px;height:26px}.named-guide-copy b{font-size:9px}.named-guide-copy span{font-size:7.5px}.item-guide-entry{grid-template-columns:27px minmax(0,1fr);gap:4px;padding:3px}.item-guide-icon{width:25px;height:22px;font-size:8px}.item-guide-copy b{font-size:8.5px}.item-guide-copy span{font-size:7.5px}}

/* V8 sidebar fit: all permanent reference information stays visible at a normal 1080p browser viewport. */
.reference-panel{padding:6px;gap:5px;grid-template-rows:136px 128px minmax(0,1fr) auto}
.reference-card{padding:6px}.reference-card h3{font-size:11px;margin:0 0 5px}
.radar-card{height:136px}.radar-card canvas{height:104px}
.named-enemy-guide{gap:4px 5px}.named-guide-entry{grid-template-columns:26px minmax(0,1fr);gap:5px;padding:3px;min-height:29px}.named-guide-entry img,.named-guide-avatar{width:24px;height:24px}.named-guide-copy b{font-size:9.5px}.named-guide-copy span{font-size:8px;margin-top:2px}
.item-quick-guide{gap:4px 5px}.item-guide-entry{grid-template-columns:27px minmax(0,1fr);gap:5px;padding:3px;min-height:29px}.item-guide-icon{width:25px;height:23px;font-size:8px}.item-guide-copy b{font-size:9.5px}.item-guide-copy span{font-size:8.5px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-tip{font-size:9.5px;padding:5px 6px}
@media(max-height:760px){.reference-panel{grid-template-rows:118px 114px minmax(0,1fr) auto}.radar-card{height:118px}.radar-card canvas{height:88px}.named-guide-entry{grid-template-columns:22px minmax(0,1fr);min-height:26px}.named-guide-entry img,.named-guide-avatar{width:20px;height:20px}.named-guide-copy b{font-size:8.5px}.named-guide-copy span{font-size:7.3px}.item-guide-entry{min-height:25px}.item-guide-copy b{font-size:8.5px}.item-guide-copy span{font-size:7.5px}}

/* V8 final readability corrections after desktop screenshot review. */
:root{--sidebar:350px}
.game-area:after{display:none!important}
.pickup-toast,.ccg-game:fullscreen .pickup-toast{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
  transition:none!important;
  z-index:8!important;
  flex-direction:column!important;
  box-shadow:none!important;
  border-left:0!important;
  border-right:0!important;
}
.pickup-toast.show,.ccg-game:fullscreen .pickup-toast.show{transform:none!important}
.reference-panel{grid-template-rows:126px 130px minmax(0,1fr) auto;padding:7px;gap:6px}
.radar-card{height:126px}.radar-card canvas{height:94px}
.reference-card h3{font-size:12px;margin-bottom:6px}
.named-enemy-guide{gap:5px 6px}
.named-guide-entry{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:4px;min-height:36px}
.named-guide-entry img,.named-guide-avatar{width:30px;height:30px}
.named-guide-copy b{font-size:11px}.named-guide-copy span{font-size:9.5px}
.item-quick-guide{gap:5px 6px}
.item-guide-entry{grid-template-columns:32px minmax(0,1fr);gap:6px;padding:4px;min-height:34px}
.item-guide-icon{width:30px;height:28px;font-size:10px}
.item-guide-copy b{font-size:11px}.item-guide-copy span{font-size:9.5px;line-height:1.05}
.reference-tip{font-size:10.5px;padding:6px 7px}
@media(max-width:1380px){:root{--sidebar:310px}}
@media(max-height:820px){
  .reference-panel{grid-template-rows:116px 118px minmax(0,1fr) auto}
  .radar-card{height:116px}.radar-card canvas{height:84px}
  .named-guide-entry{grid-template-columns:28px minmax(0,1fr);min-height:32px}
  .named-guide-entry img,.named-guide-avatar{width:26px;height:26px}
  .named-guide-copy b{font-size:10.5px}.named-guide-copy span{font-size:9px}
  .item-guide-entry{min-height:31px}.item-guide-copy b{font-size:10.5px}.item-guide-copy span{font-size:9px}
}
@media(max-height:700px){
  .reference-panel{grid-template-rows:104px 108px minmax(0,1fr) auto}
  .radar-card{height:104px}.radar-card canvas{height:74px}
  .item-guide-copy span{display:none}
}
@media(max-height:820px){
  .hud>div{min-height:46px;padding:5px 4px}
  .hud b{font-size:15px}.hud span{font-size:9.5px}
  .mission{min-height:34px;font-size:13px}.mission #mission-text{font-size:13px!important}
  .control-strip span,.ccg-game:fullscreen .control-strip span{font-size:11px;padding:5px 7px}
  .fullscreen-hint{font-size:12px}
  .pickup-toast b{font-size:19px!important}.pickup-toast span{font-size:12px!important}
  .item-guide-copy span{font-size:9.5px}
}

/* V9 HUD + INVENTORY */
:root{--sidebar:360px}.ccg-game{grid-template-rows:auto auto auto auto auto auto minmax(0,1fr)!important}.ccg-game:fullscreen{grid-template-rows:auto auto auto auto auto minmax(0,1fr)!important}.control-strip .critical-control{display:inline-flex;align-items:center;gap:5px;margin:0 3px;padding:2px 7px;border:1px solid #80649b;background:#1c1027;color:#fff;font-style:normal;font-weight:700;white-space:nowrap}.control-strip .critical-control kbd{padding:2px 6px;font-size:12px;line-height:1;border-color:var(--gold);color:var(--gold);background:#09060e}.control-strip .potion-control{border-color:#4b9d62}.control-strip .potion-control kbd{border-color:var(--green);color:var(--green)}.control-strip .inventory-control{border-color:#7a64aa}.control-strip .inventory-control kbd{border-color:var(--cyan);color:var(--cyan)}.priority-strip{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(170px,.65fr) minmax(270px,1fr) minmax(310px,1.2fr);gap:6px;padding:6px 8px;background:#09050e;border-bottom:1px solid #5d4276;min-height:64px;align-items:stretch}.priority-xp,.priority-action,.priority-inventory{border:1px solid #4d3860;background:#0d0812;min-width:0}.priority-xp{padding:7px 9px}.priority-xp-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.priority-xp-head b{color:var(--gold);font-size:14px}.priority-xp-head strong{color:var(--cyan);font-size:15px}.priority-xp small{display:block;margin-top:4px;color:#aa9cba;font-size:10px;text-align:right}.xp-track{height:10px;margin-top:5px;border:1px solid #55416a;background:#050308;overflow:hidden}.xp-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#38b7da,#6cecff)}.priority-action{display:flex;align-items:center;gap:10px;padding:7px 9px}.priority-action kbd{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;padding:0;font-size:20px;border-width:2px}.priority-action b{display:block;font-size:13px;color:#fff}.priority-action span{display:block;margin-top:3px;font-size:10px;color:#aa9cba}.priority-action.potion kbd{border-color:var(--green);color:var(--green)}.priority-action.potion.available{border-color:#4d9c65}.priority-action.inventory kbd{border-color:var(--cyan);color:var(--cyan)}.priority-action.inventory b{color:var(--cyan)}.priority-inventory{padding:6px 8px}.priority-inventory-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px}.priority-inventory-head b{font-size:11px;color:var(--gold)}.priority-inventory-head span{font-size:9px;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-slots{display:grid;grid-template-columns:repeat(6,minmax(35px,1fr));gap:4px}.quick-slot{position:relative;height:34px;border:1px solid #49375a;background:#07040a;display:grid;place-items:center;overflow:hidden}.quick-slot.filled{border-color:#71538e}.quick-slot>b{position:absolute;left:3px;top:2px;color:#766a80;font-size:8px}.quick-slot .item-svg-wrap{width:26px;height:26px}.quick-slot.empty i{width:12px;height:1px;background:#5a5061}.item-svg-wrap{display:inline-grid;place-items:center;width:36px;height:36px;vertical-align:middle}.item-svg-wrap svg{display:block;width:100%;height:100%;overflow:visible}.reference-panel{grid-template-rows:minmax(250px,46%) minmax(0,1fr) auto!important;padding:8px!important;gap:8px!important}.radar-card{height:auto!important;min-height:0!important}.radar-card canvas{height:calc(100% - 28px)!important;min-height:210px!important}.named-enemy-guide{grid-template-columns:1fr 1fr!important;gap:7px!important}.named-guide-entry{grid-template-columns:36px minmax(0,1fr)!important;min-height:43px!important;padding:5px!important}.named-guide-entry img,.named-guide-avatar{width:34px!important;height:34px!important}.named-guide-copy b{font-size:11px!important}.named-guide-copy span{font-size:9.5px!important}.reference-tip{font-size:11px!important;line-height:1.35!important}.inventory-panel{width:min(980px,94vw)!important;max-height:90vh!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin}.inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.inventory-slot{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:start;min-height:82px!important;padding:9px!important}.inventory-slot-icon{width:52px;height:52px;display:grid;place-items:center;border:1px solid #4f3a61;background:#060309}.inventory-slot-icon .item-svg-wrap{width:40px;height:40px}.empty-slot-mark{font-size:18px;color:#564960}.inventory-slot-copy b{font-size:12px!important}.inventory-slot-copy span{display:block;margin-top:3px;font-size:12px!important;color:#fff!important}.inventory-slot-copy small{font-size:10px!important;line-height:1.3!important}.inventory-guide{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.inventory-guide-entry{display:grid!important;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;min-height:72px;padding:9px!important;border:1px solid #4e3863;background:#08050d}.inventory-guide-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #49365b;background:#060309}.inventory-guide-icon .item-svg-wrap{width:42px;height:42px}.inventory-guide-entry b{font-size:12px!important;color:var(--gold)!important}.inventory-guide-entry span{font-size:10.5px!important;line-height:1.3!important;color:#c4b9cd!important;margin-top:4px!important}.inventory-panel h3{font-size:14px!important}.inventory-objective b{font-size:15px!important}.inventory-objective span{font-size:13px!important}@media(max-width:1350px){:root{--sidebar:330px}.priority-strip{grid-template-columns:minmax(220px,1fr) minmax(150px,.65fr) minmax(235px,1fr) minmax(270px,1.1fr)}}@media(max-width:1050px){:root{--sidebar:300px}.priority-strip{grid-template-columns:1fr 1fr 1.2fr}.priority-inventory{grid-column:1/-1}.named-enemy-guide{grid-template-columns:1fr!important}}@media(max-height:820px){.priority-strip{min-height:58px;padding:4px 6px}.priority-action kbd{width:36px;height:36px;font-size:17px}.quick-slot{height:30px}.reference-panel{grid-template-rows:minmax(210px,45%) minmax(0,1fr) auto!important}.radar-card canvas{min-height:175px!important}}

/* RULEBOOK / SUPPORT / QUIT */
.danger-toggle{border-color:#a94758!important;color:#ff8b99!important}.danger-button{border-color:#b94e61;background:#3c101b;color:#ffd9de}.secondary-menu{margin-top:6px}.secondary-menu button{border-color:#5b8da3;background:#0d1c24;color:var(--cyan)}
.v10-info-panel{width:min(1040px,96%)!important;text-align:left!important;max-height:92%!important}.v10-info-panel>h2{text-align:center}.v10-info-panel>p{text-align:center;max-width:820px;margin:0 auto 14px}.rulebook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 18px}.rulebook-grid section{padding:11px 12px;border:1px solid #58416e;background:#09050e}.rulebook-grid h3{margin:0 0 6px;color:var(--gold);font-size:12px;letter-spacing:.06em}.rulebook-grid p{margin:0!important;text-align:left!important;font-size:11.5px!important;color:#d8cedf!important}.v10-info-panel>.primary{display:block;margin:0 auto}.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.support-grid a{display:block;padding:14px;border:1px solid #5b4a72;background:#09050e;color:#fff;text-decoration:none}.support-grid a:hover,.support-grid a:focus{border-color:var(--cyan);outline:none}.support-grid b{display:block;color:var(--gold);font-size:14px}.support-grid span{display:block;margin-top:5px;color:#c7bdcf;font-size:11px;line-height:1.35}.support-note{text-align:center!important;color:#9f92aa!important;font-size:10.5px!important}
@media(max-width:760px){.rulebook-grid,.support-grid{grid-template-columns:1fr}.v10-info-panel{padding:14px!important}.rulebook-grid p{font-size:10.5px!important}}

/* V10 mobile playability: preserve the dungeon width and give menus the whole phone viewport. */
@media(max-width:760px){
  .game-area{grid-template-columns:minmax(0,1fr)!important}
  .canvas-wrap{border-right:0!important}
  .reference-panel{display:none!important}
  .overlay{position:fixed!important;inset:0!important;z-index:100!important;padding:8px!important}
  .panel{width:min(100%,680px)!important;max-height:calc(100dvh - 16px)!important}
  .v10-info-panel{width:min(100%,680px)!important;max-height:calc(100dvh - 16px)!important}
}
.weekly-leaderboard{margin:.45rem 0 0;padding:.5rem .7rem .5rem 2rem;max-height:10rem;overflow:auto;border:1px solid rgba(185,120,255,.3);background:rgba(6,3,12,.56);font-size:.72rem}.weekly-leaderboard li{display:list-item;padding:.18rem 0;color:var(--muted)}.weekly-leaderboard li span{float:right;color:var(--gold)}

/* USER-FEEDBACK COMPONENTS: field reports, utility/key HUD, dossiers and item information. */
.ccg-game{grid-template-rows:auto auto auto auto auto minmax(0,1fr)!important}
.ccg-game:fullscreen{grid-template-rows:auto auto auto auto minmax(0,1fr)!important}
.game-area{position:relative!important;overflow:hidden}
.game-area>.pickup-toast,.ccg-game:fullscreen .game-area>.pickup-toast{
  position:absolute!important;
  top:8%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:auto auto auto 50%!important;
  width:min(680px,84%)!important;
  min-width:280px!important;
  max-width:680px!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:15px 20px!important;
  transform:translate(-50%,-18px) scale(.97)!important;
  display:block!important;
  visibility:hidden;
  opacity:0!important;
  z-index:30!important;
  overflow:visible!important;
  pointer-events:none!important;
  background:rgba(8,5,13,.96)!important;
  border:2px solid var(--gold)!important;
  box-shadow:0 0 0 1px rgba(255,216,86,.14),0 0 32px rgba(255,216,86,.18),0 14px 34px rgba(0,0,0,.72)!important;
  text-align:center!important;
  transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s!important;
}
.game-area>.pickup-toast.show,.ccg-game:fullscreen .game-area>.pickup-toast.show{
  visibility:visible!important;
  opacity:1!important;
  transform:translate(-50%,0) scale(1)!important;
  transition-delay:0s!important;
}
.pickup-toast b{display:block!important;color:var(--gold)!important;font-size:19px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.pickup-toast span{display:block!important;margin-top:5px!important;color:#f1e8f5!important;font-size:12px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important}
.pickup-toast.green{border-color:var(--green)!important;box-shadow:0 0 30px rgba(89,255,133,.16),0 14px 34px rgba(0,0,0,.72)!important}.pickup-toast.green b{color:var(--green)!important}
.pickup-toast.cyan{border-color:var(--cyan)!important;box-shadow:0 0 30px rgba(92,226,255,.17),0 14px 34px rgba(0,0,0,.72)!important}.pickup-toast.cyan b{color:var(--cyan)!important}
.pickup-toast.red{border-color:#ff7188!important;box-shadow:0 0 30px rgba(255,86,112,.18),0 14px 34px rgba(0,0,0,.72)!important}.pickup-toast.red b{color:#ff8799!important}

.control-strip .utility-control{border-color:#a7833d!important}.control-strip .utility-control kbd{border-color:var(--gold)!important;color:var(--gold)!important}
.priority-strip{grid-template-columns:minmax(210px,.95fr) minmax(175px,.72fr) minmax(205px,.82fr) minmax(235px,.95fr) minmax(290px,1.18fr)!important}
.priority-action.utility{border-color:#6d5730}.priority-action.utility kbd{border-color:var(--gold);color:var(--gold)}.priority-action.utility b{color:var(--gold)}.priority-action.utility.available{border-color:#9b7d37}
.priority-keyring{display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid #5c4930;background:#0d0812;min-width:0}.priority-keyring-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:2px solid var(--gold);background:#09060e;color:var(--gold)}.priority-keyring-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.priority-keyring-copy{min-width:0}.priority-keyring-copy b{display:block;color:var(--gold);font-size:13px}.priority-keyring-copy span{display:block;margin-top:3px;color:#d6cadb;font-size:10px;white-space:normal;line-height:1.25}
.tiny-key{display:inline-block;width:13px;height:13px;vertical-align:-2px;margin-right:3px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.reference-panel{grid-template-rows:minmax(190px,1fr) auto auto!important}
.named-enemy-guide{grid-template-columns:1fr 1fr!important;gap:6px!important;overflow:hidden}.named-guide-entry{min-height:39px!important}.dossier-expand{width:100%;margin-top:7px;padding:7px 8px;border:1px solid #8064a0;background:#13091d;color:var(--cyan);font-family:inherit;font-size:10px;font-weight:700;cursor:pointer}.dossier-expand:hover,.dossier-expand:focus{border-color:var(--cyan);outline:none}

.sub-overlay{position:fixed!important;inset:0!important;z-index:130!important;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.8)}.sub-overlay[hidden]{display:none!important}
.item-info-card,.dossier-panel{width:min(760px,94vw);max-height:88vh;overflow:auto;padding:18px;border:2px solid #765596;background:#0b0610;box-shadow:0 0 36px rgba(122,83,163,.34),0 18px 50px rgba(0,0,0,.74)}
.item-info-card h2,.dossier-panel h2{margin:0 0 12px;color:var(--gold);font-size:20px;text-align:center}.item-info-hero{display:grid;grid-template-columns:86px minmax(0,1fr);gap:15px;align-items:center;padding:12px;border:1px solid #56406a;background:#08040c}.item-info-icon{display:grid;place-items:center;width:82px;height:82px;border:1px solid #604677;background:#040206}.item-info-icon .item-svg-wrap{width:62px;height:62px}.item-info-copy{font-size:12px;line-height:1.55;color:#e6ddea}.item-info-card .primary,.dossier-panel .primary{display:block;margin:15px auto 0}
.dossier-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dossier-entry{display:grid;grid-template-columns:58px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid #513b64;background:#07040a;min-width:0}.dossier-entry img{width:56px;height:56px;border:1px solid #70558b;object-fit:cover;background:#030204}.dossier-entry b{display:block;color:#fff;font-size:12px}.dossier-entry .dossier-type{display:block;margin-top:2px;color:var(--cyan);font-size:9px}.dossier-entry .dossier-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.dossier-entry .dossier-stat{padding:4px;border:1px solid #3e2e4b;background:#0d0812;text-align:center}.dossier-entry .dossier-stat span{display:block;color:#92869d;font-size:7.5px}.dossier-entry .dossier-stat strong{display:block;margin-top:2px;color:var(--gold);font-size:11px}
.clue-log{margin:0 0 10px;padding:8px 10px;border:1px solid #743f49;background:#17070b;color:#d9b0b7;font-size:10.5px}.clue-log b{color:#ff8d9e}

@media(max-width:1350px){.priority-strip{grid-template-columns:minmax(200px,1fr) minmax(165px,.75fr) minmax(190px,.8fr) minmax(220px,1fr)!important}.priority-inventory{grid-column:1/-1}.reference-panel{grid-template-rows:minmax(180px,1fr) auto auto!important}}
@media(max-width:1050px){.priority-strip{grid-template-columns:1fr 1fr!important}.priority-xp,.priority-inventory{grid-column:1/-1}.priority-keyring,.priority-action{min-height:54px}.named-enemy-guide{grid-template-columns:1fr 1fr!important}}
@media(max-height:820px) and (min-width:761px){.reference-panel{grid-template-rows:minmax(150px,1fr) auto auto!important}.named-guide-entry{min-height:33px!important}.named-guide-entry img,.named-guide-avatar{width:28px!important;height:28px!important}.dossier-expand{padding:5px 7px;font-size:9px}.priority-keyring-icon,.priority-action kbd{width:36px;height:36px}.priority-keyring-icon svg{width:23px;height:23px}}
@media(max-width:760px){
  .ccg-game,.ccg-game:fullscreen{grid-template-rows:auto auto auto auto auto minmax(0,1fr)!important}
  .ccg-game:fullscreen{grid-template-rows:auto auto auto auto minmax(0,1fr)!important}
  .priority-strip{grid-template-columns:1fr 1fr!important;padding:5px!important}.priority-xp,.priority-inventory{grid-column:1/-1}.priority-action,.priority-keyring{padding:6px!important;gap:7px}.priority-action kbd,.priority-keyring-icon{width:34px;height:34px}.priority-keyring-icon svg{width:21px;height:21px}.priority-action b,.priority-keyring-copy b{font-size:11px}.priority-action span,.priority-keyring-copy span{font-size:8.5px}
  .game-area>.pickup-toast,.ccg-game:fullscreen .game-area>.pickup-toast{top:10px!important;width:calc(100% - 20px)!important;min-width:0!important;max-width:none!important;padding:12px 14px!important}.pickup-toast b{font-size:16px!important}.pickup-toast span{font-size:10.5px!important}
  .item-info-card,.dossier-panel{width:100%;max-height:calc(100dvh - 16px);padding:13px}.item-info-hero{grid-template-columns:64px minmax(0,1fr);gap:10px}.item-info-icon{width:62px;height:62px}.item-info-icon .item-svg-wrap{width:48px;height:48px}.dossier-list{grid-template-columns:1fr}.dossier-entry{grid-template-columns:50px minmax(0,1fr)}.dossier-entry img{width:48px;height:48px}
}
/* Small component corrections after DOM wiring. */
.priority-keyring>.keyring-icon{display:block;flex:0 0 auto;width:42px;height:42px;padding:7px;border:2px solid var(--gold);background:#09060e;color:var(--gold);fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.item-info-hero{display:grid!important;place-items:center!important;grid-template-columns:1fr!important;min-height:92px!important;padding:10px!important}.item-info-hero .item-svg-wrap{width:70px!important;height:70px!important}
@media(max-width:760px){.priority-keyring>.keyring-icon{width:34px;height:34px;padding:6px}.item-info-hero{min-height:72px!important}.item-info-hero .item-svg-wrap{width:54px!important;height:54px!important}}
.inventory-footer-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:14px}.inventory-footer-actions button{min-width:190px}.inventory-footer-actions #inventory-dossier-btn{border-color:#8064a0;background:#13091d;color:var(--cyan)}

/* V10.2 — CENTRED ROGUELIKE COMMAND DECK
   Critical actions live above the dungeon, the dungeon remains the visual focus,
   and combat/loadout information lives below it. Secondary intelligence never
   overlays the play canvas. */
.ccg-game,
.ccg-game:fullscreen{
  width:min(1480px,100vw)!important;
  height:100dvh!important;
  max-width:none!important;
  display:grid!important;
  grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  background:#050307!important;
}
.v102-topbar{display:flex!important;justify-content:space-between;align-items:center;gap:10px;padding:5px 10px!important;min-height:42px!important;border-bottom:1px solid #53396b!important}
.v102-brand{display:flex!important;min-width:0}.v102-brand img{width:54px!important;height:34px!important}.v102-brand h1{font-size:15px!important}.v102-brand p{font-size:7.5px!important;margin-top:2px!important}
.system-buttons{display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.danger-toggle{border-color:#8b3b4a!important;color:#ff9eab!important}.build-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #5b416e;background:#0c0712;color:#9f90ab;font-size:9px}

.critical-strip{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px 8px;background:linear-gradient(180deg,#13091d,#09050e);border-bottom:1px solid #59416d}
.critical-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:56px;padding:6px 10px;background:#08050c;border:1px solid #59416d;box-shadow:inset 0 0 15px rgba(142,92,255,.045);min-width:0}
.critical-card kbd{display:grid;place-items:center;width:42px;height:38px;padding:0;border:2px solid currentColor;border-bottom-width:4px;background:#100918;font-size:17px;color:var(--gold)}
.critical-card>div{min-width:0}.critical-card b{display:block;font-size:11px;letter-spacing:.65px;color:#f8efff}.critical-card strong{display:block;margin-top:1px;font-size:15px;line-height:1.1;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.critical-card span{display:block;margin-top:3px;font-size:8px;color:#978aa3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.potion-card{border-color:#366d4a}.potion-card kbd,.potion-card strong{color:var(--green)}.torch-card{border-color:#7a6230}.keys-card{border-color:#756134}.inventory-card{border-color:#4f6578}.inventory-card kbd,.inventory-card strong{color:var(--cyan)}
.keyring-icon{width:40px;height:40px;padding:6px;border:2px solid var(--gold);background:#100918;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.banish-context{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:center;gap:10px;min-height:38px;padding:5px 12px;border:2px solid #b16bff;background:#251137;box-shadow:0 0 20px rgba(177,107,255,.34);animation:v102BanishPulse .7s steps(2,end) infinite;text-align:center}.banish-context kbd{font-size:15px;color:#fff;border-color:#fff}.banish-context b{color:#fff;font-size:12px}.banish-context span{display:block;color:#e9d8ff;font-size:10px;margin-top:2px}@keyframes v102BanishPulse{50%{border-color:#fff;background:#3a1854;box-shadow:0 0 30px rgba(207,159,255,.58)}}

.v102-mission{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;min-height:28px!important;padding:4px 10px!important;font-size:10px!important}.v102-mission #mission-text{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fullscreen-hint{min-height:20px!important;padding:3px 8px!important;font-size:8.5px!important}

.tactical-zone{display:grid;grid-template-columns:minmax(280px,1fr) minmax(420px,1.35fr) minmax(300px,1fr);gap:7px;padding:6px 8px;background:#09050e;border-bottom:1px solid #4c345e;min-height:0;max-height:192px}
.intel-card,.tactical-zone .reference-card{min-width:0;min-height:0;padding:7px 8px;background:linear-gradient(180deg,#0d0813,#07040a);border:1px solid #503862;overflow:hidden}
.intel-heading,.dossier-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.intel-heading b,.tactical-zone h3{margin:0;color:var(--gold);font-size:10px;line-height:1.1;letter-spacing:.4px}.intel-heading span{font-size:8.5px;color:#9d90a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tactical-zone .pickup-toast{position:static!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;max-width:none!important;height:73px!important;min-height:73px!important;max-height:73px!important;margin:6px 0!important;padding:7px 10px!important;visibility:visible!important;opacity:.72!important;border:1px solid #5e4a2b!important;border-left:3px solid var(--gold)!important;background:#09060d!important;box-shadow:none!important;text-align:left!important;transition:opacity .15s,border-color .15s,background .15s!important}
.tactical-zone .pickup-toast.show{opacity:1!important;transform:none!important;border-color:var(--gold)!important;background:#100b12!important;box-shadow:inset 0 0 22px rgba(255,216,90,.06)!important}.tactical-zone .pickup-toast.green{border-left-color:var(--green)!important}.tactical-zone .pickup-toast.cyan{border-left-color:var(--cyan)!important}.tactical-zone .pickup-toast.red{border-left-color:var(--red)!important}
.tactical-zone .pickup-toast b{width:100%;font-size:13px!important;line-height:1.05!important;text-align:left!important}.tactical-zone .pickup-toast span{width:100%;max-width:none!important;margin-top:4px!important;font-size:9px!important;line-height:1.22!important;text-align:left!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.intel-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.intel-footer #message{font-size:8.5px!important;line-height:1.25!important;color:#cfc4d7!important;white-space:normal}.intel-footer .quest-list{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;font-size:7.5px;line-height:1.1}.intel-footer .quest-list>div{padding:2px 4px;border:1px solid #35263f;background:#08050c}

.v102-radar-card{height:178px!important;padding:6px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:4px!important;border-color:#654d79!important}.v102-radar-card h3{text-align:center!important}.v102-radar-card canvas{display:block!important;width:100%!important;height:137px!important;min-height:120px!important;border:1px solid #4a3857!important;background:#020104!important;image-rendering:auto!important}
.radar-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:7.5px;color:#a99db3}.radar-legend span{display:flex;align-items:center;gap:4px}.radar-legend i{display:inline-block;width:8px;height:8px}.radar-player{background:var(--cyan);border:1px solid #fff}.radar-sigil{background:var(--gold);transform:rotate(45deg)}.radar-cache{position:relative}.radar-cache:before,.radar-cache:after{content:"";position:absolute;left:3px;top:0;width:2px;height:9px;background:#ff6076}.radar-cache:before{transform:rotate(45deg)}.radar-cache:after{transform:rotate(-45deg)}.radar-exit{background:#71637d}
.dossier-card{height:178px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:5px!important}.dossier-heading h3{margin:0!important}.dossier-expand{width:auto!important;margin:0!important;padding:4px 6px!important;font-size:7.5px!important}.dossier-card .named-enemy-guide{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px!important;overflow:hidden!important}.dossier-card .named-guide-entry{grid-template-columns:24px minmax(0,1fr)!important;gap:4px!important;min-height:29px!important;padding:3px!important}.dossier-card .named-guide-entry img,.dossier-card .named-guide-avatar{width:22px!important;height:22px!important}.dossier-card .named-guide-copy b{font-size:8.5px!important}.dossier-card .named-guide-copy span{font-size:7px!important}.dossier-card .reference-tip{padding:4px 5px!important;font-size:7.5px!important;line-height:1.18!important}

.v102-game-area{position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;background:#020104!important;padding:6px 8px!important}
.v102-game-area .canvas-wrap{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;border:2px solid #674580!important;box-shadow:0 0 0 1px #160d1d,0 0 25px rgba(142,92,255,.12)!important;background:#030205!important}
.v102-game-area .canvas-wrap canvas#game{display:block!important;width:100%!important;height:100%!important;object-fit:fill!important;background:#030205!important}
.v102-game-area>.pickup-toast{display:none!important}
.overlay{position:fixed!important;inset:0!important;z-index:100!important}

.player-hub{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(360px,1.1fr) minmax(320px,.95fr);gap:7px;padding:7px 8px;background:linear-gradient(180deg,#0d0713,#07040a);border-top:2px solid #63417a;min-height:112px;max-height:132px;overflow:hidden}
.core-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.hub-stat,.run-stat{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;padding:6px 8px;background:#08050c;border:1px solid #473257}.hub-stat span,.run-stat span{font-size:8px;letter-spacing:.45px;color:#91869b}.hub-stat b,.run-stat b{min-width:0;font-size:14px;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-stat{border-color:#315f42}.health-stat b{color:var(--green)}.armour-stat{border-color:#3d5670}.armour-stat b{color:#9ccaff}.ammo-stat{border-color:#315d68}.ammo-stat b{color:var(--cyan)}.weapon-stat{border-color:#704d31}.weapon-stat b{color:#ffb36f}
.hub-inventory{min-width:0;padding:6px 7px;border:1px solid #4e385e;background:#08050c}.hub-inventory-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:5px}.hub-inventory-head b{font-size:8.5px;color:var(--gold)}.hub-inventory-head span{font-size:7.5px;color:#a99db3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-slots{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important}.quick-slot{position:relative!important;display:grid!important;place-items:center!important;min-width:0!important;height:58px!important;padding:3px!important;border:1px solid #463354!important;background:#050308!important;overflow:hidden!important}.quick-slot.empty{opacity:.55}.quick-slot .item-svg-wrap{width:34px!important;height:34px!important}.quick-slot>span:not(.stack-count),.quick-slot>small{display:none!important}.stack-count{position:absolute;right:2px;bottom:2px;display:grid!important;place-items:center;min-width:20px;height:18px;padding:0 3px;border:1px solid var(--gold);background:#08050c;color:var(--gold);font-size:9px;font-weight:700;line-height:1}
.hub-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr auto;gap:5px;min-width:0}.hub-progress .priority-xp{grid-column:1/-1;padding:6px 8px;border:1px solid #4b3a5b;background:#08050c}.priority-xp-head{display:flex;justify-content:space-between;gap:8px}.priority-xp-head b{font-size:9.5px;color:var(--gold)}.priority-xp-head strong{font-size:8px;color:var(--cyan)}.xp-track{height:7px;margin:5px 0 3px;border:1px solid #3b2a48;background:#030205;overflow:hidden}.xp-track i{display:block;height:100%;background:linear-gradient(90deg,#7d52bd,#6cecff)}.priority-xp small{display:block;font-size:7.5px;color:#9e92a8}.run-stat{padding:4px 6px}.run-stat b{font-size:10px;color:var(--gold)}.hub-hidden-data{display:none!important}

@media(max-width:1160px){
  .tactical-zone{grid-template-columns:minmax(250px,.9fr) minmax(390px,1.2fr) minmax(260px,.9fr)}
  .player-hub{grid-template-columns:1fr 1fr}.hub-progress{grid-column:1/-1;grid-template-columns:1.4fr repeat(3,.5fr);grid-template-rows:auto}.hub-progress .priority-xp{grid-column:auto}
}
@media(max-width:820px){
  .v102-brand{display:none!important}.v102-topbar{justify-content:center!important;min-height:30px!important;padding:3px 5px!important}.system-buttons{width:100%;justify-content:center;flex-wrap:nowrap}.system-buttons .build-badge{display:none}.system-buttons .status,.system-buttons .sound-toggle{font-size:8px!important;padding:4px 6px!important;min-height:22px!important}
  .critical-strip{grid-template-columns:1fr 1fr;gap:4px;padding:4px}.critical-card{min-height:48px;padding:4px 6px;gap:6px}.critical-card kbd{width:34px;height:32px;font-size:14px}.critical-card strong{font-size:12px}.critical-card b{font-size:9px}.critical-card span{font-size:7px}.keyring-icon{width:32px;height:32px;padding:5px}.banish-context{min-height:32px;padding:4px 7px}.banish-context b{font-size:10px}.banish-context span{font-size:8px}
  .v102-mission{min-height:24px!important;padding:3px 6px!important}.v102-mission strong,.v102-mission #mission-text{font-size:8.5px!important}.fullscreen-hint{display:none!important}
  .tactical-zone{grid-template-columns:1fr 1.25fr;grid-template-rows:104px;max-height:112px;padding:4px;gap:4px}.dossier-card{display:none!important}.intel-card{height:104px;padding:4px 5px}.intel-heading span{display:none}.intel-heading b{font-size:8px}.tactical-zone .pickup-toast{height:60px!important;min-height:60px!important;max-height:60px!important;margin:3px 0!important;padding:4px 6px!important}.tactical-zone .pickup-toast b{font-size:10px!important}.tactical-zone .pickup-toast span{font-size:7.5px!important}.intel-footer{display:none}.v102-radar-card{height:104px!important;padding:3px!important}.v102-radar-card h3{font-size:7.5px!important}.v102-radar-card canvas{height:76px!important;min-height:70px!important}.radar-legend{gap:5px;font-size:6px}.radar-legend i{width:6px;height:6px}
  .v102-game-area{padding:3px 0!important}.v102-game-area .canvas-wrap{border-left:0!important;border-right:0!important}
  .player-hub{grid-template-columns:1fr;gap:4px;padding:4px;min-height:166px;max-height:176px}.core-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.hub-stat{display:block;text-align:center;padding:4px 2px}.hub-stat span{display:block;font-size:6.5px}.hub-stat b{display:block;margin-top:3px;font-size:10px}.hub-inventory{padding:4px}.hub-inventory-head{margin-bottom:3px}.hub-inventory-head b{font-size:7px}.hub-inventory-head span{font-size:6px}.quick-slot{height:43px!important}.quick-slot .item-svg-wrap{width:28px!important;height:28px!important}.stack-count{min-width:17px;height:15px;font-size:7.5px}.hub-progress{grid-column:auto;grid-template-columns:1.4fr repeat(3,.55fr);grid-template-rows:auto;gap:3px}.hub-progress .priority-xp{grid-column:auto;padding:4px}.priority-xp-head b{font-size:7px}.priority-xp-head strong{font-size:6px}.priority-xp small{font-size:5.8px}.xp-track{height:5px;margin:3px 0 2px}.run-stat{display:block;text-align:center;padding:3px 2px}.run-stat span{display:block;font-size:5.8px}.run-stat b{display:block;margin-top:2px;font-size:8px}
}
@media(max-width:520px){
  .ccg-game,.ccg-game:fullscreen{border:0!important}
  .system-buttons #net-status{display:none}.system-buttons .sound-toggle{flex:1;max-width:100px}
  .critical-card strong{font-size:11px}.critical-card span{font-size:6.5px}.critical-card kbd{width:30px;height:29px;font-size:12px}.critical-card{min-height:45px}
  .tactical-zone{grid-template-columns:.88fr 1.12fr}.v102-radar-card canvas{height:75px!important}
  .player-hub{min-height:158px;max-height:168px}.hub-inventory-head span{display:none}.quick-slot{height:40px!important}.quick-slot .item-svg-wrap{width:25px!important;height:25px!important}
  .overlay{padding:7px!important}.panel{width:min(100%,680px)!important;max-height:calc(100dvh - 14px)!important;padding:12px 8px!important}.dossier-list{grid-template-columns:1fr!important}
}
@media(max-height:760px) and (min-width:821px){
  .v102-topbar{min-height:34px!important}.critical-card{min-height:47px}.critical-card kbd{height:32px}.tactical-zone{max-height:154px}.v102-radar-card,.dossier-card{height:140px!important}.v102-radar-card canvas{height:101px!important}.tactical-zone .pickup-toast{height:53px!important;min-height:53px!important;max-height:53px!important}.player-hub{min-height:92px;max-height:102px}.quick-slot{height:47px!important}
}

/* V10.33 mode hierarchy: one yellow family, progressively darker by multiplayer mode. */
.game-mode-buttons .game-mode-button{color:#160b1e!important;text-shadow:0 1px rgba(255,255,255,.24);transition:filter .15s ease,transform .08s ease,box-shadow .08s ease}
.game-mode-buttons .mode-solo{border-color:#ffe477!important;background:#ffd85a!important}
.game-mode-buttons .mode-dungeon{border-color:#f6d467!important;background:#edc44d!important}
.game-mode-buttons .mode-horde{border-color:#e6bf5c!important;background:#d9ae3f!important}
.game-mode-buttons .mode-saboteurs{border-color:#d1a94e!important;background:#c39731!important}
.game-mode-buttons .game-mode-button:not(:disabled):hover{filter:brightness(1.08)}

/* V10.3 release HUD: graphical meters, compact intelligence, prominent room context. */
.hub-stat{position:relative;overflow:hidden;padding-bottom:12px}.hub-stat::after{content:"";position:absolute;left:7px;right:7px;bottom:5px;height:3px;background:#211829;border-radius:3px;box-shadow:inset 0 0 0 1px #35263f}.hub-stat::before{content:"";position:absolute;left:7px;bottom:5px;height:3px;z-index:1;border-radius:3px;box-shadow:0 0 8px currentColor}.health-stat::before{width:var(--health-pct,100%);max-width:calc(100% - 14px);background:var(--green)}.armour-stat::before{width:var(--armour-pct,0%);max-width:calc(100% - 14px);background:#79baff}.ammo-stat::before{width:var(--ammo-pct,100%);max-width:calc(100% - 14px);background:var(--cyan)}
.radar-shop{background:var(--gold)!important;border-radius:1px!important;box-shadow:0 0 5px var(--gold)}
.artefact-choice-card{border-color:var(--gold)!important;box-shadow:0 0 44px rgba(255,216,90,.2)!important;text-align:center}.artefact-choice-glyph{margin:auto;color:var(--gold);font-size:48px;line-height:1;text-shadow:0 0 18px var(--gold);animation:artefactPulse 1s ease-in-out infinite alternate}.artefact-reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.artefact-reward-grid button{display:flex;flex-direction:column;gap:6px;padding:15px}.artefact-reward-grid button b{font-size:17px}.artefact-reward-grid button span{font-size:9px;color:#c7b9cf}@keyframes artefactPulse{to{transform:scale(1.18);text-shadow:0 0 28px var(--gold),0 0 44px var(--purple)}}
@media(min-width:821px){.tactical-zone{max-height:156px!important}.v102-radar-card canvas{height:112px!important;min-height:104px!important}.dossier-card{display:grid!important;grid-template-rows:auto 1fr!important}.dossier-card .named-enemy-guide{display:none!important}.dossier-card .reference-tip{display:flex!important;align-items:center!important;margin:0!important;padding:12px!important;font-size:11px!important;line-height:1.45!important}.game-message-context{border-color:#6f557f!important;background:linear-gradient(135deg,#110a17,#08050c)!important}.game-message-context b{color:var(--cyan)!important;font-size:10px!important}.game-message-context span{font-size:12px!important;line-height:1.35!important;color:#fff!important}.hub-telemetry{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:1fr!important}.hub-telemetry>div{padding:4px!important}.player-hub{grid-template-columns:minmax(250px,.86fr) minmax(370px,1.25fr) minmax(300px,1fr) minmax(250px,.72fr)!important}}
@media(max-width:620px){.artefact-reward-grid{grid-template-columns:1fr}}
.rulebook-lead{margin:2px 0 12px!important;color:#d7c9df!important;font-size:12px!important}.rulebook-cards section{position:relative;min-height:128px;padding:14px 12px 12px 54px!important;background:linear-gradient(145deg,#100918,#07040a)!important;border-color:#513a63!important}.rulebook-cards section:nth-child(2),.rulebook-cards section:nth-child(4){border-color:#765f2d!important}.rulebook-cards h3{font-size:11px!important;line-height:1.25!important}.rulebook-cards p{font-size:10px!important;line-height:1.42!important}.rulebook-icon{position:absolute;left:12px;top:14px;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--cyan);background:#08050c;color:var(--gold);font:700 19px/1 Consolas;text-shadow:0 0 10px currentColor;box-shadow:inset 0 0 12px rgba(108,236,255,.08)}

/* V10.2 final HUD fit pass — keep the lower combat deck inside the viewport and
   give tactical notices usable horizontal space instead of crushing the copy. */
.v102-game-area{height:auto!important}
.intel-footer{display:flex;flex-direction:column;gap:4px;align-items:stretch!important}
.intel-footer #message{margin:0!important;width:100%;min-width:0;font-size:8.5px!important;line-height:1.22!important;white-space:normal!important}
.intel-footer .quest-list{width:100%;justify-content:flex-start!important;align-items:center;max-height:34px;overflow:hidden}
@media(min-width:1161px){
  .tactical-zone{grid-template-columns:minmax(250px,.82fr) minmax(500px,1.55fr) minmax(250px,.82fr)}
}
@media(max-width:820px){
  .intel-footer{display:none!important}
}

/* Keep the fullscreen-hint grid track present even when its contents are hidden.
   Without this placeholder, CSS Grid shifts the tactical/game/hub rows upward and
   the lower combat hub gets assigned to the flexible game track. */
.ccg-game .fullscreen-hint.hidden{
  display:block!important;
  min-height:0!important;
  height:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:820px){
  .ccg-game .fullscreen-hint,
  .ccg-game .fullscreen-hint.hidden{
    display:block!important;
    min-height:0!important;
    height:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* Contextual Banishment warning: draw attention without covering the dungeon. */
.ccg-game.banish-ready .v102-game-area .canvas-wrap{
  animation:v102BanishFrame .72s steps(2,end) infinite!important;
}
@keyframes v102BanishFrame{
  50%{border-color:#d7a7ff!important;box-shadow:0 0 0 2px rgba(215,167,255,.55),0 0 34px rgba(177,107,255,.34),inset 0 0 26px rgba(177,107,255,.08)!important}
}

/* V10.3 SHOP + CHECKPOINT UI */
.shop-panel-card{width:min(900px,94vw)!important}.shop-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}.shop-wallet span{padding:10px;border:1px solid #5a456e;background:#07040a;color:#ad9cba;font-size:11px}.shop-wallet b{display:block;margin-top:4px;color:var(--gold);font-size:17px}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.shop-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid #523c67;background:#09050e;text-align:left}.shop-item.sold{opacity:.46}.shop-item-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid #523c67;background:#050307}.shop-item-icon .item-svg-wrap{width:42px;height:42px}.shop-item h3{margin:0;color:var(--gold);font-size:13px}.shop-item p{margin:4px 0!important;text-align:left!important;font-size:10.5px!important;color:#c9bdd1!important}.shop-item button{margin-top:5px;width:100%;font-size:11px}.shop-item .price{display:block;color:var(--cyan);font-size:11px;font-weight:700}.shop-note{font-size:10.5px!important;color:#a99ab5!important}.save-panel-card small{display:block;margin-top:10px;color:#9d8ca8;line-height:1.35}.save-resume{border-color:#61d88a!important;color:#bfffd2!important}.save-resume.hidden{display:none!important}
@media(max-width:700px){.shop-wallet{grid-template-columns:1fr}.shop-grid{grid-template-columns:1fr}.shop-panel-card{max-height:calc(100dvh - 16px)!important;overflow:auto}}

/* V10.3 dungeon command-deck pass.
   Keep the explored map large, reserve the right-hand play column for live reports,
   and keep stack identity visible at a glance. */
@media(min-width:821px){
  .tactical-zone{grid-template-columns:minmax(520px,1.7fr) minmax(330px,.8fr)!important;max-height:194px!important}
  .v102-radar-card{min-width:0!important}
  .v102-radar-card canvas{width:100%!important;height:144px!important;min-height:132px!important}
  .dossier-card{min-width:0!important}
  .v102-game-area{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(245px,285px)!important;gap:7px!important;align-items:stretch!important}
  .v102-game-area .canvas-wrap{grid-column:1!important;min-width:0!important}
  .game-message-rail{grid-column:2!important;display:grid!important;grid-template-rows:auto auto minmax(42px,1fr) auto;gap:7px;min-width:0;height:100%;padding:8px;border:1px solid #553b68;background:linear-gradient(180deg,#0c0711,#050307);box-shadow:inset 0 0 24px rgba(185,120,255,.045);overflow:hidden}
  .game-message-context{display:flex;flex-direction:column;gap:5px;padding:7px;border:1px solid #443153;background:#08050c;min-height:54px}.game-message-context b{font-size:9px;letter-spacing:.5px;color:var(--gold)}.game-message-context span{font-size:9px;line-height:1.3;color:#d5c8dd}
  .game-message-rail .pickup-toast,.ccg-game:fullscreen .game-message-rail .pickup-toast{position:static!important;inset:auto!important;transform:none!important;display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:92px!important;max-height:130px!important;margin:0!important;padding:10px!important;visibility:visible!important;opacity:.38!important;border:1px solid #6a4d2d!important;border-left:3px solid var(--gold)!important;background:#0a060d!important;box-shadow:none!important;text-align:left!important;align-items:flex-start!important;justify-content:center!important;overflow:hidden!important}
  .game-message-rail .pickup-toast.show{opacity:1!important;border-color:var(--gold)!important;background:#110b12!important;box-shadow:inset 0 0 22px rgba(255,216,90,.06)!important}.game-message-rail .pickup-toast b{font-size:13px!important;line-height:1.08!important;text-align:left!important;width:100%!important}.game-message-rail .pickup-toast span{font-size:9px!important;line-height:1.35!important;text-align:left!important;width:100%!important;margin-top:6px!important;white-space:normal!important;display:block!important;overflow:visible!important}
  .game-message-line{align-self:stretch;margin:0;padding:8px;border:1px solid #3e2a4c;background:#060409;color:#cfc2d6;font-size:9px;line-height:1.35;overflow:auto}.game-message-line strong{color:var(--cyan)}
  .game-quest-list{align-self:end;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:4px!important;max-height:86px;overflow:hidden;padding:6px;border:1px solid #3e2a4c;background:#060409}.game-quest-list span{font-size:8px!important;white-space:normal!important}
}
.quick-slot .stack-name{position:absolute;left:2px;bottom:2px;display:block!important;max-width:calc(100% - 25px);padding:1px 3px;background:rgba(3,2,5,.88);color:var(--cyan);font-style:normal;font-size:7px;font-weight:700;line-height:1.15;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-slot .stack-count+.stack-name{max-width:calc(100% - 26px)}
.quick-slot.filled{box-shadow:inset 0 0 13px rgba(108,236,255,.045)}
@media(max-width:1100px) and (min-width:821px){.v102-game-area{grid-template-columns:minmax(0,1fr) 225px!important}.game-message-rail{padding:6px}.game-message-rail .pickup-toast{min-height:78px!important}.tactical-zone{grid-template-columns:minmax(430px,1.55fr) minmax(280px,.85fr)!important}}
@media(max-width:820px){.tactical-zone{grid-template-columns:1fr!important;grid-template-rows:112px!important;max-height:120px!important}.v102-radar-card{width:100%!important;height:112px!important}.v102-radar-card canvas{height:83px!important;min-height:78px!important}.game-message-rail{display:none!important}.v102-game-area{display:block!important}.quick-slot .stack-name{font-size:6px;max-width:calc(100% - 18px)}}

/* V10.3 combat telemetry belongs inside the lower command deck, not beneath it. */
.player-hub{position:relative;grid-template-columns:minmax(270px,.9fr) minmax(390px,1.28fr) minmax(300px,1fr) minmax(190px,.62fr)!important;align-items:stretch}
.hub-telemetry{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:5px;min-width:0}
.hub-telemetry>div{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:5px 6px;border:1px solid #49345a;background:#08050c;text-align:center}
.hub-telemetry span{display:block;font-size:6.8px;line-height:1.1;letter-spacing:.35px;color:#91869b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-telemetry b{display:block;margin-top:4px;font-size:11px;line-height:1;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-telemetry>div:first-child b{color:#ffb36f}.hub-telemetry>div:nth-child(2) b{color:var(--gold)}.hub-telemetry>div:nth-child(3) b{color:var(--green)}.hub-telemetry>div:nth-child(4) b{color:#ff9eab}
@media(max-width:1160px) and (min-width:821px){
  .player-hub{grid-template-columns:1fr 1fr!important;min-height:150px;max-height:164px}
  .hub-progress{grid-column:1!important;grid-template-columns:1.35fr repeat(3,.52fr)!important;grid-template-rows:auto!important}
  .hub-progress .priority-xp{grid-column:auto!important}
  .hub-telemetry{grid-column:2;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto}
}
@media(max-width:820px){
  .player-hub{grid-template-columns:1fr!important;min-height:184px!important;max-height:194px!important}
  .hub-telemetry{grid-column:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto;gap:3px;min-height:24px}
  .hub-telemetry>div{padding:3px 2px}
  .hub-telemetry span{font-size:5.5px}.hub-telemetry b{margin-top:2px;font-size:8px}
}
@media(max-width:520px){
  .player-hub{min-height:178px!important;max-height:188px!important}
}
@media(max-height:760px) and (min-width:821px){
  .player-hub{min-height:96px!important;max-height:108px!important;grid-template-columns:minmax(240px,.9fr) minmax(330px,1.2fr) minmax(270px,1fr) minmax(175px,.6fr)!important}
  .hub-telemetry>div{padding:3px}.hub-telemetry b{font-size:9px}.hub-telemetry span{font-size:6px}
}

/* V10.34 pixel title-screen overhaul. The artwork supplies the dungeon stage;
   all title text and actions remain real responsive HTML. */
@keyframes lostSizzlerTitleGlow{0%,100%{filter:brightness(1);text-shadow:0 4px 0 #9d4a12,0 7px 0 #35120a,0 0 17px rgba(255,216,90,.24)}50%{filter:brightness(1.12);text-shadow:0 4px 0 #b65112,0 7px 0 #35120a,0 0 30px rgba(255,216,90,.42)}}
@keyframes lostSizzlerMenuMotes{0%{background-position:0 0,0 0}100%{background-position:0 5px,24px 0}}
#menu{isolation:isolate;padding:18px!important;background-color:#030406!important;background-image:linear-gradient(90deg,rgba(1,2,3,.08),rgba(1,2,3,.28) 31%,rgba(1,2,3,.32) 69%,rgba(1,2,3,.08)),url("../assets/pixel/title-dungeon-v10-34.webp")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:cover!important;backdrop-filter:none!important}
#menu::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,rgba(0,0,0,.035) 2px,rgba(0,0,0,.035) 4px),radial-gradient(circle at center,transparent 0 29%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.58) 100%);animation:lostSizzlerMenuMotes 8s steps(8,end) infinite}
#menu .panel{position:relative;width:min(820px,58vw)!important;max-height:calc(100dvh - 36px)!important;padding:18px 22px 22px!important;border:1px solid rgba(178,91,206,.68)!important;outline:1px solid rgba(8,4,12,.88);outline-offset:5px;background:linear-gradient(180deg,rgba(3,4,8,.91),rgba(8,4,12,.94))!important;box-shadow:0 0 0 1px rgba(108,236,255,.08),0 26px 90px rgba(0,0,0,.82),inset 0 0 56px rgba(100,45,122,.08)!important;scrollbar-color:#8e5cff #08050d}
#menu .hero-logo,#menu>.panel>h2{display:none!important}
.pixel-title-lockup{display:flex;flex-direction:column;align-items:center;text-align:center;text-transform:uppercase}
.pixel-title-ccg{display:grid;place-items:center;min-width:74px;height:35px;padding:0 11px;border:2px solid #a750bd;border-radius:4px;background:#08050c;color:#ffd85a;font:900 17px/1 "Courier New",monospace;letter-spacing:.08em;box-shadow:inset 0 -5px rgba(108,236,255,.12),0 0 16px rgba(167,80,189,.2)}
.pixel-title-quest{margin-top:7px;color:#f8f5ff;font:900 clamp(11px,1vw,15px)/1 "Courier New",monospace;letter-spacing:.1em;text-shadow:2px 2px 0 #351a40}
.pixel-title-lockup h2{display:flex!important;flex-direction:column;margin:9px 0 5px!important;line-height:.82!important}
.pixel-title-lockup h2 span{color:#dffcff;font:900 clamp(27px,3.1vw,48px)/.9 "Courier New",monospace;letter-spacing:.04em;text-shadow:0 3px 0 #297287,0 6px 0 #122f3b,0 0 15px rgba(108,236,255,.34)}
.pixel-title-lockup h2 strong{color:#ffd94e;font:900 clamp(48px,5.5vw,86px)/.88 Impact,"Arial Black",sans-serif;letter-spacing:.025em;background:linear-gradient(#fff27b 0 22%,#ffd84f 48%,#ff9a32 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:lostSizzlerTitleGlow 2.8s steps(4,end) infinite}
.pixel-title-lockup em{color:#b75bc9;font:900 10px/1.2 "Courier New",monospace;letter-spacing:.16em;font-style:normal}
#menu .menu-blurb{max-width:650px;margin:10px auto 8px!important;color:#d9cedf!important;font-size:10.5px!important;line-height:1.4!important}
#menu .desktop-play-recommendation{margin:7px auto!important;padding:7px 10px!important;border-color:#335965!important;background:rgba(5,17,22,.78)!important}#menu .desktop-play-recommendation strong{color:#6cecff!important}
#menu .feature-strip{margin:8px 0!important;gap:5px!important}.feature-strip span{border-color:#4b315b!important;background:rgba(5,3,8,.82)!important}.feature-strip span b{color:#ffd85a!important}
.menu-config{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:650px;margin:8px auto}.menu-config .field{max-width:none;margin:0!important}.menu-config input,.menu-config select{height:38px;border:1px solid #5f4671;background:#07050a;color:#fff;box-shadow:inset 0 0 12px rgba(108,236,255,.035)}
.mode-select-label{display:flex;align-items:center;justify-content:center;gap:9px;margin:11px auto 6px;color:#d35edc;font:900 10px/1 "Courier New",monospace;letter-spacing:.12em}.mode-select-label span{color:#ffd85a;text-shadow:0 0 8px #ff9a32}
#menu .game-mode-buttons{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;max-width:680px!important;margin:7px auto 10px!important}
#menu .game-mode-buttons button{position:relative;min-height:42px;margin:0!important;border-width:1px!important;border-radius:0!important;text-transform:uppercase;letter-spacing:.035em;box-shadow:inset 0 0 0 2px rgba(0,0,0,.32),4px 4px 0 rgba(0,0,0,.72)!important;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px)}
#menu .game-mode-buttons button:hover,#menu .game-mode-buttons button:focus-visible{filter:brightness(1.16)!important;outline:2px solid #fff3a4;outline-offset:2px;transform:translateY(-1px)}
#menu .game-mode-buttons #tutorial-zone-btn{border-color:#51d7e9!important;background:#103542!important;color:#bff8ff!important}#menu .game-mode-buttons #daily-btn{border-color:#b85bca!important;background:#32133b!important;color:#f0b8ff!important}#menu .game-mode-buttons #split-btn{border-color:#6f81bd!important;background:#17203d!important;color:#c6d6ff!important}
#menu .online-howto,#menu .weekly-vault-section,#menu .developer-changelog,#menu .join-row,#menu .collection-summary,#menu .note,#menu .keys-help,#menu .secondary-menu{background:rgba(3,2,6,.76)}
#menu .secondary-menu{padding:7px;border:1px solid #342341}#menu .join-row{padding:7px;border:1px solid #342341}
@media(max-width:980px){#menu{background-position:center!important}#menu .panel{width:min(760px,88vw)!important}}
@media(max-width:700px){#menu{padding:8px!important;background-position:42% center!important}#menu::before{background:linear-gradient(rgba(1,2,3,.67),rgba(1,2,3,.76)),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,rgba(0,0,0,.035) 2px,rgba(0,0,0,.035) 4px)}#menu .panel{width:100%!important;max-height:calc(100dvh - 16px)!important;padding:14px 11px 18px!important}.pixel-title-lockup h2 span{font-size:29px}.pixel-title-lockup h2 strong{font-size:52px}.pixel-title-lockup em{font-size:8px}.menu-config{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr!important}#menu .game-mode-buttons{grid-template-columns:1fr!important}#menu .menu-blurb{font-size:9.5px!important}}
.beta-stage-disclaimer{margin:10px auto;padding:8px 12px;max-width:720px;border:1px solid #ffd85a;background:rgba(255,216,90,.08);color:#fff0a8;font:700 10px/1.4 "Courier New",monospace;letter-spacing:.05em;text-align:center;text-transform:uppercase;box-shadow:0 0 18px rgba(255,216,90,.09)}
.game-copyright{margin:14px 0 2px;color:rgba(250,244,255,.62);font:700 10px/1.4 "Courier New",monospace;letter-spacing:.12em;text-align:center}
body[data-special-mode="sizzler-saboteurs"] .radar-card{visibility:hidden;position:relative}
body[data-special-mode="sizzler-saboteurs"] .radar-card::after{content:"SPY VS SPY · TACTICAL RADAR DISABLED";visibility:visible;position:absolute;inset:0;display:grid;place-items:center;border:1px solid #b978ff;background:#05030a;color:#b978ff;font:700 12px/1.4 "Courier New",monospace;text-align:center;padding:12px}
