:root{--bg:#0d1014;--panel:#12161cf0;--panel-2:#1c222b;--line:#313a46;--text:#e6e2d6;--muted:#9aa2ad;--accent:#e0b85a;--good:#6fd38a;--bad:#e5675c;--warn:#e8a948;--info:#79b7e8;--cell:40px;--hud:1;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (max-width:900px),(max-height:520px){:root{--cell:34px}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:none;overscroll-behavior:none;margin:0;font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#game,#game canvas{touch-action:none}#game{position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:auto}#ui>.touch-root,#ui>.hud,#ui>.toasts{pointer-events:none}button{font:inherit;color:inherit}button,.btn,a,input,select,textarea,label{touch-action:manipulation}.btn{cursor:pointer;touch-action:manipulation;background:#2a323d;border:1px solid #435062;border-radius:8px;min-height:34px;padding:7px 12px}.btn:hover:not(:disabled){background:#344050}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:#7a5a1e;border-color:#b8893a}.btn.primary:hover:not(:disabled){background:#8e6a26}.btn.danger{background:#5e2622;border-color:#9a4038}.btn.small{min-height:26px;padding:3px 8px;font-size:12px}.btn.on{background:#3d5b3d;border-color:#6fa66f}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}.accent{color:var(--accent)}h2,h3,h4{margin:0 0 6px;font-weight:650}h2{color:var(--accent);font-size:18px}h3{font-size:15px}h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px}.bar{background:#0000008c;border:1px solid #ffffff1f;border-radius:5px;min-width:60px;height:10px;position:relative;overflow:hidden}.bar-fill{border-radius:4px;position:absolute;inset:0 auto 0 0}.bar-label{text-align:center;color:#fff;text-shadow:0 0 2px #000;font-size:9px;line-height:10px;position:absolute;inset:0}.bar.tall{height:14px}.bar.tall .bar-label{font-size:11px;line-height:14px}.hud{pointer-events:none;position:fixed;inset:0}.hud *{pointer-events:none}.hud .clickable,.hud .clickable *{pointer-events:auto}.hud,.hud *{touch-action:none}.hud .clickable,.hud .clickable *{touch-action:manipulation}.hico{width:100%;height:100%;display:block}.hud-left{left:calc(var(--safe-l) + 8px * var(--hud));top:calc(var(--safe-t) + 6px * var(--hud));width:calc(136px * var(--hud));align-items:flex-start;gap:calc(4px * var(--hud));font-size:calc(11px * var(--hud));text-shadow:0 1px 2px #000000e6;flex-direction:column;line-height:1.25;display:flex;position:absolute}.hud-status{width:100%;padding:calc(4px * var(--hud)) calc(6px * var(--hud));border-radius:calc(8px * var(--hud));gap:calc(3px * var(--hud));cursor:pointer;background:#0a0c1052;flex-direction:column;display:flex}.hud-status.expanded{width:calc(164px * var(--hud));background:#0a0c109e}.stat{grid-template-columns:calc(12px * var(--hud)) 1fr;align-items:center;gap:calc(5px * var(--hud));display:grid}.hud-status.expanded .stat{grid-template-columns:calc(12px * var(--hud)) 1fr calc(30px * var(--hud))}.sico{width:calc(12px * var(--hud));height:calc(12px * var(--hud))}.stat-health .sico{color:#ef7a6f}.stat-hunger .sico{color:#d79a52}.stat-thirst .sico{color:#5aa8e0}.stat-stamina .sico{color:#e6e2a0}.tbar{height:calc(5px * var(--hud));background:#00000080;border-radius:3px;overflow:hidden}.tbar i{border-radius:3px;height:100%;transition:width .2s linear;display:block}.stat-hunger .tbar i{background:#d79a52}.stat-thirst .tbar i{background:#5aa8e0}.stat-stamina .tbar i{background:#e6e2a0}.stat-stamina.sprinting .tbar i{background:#ffd36a;box-shadow:0 0 6px #ffd36a}.stat.low .tbar{animation:1.2s ease-in-out infinite lowPulse}@keyframes lowPulse{50%{box-shadow:0 0 0 1px #e5675cf2}}.sv{font-size:calc(10px * var(--hud));text-align:right;color:var(--muted);display:none}.hud-status.expanded .sv{display:block}.hud-badges{flex-wrap:wrap;gap:3px;display:flex}.hud-badges:empty{display:none}.hud-badges span{font-size:calc(9.5px * var(--hud));padding:0 calc(5px * var(--hud));background:#0000008c;border-radius:6px}.hud-level{font-size:calc(9.5px * var(--hud));color:var(--muted)}.hud-details{font-size:calc(10px * var(--hud));color:var(--muted);display:none}.hud-status.expanded .hud-details{flex-direction:column;gap:3px;display:flex}.hud-details .zones{grid-template-columns:repeat(5,1fr);gap:2px;display:grid}.hud-details .zones i{text-align:center;color:#000;font-style:normal;font-weight:700;font-size:calc(8px * var(--hud));line-height:calc(11px * var(--hud));text-shadow:none;border-radius:3px}.hud-clock,.hud-objective{align-items:center;gap:1px calc(5px * var(--hud));padding:calc(2px * var(--hud)) calc(7px * var(--hud));border-radius:calc(9px * var(--hud));background:#0a0c1052;flex-wrap:wrap;display:flex}.hud-clock:empty,.hud-objective:empty{display:none}.hud-clock .hico,.hud-objective .hico{width:calc(12px * var(--hud));height:calc(12px * var(--hud));flex:none}.hud-clock b{font-weight:650}.cl-threat,.cl-craft{align-items:center;gap:2px;display:inline-flex}.cl-threat{color:#f0a59e}.cl-craft{color:var(--accent)}.cl-bar{background:#00000080;border-radius:2px;flex-basis:100%;height:2px;overflow:hidden}.cl-bar i{background:#e5675c;height:100%;display:block}.cl-sub{max-width:calc(78px * var(--hud));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cl-warn{font-weight:700}.hud-clock.raid b{font-size:calc(13px * var(--hud))}.hud-clock.warn .cl-threat{color:#ff7b6e;font-weight:700}.hud-clock.alert{background:#781814d9;animation:1s ease-in-out infinite alertPulse}@keyframes alertPulse{50%{background:#af241ceb}}.hud-objective{max-width:min(calc(190px * var(--hud)), 46vw);color:var(--accent);cursor:pointer}.hud-objective b{color:var(--text)}.obj-text{color:var(--text);font-size:calc(10px * var(--hud));flex-basis:100%;padding:2px 0}.fps{font:calc(10px * var(--hud)) monospace;color:#9ef}.fps:empty{display:none}.hud-right{right:calc(var(--safe-r) + 8px * var(--hud));top:calc(var(--safe-t) + 6px * var(--hud));align-items:flex-start;gap:calc(6px * var(--hud));display:flex;position:absolute}.hud-buttons{justify-content:flex-end;gap:calc(5px * var(--hud));flex-wrap:wrap;max-width:min(560px,50vw);display:flex}.hud-buttons .btn{background:#14181e8c;border-color:#ffffff24;min-height:30px;padding:4px 9px;font-size:12px}.hud-buttons .hbtn,.map-btn{width:calc(36px * var(--hud));height:calc(36px * var(--hud));min-height:0;padding:calc(7px * var(--hud));border-radius:calc(10px * var(--hud));color:var(--text);background:#14181e8c;border:1px solid #ffffff24}.hud-buttons .hbtn.on{background:#e0b85a73}.map-btn[hidden]{display:none}.minimap-wrap{width:calc(84px * var(--hud));height:calc(84px * var(--hud));flex:none;position:relative}.minimap-wrap.collapsed:not(.show-large){display:none}.minimap{border-radius:calc(10px * var(--hud));width:100%;height:100%;image-rendering:pixelated;opacity:.92;background:#000;border:1px solid #ffffff2e;display:block}.minimap.large{z-index:5;opacity:1;width:min(80vw,80vh);height:min(80vw,80vh);position:fixed;top:50%;right:50%;transform:translate(50%,-50%)}.minimap-fold{width:calc(20px * var(--hud));height:calc(20px * var(--hud));color:var(--muted);background:#0a0c10cc;border:1px solid #fff3;border-radius:50%;padding:3px;position:absolute;bottom:-3px;left:-3px}.minimap.large+.minimap-fold{display:none}.hud-bottom{left:50%;bottom:calc(var(--safe-b) + 8px * var(--hud));align-items:center;gap:calc(5px * var(--hud));flex-direction:column;display:flex;position:absolute;transform:translate(-50%)}.hud-hotbar{gap:calc(4px * var(--hud));padding:calc(3px * var(--hud));border-radius:calc(12px * var(--hud));background:#0a0c1047;display:flex}.hot-weapon,.qslot{height:calc(42px * var(--hud));border-radius:calc(9px * var(--hud));cursor:pointer;background:#14181e9e;border:1px solid #ffffff24;position:relative;overflow:hidden}.qslot{width:calc(42px * var(--hud));justify-content:center;align-items:center;display:flex}.hot-weapon{width:calc(78px * var(--hud));align-items:center;gap:calc(3px * var(--hud));padding:0 calc(4px * var(--hud));border-color:#e0b85a80;display:flex}.wico{width:calc(28px * var(--hud));height:calc(28px * var(--hud));flex:none}.wico svg,.qico svg{width:100%;height:100%}.wtext{flex-direction:column;min-width:0;line-height:1.1;display:flex}.wname{font-size:calc(9px * var(--hud));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wammo{font-size:calc(12px * var(--hud));white-space:nowrap;font-weight:700}.wammo small{font-size:calc(9px * var(--hud));color:var(--muted);margin-left:3px;font-weight:400}.wdur,.wdraw{background:#0009;height:2px;position:absolute;bottom:2px;left:4px;right:4px}.wdraw{bottom:5px}.wdur i,.wdraw i{background:#9aa2ad;height:100%;display:block}.wdraw i{background:var(--accent)}.qico{width:calc(30px * var(--hud));height:calc(30px * var(--hud))}.qico.empty{opacity:.3}.qcount{font-size:calc(10px * var(--hud));text-shadow:0 0 3px #000;font-weight:700;position:absolute;bottom:1px;right:3px}.qkey{font-size:calc(9px * var(--hud));color:var(--muted);position:absolute;top:1px;left:3px}.qcool{background:#79b7e859;position:absolute;bottom:0;left:0;right:0}.hud-prompt{padding:calc(3px * var(--hud)) calc(10px * var(--hud));font-size:calc(12px * var(--hud));white-space:nowrap;background:#0a0c10b8;border:1px solid #e0b85a73;border-radius:999px}.hud-progress{width:calc(200px * var(--hud))}.hud-progress:empty{display:none}.toasts{top:calc(var(--safe-t) + 8px * var(--hud));width:max(180px, min(440px, calc(100vw - var(--safe-l) - var(--safe-r) - 380px * var(--hud))));flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{border-left:3px solid var(--info);background:#0e1218e0;border-radius:8px;max-width:100%;padding:4px 10px;font-size:12px;animation:.2s ease-out toastIn}.toast.good{border-color:var(--good)}.toast.bad{border-color:var(--bad)}.toast.warn{border-color:var(--warn)}@keyframes toastIn{0%{opacity:0;transform:translateY(-6px)}}.touch-root{pointer-events:none;z-index:8;position:fixed;inset:0}.touch-root,.touch-root *{touch-action:none;-webkit-user-select:none;user-select:none}.touch-move-zone{left:var(--safe-l);bottom:var(--safe-b);top:calc(var(--safe-t) + var(--left-h,130px) + 12px * var(--hud));right:calc(var(--safe-r) + 206px * var(--hud) + var(--hotbar-w,260px) + 10px);pointer-events:auto;position:absolute}.stick-base{width:calc(112px * var(--hud));height:calc(112px * var(--hud));margin:calc(-56px * var(--hud)) 0 0 calc(-56px * var(--hud));left:calc(70px * var(--hud));bottom:calc(12px * var(--hud));opacity:.5;background:#ffffff0d;border:2px solid #ffffff38;border-radius:50%;position:absolute}.stick-base.active{opacity:1}.stick-sprint-ring{border:1px dashed #ffd36a4d;border-radius:50%;position:absolute;inset:7%}.stick-base.sprint .stick-sprint-ring{border:2px solid #ffd36ad9}.stick-knob{width:calc(46px * var(--hud));height:calc(46px * var(--hud));margin:calc(-23px * var(--hud)) 0 0 calc(-23px * var(--hud));background:#ffffff59;border-radius:50%;position:absolute;top:50%;left:50%}.stick-base.sprint .stick-knob{background:#ffd36acc;box-shadow:0 0 12px #ffd36a99}.touch-actions{right:calc(var(--safe-r) + 10px * var(--hud));bottom:calc(var(--safe-b) + 8px * var(--hud));width:calc(220px * var(--hud));height:calc(186px * var(--hud));pointer-events:none;position:absolute}.fire-base{width:calc(108px * var(--hud));height:calc(108px * var(--hud));pointer-events:auto;opacity:.6;background:#ff5a3c1a;border:2px solid #ff785a73;border-radius:50%;transition:opacity .25s;position:absolute;bottom:0;right:0}.fire-base.active{background:#ff5a3c40}.touch-actions.combat .fire-base,.fire-base.active{opacity:1}.fire-knob{padding:calc(11px * var(--hud));color:#fff;background:#ff8c6e8c}.act{color:var(--text);pointer-events:auto;background:#14181e8c;border:1px solid #ffffff38;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:0;transition:opacity .2s,transform 80ms;display:flex;position:absolute}.act .hico{width:40%;height:40%}.act span{font-size:calc(8.5px * var(--hud));color:var(--muted);margin-top:1px;line-height:1}.act.down{background:#e0b85a73;transform:scale(.92)}.act.off{visibility:hidden;pointer-events:none}.act-dodge{right:calc(118px * var(--hud));bottom:calc(2px * var(--hud));width:calc(56px * var(--hud));height:calc(56px * var(--hud));opacity:.7}.touch-actions.combat .act-dodge{opacity:1}.act-use{right:calc(24px * var(--hud));bottom:calc(120px * var(--hud));width:calc(62px * var(--hud));height:calc(62px * var(--hud));background:#326e46b8;border-color:#8cdca08c}.act-use span{color:#d8f5df}.act-reload{right:calc(112px * var(--hud));bottom:calc(88px * var(--hud));width:calc(48px * var(--hud));height:calc(48px * var(--hud))}.act-throw{right:calc(170px * var(--hud));bottom:calc(58px * var(--hud));width:calc(48px * var(--hud));height:calc(48px * var(--hud))}body.touch .hud-bottom{left:auto;right:calc(var(--safe-r) + 206px * var(--hud));transform:none}body:not(.touch) .minimap-wrap{width:150px;height:150px}@media (orientation:portrait){body.touch .toasts{top:calc(var(--safe-t) + var(--left-h,130px) + 14px);width:min(88vw,440px)}body.touch .hud-right{flex-direction:column;align-items:flex-end}body.touch .hud-bottom{left:50%;right:auto;bottom:calc(var(--safe-b) + 200px * var(--hud));transform:translate(-50%)}body.touch .touch-move-zone{height:calc(190px * var(--hud));top:auto;right:calc(var(--safe-r) + 238px * var(--hud))}}.tiles{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.btn.tile{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:76px;padding:12px 6px;font-size:13px;display:flex}.btn.tile .hico{width:26px;height:26px}.overlay{z-index:35;padding:calc(8px + var(--safe-t)) calc(8px + var(--safe-r)) calc(8px + var(--safe-b)) calc(8px + var(--safe-l));background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:min(1180px,100%);max-height:100%;display:flex;box-shadow:0 10px 40px #0009}.panel.narrow{width:min(560px,100%)}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.panel-head h2{flex:1;margin:0}.panel-body{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;-webkit-user-select:text;user-select:text;padding:12px 14px;overflow:auto}.panel-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.tabs{gap:4px;display:flex}.tabs .btn.active{border-color:var(--accent);background:#4a3a1a}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px}.list{flex-direction:column;gap:6px;display:flex}.list-row{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:6px 10px;display:flex}.list-row .grow{flex:1;min-width:0}.list-row svg,.ico svg{width:32px;height:32px;display:block}.ico{flex:none;width:34px;height:34px}.small{font-size:12px}.req-ok:before{content:"✔ ";color:var(--good)}.req-no:before{content:"✘ ";color:var(--bad)}.inv-layout{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.inv-col{flex-direction:column;gap:10px;min-width:0;display:flex}.inv-overlay{padding:calc(4px + var(--safe-t)) calc(4px + var(--safe-r)) calc(4px + var(--safe-b)) calc(4px + var(--safe-l));touch-action:none;overscroll-behavior:none;background:#00000059;justify-content:stretch;align-items:stretch}.inv-overlay .panel{background:#10141a;border-radius:12px;width:100%;max-width:1180px;height:100%;max-height:none;margin:0 auto}.inv-overlay .panel-head{gap:6px;padding:4px 6px 4px 10px}.inv-overlay .panel-head h2{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;font-size:15px;overflow:hidden}.inv-overlay .panel-head>.row{flex-wrap:nowrap;flex:1;justify-content:flex-end;gap:6px;min-width:0}.inv-overlay .panel-head .btn{min-height:30px}.inv-overlay .panel-body{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;padding:6px;overflow:hidden}.inv-overlay .panel-foot{display:none!important}.inv-weight{color:var(--muted);white-space:nowrap;margin-right:auto;font-size:12px}.inv-weight.warn{color:var(--warn)}.inv-weight.bad{color:var(--bad)}.inv-warn{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.inv-hbtn{align-items:center;gap:4px;display:inline-flex}.inv-hbtn .hico{width:14px;height:14px}.inv-hbtn.icon-only{width:30px;padding:6px}.inv-hbtn.icon-only span{display:none}.inv-tabs{gap:4px;display:inline-flex}.inv-tab.on,.inv-subtabs .btn.on{border-color:var(--accent);background:#4a3a1a}.inv-screen{grid-template-columns:var(--left) var(--mid) var(--side);grid-template-rows:minmax(0,1fr);gap:8px;height:100%;display:grid;position:relative}.inv-screen.no-other{grid-template-columns:var(--left) minmax(0, 1fr)}.inv-screen.mode-tabs{grid-template-columns:minmax(0,1fr)}.inv-screen.mode-tabs.tab-main .inv-gear,.inv-screen.mode-tabs.tab-gear .inv-main{display:none}.inv-gear{grid-template-columns:var(--left) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);gap:8px;min-height:0;display:grid}.inv-left{flex-direction:column;gap:4px;min-height:0;display:flex}.inv-sec{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;line-height:12px}.inv-body{cursor:pointer;touch-action:manipulation;grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.inv-body .zone{background:#ffffff0d;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:2px 0 3px;display:flex}.inv-body .zone b{font-size:10px;line-height:11px}.inv-body .zone i{background:#00000080;border-radius:2px;width:80%;height:3px;display:block;overflow:hidden}.inv-body .zone u{height:100%;display:block}.inv-body .zone.bleed{box-shadow:inset 0 0 0 1px var(--bad)}.inv-body .zone.fract b{color:var(--warn)}.inv-equip{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);gap:4px;min-height:0;display:grid}.slot{touch-action:none;background:#ffffff08;border:1px dashed #4a5566;border-radius:8px;justify-content:center;align-items:center;min-height:30px;display:flex;position:relative;overflow:hidden}.slot-label{color:var(--muted);pointer-events:none;font-size:9px;position:absolute;top:1px;left:5px}.slot-ico{color:#fff3;pointer-events:none;width:40%;max-width:24px}.slot .item{width:92%;height:72%;margin-top:9px;position:static}.slot .item .name{display:none}.slot-secure{border-color:#7ac4d68c}.inv-hotbar{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.hb-slot{cursor:pointer;touch-action:manipulation;background:#14181eb3;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;height:40px;display:flex;position:relative}.hb-ico{width:26px;height:26px}.hb-ico svg{width:100%;height:100%}.hb-slot.empty .hb-ico{opacity:.3}.inv-main{flex-direction:column;gap:4px;min-width:0;min-height:0;display:flex}.inv-their{flex-wrap:wrap;gap:4px;display:flex}.inv-their .slot{width:64px;height:40px}.inv-subtabs{flex-wrap:wrap;gap:4px;display:flex}.inv-box{flex-direction:column;min-width:0;min-height:0;display:flex}.inv-box-head{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;height:15px;font-size:10px;line-height:15px;display:flex}.inv-box-head .lock{width:11px;height:11px;margin-right:2px}.inv-box-head>span:first-of-type{text-overflow:ellipsis;flex:1;overflow:hidden}.inv-box-main{flex:1;align-self:center}.grid-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;border-radius:4px;min-height:0;overflow:hidden auto}.inv-side{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.inv-side.row{flex-direction:row;align-items:flex-start;gap:12px}.inv-side>.inv-box{align-self:flex-start}.inv-pair{align-items:flex-start;gap:6px;display:flex}.inv-box-pack{min-height:0}.inv-secure .inv-box-head{color:#8fd3e8}.inv-secure .grid{background-color:#1c3a4473;border-color:#7ac4d6bf}.inv-nopack{border:1px dashed var(--line);border-radius:8px;padding:6px 8px}.grid{background-color:#0f1318;background-image:linear-gradient(#273040 1px,#0000 1px),linear-gradient(90deg,#273040 1px,#0000 1px);background-size:var(--c,var(--cell)) var(--c,var(--cell));touch-action:pan-y;border:1px solid #3a4658;border-radius:4px;position:relative}.item{cursor:grab;touch-action:none;background:linear-gradient(#ffffff12,#0003);border:1px solid #ffffff29;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.item-ico{pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.item svg{pointer-events:none;width:82%;max-width:64px;height:82%;max-height:64px}.item .count{text-shadow:0 0 3px #000;pointer-events:none;font-size:11px;font-weight:700;position:absolute;bottom:1px;right:3px}.item .name{color:#ddd;text-shadow:0 0 3px #000;white-space:nowrap;pointer-events:none;max-width:95%;font-size:9px;position:absolute;top:1px;left:3px;overflow:hidden}.item .dura{background:#222;height:2px;position:absolute;bottom:1px;left:2px;right:2px}.item .dura i{background:var(--good);height:100%;display:block}.item.selected{outline:2px solid var(--accent);z-index:2}.item.fir:after{content:"";background:#7fd0ff;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:2px}.item.drag-src{opacity:.3}.r-common{border-color:#ffffff29}.r-uncommon{background-color:#5fae6e1a;border-color:#5fae6e}.r-rare{background-color:#5f8fd61f;border-color:#5f8fd6}.r-epic{background-color:#a565d624;border-color:#a565d6}.r-legendary{background-color:#e0a64029;border-color:#e0a640}.item.drag-ghost{z-index:100;opacity:.9;pointer-events:none;will-change:transform;margin:0;position:fixed;top:0;left:0}.drag-ghost .name{display:none}.slot.can-drop,.hb-slot.can-drop{border-style:solid;border-color:#6fd38acc}.grid.can-drop{box-shadow:0 0 0 1px #6fd38a8c}.slot.no-drop,.hb-slot.no-drop,.grid.no-drop{opacity:.4}.slot.hover-ok,.hb-slot.hover-ok{background:#6fd38a47}.slot.hover-no,.hb-slot.hover-no{border-color:var(--bad);background:#e5675c47}.drop-preview{z-index:3;pointer-events:none;border-radius:4px;position:absolute}.drop-preview.ok{outline:1px solid var(--good);background:#6fd38a4d}.drop-preview.no{outline:1px solid var(--bad);background:#e5675c4d}.drag-rotate{top:calc(var(--safe-t) + 6px);left:calc(var(--safe-l) + 10px);z-index:101;touch-action:none;background:#28303cf5;align-items:center;gap:6px;min-height:44px;padding:8px 16px;font-size:14px;display:flex;position:fixed}.drag-rotate .hico{width:18px;height:18px}.inv-pop{z-index:5;overscroll-behavior:contain;touch-action:pan-y;border:1px solid var(--line);background:#161b23fa;border-radius:10px;flex-direction:column;gap:6px;width:236px;max-height:calc(100% - 8px);padding:8px;font-size:12px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 8px 28px #0009}.inv-pop.pop-menu{width:200px}.pop-head{align-items:center;gap:8px;display:flex}.pop-ico{flex:none;width:30px;height:30px}.pop-ico svg{width:100%;height:100%}.pop-title{flex-direction:column;flex:1;min-width:0;display:flex}.pop-title b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inv-pop-x{flex:none;width:30px;height:30px;min-height:0;padding:6px}.pop-stats{grid-template-columns:auto 1fr;gap:1px 8px;font-size:11px;display:grid}.pop-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:11px;display:-webkit-box;overflow:hidden}.pop-actions{flex-wrap:wrap;gap:4px;display:flex}.pop-actions.list{flex-direction:column}.pop-actions.list .btn{text-align:left;min-height:34px}.pop-help{flex-direction:column;gap:4px;margin:0;padding-left:16px;display:flex}.menu{z-index:30;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));background:radial-gradient(at 50% 30%,#2a2418 0%,#0d1014 70%);display:flex;position:fixed;inset:0;overflow-y:auto}.menu-inner{text-align:center;flex-direction:column;gap:10px;width:min(460px,100%);margin:auto;display:flex}.menu h1{color:var(--accent);letter-spacing:.04em;margin:0;font-size:34px}.menu .btn{padding:12px;font-size:16px}input[type=text],input[type=number],select{color:var(--text);font:inherit;-webkit-user-select:text;user-select:text;background:#11161c;border:1px solid #435062;border-radius:8px;padding:8px 10px}input[type=range]{width:100%}@media (pointer:coarse){input[type=text],input[type=number],select,textarea{font-size:16px}}.result-title{font-size:26px;font-weight:800}body:has(.overlay) .dbg-toggle{display:none}.debug-panel{left:calc(10px + var(--safe-l));bottom:calc(10px + var(--safe-b));z-index:40;background:#0a0e14f2;border:1px solid #3a6;border-radius:10px;width:300px;max-height:70vh;padding:8px;font-size:12px;position:fixed;overflow:auto}.debug-panel .btn{min-height:24px;padding:3px 7px;font-size:11px}.content-errors{z-index:50;color:#fdd;white-space:pre-wrap;background:#280000f2;border:2px solid #f55;border-radius:10px;padding:16px;font:12px monospace;position:fixed;inset:20px;overflow:auto}.app-version{color:var(--muted);margin:4px 0 0;font-size:11px}.install-steps{flex-direction:column;gap:6px;margin:4px 0 10px;padding-left:22px;display:flex}.update-banner{top:calc(8px + var(--safe-t));z-index:45;width:max-content;max-width:calc(100vw - 16px - var(--safe-l) - var(--safe-r));border:1px solid var(--accent);background:#141a22f7;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;padding:8px 12px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0000008c}.rotate-hint{z-index:18;padding:calc(16px + var(--safe-t)) calc(20px + var(--safe-r)) calc(16px + var(--safe-b)) calc(20px + var(--safe-l));text-align:center;touch-action:none;background:#0d1014f0;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.rotate-hint[hidden]{display:none}.rotate-hint p{max-width:320px;margin:0}.rotate-phone{border:3px solid var(--accent);border-radius:9px;width:44px;height:76px;animation:2.4s ease-in-out infinite rotatePhone}@keyframes rotatePhone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.rotate-phone{animation:none;transform:rotate(-90deg)}}
