:root{--bg: #101218;--panel: #1c1f27;--panel2: #181b22;--edge: #2b2f3a;--ink: #d8dbe2;--dim: #8a8f9c;--amber: #ffb347;--hot: #ff6b35;--ok: #7fd6a0;--blue: #6fa8ff;--red: #d94f4f}*{box-sizing:border-box;margin:0}[hidden]{display:none!important}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,sans-serif}button{font:inherit;cursor:pointer}kbd{background:#262a34;border:1px solid var(--edge);border-radius:4px;padding:0 5px;font-size:11px}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;outline:none}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}#hud>*{pointer-events:auto}#topbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:stretch}.tpanel{display:flex;gap:10px;align-items:center;background:#10121899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--edge);border-radius:12px;padding:7px 13px}.tpanel .tp-ico{font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px #000)}.tp-body{display:flex;flex-direction:column;gap:3px}.tp-lab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:700}#wavePanel .tp-lab{font-size:13px;letter-spacing:.04em;color:var(--ink);text-transform:none}#wavePanel.hot .tp-lab{color:var(--hot)}#wavePanel.hot .tp-ico{animation:pulse 1.1s infinite}#campBarWrap{position:relative;width:150px;height:15px;background:#33222a;border-radius:8px;overflow:hidden}#campBar{height:100%;width:100%;background:linear-gradient(90deg,#ffcf6e,var(--amber));transition:width .3s,background .3s}#campHp{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#241a08;text-shadow:0 1px 0 #ffffff55}#campPanel.danger{border-color:var(--red);animation:danger 1s infinite}#campPanel.danger #campHp{color:#fff;text-shadow:0 1px 2px #000}@keyframes danger{50%{box-shadow:0 0 14px #d94f4faa}}#waveBarWrap{width:150px;height:6px;background:#23262f;border-radius:3px;overflow:hidden}#waveBar{height:100%;width:0;background:var(--blue);transition:width .3s}#wavePanel.hot #waveBar{background:var(--hot)}#waveSub{font-size:11px;color:var(--dim)}.tp-side{flex-direction:column;align-items:flex-start;gap:4px;justify-content:center}#seedChip{color:var(--dim);font-size:11px}#seedChip b{color:var(--amber);letter-spacing:.06em}#meuteChip{font-size:11px;color:var(--hot)}#meuteChip b{letter-spacing:.04em}#linkChip button{background:#262a34;color:var(--ink);border:1px solid var(--edge);border-radius:6px;padding:3px 10px;font-size:12px}#linkChip button:hover{border-color:var(--amber)}#objective{position:absolute;top:82px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;max-width:90vw;background:#12141acc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--edge);border-left:3px solid var(--amber);border-radius:8px;padding:7px 14px;font-size:13px;color:var(--ink);animation:pop .3s}#objective #objIco{font-size:15px}#objective.danger{border-left-color:var(--red)}#objective.danger #objText{color:var(--hot);font-weight:700}#mapWrap{position:absolute;top:10px;right:10px}#minimap{display:block;border:1px solid var(--edge);border-radius:8px;background:#0c0e12;opacity:.95}.mapLab{position:absolute;top:5px;left:7px;font-size:10px;letter-spacing:.08em;color:var(--dim);text-shadow:0 1px 2px #000;pointer-events:none}#squad{position:absolute;top:178px;right:10px;display:flex;flex-direction:column;gap:5px;width:150px}.pbar{display:flex;align-items:center;gap:6px;font-size:11px}.pbar .plab{width:62px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbar .hpw{flex:1;height:8px;background:#33222a;border-radius:4px;overflow:hidden}.pbar .hp{height:100%;background:var(--red);transition:width .2s}.pbar .sh{color:var(--blue);font-size:10px;width:26px}#hotbarWrap{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}#hotbar{display:flex;gap:10px}.hslot{position:relative;width:64px;height:64px;background:#16181fd0;border:2px solid var(--edge);border-radius:12px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .1s}.hslot:hover{border-color:#4a5163}.hslot.active{border-color:var(--amber);box-shadow:0 0 12px #ffb34755}.hslot.empty{border-style:dashed}.hslot.empty .ph{font-size:22px;color:#3a3f4d}.hslot kbd{position:absolute;top:-8px;left:-8px;background:#262a34;z-index:1}.hslot.active kbd{background:var(--amber);color:#241a08;border-color:var(--amber)}.hslot .cd{position:absolute;top:0;right:0;bottom:0;left:0;background:#101218c8;border-radius:10px;transform-origin:bottom}.hslot .nm{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);font-size:9px;color:var(--dim);white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}#hotHint{font-size:10.5px;color:var(--dim);text-shadow:0 1px 3px #000;display:flex;gap:4px;align-items:center}#hotHint kbd{font-size:10px;padding:0 4px}#extractWrap{position:absolute;bottom:120px;left:50%;transform:translate(-50%);width:240px;text-align:center}#extractWrap .track{height:9px;background:#23262f;border-radius:5px;overflow:hidden;margin-top:4px}#extractBar{height:100%;background:linear-gradient(90deg,#ffcf6e,var(--amber));border-radius:5px;width:0;transition:width .1s linear}#extractLabel{font-size:12px;color:var(--amber);font-weight:600;text-shadow:0 1px 3px #000}#hint{position:absolute;bottom:160px;left:50%;transform:translate(-50%);background:linear-gradient(160deg,#232733,#181b22);border:1px solid #4a5163;border-radius:10px;padding:9px 16px;font-size:13px;max-width:440px;text-align:center;animation:pop .3s;box-shadow:0 6px 20px #0008}#filonMarker{position:absolute;color:var(--amber);font-weight:700;font-size:13px;background:#12141acc;border:1px solid var(--amber);border-radius:6px;padding:2px 8px;text-shadow:0 1px 4px #000;transform:translate(-50%,-100%);animation:bounce 1.2s infinite;white-space:nowrap}@keyframes bounce{0%,to{margin-top:0}50%{margin-top:-8px}}#log{position:absolute;bottom:16px;left:14px;font-size:12px;color:var(--dim);max-width:330px}#log .crit{color:var(--amber);font-weight:600}#log div{text-shadow:0 1px 3px #000;margin-top:2px}#grimToggle{position:absolute;bottom:14px;right:12px;background:#1c1f27dd;color:var(--ink);border:1px solid var(--edge);border-radius:10px;padding:10px 16px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#grimToggle:hover,#grimToggle.pulse{border-color:var(--amber)}#grimToggle.pulse{animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 14px #ffb347aa}}#grimoire{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:5;background:var(--panel);border-left:1px solid var(--edge);display:flex;flex-direction:column}#grimoire header{display:flex;gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--edge)}#grimoire h2{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);flex:1}#grimSearch{background:#12141a;border:1px solid var(--edge);color:var(--ink);border-radius:5px;padding:5px 8px;width:110px}#grimClose{background:none;border:0;color:var(--dim);font-size:15px}#grimGrid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;padding:10px;align-content:start}.tile{position:relative;background:#22262f;border:1px solid var(--edge);border-radius:6px;padding:4px 2px 2px;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none}.tile:hover{border-color:var(--amber)}.tile .nm{font-size:10px;line-height:1.15;word-break:break-word}.tile .tier{position:absolute;top:1px;right:3px;font-size:9px;color:var(--amber)}.tile .new{position:absolute;top:1px;left:3px;font-size:8px;color:var(--ok);background:#274132;border-radius:3px;padding:0 3px}.tile .fd{position:absolute;bottom:2px;right:3px;font-size:9px}.tile .slots{display:flex;gap:2px;justify-content:center;margin-top:2px}.tile .slots button{font-size:9px;padding:0 5px;background:#12141a;color:var(--dim);border:1px solid var(--edge);border-radius:3px}.tile .slots button:hover{color:var(--amber);border-color:var(--amber)}#forge{border-top:1px solid var(--edge);padding:10px;text-align:center}#forgeSlots{display:flex;gap:12px;align-items:center;justify-content:center}.fslot{width:68px;height:68px;border:2px dashed #3a3f4d;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:9px;color:var(--dim)}.fslot.filled{border-style:solid;border-color:#4a5163}#fplus{color:var(--dim);font-size:20px}#fuseBtn{margin-top:8px;padding:8px 30px;background:var(--amber);color:#241a08;border:0;border-radius:6px;font-weight:700}#fuseBtn:disabled{background:#3a3f4d;color:#767c8a;cursor:default}#fuseBtn.forging{animation:pulse .5s infinite}#forgeHint{font-size:11px;color:var(--hot);min-height:16px;margin-top:4px}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08090ccc;z-index:8;display:flex;align-items:center;justify-content:center}#card{background:linear-gradient(160deg,#232733,#181b22);border:1px solid #4a5163;border-radius:14px;padding:24px 36px;text-align:center;max-width:620px;animation:pop .28s}@keyframes pop{0%{transform:scale(.75);opacity:0}}#card h3{color:var(--amber);font-size:13px;letter-spacing:.2em;text-transform:uppercase}#card .cnm{font-size:23px;font-weight:800;margin:6px 0 2px}#card .lore{font-size:12px;color:var(--dim);font-style:italic;max-width:420px;margin:6px auto}#card .cstats{display:flex;gap:16px;justify-content:center;margin:10px 0;font-size:12px;color:var(--dim)}#card .cstats b{color:var(--ink);font-size:15px;display:block}#card .vrow{display:flex;gap:12px;justify-content:center;margin-top:12px}#card .vtile{width:130px;background:#22262f;border:1px solid var(--edge);border-radius:8px;padding:8px 4px;cursor:pointer}#card .vtile:hover{border-color:var(--amber)}#card .vtile .vn{font-size:12px;font-weight:700}#card .vtile .vv{font-size:10px;color:var(--amber)}#card .vtile .vs{font-size:9.5px;color:var(--dim)}#card .racines{display:flex;gap:4px;justify-content:center;margin-top:6px}#card .racines canvas,#card .racines span{width:22px;height:22px}#card button{margin:12px 6px 0;padding:8px 22px;background:var(--amber);border:0;border-radius:6px;font-weight:700;color:#241a08}#card button.alt{background:#3a4152;color:var(--ink)}.badge{font-size:10px;border-radius:3px;padding:1px 8px;letter-spacing:.04em}.b-cache{background:#274132;color:#7fd6a0}.b-session{background:#27303f;color:#8fb8f0}.b-live{background:#4a3211;color:var(--amber)}.b-refus{background:#41272e;color:#e08a99}#menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 50% 30%,#1a1e28,var(--bg))}#menu h1{color:var(--amber);font-size:42px;letter-spacing:.04em}#menu .tagline{color:var(--dim);margin-bottom:10px}#pseudoRow{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--dim)}#pseudoIn{background:#12141a;border:1px solid var(--edge);color:var(--ink);border-radius:6px;padding:7px 12px;text-align:center}#menuActions{display:flex;gap:12px}#menuActions button{padding:12px 22px;border:0;border-radius:8px;font-weight:700}#btnSolo{background:var(--amber);color:#241a08}#btnHost{background:var(--blue);color:#0c1a2e}#btnOptions{background:#3a4152;color:var(--ink)}#optionsRow{display:flex;gap:14px;align-items:center;font-size:12px;color:var(--dim)}#optionsRow input{background:#12141a;border:1px solid var(--edge);color:var(--ink);border-radius:5px;padding:5px 9px;margin-left:6px}#optionsRow button{background:#262a34;color:var(--ink);border:1px solid var(--edge);border-radius:6px;padding:6px 12px}#menuStatus{min-height:22px;font-size:13px}#menuStatus .big{font-size:20px;letter-spacing:.2em;color:var(--amber);font-weight:800}#toast{position:fixed;bottom:14px;right:14px;z-index:9;background:linear-gradient(160deg,#232733,#181b22);border:1px solid #4a5163;border-radius:10px;padding:10px 14px;display:flex;gap:10px;align-items:center;font-size:12.5px;opacity:0;transform:translateY(12px);transition:all .3s;pointer-events:none}#toast.show{opacity:1;transform:none}#toast b{color:var(--amber)}
