:root{--obsidian: #18252a;--slate: #26343a;--bronze: #b88632;--gold: #e0b85c;--cream: #e6ddc4;--steel: #527a96;--red: #ff3b3b;--stamina: #e0b85c;--ui-font: system-ui, "Noto Sans Thai", "Sarabun", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;background:#0d1417;color:var(--cream);font-family:var(--ui-font);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.stage{position:absolute;inset:0;margin:auto;width:min(100vw,calc(100vh * 21 / 9));height:min(100vh,56.25vw);width:min(100vw,calc(100dvh * 21 / 9));height:min(100dvh,56.25vw);container-type:size;background:var(--obsidian)}.game-host{position:absolute;inset:0}.game-host canvas{display:block;image-rendering:pixelated}.hud{position:absolute;top:env(safe-area-inset-top);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);pointer-events:none;font-size:2.2cqh}.hud button{pointer-events:auto;font:inherit}.hud-player{position:absolute;left:2%;top:3%;width:26%}.hud-name{font-weight:700;color:var(--gold);margin-bottom:.4cqh;text-shadow:0 1px 0 #000}.hud-downed{margin-top:.6cqh;color:var(--red);font-weight:700}.bar{position:relative;height:2.2cqh;margin-bottom:.6cqh;background:var(--obsidian);border:.3cqh solid var(--slate);outline:.2cqh solid #000}.bar-fill{height:100%;transition:width 90ms linear}.bar-hp .bar-fill{background:linear-gradient(#ff6b5b,#c8352a)}.bar-stamina{height:1.9cqh}.bar-stamina .bar-fill{background:linear-gradient(#f0d07a,var(--bronze))}.bar-flash{animation:flash .15s 2}@keyframes flash{50%{border-color:var(--red);background:#5a1a1a}}.bar-boss .bar-fill{background:linear-gradient(#ff5a4a,#a32a20)}.bar-stagger{height:1cqh}.bar-stagger .bar-fill{background:var(--gold)}.hud-boss{position:absolute;left:33%;width:34%;top:9%;text-align:center}.hud-boss-name{font-weight:700;margin-bottom:.4cqh;text-shadow:0 1px 0 #000;display:flex;gap:.6cqh;justify-content:center;align-items:center;flex-wrap:wrap}.tag{font-size:1.5cqh;padding:.1cqh .6cqh;border-radius:.4cqh;color:#000}.tag-gold{background:var(--gold)}.tag-white{background:#fff}.tag-red{background:var(--red);color:#fff}.hud-menu{position:absolute;right:2%;top:3%;display:flex;flex-direction:column;gap:.8cqh;align-items:flex-end}.chip{background:#18252ae0;color:var(--cream);border:.25cqh solid var(--slate);border-radius:.6cqh;padding:.5cqh 1.2cqh;cursor:pointer;min-height:4cqh}.chip:hover{border-color:var(--bronze)}.chip-on{border-color:var(--gold);color:var(--gold)}kbd{font-family:ui-monospace,monospace;font-size:.85em;background:var(--slate);border-radius:.4cqh;padding:0 .5cqh;color:var(--cream)}.hud-weapon{position:absolute;right:2%;bottom:4%;display:flex;align-items:flex-end;gap:1.6cqh}.weapon-tabs{display:flex;flex-direction:column;gap:.6cqh}.skill{text-align:center}.skill-icon{position:relative;width:12cqh;height:12cqh;border-radius:50%;border:.4cqh solid var(--bronze);background:radial-gradient(circle,#385a78,#18252a);overflow:hidden;display:grid;place-items:center;font-weight:700}.skill-cd{position:absolute;left:0;right:0;bottom:0;background:#0009}.skill-icon span{position:relative}.skill-name{margin-top:.4cqh;font-size:1.8cqh}.hud-help{position:absolute;left:2%;bottom:4%;max-width:37%;background:#18252ad1;border:.25cqh solid var(--slate);border-radius:.8cqh;padding:1cqh 1.4cqh;font-size:1.8cqh}.hud-help-closed{background:none;border:none;padding:0}.hud-help ul{margin:.8cqh 0 0;padding-left:2cqh;line-height:1.55}.hud-toast{position:absolute;left:50%;top:15%;transform:translate(-50%);color:var(--gold);font-weight:700;text-shadow:0 .2cqh 0 #000}.hud-version{position:absolute;right:2%;bottom:.8%;font-size:1.4cqh;opacity:.55;pointer-events:auto;cursor:pointer;background:none;border:none;color:inherit;font-family:inherit;padding:.4cqh .6cqh}.hud-version:hover{opacity:.9}.rotate-hint{display:none}@media(orientation:portrait)and (max-width:900px){.rotate-hint{display:grid;place-items:center;position:fixed;inset:0;background:var(--obsidian);color:var(--gold);font-size:5vw;z-index:10}}.weapon-row{display:flex;gap:.6cqh}.tc{position:absolute;inset:0;pointer-events:none}.tc-stick-zone{position:absolute;pointer-events:auto;touch-action:none;z-index:0}.tc-stick-base,.tc-stick-knob{display:none;position:absolute;left:0;top:0;border-radius:50%;pointer-events:none}.tc-stick-base{width:22cqh;height:22cqh;background:#18252a59;border:.4cqh solid rgba(230,221,196,.45)}.tc-stick-knob{width:10cqh;height:10cqh;background:#e6ddc499}.tc-btn{position:absolute;border-radius:50%;display:grid;place-items:center;font-weight:800;letter-spacing:.05em;color:var(--cream);background:#18252a8c;border:.5cqh solid rgba(230,221,196,.5);pointer-events:auto;touch-action:none;user-select:none;font-size:2.2cqh}.tc-btn:active{background:#e0b85c73}.tc-btn span{pointer-events:none;position:relative}.tc-aim-knob{position:absolute;width:40%;height:40%;border-radius:50%;background:#e6ddc440;pointer-events:none}.tc-place{position:absolute;pointer-events:none;z-index:2}.tc-place>.tc-btn{inset:0;width:100%;height:100%}.tc-attack{font-size:3cqh;border-color:#e0b85ccc}.tc-skill{border-color:#8fb3d1e6}.tc-cd{position:absolute;left:0;right:0;bottom:0;background:#0000008c;border-radius:0 0 50% 50%/0 0 30% 30%;pointer-events:none}.tc-cancel{position:absolute;transform:translate(-50%,-50%);width:12cqh;height:12cqh;border-radius:50%;display:grid;place-items:center;font-size:4cqh;color:#fff;background:#ff3b3b40;border:.4cqh solid rgba(255,59,59,.7);pointer-events:none}.tc-cancel-hot{background:#ff3b3bb3}.itembar{position:absolute;z-index:2;left:50%;bottom:3%;transform:translate(-50%);display:flex;gap:1cqh;pointer-events:none}.itembar-touch{bottom:auto}.item-slot{position:relative;width:8cqh;height:8cqh;border-radius:1cqh;background:#18252ab3;border:.35cqh solid rgba(184,134,50,.85);display:grid;place-items:center;overflow:hidden;pointer-events:auto;touch-action:none;cursor:pointer}.itembar-touch .item-slot{width:9.5cqh;height:9.5cqh}.item-slot:active{background:#e0b85c66}.item-empty{border-style:dashed;border-color:#e6ddc440;background:#18252a59;cursor:default}.item-out .item-icon{opacity:.3;filter:grayscale(1)}.item-using{border-color:var(--gold)}.item-icon{width:75%;height:75%}.item-fallback{font-weight:800}.item-cd{position:absolute;left:0;right:0;bottom:0;background:#0009;pointer-events:none}.item-cd-num{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:2.6cqh;text-shadow:0 .2cqh 0 #000;pointer-events:none}.item-use{position:absolute;left:0;bottom:0;height:.8cqh;background:var(--gold);pointer-events:none}.item-count{position:absolute;right:.5cqh;bottom:.2cqh;font-size:1.8cqh;font-weight:800;text-shadow:0 .15cqh 0 #000,0 0 .4cqh #000;pointer-events:none}.item-key{position:absolute;left:.3cqh;top:.3cqh;font-size:1.3cqh;padding:0 .4cqh;pointer-events:none}.tc-run{font-size:2cqh;border-color:#8fd18fcc}.tc-run-on{background:#6fcf6f73}.tle{position:absolute;inset:0;pointer-events:auto;touch-action:none;background:#0d14178c;z-index:5}.tle-stick-zone{position:absolute;border:.3cqh dashed rgba(230,221,196,.45);background:#527a962e;display:grid;place-items:center;font-size:1.8cqh;text-align:center;padding:0 2cqh;touch-action:none}.tle-stick-zone span{pointer-events:none}.tle-hit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:.25cqh dashed rgba(230,221,196,.35);pointer-events:none}.tle-ghost{position:absolute;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:2.2cqh;color:var(--cream);background:#527a9673;border:.4cqh solid rgba(230,221,196,.7);touch-action:none;cursor:grab}.tle-ghost-bar{border-radius:1cqh}.tle-selected{border-color:var(--gold);background:#e0b85c66;z-index:1}.tle-ghost span{pointer-events:none}.tle-bar{position:absolute;left:50%;top:4%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1cqh;padding:1cqh 1.4cqh;border-radius:1cqh;background:#18252af2;border:.25cqh solid var(--bronze);font-size:2cqh;white-space:nowrap;z-index:2}.tle-bar .chip:disabled{opacity:.4}.tle-title{opacity:.75}.tle-sel{color:var(--gold);font-weight:800;min-width:7cqh;text-align:center}.tle-size{min-width:6cqh;text-align:center}.tle-row{display:flex;align-items:center;gap:1cqh}.hud-player,.hud-boss,.hud-menu,.hud-help,.hud-weapon,.hud-toast,.itembar:not(.itembar-touch){zoom:var(--ui-scale, 1)}.hud-menu-row{display:flex;gap:.8cqh}.chip-gear{min-width:7cqh;min-height:7cqh;font-size:3.2cqh;line-height:1}.set-backdrop{position:absolute;inset:0;background:#0d141799;pointer-events:auto;z-index:10}.set-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92cqw,110cqh);max-height:88cqh;display:flex;flex-direction:column;background:#18252af7;border:.3cqh solid var(--bronze);border-radius:1.2cqh;box-shadow:0 1cqh 4cqh #00000080}.set-head{display:flex;justify-content:space-between;align-items:center;padding:1.4cqh 2cqh;border-bottom:.25cqh solid var(--slate);font-weight:800;color:var(--gold);font-size:2.6cqh}.set-body{overflow-y:auto;padding:.6cqh 2cqh 2cqh;touch-action:pan-y}.set-body h3{margin:1.8cqh 0 .6cqh;font-size:1.8cqh;color:var(--steel);text-transform:uppercase;letter-spacing:.06em}.set-row{display:flex;align-items:center;justify-content:space-between;gap:2cqh;padding:1cqh 0;border-bottom:.15cqh solid rgba(38,52,58,.8)}.set-label{font-weight:700}.set-hint{font-weight:400;font-size:1.7cqh;opacity:.65;margin-top:.2cqh}.set-ctl{flex-shrink:0}.set-choice{display:flex;gap:.6cqh}.set-panel .chip{min-height:5cqh;padding:.6cqh 1.6cqh}.set-panel .chip:disabled{opacity:.5}.downed{position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(ellipse at center,#0000 55%,#780a0a73);display:flex;justify-content:center;align-items:flex-start;padding-top:11cqh}.downed-box{pointer-events:auto;text-align:center;background:#18252ae0;border:.3cqh solid var(--red);border-radius:1cqh;padding:.8cqh 2cqh;display:flex;flex-direction:column;gap:.5cqh;align-items:center}.downed-title{font-size:2.8cqh;font-weight:800;color:var(--red)}.downed-hint{font-size:1.7cqh;opacity:.8}.downed-actions{display:flex;gap:1cqh}.tc-target{font-size:4.2cqh;border-color:#e6ddc480}.tc-target-locked{border-color:var(--gold);color:var(--gold);background:#e0b85c2e}.tc-target-holding{animation:tc-target-hold .5s linear forwards}@keyframes tc-target-hold{0%{box-shadow:inset 0 0 #ffffff59}to{box-shadow:inset 0 0 0 5cqh #ffffff59}}.tc-target-tag{position:absolute;bottom:12%;font-size:1.4cqh;letter-spacing:.08em;pointer-events:none}.tle-hidden{opacity:.35;border-style:dashed}.net{pointer-events:auto;position:relative;display:flex;flex-direction:column;align-items:center}.net .net-chip{min-height:4.6cqh;font-weight:700;letter-spacing:.04em}.net-map{color:var(--cream)}.net-count{display:inline-flex;align-items:center;gap:.4cqh}.net-person{width:1.5cqh;height:1.8cqh}.net-reason{margin-top:.4cqh;max-width:40cqh;font-size:1.4cqh;text-align:center;color:#d8dfe0;text-shadow:0 .15cqh 0 #000}.bar-label{position:absolute;left:.6cqh;top:50%;transform:translateY(-50%);font-size:1.9cqh;line-height:1;font-weight:800;color:#fff;text-shadow:0 .15cqh 0 #000,0 -.1cqh 0 #000;pointer-events:none}.bar-stamina .bar-label{font-size:1.6cqh}.net-chip{display:inline-flex;align-items:center;gap:.6cqh;font-size:1.6cqh;padding:.3cqh .9cqh;border-radius:.6cqh;border:.2cqh solid var(--slate);background:#18252abf;color:var(--cream);white-space:nowrap}.net-dot{width:1cqh;height:1cqh;border-radius:50%;background:#888}.net-online .net-dot{background:#6fcf6f}.net-connecting .net-dot,.net-reconnecting .net-dot{background:var(--gold);animation:net-blink .8s steps(2) infinite}.net-offline .net-dot{background:#8fa3b8}@keyframes net-blink{50%{opacity:.2}}.net-panel{position:absolute;top:110%;left:50%;transform:translate(-50%);z-index:5;min-width:22cqh;padding:1cqh 1.2cqh;border-radius:.8cqh;border:.25cqh solid var(--slate);background:#18252af2;font-size:1.7cqh}.net-panel ul{margin:.5cqh 0 0;padding-left:2cqh}.net-title,.net-me{color:var(--gold)}.np-backdrop{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:#0d1417b3;pointer-events:auto}.np-box{display:flex;flex-direction:column;gap:1.2cqh;padding:2.4cqh 3cqh;border-radius:1cqh;border:.3cqh solid var(--bronze);background:var(--obsidian);min-width:50cqh}.np-title{font-size:3cqh;color:var(--gold);font-weight:800}.np-input{font:inherit;font-size:3.2cqh;font-family:monospace;padding:.8cqh 1.2cqh;border-radius:.6cqh;border:.3cqh solid var(--slate);background:#0d1417;color:#fff;user-select:text;-webkit-user-select:text}.np-bad{border-color:var(--red)}.np-hint{font-size:1.7cqh;opacity:.8}.np-hint-bad{color:#ff8a8a;opacity:1}.np-row{display:flex;gap:1cqh;justify-content:flex-end}.party{margin-top:.6cqh;display:flex;flex-direction:column;gap:.4cqh;align-items:flex-start}.party-row{display:flex;align-items:center;gap:.8cqh;width:100%;max-width:30cqh;background:none;border:0;padding:0;color:#7fc8ff;font-size:1.7cqh;font-weight:700;text-shadow:0 .2cqh 0 #000;cursor:pointer}.party-name{min-width:9cqh;text-align:left;white-space:nowrap}.party-bar{flex:1;height:.9cqh;background:var(--obsidian);outline:.2cqh solid #000}.party-fill{display:block;height:100%;background:#6fcf6f;transition:width 90ms linear}.party-down .party-name{color:var(--red)}.party-ko{color:var(--red);white-space:nowrap}.party-off{opacity:.45}.party-leave{font-size:1.6cqh}.hud-center-top{position:absolute;left:50%;top:1.5%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6cqh}.invite{pointer-events:auto;display:flex;align-items:center;gap:1cqh;padding:.6cqh 1.2cqh;border-radius:.8cqh;border:.25cqh solid #7fc8ff;background:#18252aeb;font-size:1.9cqh;white-space:nowrap}.invite b{color:#7fc8ff}.invite-left{opacity:.6;font-size:.85em}.party-news{color:#7fc8ff;font-weight:700;text-shadow:0 .2cqh 0 #000;white-space:nowrap}.bump{display:inline-flex;align-items:center;gap:.6cqh;border-color:#7fc8ff;color:#7fc8ff}.bump.chip-on{border-color:#7fc8ff;color:#7fc8ff}.net-list li{display:flex;align-items:center;gap:1cqh;min-height:3.6cqh}.net-mate{color:#7fc8ff}.net-off{opacity:.5}.net-dist{margin-left:auto;opacity:.6;font-size:.9em}.net-ask{min-height:3.2cqh;padding:.2cqh 1cqh}.net-panel ul.net-list{padding-left:0;list-style:none}.help-btn{border-color:#ff9a2e;color:#ff9a2e;font-weight:700}.help-btn.help-cd{opacity:.55}.help-wide{margin-top:1cqh;display:block;margin-left:auto;margin-right:auto}.tc-rescue{position:absolute;bottom:108%;left:50%;transform:translate(-50%);display:flex;gap:1.2cqh}.tc-rescue-btn{position:relative;width:11cqh;height:11cqh;border-radius:50%;border-color:#6fcf6f;color:#c9f5c9;font-weight:700;font-size:2.2cqh;background:radial-gradient(circle,#18252ad9 60% 61%)}.tc-rescue-on{background:conic-gradient(rgba(111,207,111,.75) var(--p, 0%),rgba(24,37,42,.85) 0)}.tc-rescue-drop{border-color:#e6ddc4;color:#e6ddc4}.tc-carrying .tc-attack,.tc-carrying .tc-skill,.tc-carrying .tc-dodge,.tc-carrying .tc-run{opacity:.3}.quest-panel{max-width:70cqh}.quest-hint{color:#b9c7c9;margin:.6cqh 0 1cqh}.quest-row{display:flex;align-items:center;gap:1.2cqh;padding:1cqh;margin-bottom:.8cqh;border:.25cqh solid var(--slate);border-radius:.6cqh}.quest-on{border-color:#7fc8ff;background:#7fc8ff14}.quest-info{flex:1}.quest-name{font-weight:700}.quest-rec{font-weight:400;color:#e8c170;margin-left:.8cqh}.quest-desc,.quest-best{color:#b9c7c9;font-size:.9em}.board-list{list-style:none;margin:1cqh 0 0;padding:0}.board-list li{display:flex;gap:1.2cqh;padding:.4cqh 0;border-bottom:.15cqh solid rgba(255,255,255,.08)}.board-rank{width:3cqh;text-align:right;color:#e8c170;font-weight:700}.board-names{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-time{font-variant-numeric:tabular-nums;font-weight:700}.quest-track{margin-top:.6cqh;color:#ffe08a;font-weight:700;text-shadow:0 .2cqh 0 #000;white-space:nowrap}.bug-panel{max-width:70cqh}.bug-open{width:100%;margin-bottom:1cqh}.bug-text{width:100%;box-sizing:border-box;margin:1cqh 0 .6cqh;padding:1cqh;font:inherit;color:var(--cream);background:#0a1012e6;border:.25cqh solid var(--slate);border-radius:.6cqh;resize:vertical}.bug-text:focus{outline:none;border-color:var(--bronze)}.bug-fail{color:#ff9a8a;margin:.6cqh 0}.bug-big{font-size:1.3em;font-weight:700;margin:1cqh 0}.bug-kb .set-head{padding:.4cqh 2cqh;font-size:2cqh}.bug-kb .set-body>.set-choice:first-child,.bug-kb .set-body>.quest-hint{display:none}.bug-kb .bug-text{margin-top:.4cqh;resize:none}.bag{position:relative;display:flex;gap:2cqh;align-items:flex-start}.bag-equip{flex:0 0 46%}.bag-carry{flex:1;min-height:30cqh;border-radius:.8cqh;padding:.4cqh}.bag-title{margin:.8cqh 0 .4cqh;font-size:1.7cqh;color:var(--steel);text-transform:uppercase;letter-spacing:.05em}.bag-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:.8cqh}.bag-weapons{margin-top:.8cqh}.gear-slot{min-height:10cqh;padding:.5cqh;border:.25cqh dashed var(--slate);border-radius:.8cqh;background:#0a101280}.gear-slot-label{font-size:1.4cqh;color:#b9c7c9;margin-bottom:.3cqh}.gear-slot-target{border-color:var(--gold)!important;border-style:solid!important;background:#e8c1701f!important}.bag-carry.gear-slot-target{outline:.3cqh solid var(--gold)}.gear-empty{font-size:1.4cqh;color:#7d8b8d;padding:.6cqh 0}.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17cqh,1fr));gap:.8cqh}.gear-tile{display:grid;grid-template-columns:auto 1fr;column-gap:.6cqh;align-items:center;padding:.5cqh .7cqh;border:.25cqh solid var(--slate);border-left:.8cqh solid var(--piece, #888);border-radius:.6cqh;background:#18252af2;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.gear-tile.gear-locked{cursor:default;opacity:.85}.gear-swatch{grid-row:span 2;font-size:2.4cqh;line-height:1}.gear-name{font-size:1.5cqh;font-weight:700;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-stat{font-size:1.3cqh;color:#b9c7c9}.gear-ghost{position:absolute;z-index:3;transform:translate(-50%,-60%);width:7cqh;height:7cqh;display:grid;place-items:center;font-size:3.4cqh;border:.3cqh solid var(--gold);border-left:.9cqh solid var(--piece, #888);border-radius:.8cqh;background:#18252af2;pointer-events:none}.bag-stats{margin-top:1cqh;font-weight:700;color:var(--gold);font-size:1.6cqh}.bag-skill{font-size:1.4cqh;color:#7fc8ff;margin-top:.3cqh}.mat-grid{display:flex;flex-wrap:wrap;gap:.6cqh}.mat{display:inline-flex;gap:.5cqh;align-items:baseline;padding:.4cqh .8cqh;border-radius:.6cqh;border:.2cqh solid var(--rarity, #888);background:#0a101299;font-size:1.5cqh}.mat-n{font-weight:800;color:var(--cream)}.craft-list{list-style:none;margin:1cqh 0 0;padding:0}.craft-row{display:flex;align-items:center;gap:1cqh;padding:.6cqh 0;border-bottom:.15cqh solid rgba(255,255,255,.08)}.craft-row .gear-swatch{width:4.5cqh;height:4.5cqh;display:grid;place-items:center;border-radius:.6cqh;border-left:.8cqh solid var(--piece);background:#0a101299}.craft-info{flex:1;display:flex;flex-direction:column;gap:.2cqh;font-size:1.6cqh}.craft-cost{display:flex;flex-wrap:wrap;gap:.4cqh 1cqh;font-size:1.4cqh}.cost-ok{color:#8fd88f}.cost-short{color:#ff9a8a}.inv-news.inv-loot{border-color:var(--gold)}.inv-news.inv-fail{border-color:#ff9a8a}.set-panel.panel-wide{width:min(94cqw,150cqh);max-width:none}.gear-slot .gear-tile{grid-template-columns:1fr;text-align:center;padding:.4cqh}.gear-slot .gear-swatch{grid-row:auto}.gear-slot .gear-name{white-space:normal;font-size:1.3cqh;line-height:1.15}.gear-slot .gear-stat{font-size:1.2cqh}.tc-interact{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2cqh;border-color:var(--gold);color:var(--cream);background:radial-gradient(circle,#3c341ee6 55%,#18252ae6);animation:interact-pop .18s ease-out;pointer-events:auto;touch-action:none}.tc-interact-hand{font-size:4.2cqh;line-height:1}.tc-interact-label{font-size:1.7cqh;font-weight:800}@keyframes interact-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.interact-prompt{position:absolute;left:50%;bottom:18%;transform:translate(-50%);padding:.6cqh 1.4cqh;border-radius:.8cqh;border:.25cqh solid var(--gold);background:#18252ae6;color:var(--cream);font-weight:700;font-size:2cqh;pointer-events:none;zoom:var(--ui-scale, 1)}.interact-prompt kbd{padding:0 .6cqh;border:.2cqh solid var(--cream);border-radius:.4cqh;margin-right:.4cqh}.tc-bag{pointer-events:auto;touch-action:none;border-color:var(--bronze);background:radial-gradient(circle,#3c2e1eeb 55%,#18252ae6);cursor:pointer}.tc-bag-icon{font-size:5cqh;line-height:1}.inv-backdrop{position:absolute;inset:0;z-index:10;background:#0d14178c;pointer-events:auto}.inv{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(96cqw,172cqh);height:92cqh;display:flex;flex-direction:column;background:#2a2420;border:.5cqh solid #8a6a3e;border-radius:1.4cqh;box-shadow:0 1cqh 3cqh #00000080,inset 0 0 0 .3cqh #4a3a2a;color:var(--cream);touch-action:none}.inv-head{display:flex;align-items:center;gap:1.6cqh;padding:1cqh 1.6cqh;background:linear-gradient(#5a4632,#46362a);border-bottom:.3cqh solid #8a6a3e;border-radius:1cqh 1cqh 0 0;font-size:3cqh}.inv-head>b{white-space:nowrap;color:#f2d79a;text-shadow:0 .2cqh 0 #000}.inv-x{margin-left:auto;width:7cqh;height:7cqh;font-size:3.4cqh;border-radius:1cqh;border:.3cqh solid #8a6a3e;background:#3a2e24;color:var(--cream);cursor:pointer}.inv-body{flex:1;display:flex;gap:1.6cqh;padding:1.6cqh;min-height:0}.inv-left{flex:0 0 auto;display:flex;flex-direction:column;gap:1.2cqh;padding:1.2cqh;background:#3a3028;border:.3cqh solid #5a4632;border-radius:1cqh}.inv-doll{display:flex;gap:1.2cqh}.inv-col{display:flex;flex-direction:column;gap:.8cqh}.inv-figure{width:30cqh;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:radial-gradient(ellipse at 50% 85%,#5a4a3a,#3a3028 70%);border-radius:1cqh;padding-bottom:2cqh}.inv-name{font-size:2.8cqh;font-weight:800;color:#f2d79a;margin-bottom:auto;padding-top:1.2cqh}.portrait{image-rendering:pixelated}.inv-portrait{width:26cqh;height:26cqh}.inv-weapons{display:flex;gap:.8cqh;justify-content:center}.inv-stats{display:flex;flex-wrap:wrap;gap:.6cqh 1.6cqh;font-size:2.2cqh;font-weight:700;color:#f2d79a;max-width:44cqh}.inv-skill{color:#7fc8ff;font-size:1.9cqh}.slot{border-radius:1cqh}.slot-target>.cell,.slot-target.inv-right{outline:.5cqh solid var(--gold);outline-offset:.2cqh}.cell{position:relative;width:10.5cqh;height:10.5cqh;box-sizing:border-box;padding:1.2cqh;background:#4a3e32;border:.3cqh solid #6a5640;border-radius:1cqh;box-shadow:inset 0 -.4cqh #00000040;touch-action:none;cursor:pointer}.cell .px-icon{display:block;width:100%;height:100%}.cell-empty{background:#3a3028;border-style:dashed;border-color:#5a4632;cursor:default}.cell-picked{border-color:var(--gold);background:#5e4c36}.cell-dim .px-icon{opacity:.45;filter:grayscale(.6)}.cell-n{position:absolute;right:.5cqh;bottom:.2cqh;font-size:2.2cqh;font-weight:800;color:#fff;text-shadow:0 .2cqh 0 #000,.2cqh 0 0 #000,-.2cqh 0 0 #000}.cell-owned{position:absolute;right:.4cqh;top:.2cqh;font-size:2cqh;color:#8fd88f;font-weight:900;text-shadow:0 .2cqh 0 #000}.cell-ghost{position:absolute;transform:translate(-50%,-60%);pointer-events:none;z-index:5;border-color:var(--gold);opacity:.95}.inv-right{flex:1;display:flex;flex-direction:column;min-width:0;padding:1.2cqh;background:#3a3028;border:.3cqh solid #5a4632;border-radius:1cqh}.inv-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,10.5cqh);grid-auto-rows:10.5cqh;gap:.8cqh;align-content:start;overflow-y:auto;touch-action:pan-y}.inv-info{display:flex;align-items:center;gap:1.2cqh;min-height:9cqh;margin-top:1cqh;padding:.8cqh 1.2cqh;background:#2a2420;border-radius:1cqh}.inv-info-icon{width:7cqh;height:7cqh;flex:0 0 auto}.inv-info-icon .px-icon{width:100%;height:100%}.inv-info-text{display:flex;flex-direction:column;font-size:2.4cqh;flex:1}.inv-info-text small{font-size:1.9cqh;color:#c9b896}.inv-act{min-width:12cqh;min-height:7cqh;font-size:2.6cqh;font-weight:800}.inv-hint,.inv-note{font-size:2cqh;color:#c9b896}.inv-note{color:#ff9a8a}.craft-tabs{display:flex;gap:.8cqh}.craft-tab{display:flex;align-items:center;gap:.6cqh;padding:.4cqh 1.2cqh .4cqh .6cqh;border-radius:1cqh;border:.3cqh solid #6a5640;background:#3a2e24;color:var(--cream);font-size:2.2cqh;cursor:pointer}.craft-tab .px-icon{width:5.5cqh;height:5.5cqh}.craft-tab-on{border-color:var(--gold);background:#5e4c36}.craft-body{flex:1;display:flex;gap:1.6cqh;padding:1.6cqh;min-height:0}.craft-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(20cqh,1fr));gap:1.2cqh;align-content:start;overflow-y:auto;padding:1.2cqh;background:#3a3028;border:.3cqh solid #5a4632;border-radius:1cqh;touch-action:pan-y}.craft-card{display:flex;flex-direction:column;align-items:center;gap:.6cqh;padding:.8cqh;border-radius:1cqh;border:.3cqh solid transparent;cursor:pointer}.craft-card-on{border-color:var(--gold);background:#4a3e32}.craft-card .cell{width:15cqh;height:15cqh;padding:1.8cqh}.craft-can .cell{border-color:#8fd88f}.craft-mini{display:flex;flex-wrap:wrap;justify-content:center;gap:.2cqh .8cqh;font-size:1.8cqh;font-weight:700}.craft-mini span{display:inline-flex;align-items:center;gap:.2cqh}.craft-side{flex:0 0 38cqh;display:flex;flex-direction:column;align-items:center;gap:.8cqh;padding:1.2cqh;background:#3a3028;border:.3cqh solid #5a4632;border-radius:1cqh;overflow-y:auto}.craft-big{width:18cqh;height:18cqh;padding:1.6cqh;box-sizing:border-box;background:#4a3e32;border:.4cqh solid #8a6a3e;border-radius:1.2cqh}.craft-big .px-icon{width:100%;height:100%}.craft-name{font-size:2.8cqh;color:#f2d79a;text-align:center}.craft-stat{font-size:2.1cqh;color:#c9b896}.craft-need{width:100%;display:flex;flex-direction:column;gap:.4cqh}.craft-need-row{display:flex;align-items:center;gap:.8cqh;font-size:2.1cqh}.craft-need-row b{margin-left:auto}.craft-go{width:100%;min-height:8cqh;font-size:3cqh;font-weight:800;margin-top:auto}.craft-skill{font-size:1.7cqh;color:#7fc8ff;text-align:center}.zoom-guard{position:fixed;z-index:1000;transform-origin:0 0;max-width:300px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:8px;border:2px solid #e0b85c;background:#18252af5;color:#f2e6c8;font:14px/1.35 system-ui,sans-serif;pointer-events:auto}.zoom-guard button{align-self:flex-end;margin-top:4px;padding:6px 12px;border-radius:6px;border:2px solid #e0b85c;background:#3a3028;color:#f2e6c8;font:inherit}
