/* Elemary Arena — page UI + in-game HUD. Scoped under .ekr-* */
.ekr-wrap,.ekr-modal,.ekr-over,.ekr-stage,.ekr-toast{--ink:#0a0d12;--ink2:#10151d;--panel:#161d28;--panel2:#1d2736;--line:rgba(233,185,73,.22);--gold:#e9b949;--gold2:#ffd97a;--sand:#c8a96a;--blue:#4aa3e8;--txt:#f1ede2;--dim:#a9b0bd;--bad:#ff5d5d;--ok:#52e0a0;color:var(--txt)}
.ekr-wrap{position:relative;background:radial-gradient(1100px 560px at 85% -10%,#2a3a2a 0,transparent 60%),radial-gradient(900px 500px at 0 110%,#3a2d14 0,transparent 60%),linear-gradient(180deg,#0a0d12,#0e131b 60%,#0a0d12);min-height:70vh;font-family:inherit;line-height:1.55;isolation:isolate}
.ekr-wrap *,.ekr-modal *,.ekr-over *,.ekr-stage *{box-sizing:border-box}
.ekr-wrap button,.ekr-modal button,.ekr-over button{font:inherit;color:inherit;cursor:pointer}
.ekr-boot{display:grid;place-items:center;min-height:60vh;text-align:center}.ekr-logo{font-size:60px;animation:ekr-bob 2s ease-in-out infinite}
@keyframes ekr-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.ekr-nojs{padding:40px;text-align:center}
/* top bar */
.ekr-topb{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px clamp(14px,3vw,36px);position:sticky;top:0;z-index:20;background:rgba(10,13,18,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.ekr-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:.02em}.ekr-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#a9741a);font-size:18px}
.ekr-tabs{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}.ekr-tabs::-webkit-scrollbar{display:none}
.ekr-tabs button{display:flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid transparent;border-radius:12px;background:none;color:var(--dim);font-weight:700;white-space:nowrap;transition:.2s}
.ekr-tabs button:hover{color:var(--txt);background:rgba(255,255,255,.05)}.ekr-tabs button.on{color:#1a1204;background:linear-gradient(135deg,var(--gold),#f4c75a);box-shadow:0 6px 22px rgba(233,185,73,.25)}
.ekr-acct{display:flex;align-items:center;gap:8px}.ekr-chip{padding:5px 12px;border-radius:99px;font-weight:800;font-size:14px;background:var(--panel2);border:1px solid var(--line)}.ekr-chip.coin{color:var(--gold2)}.ekr-chip.lvl{color:var(--blue)}
.ekr-callsign{background:none;border:0;font-weight:800;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
/* buttons */
.ekr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font-weight:800;text-decoration:none;transition:transform .15s,filter .2s}
.ekr-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.ekr-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.ekr-btn.gold{background:linear-gradient(135deg,var(--gold),#f6cd68);color:#1a1204;border-color:transparent;box-shadow:0 8px 26px rgba(233,185,73,.28)}
.ekr-btn.ghost{background:rgba(255,255,255,.04)}.ekr-btn.big{padding:14px 28px;font-size:18px;border-radius:14px}.ekr-btn.sm{padding:6px 12px;font-size:13px}.ekr-btn.wide{width:100%}.ekr-btn.danger{background:#5a1a1a;border-color:#a33}
.ekr-link{background:none;border:0;color:var(--gold2);text-decoration:underline;padding:0;font-weight:700}
/* hero */
.ekr-hero{position:relative;min-height:min(30vh,280px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.ekr-hero-sky{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,18,.1),rgba(10,13,18,.9)),radial-gradient(800px 360px at 20% 100%,rgba(233,185,73,.25),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px)}
.ekr-hero-in{position:relative;padding:clamp(20px,3vw,40px) clamp(18px,5vw,64px);max-width:860px}
.ekr-kicker{display:inline-block;padding:4px 14px;border:1px solid var(--line);border-radius:99px;color:var(--gold2);font-weight:800;font-size:13px;letter-spacing:.12em;background:rgba(0,0,0,.35)}
.ekr-hero h1{margin:10px 0 6px;padding-bottom:.18em;font-size:clamp(42px,7vw,84px);line-height:1;font-weight:900;background:linear-gradient(180deg,#fff,var(--gold) 70%,#a4701a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 24px rgba(0,0,0,.5))}
.ekr-hero p{font-size:clamp(15px,2vw,20px);color:#e5e0d2;max-width:640px;margin:0}
/* body */
.ekr-body{padding:clamp(16px,3vw,36px) clamp(14px,3vw,36px) 32px;max-width:1280px;margin:0 auto}
.ekr-note{padding:12px 16px;margin:0 0 18px;border-radius:12px;background:rgba(74,163,232,.12);border:1px solid rgba(74,163,232,.35)}.ekr-note.warn{background:rgba(233,185,73,.12);border-color:rgba(233,185,73,.4)}.ekr-note.big{padding:32px;text-align:center;font-size:20px}
.ekr-hint{color:var(--dim);font-size:14px;margin:10px 0 0}.ekr-err{color:var(--bad);min-height:1.2em;margin:6px 0}
.ekr-h{margin:24px 0 12px;font-size:20px;color:var(--gold2)}
/* lobby */
.ekr-lobby{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:22px;align-items:start}
.ekr-char,.ekr-setup,.ekr-panel{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:18px}
.ekr-stagebox{position:relative;border-radius:16px;border:1px solid var(--line);background:radial-gradient(400px 260px at 50% 70%,#3d4a2d,#10161c 70%);height:min(46vh,380px);overflow:hidden}
.ekr-prev-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;opacity:.5}
.ekr-cinfo h2{margin:12px 0 0;font-size:24px}.ekr-cinfo p{margin:0;color:var(--dim)}
.ekr-char h4,.ekr-setup h4{margin:16px 0 8px;font-size:14px;color:var(--gold2);letter-spacing:.04em}
.ekr-sw{display:flex;gap:10px;flex-wrap:wrap}.ekr-sw button{position:relative;width:40px;height:40px;border-radius:12px;border:2px solid transparent;background:var(--panel);padding:0}.ekr-sw button i{position:absolute;inset:5px;border-radius:7px;background:var(--c)}.ekr-sw button.on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(233,185,73,.25)}.ekr-sw button.lock i{opacity:.4}.ekr-sw button em{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:15px}
.ekr-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ekr-modes button{text-align:start;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:2px}.ekr-modes button.on{border-color:var(--gold);background:rgba(233,185,73,.1)}.ekr-modes button small{color:var(--dim)}.ekr-modes button.soon{opacity:.6}
.ekr-chips{display:flex;gap:8px;flex-wrap:wrap}.ekr-chips button{display:flex;flex-direction:column;align-items:center;min-width:84px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.ekr-chips button small{color:var(--dim);font-size:12px}.ekr-chips button.on{border-color:var(--gold);background:rgba(233,185,73,.12)}.ekr-chips button.lock{opacity:.55}
.ekr-kits{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.ekr-kits button{text-align:start;display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.ekr-kits button span{font-size:22px}.ekr-kits button small{color:var(--dim);font-size:12px;line-height:1.35}.ekr-kits button.on{border-color:var(--gold);background:rgba(233,185,73,.12)}.ekr-kits button.lock{opacity:.6}
.ekr-go{width:100%;margin-top:20px;font-size:22px;padding:16px}
/* shop */
.ekr-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.ekr-item{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel2),var(--panel))}.ekr-item.eq{border-color:var(--gold)}
.ekr-item small{color:var(--dim);flex:1}.ekr-item em{color:var(--gold2);font-style:normal;font-size:13px;font-weight:700}.ekr-ico{font-size:34px}.ekr-ico.big{display:block;width:54px;height:54px;border-radius:14px;background:var(--panel);position:relative}.ekr-ico.big i{position:absolute;inset:6px;border-radius:9px;background:var(--c)}
.ekr-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.ekr-own,.ekr-eq{font-weight:800;color:var(--ok)}.ekr-lockmsg{color:var(--gold2);font-weight:800}
/* board */
.ekr-subtabs{display:flex;gap:8px;margin-bottom:14px}.ekr-subtabs button{padding:8px 18px;border-radius:99px;border:1px solid var(--line);background:none}.ekr-subtabs button.on{background:var(--gold);color:#1a1204;font-weight:800}
.ekr-board{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:760px}.ekr-board li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.ekr-board li.me{border-color:var(--gold);background:rgba(233,185,73,.1)}.ekr-board .n{width:34px;text-align:center;font-weight:900;font-size:18px}.ekr-board b{flex:1}.ekr-board small{color:var(--dim)}.ekr-board em{font-style:normal;font-weight:900;color:var(--gold2)}
/* help / settings */
.ekr-help{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ekr-help table{width:100%;border-collapse:collapse}.ekr-help th,.ekr-help td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.07);text-align:start}.ekr-help th{color:var(--gold2);white-space:nowrap;font-weight:800}.ekr-help ul{padding-inline-start:20px;color:#dcd8cc}.ekr-help li{margin:8px 0}
.ekr-set{display:grid;grid-template-columns:1fr 1fr;gap:22px}.ekr-panel h3{margin:0 0 12px}
.ekr-fld{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;font-weight:700}.ekr-fld input,.ekr-fld select{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--ink2);color:var(--txt);font:inherit}.ekr-fld input[type=range]{padding:0;accent-color:var(--gold)}
.ekr-chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-weight:600}.ekr-chk input{margin-top:5px;accent-color:var(--gold)}
.ekr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.ekr-stats div{background:var(--panel);border-radius:12px;padding:10px;text-align:center}.ekr-stats b{display:block;font-size:20px;color:var(--gold2)}.ekr-stats span{color:var(--dim);font-size:12px}
.ekr-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
/* modal */
.ekr-modal{position:fixed;inset:0;z-index:100002;display:grid;place-items:center;background:rgba(3,5,8,.75);backdrop-filter:blur(6px);padding:16px;overflow:auto}
.ekr-dlg{position:relative;width:min(440px,100%);background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.6)}.ekr-dlg h2{margin:0 0 16px}.ekr-x{position:absolute;top:12px;inset-inline-end:14px;background:none;border:0;font-size:20px;color:var(--dim)}
.ekr-hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}.ekr-swap{margin:14px 0 0;color:var(--dim);font-size:14px;text-align:center}
.ekr-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100010;background:#12301f;border:1px solid var(--ok);padding:12px 20px;border-radius:12px;font-weight:700;max-width:90vw;transition:.4s}.ekr-toast.bad{background:#3a1515;border-color:var(--bad)}.ekr-toast.out{opacity:0;transform:translate(-50%,10px)}
/* overlays: loading / pause / result */
.ekr-over{position:fixed;inset:0;z-index:100003;display:grid;place-items:center;background:rgba(3,5,8,.82);backdrop-filter:blur(5px);padding:16px;font-family:inherit}
.ekr-loadbox{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.ekr-loadbox small{color:var(--dim)}
.ekr-pausebox,.ekr-resbox{width:min(440px,100%);background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px;text-align:center}.ekr-pausebox h2{margin:0}
.ekr-resbox{width:min(520px,100%)}.ekr-resbox.win{border-color:var(--gold);box-shadow:0 0 80px rgba(233,185,73,.25)}.ekr-restitle{font-size:26px;font-weight:900}.ekr-rplace{font-size:68px;font-weight:900;color:var(--gold2);line-height:1}.ekr-rplace small{font-size:22px;color:var(--dim)}
.ekr-rstats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ekr-rstats div{background:var(--panel);border-radius:12px;padding:10px 4px}.ekr-rstats b{display:block;font-size:20px}.ekr-rstats span{font-size:12px;color:var(--dim)}
.ekr-rewards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;font-size:20px;font-weight:900;color:var(--gold2)}.ekr-lvlup{color:var(--ok);font-weight:900;margin:0}
.ekr-resbox .ekr-cta{justify-content:center}
/* ========================= in-game ========================= */
html.ekr-playing,html.ekr-playing body{overflow:hidden!important}
.ekr-stage{position:fixed;inset:0;z-index:100000;background:#000;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.ekr-stage canvas.ekr-canvas,.ekr-stage>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.ekr-hud{position:absolute;inset:0;pointer-events:none;font-family:inherit;color:#fff;text-shadow:0 1px 3px #000}
.ekr-hud .ekr-chat,.ekr-hud .ekr-inv,.ekr-hud .ekr-bigmap{pointer-events:auto}
.ekr-top{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;margin-top:40px}
.ekr-pill{padding:5px 14px;border-radius:99px;background:rgba(10,13,18,.65);border:1px solid rgba(255,255,255,.15);font-weight:700;font-size:14px}.ekr-pill b{color:var(--gold2);font-size:16px}
.ekr-compass{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:min(52vw,520px);height:auto;border-radius:8px;opacity:.95}
.ekr-mm{position:absolute;top:10px;inset-inline-end:10px;width:min(26vw,170px);aspect-ratio:1}.ekr-mm canvas{width:100%;height:100%;border-radius:50%;border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 16px rgba(0,0,0,.5)}
.ekr-zt{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:13px;font-weight:800;padding:2px 10px;border-radius:99px;background:rgba(20,50,120,.75)}
.ekr-kf{position:absolute;top:64px;inset-inline-start:12px;display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700;max-width:46vw}.ekr-kf div{background:rgba(10,13,18,.55);padding:3px 10px;border-radius:8px}
.ekr-banner{position:absolute;top:26%;left:50%;transform:translate(-50%,-10px);font-size:clamp(20px,4vw,36px);font-weight:900;padding:8px 26px;border-radius:12px;background:rgba(10,13,18,.6);border:1px solid var(--gold);opacity:0;transition:.35s;text-align:center;max-width:90vw}.ekr-banner.on{opacity:1;transform:translate(-50%,0)}
.ekr-xh{position:absolute;top:50%;left:50%;width:0;height:0;--s:10px;transition:opacity .15s}.ekr-xh i{position:absolute;background:#fff;box-shadow:0 0 2px #000}.ekr-xh i:nth-child(1){width:2px;height:8px;left:-1px;top:calc(-1*var(--s) - 8px)}.ekr-xh i:nth-child(2){width:2px;height:8px;left:-1px;top:var(--s)}.ekr-xh i:nth-child(3){height:2px;width:8px;top:-1px;left:calc(-1*var(--s) - 8px)}.ekr-xh i:nth-child(4){height:2px;width:8px;top:-1px;left:var(--s)}
.ekr-hm{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;opacity:0;background:linear-gradient(45deg,transparent 45%,#fff 45% 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,#fff 45% 55%,transparent 55%)}.ekr-hm.on{opacity:1}.ekr-hm.head{filter:drop-shadow(0 0 4px #ff0)}.ekr-hm.kill{filter:drop-shadow(0 0 5px #f33);transform:scale(1.35)}
.ekr-prompt{position:absolute;bottom:26%;left:50%;transform:translateX(-50%);padding:6px 16px;border-radius:10px;background:rgba(10,13,18,.7);border:1px solid rgba(255,255,255,.25);font-weight:700;opacity:0;transition:.15s;white-space:nowrap}
.ekr-healbar{position:absolute;bottom:32%;left:50%;transform:translateX(-50%);width:200px;text-align:center;font-size:13px;font-weight:800;opacity:0;transition:.15s}.ekr-healbar div{height:8px;border-radius:99px;background:rgba(0,0,0,.6);overflow:hidden;margin-top:3px}.ekr-healbar i{display:block;height:100%;width:0;background:var(--gold)}
.ekr-dir{position:absolute;inset:0;display:grid;place-items:center}.ekr-dir i{position:absolute;width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:150px solid rgba(255,40,30,.5);transform-origin:50% 100%;top:calc(50% - 150px);left:calc(50% - 16px);filter:blur(1px);animation:ekr-fade 1.3s forwards}@keyframes ekr-fade{to{opacity:0}}
.ekr-vig{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(200,0,0,.65));transition:opacity .1s}.ekr-zv{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(30,80,255,.55))}
.ekr-status{position:absolute;bottom:14px;inset-inline-start:14px;display:flex;flex-direction:column;gap:6px;width:min(300px,42vw)}.ekr-gear{display:flex;gap:6px;font-size:18px}.ekr-gear span{opacity:.3;padding:2px 6px;border-radius:8px;background:rgba(10,13,18,.6)}.ekr-gear span.on{opacity:1}.ekr-gear .l1{box-shadow:inset 0 -3px #9ad}.ekr-gear .l2{box-shadow:inset 0 -3px #a8f}.ekr-gear .l3{box-shadow:inset 0 -3px #fc4}
.ekr-hp{position:relative;height:18px;border-radius:99px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.3);overflow:hidden}.ekr-hp i{position:absolute;inset:0 auto 0 0;width:100%;transition:width .12s}.ekr-hp b{position:relative;display:block;text-align:center;font-size:12px;line-height:16px}
.ekr-weap{position:absolute;bottom:14px;inset-inline-end:14px;text-align:end;display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ekr-wn{font-weight:800;font-size:15px;color:var(--gold2)}.ekr-wa{direction:ltr}.ekr-wa b{font-size:34px;font-weight:900}.ekr-wa span{font-size:18px;opacity:.8;margin-inline-start:4px}
.ekr-wi{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.ekr-wi span{padding:2px 8px;border-radius:8px;background:rgba(10,13,18,.6)}.ekr-wi span.cur{background:var(--gold);color:#1a1204;font-weight:800;text-shadow:none}
.ekr-chat{position:absolute;bottom:62px;inset-inline-start:14px;width:min(360px,56vw);display:flex;flex-direction:column;gap:6px}.ekr-chat-l{display:flex;flex-direction:column;gap:2px;font-size:14px;max-height:150px;overflow:hidden;justify-content:flex-end}.ekr-chat-l div{background:rgba(10,13,18,.55);padding:3px 10px;border-radius:8px;transition:opacity 1s}.ekr-chat-l div.old{opacity:.35}
.ekr-chat-r{display:flex;gap:6px}.ekr-chat-r input{flex:1;min-width:0;padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(10,13,18,.65);color:#fff;font:inherit;font-size:14px;opacity:.75}.ekr-chat-r input:focus{opacity:1;outline:2px solid var(--gold)}.ekr-chat-r button{width:42px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(10,13,18,.65);font-size:18px}.ekr-chat-r button.on{background:#c0392b;animation:ekr-pulse 1s infinite}@keyframes ekr-pulse{50%{box-shadow:0 0 0 6px rgba(255,60,40,.3)}}
.ekr-inv{position:absolute;inset:0;display:grid;place-items:center;background:rgba(3,5,8,.6)}.ekr-inv[hidden],.ekr-bigmap[hidden]{display:none}.ekr-inv-in{width:min(760px,94vw);background:rgba(16,21,29,.96);border:1px solid var(--line);border-radius:18px;padding:18px;max-height:90vh;overflow:auto;text-shadow:none}.ekr-inv-in h3{margin:0 0 8px}.ekr-inv-in h4{margin:14px 0 6px;color:var(--gold2)}.ekr-inv-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ekr-slot,.ekr-row2,.ekr-inv .ekr-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.05);margin:4px 0}.ekr-slot.cur{outline:2px solid var(--gold)}.ekr-inv button{padding:4px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:#fff;font-size:12px}.ekr-inv button:disabled{opacity:.35}
.ekr-bigmap{position:absolute;inset:0;display:grid;place-items:center;background:rgba(3,5,8,.7)}.ekr-bigmap canvas{width:min(90vh,92vw);height:min(90vh,92vw);border-radius:14px;border:2px solid var(--line)}.ekr-mapnote{position:absolute;bottom:14px;font-size:13px;opacity:.8}
/* touch */
.ekr-touch{position:absolute;inset:0;pointer-events:none;touch-action:none}.ekr-touch>*{pointer-events:auto}
.ekr-js{position:absolute;bottom:22px;left:22px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.3)}.ekr-js i{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px;border-radius:50%;background:rgba(255,255,255,.35)}
.ekr-look{position:absolute;top:0;bottom:0;right:0;width:46%}
.ekr-tb{position:absolute;bottom:18px;right:18px;display:grid;grid-template-columns:repeat(3,58px);gap:8px;direction:ltr}.ekr-tb .big{grid-column:span 2;width:auto;height:76px}
.ekr-tb button,.ekr-tb2 button{height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:rgba(10,13,18,.55);font-size:22px;color:#fff;padding:0}.ekr-tb .big{border-radius:38px;background:rgba(200,60,40,.55)}
.ekr-tb2{position:absolute;top:96px;right:10px;display:grid;grid-template-columns:repeat(2,44px);gap:6px;direction:ltr}.ekr-tb2 button{height:44px;font-size:18px}
.ekr-touchhud .ekr-chat{bottom:auto;top:96px;width:min(260px,40vw)}.ekr-touchhud .ekr-status{bottom:176px;width:min(220px,36vw)}.ekr-touchhud .ekr-weap{bottom:110px;inset-inline-end:auto;inset-inline-start:176px;align-items:flex-start}.ekr-touchhud .ekr-chat-l{display:none}.ekr-touchhud .ekr-prompt{bottom:44%}
/* responsive */
@media(max-width:900px){.ekr-lobby,.ekr-help,.ekr-set{grid-template-columns:1fr}.ekr-stagebox{height:300px}.ekr-modes{grid-template-columns:1fr}.ekr-rstats{grid-template-columns:repeat(2,1fr)}.ekr-topb{gap:8px}}
@media(max-width:560px){.ekr-tabs button{padding:8px 10px}.ekr-tabs button span{display:none}.ekr-brand b{display:none}.ekr-chips button{min-width:70px}}
/* ---- compact HUD for phones in landscape ---- */
.ekr-touchhud{font-size:12px}
.ekr-touchhud .ekr-top{top:6px;left:10px;transform:none;margin:0}
.ekr-touchhud .ekr-pill{padding:3px 10px;font-size:11px}.ekr-touchhud .ekr-pill b{font-size:13px}
.ekr-touchhud .ekr-compass{top:6px;width:min(42vw,360px)}
.ekr-touchhud .ekr-mm{width:104px;top:6px;inset-inline-end:8px}.ekr-touchhud .ekr-zt{font-size:10px;bottom:-20px}
.ekr-touchhud .ekr-kf{top:40px;inset-inline-start:10px;font-size:11px;max-width:32vw;gap:2px}.ekr-touchhud .ekr-kf div{padding:2px 7px}.ekr-touchhud .ekr-kf div:nth-last-child(n+4){display:none}
.ekr-touchhud .ekr-banner{top:22%;font-size:18px;padding:5px 16px}
.ekr-touchhud .ekr-prompt{bottom:46%;font-size:12px;padding:4px 10px}
.ekr-touchhud .ekr-healbar{bottom:38%;width:150px;font-size:11px}
.ekr-touchhud .ekr-status{bottom:8px;inset-inline-start:168px;width:190px;gap:3px}.ekr-touchhud .ekr-gear{font-size:13px}.ekr-touchhud .ekr-hp{height:14px}.ekr-touchhud .ekr-hp b{font-size:10px;line-height:12px}
.ekr-touchhud .ekr-chat{top:auto;bottom:50px;inset-inline-start:168px;width:190px;gap:0}.ekr-touchhud .ekr-chat-r input{padding:5px 8px;font-size:12px}.ekr-touchhud .ekr-chat-r button{width:32px;font-size:14px}
.ekr-touchhud .ekr-weap{bottom:92px;inset-inline-start:168px;inset-inline-end:auto;align-items:flex-start;text-align:start;gap:1px}.ekr-touchhud .ekr-wn{font-size:11px}.ekr-touchhud .ekr-wa b{font-size:24px}.ekr-touchhud .ekr-wa span{font-size:13px}.ekr-touchhud .ekr-wi{font-size:10px;gap:3px;justify-content:flex-start}.ekr-touchhud .ekr-wi span{padding:1px 5px}
.ekr-touch .ekr-js{width:120px;height:120px;bottom:16px;left:16px}.ekr-touch .ekr-js i{width:52px;height:52px;margin:-26px}
.ekr-touch .ekr-tb{right:12px;bottom:10px;grid-template-columns:repeat(3,50px);gap:6px}.ekr-touch .ekr-tb button{height:50px;font-size:19px}.ekr-touch .ekr-tb .big{height:64px}
.ekr-touch .ekr-tb2{top:auto;bottom:10px;right:182px;grid-template-columns:repeat(2,40px);gap:5px}.ekr-touch .ekr-tb2 button{height:40px;font-size:16px}
.ekr-touchhud .ekr-inv-in{font-size:12px;padding:10px}

/* ---------- friend rooms ---------- */
.ekr-or{text-align:center;color:var(--dim);margin:12px 0;font-size:13px}.ekr-joinrow{display:flex;gap:8px}.ekr-joinrow input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.35);color:var(--ink,#fff);font:800 20px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:#fff}
.ekr-rcode{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px;border-radius:14px;border:1px dashed var(--gold);background:rgba(233,185,73,.07);margin-bottom:14px}.ekr-rcode span{color:var(--dim);font-size:13px}.ekr-rcode b{font:900 38px/1 ui-monospace,Menlo,monospace;letter-spacing:.22em;color:var(--gold)}
.ekr-rmem{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.ekr-rmem li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid transparent}.ekr-rmem li.me{border-color:var(--line)}.ekr-rmem li b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ekr-rmem li small{color:var(--dim);font-size:12px}
.ekr-dot{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px rgba(255,255,255,.15)}.ekr-wave{font-style:normal;opacity:.25;transition:.15s}.ekr-rmem li.talk .ekr-wave{opacity:1;filter:drop-shadow(0 0 6px #4cff8a)}.ekr-rmem li.talk{border-color:#4cff8a}
.ekr-wait{text-align:center;color:var(--dim);margin:12px 0}.ekr-roommodal .ekr-dlg{width:min(460px,100%)}.ekr-roommodal .wide{width:100%;margin-top:8px}.ekr-roommodal button:disabled{opacity:.45;cursor:not-allowed}
/* in-match squad */
.ekr-squad{position:absolute;top:84px;inset-inline-start:12px;z-index:12;display:grid;gap:6px;pointer-events:none;min-width:150px}.ekr-squad .m{display:flex;flex-direction:column;gap:3px;padding:6px 9px;border-radius:10px;background:rgba(6,10,16,.58);border:1px solid rgba(255,255,255,.1);font:700 13px/1.1 system-ui,sans-serif;color:#fff}
.ekr-squad .m .hp{height:5px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}.ekr-squad .m .hp i{display:block;height:100%;background:#58e08a;width:100%}.ekr-squad .m.dead{opacity:.5}.ekr-squad .m.talk{border-color:#4cff8a;box-shadow:0 0 10px rgba(76,255,138,.5)}.ekr-squad .m.dead .hp i{background:#c0392b}
.ekr-squad .mic{pointer-events:auto;align-self:flex-start;padding:6px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(6,10,16,.7);color:#fff;font:700 13px system-ui;cursor:pointer}.ekr-squad .mic.on{background:#1d6b3a;border-color:#4cff8a}
.ekr-tag{position:absolute;z-index:11;transform:translate(-50%,-100%);pointer-events:none;font:800 12px/1 system-ui,sans-serif;color:#fff;text-shadow:0 1px 3px #000,0 0 6px #000;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:2px}.ekr-tag i{display:block;width:44px;height:4px;border-radius:2px;background:rgba(0,0,0,.55);overflow:hidden}.ekr-tag i b{display:block;height:100%;background:#58e08a}

/* v1.4 engagement */
.ekr-gmodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ekr-gmodes button{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);text-align:start}.ekr-gmodes button span{font-size:22px}.ekr-gmodes button small{color:var(--dim);font-size:12px}.ekr-gmodes button.on{border-color:var(--gold);background:rgba(233,185,73,.12)}.ekr-gmodes button.soon{opacity:.45}
.ekr-qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.ekr-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035)}.ekr-card.wide{grid-column:1/-1}.ekr-card h3{margin:0 0 8px;font-size:17px}.ekr-card h3 small{color:var(--dim);font-weight:600}.ekr-note.ev{grid-column:1/-1;background:linear-gradient(90deg,rgba(233,185,73,.2),rgba(233,185,73,.05));border-color:var(--gold)}
.ekr-bar{height:8px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;margin:6px 0}.ekr-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#f4c75a);border-radius:6px;transition:width .5s}
.ekr-q{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.ekr-q>div{flex:1;min-width:0}.ekr-q.done b{color:var(--ok)}.ekr-q small{color:var(--dim)}.ekr-pr{color:var(--gold2);font-weight:800;white-space:nowrap}
.ekr-mini{margin:6px 0 10px;padding-inline-start:22px}.ekr-mini li{padding:2px 0}.ekr-mini b{color:var(--gold2);margin-inline-start:6px}.ekr-clans{margin-top:8px;max-height:210px;overflow:auto}
.ekr-ach{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.ekr-ach>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:10px 6px;border-radius:12px;border:1px solid var(--line);opacity:.45;filter:grayscale(.8)}.ekr-ach>div.on{opacity:1;filter:none;border-color:var(--gold);background:rgba(233,185,73,.1)}.ekr-ach span{font-size:26px}.ekr-ach b{font-size:12px}.ekr-ach small{color:var(--dim)}
.ekr-rmeta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0;font-size:14px}.ekr-rmeta span{padding:5px 10px;border-radius:20px;background:rgba(255,255,255,.07)}.ekr-rmeta .ach{background:rgba(233,185,73,.18);color:var(--gold2)}.ekr-rmeta .up{color:var(--ok)}.ekr-rmeta .dn{color:#ff7a6a}
.ekr-card .ekr-joinrow input{font:600 15px/1.2 system-ui,sans-serif;letter-spacing:0;text-transform:none}
