:root{--panel:#3b2d26;--panel2:#4a3a30;--edge:#2a1f1a;--cream:#fff3dc;--gold:#ffc94a;--teal:#4fe0d0;--muted:#cdb9a3}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:#1d1030;color:var(--cream);font-family:'Pixelify Sans',ui-monospace,monospace}
canvas#c{position:fixed;inset:0;width:100%;height:100%;display:block;transition:filter .6s}
body.menu-open canvas#c{filter:blur(7px) brightness(.92)}
button{font-family:inherit;cursor:pointer}
.hidden{display:none!important}

/* титул */
.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;z-index:5}
.logo{font-family:'Lilita One','Arial Black',sans-serif;font-weight:400;font-size:clamp(64px,9vw,120px);margin:0 0 26px;color:#fff6e4;letter-spacing:2px;
  text-shadow:0 5px 0 #6b3d28,0 9px 0 rgba(0,0,0,.25),0 0 40px rgba(255,190,120,.35)}
.menu{width:min(380px,90vw);display:flex;flex-direction:column;gap:8px}
.group{display:flex;flex-direction:column;background:rgba(48,36,30,.92);border-radius:8px;overflow:hidden;margin-bottom:16px;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.mi{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;background:rgba(58,44,36,.92);color:var(--cream);border:0;border-radius:6px;
  padding:11px 18px;font-size:15px;letter-spacing:3px;text-align:left;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:background .15s,transform .15s}
.mi:hover,.mi.sel{background:rgba(84,64,52,.96)}
.mi em{font-style:normal;color:var(--gold);font-size:11px;letter-spacing:2px}
.group .mi{border-radius:0;justify-content:center;text-align:center;font-size:17px;padding:16px 18px;background:transparent;box-shadow:none}
.group .mi+.mi{border-top:1px solid rgba(255,255,255,.08)}
.group .mi:hover{background:rgba(255,255,255,.06)}
.group .mi:hover::before{content:'';position:absolute;left:8px;top:30%;bottom:30%;width:4px;border-radius:2px;background:var(--teal)}
.mi .ic{position:absolute;left:22px;opacity:.8}
.guest{margin-top:22px;background:rgba(48,36,30,.9);color:var(--cream);border:0;border-radius:6px;padding:9px 16px;font-size:15px}
.guest:hover{background:rgba(84,64,52,.96)}
.note{margin-top:10px;font-size:12px;color:rgba(255,240,220,.7)}

/* hud */
#hud{position:fixed;inset:0;pointer-events:none;z-index:4}
.pills{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;flex-wrap:nowrap;justify-content:center;white-space:nowrap}
.pills span{background:rgba(30,24,22,.82);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:7px 12px;font-size:12px;letter-spacing:1.5px;color:var(--muted)}
.pills b{color:var(--gold);margin-left:6px}
.prompt{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);background:rgba(30,24,22,.88);border-radius:8px;padding:10px 18px;font-size:16px;letter-spacing:2px;color:var(--cream)}
.prompt b{color:var(--gold)}
.look{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(30,24,22,.8);border-radius:8px;padding:10px 18px;font-size:15px;letter-spacing:2px}
#hud .look{pointer-events:none}
.keys{position:absolute;left:14px;bottom:14px;background:rgba(24,18,16,.82);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--cream);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.keys b{font-size:12px;letter-spacing:3px;color:var(--gold);margin-bottom:2px}
.keys div{display:flex;align-items:center;gap:5px}
.keys span{margin:0 10px 0 6px;color:rgba(255,240,220,.85)}
.keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;background:#4a3a30;border-radius:5px;border-bottom:3px solid #2a1f1a;font-family:inherit;font-size:13px;font-weight:700;color:#fff6e4}
.keys kbd.w{min-width:auto;padding:0 9px;font-size:12px;letter-spacing:1px}
.keys .tip{color:#ffcf6a;font-size:13px;margin-top:2px}

/* модалки, тост */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,6,14,.35);z-index:9}
.modal .box{position:relative;width:min(460px,92vw);background:rgba(48,36,30,.97);border-radius:10px;padding:26px 26px 22px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.modal h2{font-family:'Lilita One',sans-serif;font-weight:400;font-size:34px;margin:0 0 12px;color:#fff6e4}
.modal p,.modal li{font-size:15px;line-height:1.5;color:var(--muted)}
.modal b{color:var(--gold)}
.modal .x{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--muted);font-size:18px}
.toast{position:fixed;left:50%;top:70px;transform:translate(-50%,-20px);opacity:0;background:rgba(30,24,22,.92);border-radius:8px;padding:10px 18px;font-size:15px;letter-spacing:1px;transition:.25s;z-index:10;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* CA снизу, звук */
.cabar{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:rgba(30,24,22,.88);border-radius:8px;padding:7px 12px;font-size:13px;z-index:6;white-space:nowrap}
.cabar b{color:var(--gold);letter-spacing:1px}
.cabar button{background:var(--gold);color:#3b2600;border:0;border-radius:4px;padding:3px 9px;font-weight:700;letter-spacing:1px}
.cabar a{color:var(--teal);text-decoration:none}
body.inmine .cabar{display:none}
.mute{position:fixed;right:14px;bottom:12px;width:42px;height:36px;border:0;border-radius:8px;background:rgba(30,24,22,.88);color:var(--cream);font-size:16px;z-index:6}

/* кнопки сбоку в лобби */
.side{position:absolute;right:14px;top:12px;display:flex;flex-direction:column;gap:6px;pointer-events:auto}
.side button{background:rgba(30,24,22,.85);color:var(--cream);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:7px 12px;font-size:12px;letter-spacing:1.5px;text-align:left}
.side button:hover{background:rgba(70,54,44,.95)}.side i{font-style:normal;color:var(--gold);margin-left:6px;opacity:.8}
.pills span.warn b{color:#ff7a5a}

/* окна: списки, вкладки, полоски */
.modal .box{max-height:86vh;overflow:auto}
.modal h3{font-family:'Lilita One',sans-serif;font-weight:400;font-size:20px;margin:18px 0 8px;color:#fff6e4}
.modal .gold{color:var(--gold);font-size:15px;margin:-4px 0 12px;letter-spacing:1px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.tabs button{background:rgba(255,255,255,.06);color:var(--muted);border:0;border-radius:6px;padding:6px 9px;font-size:12px;letter-spacing:1px}
.tabs button.on{background:var(--gold);color:#3b2600}
.list{display:flex;flex-direction:column;gap:5px}
.list .row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;background:rgba(255,255,255,.05);border-radius:7px;padding:8px 10px;font-size:14px}
.list .row.cur{outline:1px solid var(--gold)}
.list .row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.list .row em{font-style:normal;color:var(--muted)}
.list .row .g{color:var(--gold);font-size:12px}
.list button,.sw button.txt{background:var(--gold);color:#3b2600;border:0;border-radius:6px;padding:5px 10px;font-weight:700;font-size:12px;letter-spacing:1px}
.list button:disabled,.mi:disabled{opacity:.45;cursor:default}
.list a{color:var(--teal)}
.mi.wide{width:100%;justify-content:center;margin:10px 0 6px;background:rgba(84,64,52,.96)}
.mut{color:rgba(255,240,220,.55)!important;font-size:13px!important}
.stat{display:grid;grid-template-columns:1fr;gap:5px;margin-top:12px}
.stat .big{font-size:28px;color:var(--gold)}
.bar{height:10px;background:rgba(0,0,0,.4);border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--gold);border-radius:6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{background:rgba(255,255,255,.06);border-radius:6px;padding:5px 8px;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.grid .cell{background:rgba(255,255,255,.06);border-radius:8px;padding:8px 4px;text-align:center;font-size:11px}
.grid .cell span{display:block;font-size:22px}.grid .cell small{display:block;color:var(--gold)}.grid .cell.no{opacity:.4}
.sw{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:6px 0}.sw b{width:54px;font-size:12px;color:var(--muted);letter-spacing:1px}
.sw button{width:26px;height:26px;border-radius:6px;border:2px solid transparent}.sw button.on{border-color:#fff}
.sw button.txt{width:auto;height:auto;background:rgba(255,255,255,.08);color:var(--cream)}.sw button.txt.on{background:var(--gold);color:#3b2600}

/* шахта */
#mhud{position:fixed;inset:0;pointer-events:none;z-index:4}
.mtop{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:12px}
.meter{display:flex;align-items:center;gap:8px;background:rgba(10,8,8,.75);border-radius:8px;padding:7px 12px;font-size:12px;letter-spacing:1.5px;color:var(--muted)}
.meter .bar{width:150px}.meter b{color:var(--cream);min-width:36px}
.meter.hp .bar i{background:#ff5a5a}
.meter.low{animation:blink .6s infinite}.meter.low .bar i{background:#ff7a3a}
@keyframes blink{50%{background:rgba(120,30,10,.8)}}
.mstats{position:absolute;left:14px;top:12px;display:flex;flex-direction:column;gap:6px}
.mstats span{background:rgba(10,8,8,.75);border-radius:8px;padding:6px 10px;font-size:12px;letter-spacing:1.5px;color:var(--muted)}.mstats b{color:var(--gold)}
.cross{position:absolute;left:50%;top:50%;width:36px;height:36px;transform:translate(-50%,-50%)}
.cross i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#fff;box-shadow:0 0 4px #000}
.ring{position:absolute;inset:0;border-radius:50%;opacity:0;background:conic-gradient(var(--gold) calc(var(--p,0)*360deg),rgba(255,255,255,.15) 0);-webkit-mask:radial-gradient(circle,transparent 12px,#000 13px);mask:radial-gradient(circle,transparent 12px,#000 13px)}
.ring.on{opacity:1}
.tgt{position:absolute;left:50%;top:calc(50% + 30px);transform:translateX(-50%);font-size:14px;letter-spacing:1px;text-shadow:0 2px 4px #000}.tgt i{font-style:normal;color:#ff7a5a}
.pops{position:absolute;right:16px;top:90px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.pop{background:rgba(10,8,8,.75);border-radius:6px;padding:5px 10px;font-size:14px;animation:popin .25s,popout .5s 2.1s forwards}
@keyframes popin{from{transform:translateX(30px);opacity:0}}@keyframes popout{to{opacity:0}}
.warn{position:absolute;left:50%;top:26%;transform:translateX(-50%);font-family:'Lilita One',sans-serif;font-size:34px;text-shadow:0 3px 0 #000;opacity:0;text-align:center;white-space:nowrap}
.warn.on{animation:warn 2.6s}@keyframes warn{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}10%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.hurt{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 160px rgba(255,0,0,0);transition:box-shadow .3s;z-index:5}.hurt.on{box-shadow:inset 0 0 160px rgba(255,0,0,.65)}
.mres{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,92vw);background:rgba(48,36,30,.97);border-radius:10px;padding:24px;z-index:9;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.mres h2{font-family:'Lilita One',sans-serif;font-weight:400;font-size:34px;margin:0 0 10px;color:#fff6e4}.mres p{color:var(--muted)}.mres b{color:var(--gold)}
.loot{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0}.loot span{background:rgba(255,255,255,.07);border-radius:6px;padding:5px 9px;font-size:14px}.loot.lost span{text-decoration:line-through;opacity:.7}
.mres .mi{justify-content:center;margin-top:14px}
.fade{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .6s;z-index:20;display:flex;align-items:center;justify-content:center;font-size:22px;letter-spacing:4px;color:var(--muted)}.fade.on{opacity:1}

.cabar a.xl{color:var(--cream);border-left:1px solid rgba(255,255,255,.15);padding-left:12px}
.side a.xbtn{background:rgba(30,24,22,.85);color:var(--cream);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:7px 12px;font-size:12px;letter-spacing:1.5px;text-decoration:none}
.side a.xbtn:hover{background:rgba(70,54,44,.95)}
