:root{--noche:#06101c;--agua:#2d82b7;--musgo:#397949;--arcilla:#9f5940;--sangre:#a51d2b;--oro:#cfac5d;--oro-oscuro:#6d4115;--niebla:#dff2fe}html,body{height:100%}body{background:var(--noche);color:var(--niebla);margin:0;font-family:system-ui,sans-serif;font-size:14px;overflow:hidden}.app{background:var(--noche);flex-direction:column;height:100dvh;display:flex}.main{flex:1 1 0;min-height:0;display:flex}.play{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.stage>.chat{background:#1022338c;border-color:#2d82b799;width:min(420px,100% - 16px);height:150px;line-height:normal;position:absolute;bottom:8px;left:8px}.stage>.chat .chat-log{pointer-events:none;text-shadow:0 0 2px var(--noche)}.stage>.chat:focus-within{background:#102233e0}.stage>.chat:focus-within .chat-log{pointer-events:auto}.stage>.chat input{background:#0d1b2ab3}.stage-area{flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.side{box-sizing:border-box;border-left:1px solid var(--agua);flex-direction:column;flex:none;gap:6px;width:340px;min-height:0;padding:6px 8px;display:flex;position:relative;overflow-y:auto}.hud{white-space:nowrap;box-sizing:border-box;border-bottom:1px solid var(--agua);flex:none;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex;overflow:hidden}.side .hud{white-space:normal;flex-wrap:wrap;gap:4px 8px;height:auto;padding:0 0 6px}.side .hud .bar{flex:100%;width:auto}.side .hud .spacer{flex-basis:100%;height:0}.side .hud-game{flex-flow:column;align-items:stretch;gap:4px}.hud-head{align-items:center;gap:8px;display:flex}.side .hud-game .hud-head .spacer{flex:auto;height:auto}.hud-name{color:var(--niebla);text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:700;overflow:hidden}.hud-level{color:var(--noche);background:var(--oro);flex:none;padding:0 6px;font-size:15px;font-weight:700;line-height:22px}.hud-net{opacity:.8;align-items:center;gap:4px;font-size:11px;display:flex}.side .hud-game .bar{width:auto;display:block}.hud-line{flex-wrap:wrap;gap:2px 10px;font-size:13px;display:flex}.hud-buttons{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.spacer{flex:1}.dot{background:var(--arcilla);border-radius:50%;width:10px;height:10px}.dot-connected{background:var(--musgo)}.dot-rejected{background:var(--sangre)}.latency{font-variant-numeric:tabular-nums;color:var(--oro)}button{color:var(--niebla);border:1px solid var(--agua);cursor:pointer;background:0 0;padding:4px 10px}button[aria-pressed=true]{background:var(--agua)}.stage{flex:none;line-height:0;position:relative;overflow:hidden}.canvas-host{position:absolute}.overlay{background:#0d1b2ab8;justify-content:center;align-items:center;line-height:normal;display:flex;position:absolute;inset:0}.login{background:var(--noche);border:1px solid var(--agua);flex-direction:column;gap:10px;width:280px;padding:18px;display:flex}.login h1{margin:0;font-size:18px}.login label{flex-direction:column;gap:4px;display:flex}.login input,.login select{color:var(--niebla);border:1px solid var(--agua);font:inherit;background:#16283b;padding:6px}.login .actions{gap:8px;display:flex}.login .error{color:var(--sangre);margin:0}.login .hint{color:var(--oro);margin:0}button:disabled{opacity:.5;cursor:default}.stage canvas{image-rendering:pixelated}.chat{border:1px solid var(--agua);background:#102233;flex-direction:column;flex:120px;min-height:96px;display:flex}.chat-log{flex:1 1 0;min-height:0;padding:4px 8px;font-size:13px;overflow-y:auto}.chat-log p{overflow-wrap:anywhere;margin:0 0 2px}.chat-log .chat-error{color:var(--arcilla)}.chat-log .chat-info{opacity:.85;font-style:italic}.chat-log .chat-party{color:#7db8dc}.chat form{border-top:1px solid var(--agua);display:flex}.chat-channel{border:0;border-right:1px solid var(--agua);flex:none;width:64px}.chat input{box-sizing:border-box;background:var(--noche);min-width:0;color:var(--niebla);font:inherit;border:0;flex:1;padding:6px 8px}.keys{color:var(--niebla);margin:0;font-size:12px}.side-buttons{flex:none;gap:6px;margin-top:auto;display:flex}.side-buttons>button{padding:3px 10px;font-size:13px}.side-buttons>button[aria-expanded=true]{background:var(--agua)}.side-popover{z-index:5;background:var(--noche);border:1px solid var(--agua);padding:10px 12px;position:absolute;bottom:40px;left:8px;right:8px;box-shadow:0 4px 12px #00000080}.side-popover-close{border:0;padding:0 6px;font-size:16px;position:absolute;top:2px;right:2px}.bar{border:1px solid var(--niebla);box-sizing:border-box;background:#16283b;width:130px;height:18px;display:inline-block;position:relative;overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0}.bar-fill[data-kind=hp]{background:var(--sangre)}.bar-fill[data-kind=mana]{background:var(--agua)}.bar-fill[data-kind=stamina]{background:var(--musgo)}.bar-fill[data-kind=xp]{background:var(--oro-oscuro)}.statusline{color:var(--niebla);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.bar-text{text-align:center;font-variant-numeric:tabular-nums;text-shadow:0 0 2px var(--noche);font-size:11px;line-height:16px;display:block;position:relative}.overlay-dead{pointer-events:none;background:#c2413b59}.overlay-dead p{background:var(--noche);border:1px solid var(--sangre);margin:0;padding:10px 16px}.gold{color:var(--oro);font-variant-numeric:tabular-nums}.inventory,.equipment{flex:none;grid-template-columns:repeat(4,52px);justify-content:center;gap:6px 10px;display:grid}.slot{box-sizing:border-box;border:1px solid var(--agua);background:#102233;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:flex;position:relative;overflow:hidden}.slot:disabled{opacity:1;cursor:default}.slot-icon{image-rendering:pixelated;background-repeat:no-repeat;flex:none}.slot-key{color:var(--niebla);opacity:.6;font-size:10px;position:absolute;top:1px;left:4px}.slot-qty{font-variant-numeric:tabular-nums;text-shadow:0 0 2px var(--noche);font-size:11px;position:absolute;bottom:1px;right:4px}.slot[data-offered=true]{border-color:var(--agua);box-shadow:inset 0 0 0 2px var(--agua)}.social{flex-wrap:wrap;flex:none;align-items:flex-start;gap:6px;max-height:150px;font-size:13px;display:flex;overflow-y:auto}.social h2{text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin:0 0 4px;font-size:12px}.social ul{margin:0;padding:0;list-style:none}.social li{align-items:center;gap:6px;margin-bottom:2px;display:flex}.social button{padding:1px 8px;font-size:12px}.social .empty{opacity:.6;margin:0}.notice{background:#102233;flex:1 0 100%;align-items:center;gap:8px;padding:6px 8px;display:flex}.notice-party{border:1px solid var(--agua)}.notice-trade{border:1px solid var(--oro)}.party{border:1px solid var(--agua);background:#102233;padding:4px 8px}.nearby{background:#102233;border:1px solid #25405a;padding:4px 8px}.member-hp,.member-map,.member-tag{opacity:.75;font-variant-numeric:tabular-nums;font-size:11px}.trade-window{box-sizing:border-box;background:var(--noche);border:1px solid var(--oro);width:420px;max-width:94%;padding:12px 14px;line-height:normal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trade-window h2{margin:0 0 8px;font-size:15px}.trade-window h3{margin:0 0 4px;font-size:13px}.trade-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.trade-slots{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.trade-slot{height:56px}.trade-slot[data-confirmed=true][data-filled=true]{border-color:var(--musgo)}.trade-window p{margin:6px 0 0}.trade-gold{color:var(--oro)}.trade-gold input{width:80px;color:var(--niebla);border:1px solid var(--agua);background:#16283b;margin-left:6px;padding:2px 4px}.trade-qty{margin-top:6px;font-size:12px;display:block}.trade-qty input{width:52px;color:var(--niebla);border:1px solid var(--agua);background:#16283b;margin:0 6px;padding:1px 4px}.trade-hint{opacity:.75;font-size:12px}.trade-actions{gap:8px;margin-top:10px;display:flex}.zone{color:var(--niebla)}.zone[data-safe=true]{color:#8fd0a0}.hint{background:var(--noche);border:1px solid var(--oro);color:var(--oro);white-space:nowrap;pointer-events:none;padding:3px 10px;font-size:13px;line-height:normal;position:absolute;bottom:12px;right:12px}.shop-window{box-sizing:border-box;background:var(--noche);border:1px solid var(--oro);width:460px;max-width:94%;max-height:92%;padding:12px 14px;line-height:normal;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.shop-window h2{margin:0 0 4px;font-size:15px}.shop-window h3{margin:0 0 4px;font-size:13px}.shop-greeting{opacity:.8;margin:0 0 8px;font-size:12px}.shop-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.shop-columns ul{margin:6px 0 0;padding:0;list-style:none}.shop-row{border-bottom:1px solid #16283b;grid-template-columns:48px 1fr auto;align-items:center;gap:2px 6px;padding:4px 0;font-size:12px;display:grid}.shop-row button{grid-column:1/-1}.shop-price{font-variant-numeric:tabular-nums}.shop-empty{opacity:.7;font-size:12px}.spells{flex-direction:column;flex:none;gap:4px;display:flex;position:relative}.spell-bar{grid-template-columns:repeat(4,52px);justify-content:center;gap:10px;display:grid}.spell-slot[data-filled=true]{border-color:var(--agua)}.spell-slot[data-selected=true]{border-color:var(--oro);box-shadow:inset 0 0 0 1px var(--oro)}.spell-slot[data-poor=true] .slot-icon{filter:grayscale();opacity:.5}.spell-slot[data-poor=true] .slot-qty{color:var(--sangre)}.slot-cooldown{font-variant-numeric:tabular-nums;text-shadow:0 0 2px var(--noche);pointer-events:none;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0}.spell-foot{justify-content:space-between;align-items:center;gap:6px;display:flex}.spell-book-button{padding:2px 10px;font-size:12px}.spell-book-button[aria-expanded=true]{background:var(--agua)}.spell-book{max-height:360px;margin-top:4px;font-size:12px;inset:100% 0 auto;overflow-y:auto}.spell-book h3{margin:0 0 2px;font-size:13px}.spell-book-help{opacity:.7;margin:0 0 6px}.spell-book ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.spell-book-row{cursor:grab;align-items:center;gap:8px;display:flex}.spell-book-text{flex-direction:column;flex:1;min-width:0;display:flex}.spell-book-effect{opacity:.75}.spell-book-keys{flex:none;grid-template-columns:repeat(2,24px);gap:2px;display:grid}.spell-book-keys button{height:20px;padding:0;font-size:11px}.spell-hint{color:var(--oro);font-size:12px}.equipment{margin-top:6px}.equip-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.equip-label{opacity:.75;font-size:10px}.shop-columns ul{max-height:260px;overflow-y:auto}.shop-row-spell{grid-template-columns:1fr auto auto}.worldmap{z-index:5;border:1px solid var(--oro);background:#0d1b2af5;flex-direction:column;gap:8px;padding:10px 14px 12px;display:flex;position:absolute;inset:4%}.worldmap-head{align-items:center;gap:12px;display:flex}.worldmap-head h2{margin:0;font-size:15px}.worldmap-where{color:var(--niebla);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;line-height:16px;overflow:hidden}.worldmap-frame{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;container-type:size}.worldmap-canvas{width:100cqw;max-height:100cqh;max-width:calc(100cqh * var(--ratio,1.7));border:2px solid var(--ui-ink,#000);box-shadow:0 0 0 2px var(--oro);position:relative}.worldmap-canvas canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.worldmap-zone{box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:absolute}.worldmap-label{white-space:nowrap;text-align:center;color:var(--niebla);pointer-events:none;background:#0d1b2ad1;border:1px solid #dceae859;padding:1px 6px;font-size:11px;font-weight:800;line-height:1.25;position:absolute;top:0;transform:translateY(-50%)}.worldmap-label small{color:var(--oro);font-size:10px;font-weight:600;display:block}.worldmap-zone[data-visited=false] .worldmap-label{color:#dceae88c;border-style:dotted}.worldmap-zone[data-here=true]{outline:2px solid var(--oro);outline-offset:1px}.worldmap-zone[data-here=true] .worldmap-label{border-color:var(--oro)}.worldmap-you{background:var(--sangre);border:2px solid var(--niebla);width:10px;height:10px;margin:-5px 0 0 -5px;animation:.9s steps(2,start) infinite worldmap-blink;position:absolute}@keyframes worldmap-blink{to{background:var(--oro)}}.worldmap-legend{color:var(--niebla);flex-wrap:wrap;gap:4px 16px;font-size:11px;line-height:14px;display:flex}.worldmap-legend span:before{content:"";vertical-align:-1px;box-sizing:border-box;width:10px;height:10px;margin-right:5px;display:inline-block}.worldmap-legend [data-kind=safe]:before{border:2px solid var(--musgo)}.worldmap-legend [data-kind=pvp]:before{border:2px solid var(--sangre)}.worldmap-legend [data-kind=portal]:before{background:#b98cff}.worldmap-legend [data-kind=you]:before{background:var(--sangre);border:2px solid var(--niebla)}.worldmap-note{color:var(--oro);margin:0;font-size:12px}.fishing{background:var(--noche);border:1px solid var(--agua);pointer-events:none;width:180px;padding:3px;line-height:normal;position:absolute;bottom:170px;left:50%;transform:translate(-50%)}.fishing-bar{border:1px solid var(--niebla);box-sizing:border-box;background:#16283b;height:16px;display:block;position:relative;overflow:hidden}.fishing-fill{background:var(--agua);position:absolute;inset:0 auto 0 0}.fishing-text{text-align:center;text-shadow:0 0 2px var(--noche);font-size:11px;line-height:14px;display:block;position:relative}.skills{color:var(--niebla);font-size:12px}.skills h3{margin:0 0 4px;font-size:13px}.skills ul{margin:0;padding:0;list-style:none}.skills-cap{opacity:.7;margin:4px 0 0}.skills-karma-title{margin-top:8px}.skills-karma{margin:0}.skills li{font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.read-text{white-space:pre-line}.element-weapons{flex-direction:column;gap:8px;max-height:260px;margin:8px 0;padding:0;list-style:none;display:flex;overflow-y:auto}.element-weapons li{justify-content:space-between;align-items:center;gap:8px;line-height:normal;display:flex}.element-weapon-name{align-items:center;gap:6px;display:flex}.element-buttons{grid-template-columns:repeat(2,auto);gap:4px;display:grid}.element-buttons button{padding:2px 8px;font-size:12px}.slot[data-element]:after{content:"";border:1px solid var(--noche);width:7px;height:7px;position:absolute;top:3px;right:3px}.slot[data-element=electric]:after{background:var(--oro)}.slot[data-element=fire]:after{background:var(--sangre)}.slot[data-element=ice]:after{background:var(--niebla)}.slot[data-element=earth]:after{background:var(--arcilla)}:root{--ui-font:"Segoe UI", "Arial Black", system-ui, sans-serif;--ui-ink:#07111b;--ui-block:#13263a;--ui-edge:3px}body{font-family:var(--ui-font)}.side{border-left:4px solid var(--niebla);background:var(--ui-block);gap:8px}.hud{border-bottom:4px solid var(--niebla)}.side .hud-game{background:var(--noche);border:var(--ui-edge) solid var(--niebla);box-shadow:4px 4px 0 var(--ui-ink);padding:6px}.hud-name{text-transform:uppercase;letter-spacing:.02em;font-size:21px;font-weight:900}.hud-level{border:2px solid var(--ui-ink);box-shadow:2px 2px 0 var(--ui-ink);font-weight:900}button{font-family:var(--ui-font);text-transform:uppercase;letter-spacing:.04em;color:var(--noche);background:var(--niebla);border:var(--ui-edge) solid var(--ui-ink);box-shadow:3px 3px 0 var(--ui-ink);font-weight:800;transition:transform 60ms ease-out,box-shadow 60ms ease-out,background-color 80ms}button:hover:not(:disabled){box-shadow:4px 4px 0 var(--agua);background:#fff;transform:translate(-1px,-1px)}button:active:not(:disabled){box-shadow:0 0 0 var(--ui-ink);transform:translate(3px,3px)}button:focus-visible{outline:3px solid var(--oro);outline-offset:2px}button[aria-pressed=true],button[aria-expanded=true],.side-buttons>button[aria-expanded=true],.spell-book-button[aria-expanded=true]{color:var(--noche);background:var(--oro);box-shadow:1px 1px 0 var(--ui-ink);transform:translate(2px,2px)}button:disabled{box-shadow:none}.hud-buttons{gap:6px}.hud-buttons button{padding:3px 7px;font-size:11px}.slot{color:var(--niebla);background:var(--noche);border:var(--ui-edge) solid var(--agua);box-shadow:3px 3px 0 var(--ui-ink);text-transform:none}.slot:hover:not(:disabled){box-shadow:4px 4px 0 var(--agua);background:#18324a}.slot[data-filled=true]{border-color:var(--oro)}.slot:disabled{box-shadow:3px 3px 0 var(--ui-ink)}.slot-key{opacity:.8;font-weight:900}.slot-qty{font-weight:900}.spell-slot[data-selected=true]{box-shadow:inset 0 0 0 2px var(--oro), 3px 3px 0 var(--oro)}.side-popover-close{color:var(--niebla);background:var(--sangre);border:2px solid var(--ui-ink);box-shadow:2px 2px 0 var(--ui-ink);padding:0 7px;line-height:20px}.side-popover,.trade-window,.shop-window,.worldmap{background:var(--noche);border:4px solid var(--niebla);box-shadow:8px 8px 0 var(--ui-ink)}.side-popover h3,.trade-window h2,.shop-window h2,.worldmap-head h2{text-transform:uppercase;letter-spacing:.04em;color:var(--oro);font-weight:900}.bar{border:2px solid var(--niebla);height:20px;box-shadow:2px 2px 0 var(--ui-ink)}.bar-text{font-weight:800;line-height:16px}.hint{text-transform:uppercase;box-shadow:4px 4px 0 var(--ui-ink);border-width:3px;font-weight:800}.statusline{font-weight:700}.stage>.chat{border:3px solid var(--niebla);box-shadow:4px 4px 0 var(--ui-ink)}.chat-channel,.stage>.chat button{font-size:11px}.equipment{border-top:3px solid var(--niebla);border-bottom:3px solid var(--niebla);margin-top:2px;padding:6px 0 4px}.equip-label{text-transform:uppercase;letter-spacing:.04em;opacity:1;font-weight:900}.inventory{grid-template-columns:repeat(8,38px);gap:4px 2px}.inventory .slot{width:38px;height:38px;box-shadow:2px 2px 0 var(--ui-ink);border-width:2px}.inventory .slot-key{font-size:9px;top:0;left:2px}.inventory .slot-qty{font-size:10px;bottom:0;right:2px}.spell-book-button{align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.book-icon{width:18px;height:18px;color:var(--arcilla)}:is(.keys-popover-wide,.side-popover:has(.keys-guide)){max-height:78vh;overflow-y:auto}.keys-guide{flex-direction:column;gap:8px;font-size:12px;display:flex}.keys-title{margin:0;font-size:15px}.keys-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--noche);background:var(--agua);border:2px solid var(--ui-ink);align-items:center;gap:6px;margin:0 0 4px;padding:2px 6px;font-size:12px;font-weight:900;display:flex}.keys-icon{width:14px;height:14px;fill:var(--noche)}.keys-section ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.keys-section li{align-items:center;gap:8px;display:flex}.keys-caps{flex-wrap:wrap;flex:none;align-items:center;gap:3px;min-width:118px;max-width:150px;display:flex}.keys-text{flex:1;font-weight:600}.keycap{box-sizing:border-box;min-width:18px;height:18px;font-family:var(--ui-font);color:var(--noche);background:var(--niebla);border:2px solid var(--ui-ink);border-bottom-width:4px;border-radius:2px;justify-content:center;align-items:center;padding:0 3px;font-size:11px;font-weight:900;display:inline-flex}.keycap[data-wide=true]{min-width:46px}.keys-or{opacity:.8;font-size:10px}.keys-cmd{color:var(--oro);background:var(--ui-ink);border:1px solid var(--oro);padding:1px 4px;font-size:11px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gold-counter{background:var(--ui-ink);border:2px solid var(--oro);box-shadow:2px 2px 0 var(--oro-oscuro);align-items:center;gap:5px;padding:1px 7px 1px 3px;display:inline-flex;position:relative}.gold-counter .gold{letter-spacing:.03em;font-weight:900}.gold-label{text-transform:uppercase;opacity:.85;font-size:10px}.gold-amount{min-width:2ch;font-size:15px;display:inline-block}.gold-coin{background:radial-gradient(circle at 35% 35%, #fff3c4 0 18%, var(--oro) 20% 62%, var(--oro-oscuro) 64%);border:1px solid var(--ui-ink);border-radius:50%;width:14px;height:14px;animation:2.4s linear infinite coin-turn}@keyframes coin-turn{0%,70%{transform:scaleX(1)}80%{transform:scaleX(.15)}90%{transform:scaleX(1)}}.gold-counter[data-shine]{animation:.9s ease-out gold-shine}.gold-counter[data-shine] .gold-amount{animation:.5s ease-out gold-pop}@keyframes gold-shine{0%{box-shadow:0 0 0 0 #e8b74df2, 2px 2px 0 var(--oro-oscuro);background:var(--oro)}40%{box-shadow:0 0 16px 6px #e8b74d99, 2px 2px 0 var(--oro-oscuro)}to{box-shadow:0 0 0 0 #e8b74d00, 2px 2px 0 var(--oro-oscuro)}}@keyframes gold-pop{0%{color:#fff;transform:scale(1.6)}to{transform:scale(1)}}html,body{overscroll-behavior:none}.app[data-layout=compact]{--tabbar:56px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);touch-action:manipulation;position:relative}.app[data-layout=compact] .stage,.app[data-layout=compact] .touch-controls,.app[data-layout=compact] .tabbar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.app[data-layout=compact] .stage canvas{touch-action:none}.app[data-layout=compact] .stage{overflow:clip}.app[data-layout=compact] .stage-area{position:relative}.app[data-layout=compact] .hud{white-space:normal;border-bottom:3px solid var(--niebla);height:auto;padding:4px 6px}.app[data-layout=compact] .hud-game{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:3px 4px;min-width:0;display:grid}.app[data-layout=compact] .hud-game .hud-head{grid-column:1/-1;gap:6px;min-width:0}.app[data-layout=compact] .hud-name{min-width:0;font-size:16px}.app[data-layout=compact] .hud-game .hud-net{font-size:10px}.app[data-layout=compact] .hud-game .hud-line{grid-column:1/3;font-size:12px}.app[data-layout=compact] .hud-game .hud-buttons{flex-wrap:nowrap;grid-column:3/-1;justify-content:flex-end;gap:4px}.app[data-layout=compact] .hud button{padding:2px 5px;font-size:10px;line-height:1.2}.app[data-layout=compact] .hud .latency{white-space:nowrap}.app[data-layout=compact] .hud-game .bar{width:auto;height:14px;box-shadow:none;border-width:2px}.app[data-layout=compact] .hud-game .bar-text{font-size:9px;line-height:10px}.app[data-layout=compact] .stage>.chat{width:auto;height:104px;font-size:12px;inset:6px 6px auto}.app[data-layout=compact] .hint{white-space:nowrap;font-size:11px;inset:116px auto auto 50%;transform:translate(-50%)}.app[data-layout=compact] .trade-window,.app[data-layout=compact] .shop-window{width:auto;max-width:none;max-height:calc(100% - 16px);left:8px;right:8px;overflow-y:auto;transform:translateY(-50%)}.app[data-layout=compact] .worldmap{inset:8px}.app[data-layout=compact] .worldmap-head{flex-wrap:wrap;gap:6px 10px}.app[data-layout=compact] .worldmap-where{flex-basis:100%;order:3}.app[data-layout=compact] .side{left:0;right:0;bottom:calc(var(--tabbar) + var(--safe-bottom));z-index:10;border:0;border-top:4px solid var(--niebla);width:auto;min-height:0;max-height:62%;box-shadow:0 -6px 0 var(--ui-ink);overscroll-behavior:contain;padding:0 10px 10px;position:absolute;overflow-y:auto}.app[data-layout=compact] .side:not([data-sheet]){display:none}.sheet-head{z-index:1;background:var(--ui-block);justify-content:space-between;align-items:center;padding:10px 0 6px;display:flex;position:sticky;top:0}.sheet-head h2{text-transform:uppercase;letter-spacing:.04em;color:var(--oro);margin:0;font-size:15px;font-weight:900}.sheet-head button{padding:0 10px;font-size:18px;line-height:24px}.menu-actions{flex-wrap:wrap;gap:6px;display:flex}.menu-actions button{padding:6px 8px;font-size:11px}.tabbar{box-sizing:border-box;height:calc(var(--tabbar) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--noche);border-top:4px solid var(--niebla);flex:none;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.tabbar .tab{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;min-width:0;height:100%;color:var(--niebla);background:var(--ui-block);border:0;border-right:2px solid var(--ui-ink);box-shadow:none;margin:0;padding:0 2px;font-size:10px;position:relative;overflow:hidden;transform:none}.tabbar .tab:last-child{border-right:0}.tabbar .tab:hover:not(:disabled,[aria-pressed=true]),.tabbar .tab:active:not(:disabled,[aria-pressed=true]){box-shadow:none;background:#1d3850;transform:none}.tabbar .tab[aria-pressed=true]{color:var(--noche);background:var(--oro);box-shadow:none;transform:none}.tabbar .tab[data-alert=true]:after{content:"";background:var(--sangre);border:2px solid var(--ui-ink);width:8px;height:8px;position:absolute;top:6px;right:calc(50% - 16px)}.touch-controls{z-index:2;pointer-events:none;position:absolute;inset:0}.stick{left:calc(10px + var(--safe-left));box-sizing:border-box;border:4px solid var(--niebla);width:116px;height:116px;box-shadow:4px 4px 0 var(--ui-ink);pointer-events:auto;touch-action:none;background:#1022338c;border-radius:50%;position:absolute;bottom:10px}.stick-knob{box-sizing:border-box;border:3px solid var(--ui-ink);background:var(--oro);width:52px;height:52px;box-shadow:2px 2px 0 var(--ui-ink);pointer-events:none;border-radius:50%;margin:-26px 0 0 -26px;position:absolute;top:50%;left:50%}.touch-actions{right:calc(104px + var(--safe-right));pointer-events:auto;grid-template-columns:repeat(2,56px);gap:6px;display:grid;position:absolute;bottom:10px}.touch-button{letter-spacing:0;width:56px;height:56px;color:var(--niebla);background:var(--ui-block);border:3px solid var(--niebla);box-shadow:3px 3px 0 var(--ui-ink);touch-action:none;padding:0;font-size:10px;line-height:1.1}.touch-button[aria-pressed=true]{color:var(--noche);background:var(--oro);box-shadow:1px 1px 0 var(--ui-ink);transform:translate(2px,2px)}.touch-attack{right:calc(10px + var(--safe-right));letter-spacing:0;width:84px;height:84px;color:var(--niebla);background:var(--sangre);border:4px solid var(--ui-ink);box-shadow:4px 4px 0 var(--ui-ink);pointer-events:auto;touch-action:none;border-radius:50%;padding:0;font-size:14px;position:absolute;bottom:10px}@media (height<=500px){.app[data-layout=compact] .hud{padding:2px 6px}.app[data-layout=compact] .stage>.chat{height:64px}.app[data-layout=compact] .hint{top:74px}.stick{left:calc(8px + var(--safe-left));width:96px;height:96px;bottom:8px}.stick-knob{width:42px;height:42px;margin:-21px 0 0 -21px}.touch-actions{right:calc(88px + var(--safe-right));grid-template-columns:repeat(2,52px);gap:4px;bottom:8px}.touch-button{width:52px;height:42px;font-size:9px}.touch-attack{right:calc(8px + var(--safe-right));width:72px;height:72px;font-size:12px;bottom:8px}}
