:root{color-scheme:dark;--ink:#f1f7f2;--muted:#93a49a;--panel:#111e1a;--panel2:#182a24;--line:rgba(255,255,255,.09);--green:#42d17a;--green2:#1aa75a;--gold:#f1c95b;--red:#ef625d;--blue:#55bcd9;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07100d;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;touch-action:none;user-select:none}
button,input,select{font:inherit;color:inherit}.island-shell{height:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 45% 15%,#1d362b,#07100d 64%)}

.island-topbar{height:calc(60px + var(--safe-top));min-height:calc(60px + var(--safe-top));padding:calc(9px + var(--safe-top)) 11px 9px;display:flex;align-items:center;gap:10px;background:rgba(6,14,11,.98);border-bottom:1px solid rgba(255,255,255,.075);z-index:30}
.topbar-button{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line);border-radius:12px;background:#13221d;cursor:pointer}.island-back{font-size:28px;line-height:1}.sound-button{margin-left:2px;font-size:16px}.island-brand{min-width:0;display:flex;align-items:center;gap:9px}.island-brand img{width:34px;height:34px;object-fit:contain;border-radius:10px}.island-brand strong{font-size:13px;line-height:1.15;white-space:nowrap;letter-spacing:.1px}.save-state{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0;color:#75877d;font-size:8px}.save-state i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#e0b34c;box-shadow:0 0 8px currentColor}.save-state.saved{color:#55d488}.save-state.offline{color:#ef7b73}.save-state span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}

.game-frame{position:relative;flex:1;min-height:0;overflow:hidden;background:#13251c}.game-frame>canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}
.game-loading{position:absolute;inset:0;z-index:40;background:linear-gradient(160deg,#14271f,#08110e);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px}.game-loading[hidden]{display:none}.game-loading strong{font-size:18px}.game-loading small{font-size:10px;color:#829188}.loading-island{width:104px;height:104px;border-radius:50%;display:flex;align-items:flex-end;justify-content:center;gap:7px;padding-bottom:24px;font-size:32px;background:linear-gradient(#58bddb 0 51%,#efd078 51% 60%,#579649 60%);box-shadow:0 0 0 6px rgba(255,255,255,.035),0 20px 50px rgba(0,0,0,.25);animation:loadingFloat 1.6s ease-in-out infinite}.loading-island span:last-child{font-size:21px}.loading-action{width:auto!important;margin-top:12px}@keyframes loadingFloat{50%{transform:translateY(-6px)}}

.game-hud{position:absolute;inset:11px 9px auto;z-index:10;display:flex;align-items:flex-start;gap:7px;pointer-events:none}.hud-top-left{display:flex;gap:5px}.hud-day{height:49px;min-width:92px;padding:6px 8px;border:1px solid var(--line);border-radius:11px;background:rgba(5,13,10,.84);backdrop-filter:blur(7px);display:flex;align-items:center;gap:7px;box-shadow:0 5px 18px rgba(0,0,0,.15)}.phase-icon{font-size:21px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.2))}.day-copy{display:flex;flex-direction:column}.day-copy b{font-size:10px;letter-spacing:.7px}.day-copy small{font-size:7px;color:#b7c4bc;margin-top:2px}.minimap-button{position:relative;width:64px;height:49px;padding:0;border:1px solid var(--line);border-radius:11px;background:#09130f;overflow:hidden;pointer-events:auto;cursor:pointer}.minimap-button canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.minimap-button>span{position:absolute;right:3px;bottom:3px;padding:2px 4px;border-radius:5px;background:rgba(3,8,6,.75);font-size:5px;font-weight:900;letter-spacing:.5px}
.hud-bars{display:flex;gap:4px;align-items:flex-start}.hud-bar{height:23px;width:124px;padding:3px 6px;display:grid;grid-template-columns:15px 1fr 22px;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(5,13,10,.82);backdrop-filter:blur(7px)}.hud-bar>span{font-size:11px}.hud-bar i{height:6px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.12)}.hud-bar b{display:block;height:100%;width:100%;transition:width .22s}.hud-bar em{font-size:7px;font-style:normal;text-align:right}.hud-bar.health b{background:linear-gradient(90deg,#c93e42,#f2625d)}.hud-bar.hunger b{background:linear-gradient(90deg,#b97725,#ecad42)}.hud-bar.fuel b{background:linear-gradient(90deg,#d34725,#ff8a36)}
.hud-resources{margin-left:auto;display:flex;gap:4px}.hud-resources span{padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:rgba(5,13,10,.82);font-size:9px;backdrop-filter:blur(7px)}.hud-resources b{font-size:9px}

.game-message{position:absolute;top:70px;left:50%;z-index:18;transform:translate(-50%,-9px);max-width:min(440px,82%);padding:8px 13px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(5,12,9,.93);box-shadow:0 9px 28px rgba(0,0,0,.28);font-size:9.5px;font-weight:750;text-align:center;opacity:0;pointer-events:none;transition:.24s}.game-message.show{opacity:1;transform:translate(-50%,0)}.game-message.warning{color:#ffd174;border-color:rgba(247,166,48,.35)}.game-message.danger{color:#ff918c;border-color:rgba(240,80,74,.4)}.game-message.success{color:#78e5a6;border-color:rgba(65,206,119,.35)}
.context-hint{position:absolute;left:50%;bottom:76px;z-index:9;transform:translateX(-50%);padding:7px 11px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(4,10,7,.8);font-size:8.5px;font-weight:750;white-space:nowrap;pointer-events:none}
.fishing-banner{position:absolute;left:50%;top:108px;z-index:19;transform:translateX(-50%);min-width:190px;padding:9px 12px;border:1px solid rgba(78,194,218,.38);border-radius:12px;background:rgba(5,18,22,.94);display:flex;align-items:center;gap:9px;box-shadow:0 10px 28px rgba(0,0,0,.28)}.fishing-banner[hidden]{display:none}.fishing-banner>span{font-size:23px}.fishing-banner>div{min-width:0;flex:1}.fishing-banner strong{display:flex;justify-content:space-between;gap:12px;font-size:9px}.fishing-banner strong b{color:#79d9e8}.fishing-banner i{display:block;height:5px;margin-top:6px;border-radius:5px;overflow:hidden;background:#233b3e}.fishing-banner i b{display:block;width:0;height:100%;background:linear-gradient(90deg,#3ea6be,#74dce8);transition:width .12s linear}

.quickbar{position:absolute;left:50%;bottom:8px;z-index:12;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:rgba(5,12,9,.86);backdrop-filter:blur(7px);box-shadow:0 8px 25px rgba(0,0,0,.2)}.quickbar button{width:49px;height:46px;border:1px solid transparent;border-radius:9px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer}.quickbar button.active{border-color:#66e293;background:rgba(56,190,104,.19)}.quickbar button:disabled{opacity:.32}.quickbar button.empty{opacity:.46}.quickbar button.empty span{color:#819188}.quickbar span{font-size:17px}.quickbar small{font-size:6px;color:#c7d3cb;white-space:nowrap}
.mobile-controls{position:absolute;inset:auto 15px 67px;z-index:11;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.joystick{position:relative;width:100px;height:100px;border-radius:50%;background:rgba(3,9,6,.3);border:2px solid rgba(255,255,255,.16);pointer-events:auto;touch-action:none}.joystick span{position:absolute;width:42px;height:42px;left:27px;top:27px;border-radius:50%;background:rgba(220,235,222,.43);border:2px solid rgba(255,255,255,.25);box-shadow:0 7px 17px rgba(0,0,0,.23)}.action-buttons{display:flex;align-items:flex-end;gap:9px;pointer-events:auto}.round-action{width:61px;height:61px;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:rgba(10,21,16,.78);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.24);touch-action:none}.round-action.use{width:70px;height:70px;background:rgba(38,168,88,.7)}.round-action span{font-size:21px}.round-action small{font-size:6px}.round-action:active{transform:scale(.94)}

.placement-banner{position:absolute;left:50%;top:67px;z-index:22;transform:translateX(-50%);width:min(570px,calc(100% - 22px));padding:9px 10px;border:1px solid rgba(81,218,132,.26);border-radius:13px;background:rgba(7,17,12,.95);box-shadow:0 12px 36px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:space-between;gap:10px}.placement-banner[hidden]{display:none}.placement-banner>div:first-child{display:grid;grid-template-columns:30px 1fr;align-items:center;min-width:0}.placement-banner>div:first-child>span{grid-row:1/3;font-size:24px}.placement-banner strong{font-size:10px}.placement-banner small{color:#8fa198;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.placement-banner.valid{border-color:rgba(69,218,124,.6)}.placement-banner.invalid{border-color:rgba(239,93,86,.65)}.placement-banner.valid small{color:#72dfa0}.placement-banner.invalid small{color:#ff8d88}.placement-actions{display:flex;gap:5px}.placement-actions button{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#1b2a24;font-size:7px;font-weight:850;white-space:nowrap}.placement-actions button:last-child{background:#2fbd6a;border-color:#3ed67b}.placement-banner.invalid .placement-actions button:last-child{background:#63302e;color:#c78d89;pointer-events:none}

.game-panel{position:fixed;inset:0;z-index:55;pointer-events:none;visibility:hidden}.game-panel.open{visibility:visible;pointer-events:auto}.panel-backdrop{position:absolute;inset:0;border:0;background:rgba(1,7,4,.69);opacity:0;transition:.2s}.game-panel.open .panel-backdrop{opacity:1}.panel-card{position:absolute;top:0;right:0;bottom:0;width:min(455px,95vw);padding:calc(16px + var(--safe-top)) 17px calc(17px + var(--safe-bottom));overflow:auto;background:linear-gradient(165deg,#182b24,#0e1915);border-left:1px solid var(--line);box-shadow:-22px 0 70px rgba(0,0,0,.4);transform:translateX(104%);transition:.24s}.game-panel.open .panel-card{transform:none}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel-head h2{margin:3px 0 0;font-size:25px}.panel-head>div>small{display:block;margin-top:4px;color:#7f9187;font-size:8.5px}.panel-kicker{font-size:7.5px;font-weight:900;letter-spacing:1.5px;color:#55d587}.panel-head>button,.map-head>button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#21342d;font-size:21px}.panel-tabs{display:flex;gap:5px;margin:16px 0 11px}.panel-tabs button{flex:1;padding:9px 6px;border:1px solid var(--line);border-radius:9px;background:#14231e;color:#8e9f96;font-size:8.5px;font-weight:800}.panel-tabs button.active{color:#eaf4ed;border-color:rgba(76,210,125,.34);background:rgba(50,176,97,.15)}.panel-content{display:flex;flex-direction:column;gap:9px}
.capacity-card{padding:11px 12px;border:1px solid rgba(77,209,127,.17);border-radius:12px;background:rgba(45,150,82,.08)}.capacity-head{display:flex;justify-content:space-between;gap:8px}.capacity-head strong{font-size:9px}.capacity-head span{font-size:8px;color:#b5c1ba}.capacity-track{height:6px;margin-top:8px;border-radius:6px;overflow:hidden;background:#25352e}.capacity-track b{display:block;height:100%;background:linear-gradient(90deg,#39ba6c,#63df91)}.capacity-track.full b{background:#e45f58}
.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.inventory-slot{min-height:78px;padding:7px 4px;border:1px solid var(--line);border-radius:11px;background:rgba(4,11,8,.36);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.inventory-slot.actionable{border-color:rgba(70,207,121,.25);cursor:pointer}.inventory-slot span{font-size:23px}.inventory-slot strong{font-size:7.5px}.inventory-slot small{font-size:7px;color:#7f9087}.inventory-slot .raw-warning{color:#e4a95d}.inventory-slot-action{margin-top:4px;padding:6px 8px;border:1px solid rgba(70,207,121,.28);border-radius:7px;background:rgba(48,178,98,.14);color:#d9f7e5;font-size:6.5px;font-weight:900}.inventory-slot-action.equipped{border-color:rgba(238,187,72,.3);background:rgba(177,124,35,.14);color:#f4d47c}.panel-note{padding:10px;border:1px solid rgba(93,213,137,.13);border-radius:10px;background:rgba(46,151,85,.07);color:#a6b5ad;font-size:8.5px;line-height:1.55}
.craft-card,.mission-card,.job-card,.station-action{padding:11px;border:1px solid var(--line);border-radius:12px;background:rgba(5,13,9,.36);display:grid;grid-template-columns:43px 1fr auto;align-items:center;gap:9px}.craft-icon,.mission-icon{width:43px;height:43px;border-radius:10px;background:#22382f;display:grid;place-items:center;font-size:22px}.craft-copy strong,.mission-copy strong{display:block;font-size:9.5px}.craft-copy small,.mission-copy small{display:block;margin-top:3px;color:#819188;font-size:7.5px;line-height:1.45}.craft-card button,.mission-card button,.station-action button,.pending-place button{min-width:66px;padding:8px;border:0;border-radius:8px;background:#2fbd6a;color:white;font-size:7.5px;font-weight:900}.craft-card button:disabled,.mission-card button:disabled,.station-action button:disabled{background:#283730;color:#687870;cursor:not-allowed;opacity:.7}.mission-card.done{border-color:rgba(238,195,77,.24)}.mission-card.done .mission-icon{background:rgba(221,173,49,.15)}.mission-reward{color:#f4ce66!important}.jobs-title{margin:8px 0 0;font-size:9px;letter-spacing:.7px}.job-card{grid-template-columns:38px 1fr}.job-progress{height:5px;margin-top:6px;border-radius:5px;overflow:hidden;background:#26372f}.job-progress b{display:block;height:100%;background:#45c77b}.pending-place{padding:11px;border:1px dashed rgba(91,215,137,.28);border-radius:12px;background:rgba(43,145,78,.07);display:flex;align-items:center;justify-content:space-between;gap:10px}.pending-place span{font-size:10px}.station-status{padding:13px;border:1px solid rgba(242,178,65,.18);border-radius:12px;background:rgba(111,75,22,.08)}.station-status strong{display:block;font-size:10px}.station-status small{display:block;margin-top:4px;color:#9ca9a1;font-size:8px;line-height:1.5}.fuel-control{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.fuel-control button{padding:10px;border:0;border-radius:9px;background:#d86d2e;font-size:8px;font-weight:900}.empty-panel{padding:30px 15px;text-align:center;color:#7f9087;font-size:9.5px}.empty-panel span{display:block;font-size:34px;margin-bottom:8px}

.map-overlay{position:fixed;inset:0;z-index:65;display:none;place-items:center;padding:18px;background:rgba(1,6,4,.75);backdrop-filter:blur(5px)}.map-overlay.open{display:grid}.map-backdrop{position:absolute;inset:0;border:0;background:transparent}.map-card{position:relative;width:min(780px,96vw);padding:17px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#172820,#0b1511);box-shadow:0 25px 80px rgba(0,0,0,.5)}.map-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.map-head h2{margin:3px 0 0;font-size:23px}.map-card canvas{display:block;width:100%;max-height:67vh;aspect-ratio:720/470;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#030706;image-rendering:pixelated}.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:11px;color:#8fa098;font-size:7.5px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:8px;height:8px;border-radius:2px}.legend-player{background:#f4d354}.legend-home{background:#e69a4c}.legend-water{background:#3c9db3}.legend-unknown{background:#050908}

.game-dialog{position:fixed;inset:0;z-index:75;display:none;place-items:center;padding:18px;background:rgba(2,8,5,.78);backdrop-filter:blur(5px);touch-action:auto}.game-dialog.open{display:grid}.dialog-card{width:min(410px,96vw);max-height:94vh;overflow:auto;padding:23px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(160deg,#1a2d26,#0f1916);box-shadow:0 25px 80px rgba(0,0,0,.5);text-align:center}.dialog-card h1,.dialog-card h2{margin:7px 0 9px}.dialog-card h1{font-size:26px}.dialog-card h2{font-size:24px}.dialog-card p{margin:0 0 15px;color:#a2b1a9;font-size:10.5px;line-height:1.6}.dialog-card ul{margin:0 0 18px;padding:12px 12px 12px 30px;border-radius:12px;background:rgba(3,9,6,.3);text-align:left;color:#b0beb5;font-size:8.5px;line-height:1.8}.welcome-art{height:118px;margin:-8px -8px 18px;display:flex;align-items:flex-end;justify-content:center;gap:20px;padding:20px;font-size:48px;border-radius:16px;background:linear-gradient(#55bddb 0 48%,#ecd078 48% 58%,#5ca24d 58%);overflow:hidden}.welcome-art span:last-child{font-size:31px}.dialog-icon{font-size:53px;margin-bottom:9px}.dialog-primary,.dialog-secondary{width:100%;padding:12px;border-radius:10px;font-size:9.5px;font-weight:900;cursor:pointer}.dialog-primary{border:0;background:linear-gradient(135deg,#45ce79,#1aa35a);color:white}.dialog-secondary{margin-top:8px;border:1px solid var(--line);background:#1a2a24;color:#afbbb4}.danger-card{border-color:rgba(238,87,81,.25)}.victory-card{border-color:rgba(239,195,79,.34)}.deposit-ready-card{border-color:rgba(74,204,126,.3)}
.reward-toast{position:fixed;top:65px;right:14px;z-index:100;padding:10px 14px;border:1px solid rgba(245,204,83,.35);border-radius:13px;background:rgba(30,28,15,.96);display:flex;align-items:center;gap:9px;box-shadow:0 15px 40px rgba(0,0,0,.34);transform:translateX(calc(100% + 30px));transition:.35s}.reward-toast.show{transform:none}.reward-toast>span{font-size:27px}.reward-toast div{display:flex;flex-direction:column}.reward-toast small{font-size:6.5px;letter-spacing:1px;color:#d5b550}.reward-toast strong{font-size:11px;color:#ffe277}

@media(pointer:fine){.mobile-controls{display:none!important}.context-hint{bottom:70px}}
@media(max-width:760px){.save-state span{display:none}.save-state{margin-left:auto}.game-hud{gap:4px}.hud-day{min-width:76px}.minimap-button{width:55px}.hud-bars{flex-direction:column}.hud-bar{width:108px;height:18px}.hud-resources{flex-direction:column}.hud-resources span{padding:4px 6px;font-size:7.5px}.placement-banner{top:61px}.placement-actions button{padding:7px 7px}}
@media(min-width:360px) and (max-width:520px){.hud-bars{flex-direction:row;gap:2px}.hud-bar{width:66px;height:20px;padding:3px;grid-template-columns:11px 1fr 15px;gap:2px}.hud-bar>span{font-size:9px}.hud-bar em{font-size:6px}.hud-resources{position:absolute;top:48px;right:0;margin-left:0;flex-direction:row}}
@media(max-width:520px){.island-topbar{height:48px;min-height:48px;padding-left:7px;padding-right:7px}.topbar-button{width:34px;height:34px;flex-basis:34px}.island-brand img{width:30px;height:30px}.island-brand strong{font-size:11.5px}.game-hud{inset:6px 6px auto}.hud-day{height:44px;min-width:69px;padding:5px 6px;gap:4px}.phase-icon{font-size:17px}.day-copy b{font-size:8px}.minimap-button{width:48px;height:44px}.hud-bar{width:94px}.mobile-controls{inset:auto 11px calc(63px + var(--safe-bottom))}.joystick{width:88px;height:88px}.joystick span{width:38px;height:38px;left:23px;top:23px}.round-action{width:55px;height:55px}.round-action.use{width:64px;height:64px}.quickbar{bottom:calc(6px + var(--safe-bottom));gap:2px}.quickbar button{width:43px;height:42px}.quickbar span{font-size:15px}.quickbar small{font-size:5.4px}.context-hint{bottom:calc(156px + var(--safe-bottom))}.game-message{top:62px;font-size:8.5px}.fishing-banner{top:94px}.placement-banner{top:56px;padding:7px}.placement-banner>div:first-child{grid-template-columns:25px 1fr}.placement-banner>div:first-child>span{font-size:19px}.placement-actions button:nth-child(2){font-size:0}.placement-actions button:nth-child(2):after{content:"Después";font-size:7px}.panel-card{padding-left:13px;padding-right:13px}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-card{padding:18px}.welcome-art{height:104px;font-size:42px}.map-card{padding:12px}.map-head h2{font-size:19px}}
@media(max-height:560px) and (orientation:landscape){.island-topbar{height:42px;min-height:42px;padding-top:3px;padding-bottom:3px}.topbar-button{width:32px;height:32px;flex-basis:32px}.island-brand img{width:29px;height:29px}.game-hud{top:5px}.hud-day{height:43px}.minimap-button{height:43px}.mobile-controls{bottom:57px}.joystick{width:78px;height:78px}.joystick span{width:34px;height:34px;left:20px;top:20px}.round-action{width:50px;height:50px}.round-action.use{width:58px;height:58px}.quickbar{bottom:4px}.quickbar button{height:40px}.context-hint{bottom:59px}.game-message{top:56px}.fishing-banner{top:94px}.placement-banner{top:54px}.dialog-card{max-height:96vh;padding:13px}.welcome-art{height:72px;margin-bottom:8px;padding:9px;font-size:31px}.dialog-card h1{font-size:20px}.dialog-card ul{line-height:1.5;margin-bottom:9px}.panel-card{padding-top:10px}.panel-head h2{font-size:20px}.panel-tabs{margin:9px 0}.craft-card,.mission-card,.job-card{padding:8px}.map-card{width:min(680px,96vw)}.map-card canvas{max-height:64vh}}

/* ==========================================================
   V7.3.2 — controles móviles flotantes y paneles más legibles
   ========================================================== */
.mobile-controls{inset:0;display:block;pointer-events:none}
.mobile-controls[hidden]{display:none!important}
.joystick{
  position:absolute;left:90px;top:calc(100% - 135px);z-index:2;
  transform:translate(-50%,-50%) scale(.86);opacity:0;
  pointer-events:none!important;transition:opacity .12s ease,transform .12s ease;
  background:rgba(7,18,13,.58);box-shadow:0 10px 28px rgba(0,0,0,.28)
}
.joystick.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.action-buttons{position:absolute;right:16px;bottom:77px;gap:19px;pointer-events:auto}
.round-action{width:70px;height:70px}.round-action.use{width:82px;height:82px}
.round-action span{font-size:25px}.round-action small{font-size:8px;font-weight:850}
.quickbar{padding:5px;gap:5px;border-radius:15px}
.quickbar button{width:55px;height:53px}.quickbar span{font-size:21px}.quickbar small{font-size:7px;font-weight:750}
.hud-resources span{padding:7px 9px;font-size:12px}.hud-resources b{font-size:10px}

.panel-head>div>small{font-size:10.5px;line-height:1.45}.panel-kicker{font-size:8.5px}
.panel-head>div>small.panel-error{color:#ffc36c;font-weight:750}
.panel-tabs button{font-size:10px;padding:11px 7px}
.capacity-head strong{font-size:10.5px}.capacity-head span{font-size:9.5px}
.inventory-slot{min-height:92px;padding:9px 6px;gap:4px}.inventory-slot span{font-size:29px}.inventory-slot strong{font-size:9.5px}.inventory-slot small{font-size:8.5px;line-height:1.35}
.inventory-slot-action{padding:7px 9px;font-size:7.5px}
.craft-card,.mission-card,.job-card,.station-action{padding:13px;grid-template-columns:49px 1fr auto;gap:11px}
.craft-icon,.mission-icon{width:49px;height:49px;font-size:26px}
.craft-copy strong,.mission-copy strong{font-size:11.5px}.craft-copy small,.mission-copy small{font-size:9px;line-height:1.5}
.craft-progress-copy{color:#70d99b!important;font-weight:800}
.craft-card button,.mission-card button,.station-action button,.pending-place button{min-width:74px;padding:10px 9px;font-size:8.5px}
.jobs-title{font-size:10px;line-height:1.45}.panel-note{font-size:10px}.station-status strong{font-size:11.5px}.station-status small{font-size:9.5px}

@media(max-width:760px){
  .hud-resources span{padding:6px 8px;font-size:10.5px}.hud-resources b{font-size:10px}
}
@media(max-width:520px){
  .joystick{width:94px;height:94px}.joystick span{width:40px;height:40px;left:25px;top:25px}
  .action-buttons{right:10px;bottom:calc(75px + var(--safe-bottom));gap:16px}
  .round-action{width:63px;height:63px}.round-action.use{width:74px;height:74px}
  .quickbar{gap:3px}.quickbar button{width:47px;height:48px}.quickbar span{font-size:19px}.quickbar small{font-size:6.5px}
  .context-hint{bottom:calc(166px + var(--safe-bottom))}
  .panel-card{width:96vw}.inventory-grid{gap:8px}.inventory-slot{min-height:98px}
}
@media(max-height:560px) and (orientation:landscape){
  .action-buttons{bottom:55px}.round-action{width:54px;height:54px}.round-action.use{width:62px;height:62px}
  .quickbar button{height:44px}.joystick{width:82px;height:82px}.joystick span{width:34px;height:34px;left:22px;top:22px}
}

/* V7.4.1 — fogata interna, HUD respirado y recursos esenciales */
.legend-player{width:0!important;height:0!important;border-left:5px solid transparent;border-right:5px solid transparent;border-top:9px solid #f4d354;border-radius:0!important;background:transparent!important}
.fire-strength-track{grid-column:1/-1;height:8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1)}
.fire-strength-track b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d94c28,#ffad38,#ffe16a);transition:width .25s ease}
@media(max-width:760px){
  .hud-resources span{padding:7px 10px;font-size:12px}
  .hud-resources b{font-size:11px}
}
@media(max-width:520px){
  .island-topbar{height:calc(58px + var(--safe-top));min-height:calc(58px + var(--safe-top));padding:calc(8px + var(--safe-top)) 8px 8px;gap:8px}
  .topbar-button{width:36px;height:36px;flex-basis:36px}
  .island-brand{gap:8px}
  .island-brand img{width:32px;height:32px}
  .game-hud{inset:10px 7px auto}
  .hud-bars{margin-left:auto}
  .hud-resources{position:absolute;top:48px;right:0;margin-left:0;flex-direction:row;gap:6px}
  .hud-resources span{padding:7px 10px;font-size:13px}
  .hud-resources b{font-size:11.5px}
  .game-message{top:66px}
  .fishing-banner{top:98px}
  .placement-banner{top:60px}
}
@media(max-height:560px) and (orientation:landscape){
  .island-topbar{height:calc(44px + var(--safe-top));min-height:calc(44px + var(--safe-top));padding-top:calc(5px + var(--safe-top));padding-bottom:5px}
}

/* V7.7 — animaciones de interacción y combate flexible */
.torch-meter[hidden],#mapWaterLegend[hidden]{display:none!important}
.hud-bar.torch-meter b{background:linear-gradient(90deg,#d84d25,#ff9e32,#ffe269)}
.hud-bar.torch-meter em{min-width:27px;color:#ffd76b}
.armor-status{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:11px;border:1px solid rgba(86,188,213,.2);border-radius:12px;background:rgba(49,127,145,.08)}
.armor-status span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:9px;background:rgba(4,11,8,.32);color:#71817a;font-size:8px;text-align:center}
.armor-status span.active{color:#d9f7f7;box-shadow:inset 0 0 0 1px rgba(104,213,233,.25);background:rgba(57,148,168,.13)}
.armor-status b{font-size:22px}.defense-copy{grid-column:1/-1!important;padding-top:3px!important;background:transparent!important;color:#87d7e5!important;font-weight:850}
.armor-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px 0}.armor-status-head strong{font-size:9px;letter-spacing:.6px}.armor-status-head span{font-size:8px;color:#83d7e6;font-weight:850}
.armor-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.armor-status-slot{min-height:67px;padding:7px 3px;border:1px solid var(--line);border-radius:10px;background:rgba(3,10,8,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.armor-status-slot>span{font-size:20px;filter:grayscale(.7);opacity:.55}.armor-status-slot small{font-size:7px;color:#7f9087}.armor-status-slot strong{font-size:6.5px;color:#596b62}.armor-status-slot.equipped{border-color:rgba(83,198,220,.34);background:rgba(49,137,154,.13)}.armor-status-slot.equipped>span{filter:none;opacity:1}.armor-status-slot.equipped strong,.armor-equipped{color:#78dbea!important;font-weight:900}
@media(max-width:760px){.hud-bars{flex-wrap:wrap;max-width:270px}.hud-bar.torch-meter{order:3;margin-left:auto}}
@media(max-width:520px){.hud-bars{max-width:205px}.hud-bar.torch-meter{width:105px}.hud-bar.torch-meter em{font-size:6px}}


/* V7.8 — introducción de Aladdín y guía inicial */
.aladdin-intro-card{width:min(620px,96vw);padding:18px;text-align:left;border-color:rgba(245,203,69,.34);background:linear-gradient(155deg,#111c18,#0b1511 62%,#1a1710);overflow:visible}
.aladdin-guide-head{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:6px 7px 4px}.aladdin-guide-logo{width:86px;height:86px;flex:0 0 86px;border-radius:24px;background:#f4d63f;box-shadow:0 0 0 4px rgba(245,211,64,.13),0 13px 30px rgba(0,0,0,.28);overflow:hidden}.aladdin-guide-logo img{display:block;width:100%;height:100%;object-fit:cover}.aladdin-guide-name{display:flex;flex-direction:column;min-width:0}.aladdin-guide-name>span{color:#f3cf54;font-size:8px;font-weight:950;letter-spacing:1.4px}.aladdin-guide-name strong{margin-top:3px;font-size:25px;line-height:1}.aladdin-guide-name small{margin-top:6px;color:#9eaea5;font-size:9px}
.aladdin-speech-card{position:relative;min-height:165px;padding:17px 18px 22px;border:1px solid rgba(245,209,82,.25);border-radius:16px;background:linear-gradient(145deg,rgba(255,244,197,.97),rgba(255,226,111,.95));box-shadow:0 14px 34px rgba(0,0,0,.22);color:#2a291e}.aladdin-speech-card:before{content:"";position:absolute;left:35px;top:-11px;width:22px;height:22px;background:#fbedb2;border-left:1px solid rgba(245,209,82,.25);border-top:1px solid rgba(245,209,82,.25);transform:rotate(45deg)}.aladdin-speech-meta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.aladdin-speech-meta span{font-size:8px;font-weight:950;letter-spacing:1px;color:#8f6d0d}.aladdin-speech-meta b{font-size:17px}.aladdin-speech-card p{position:relative;margin:0!important;min-height:92px;color:#29291f!important;font-size:15px!important;line-height:1.62!important;font-weight:720}.typing-cursor{display:inline-block;width:7px;height:15px;margin-left:2px;background:#8e6d0d;animation:aladdinBlink .72s steps(1) infinite;vertical-align:-2px}.aladdin-continue{margin-top:13px;min-height:44px;background:linear-gradient(135deg,#f0bd26,#d98b16);color:#171309}.aladdin-continue:disabled{opacity:.75;cursor:wait}.aladdin-sound-note{display:block;margin-top:9px;text-align:center;color:#84958b;font-size:8px;line-height:1.4}@keyframes aladdinBlink{50%{opacity:0}}
@media(max-width:520px){.aladdin-intro-card{padding:14px}.aladdin-guide-head{gap:10px;margin-bottom:10px}.aladdin-guide-logo{width:67px;height:67px;flex-basis:67px;border-radius:19px}.aladdin-guide-name strong{font-size:21px}.aladdin-guide-name small{font-size:8px}.aladdin-speech-card{min-height:178px;padding:15px 15px 20px}.aladdin-speech-card p{font-size:13.5px!important;line-height:1.55!important}.aladdin-continue{font-size:9px}.aladdin-sound-note{font-size:7px}}
@media(max-height:560px) and (orientation:landscape){.aladdin-intro-card{width:min(690px,97vw);display:grid;grid-template-columns:150px 1fr;gap:10px 14px;align-items:center}.aladdin-guide-head{grid-row:1/3;flex-direction:column;align-items:center;text-align:center;margin:0}.aladdin-guide-logo{width:78px;height:78px;flex-basis:78px}.aladdin-speech-card{min-height:112px;padding:12px 14px}.aladdin-speech-card p{min-height:68px;font-size:12px!important;line-height:1.45!important}.aladdin-continue{grid-column:2;margin-top:0}.aladdin-sound-note{grid-column:2;margin-top:-4px}}

/* V7.8.1 · acciones para botar objetos de la mochila */
.inventory-drop-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:4px}.inventory-drop-actions button{padding:5px 6px;border:1px solid rgba(225,126,92,.32);border-radius:7px;background:rgba(178,71,45,.12);color:#f1c2b3;font-size:6px;font-weight:900;letter-spacing:.02em}.inventory-drop-actions button:active{transform:scale(.96)}
@media(max-width:520px){.inventory-drop-actions button{font-size:6.5px;padding:6px 7px}}

.tool-durability{display:inline-block;margin-left:4px;color:#f0c96a;font-weight:800}


/* ==========================================================
   V7.12.10 — costa simple, mochila compacta y móvil más cómodo
   ========================================================== */
.admin-test-button{border-color:rgba(242,201,91,.26);background:rgba(135,103,26,.15)}
.admin-test-button.active{border-color:#f0c85b;background:rgba(191,143,30,.25);box-shadow:0 0 0 2px rgba(240,200,91,.08)}
.inventory-slot{position:relative;min-height:88px;padding:9px 5px!important;gap:3px!important}
.inventory-slot strong{font-size:9px!important;line-height:1.2}
.inventory-slot .inventory-meta-line{font-size:7.5px!important;line-height:1.25;color:#94a59b}
.inventory-drop-x{position:absolute;right:4px;top:4px;width:20px;height:20px;padding:0;border:1px solid rgba(239,98,93,.28);border-radius:50%;background:rgba(160,49,47,.13);color:#ff9b96;font-size:15px;line-height:18px;font-weight:700;cursor:pointer}
.inventory-drop-x:active{transform:scale(.92)}
.inventory-slot-action{margin-top:2px!important;padding:5px 7px!important}
.edit-building-action .craft-copy{min-height:0}.edit-building-action{padding-top:9px!important;padding-bottom:9px!important}
.placement-banner small{max-width:230px}

@media(max-width:520px){
  .quickbar{gap:4px!important;padding:6px!important;max-width:calc(100vw - 8px)}
  .quickbar button{width:49px!important;height:50px!important;border-radius:10px!important}
  .quickbar span{font-size:20px!important}.quickbar small{font-size:6.5px!important}
  .inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .inventory-slot{min-height:94px!important}
  .placement-banner{padding:7px 8px!important;gap:6px!important}.placement-banner small{max-width:145px;font-size:7px!important}
}
@media(max-width:390px){
  .quickbar{gap:2px!important;padding:4px!important}.quickbar button{width:46px!important;height:48px!important}.quickbar span{font-size:19px!important}.quickbar small{font-size:6px!important}
}


/* ==========================================================
   V7.12.10 — supervivencia profunda y fabricación contextual
   ========================================================== */
.recipe-info-button{position:absolute;left:7px;top:7px;width:21px!important;height:21px!important;min-width:21px!important;padding:0!important;border:1px solid rgba(104,205,225,.28)!important;border-radius:50%!important;background:rgba(44,119,139,.12)!important;color:#8edcec!important;font-size:11px!important;font-weight:950!important;line-height:19px!important}
.craft-card,.station-action{position:relative}.craft-card>.craft-icon{margin-left:12px}.recipe-help{grid-column:1/-1;margin-top:6px;padding:8px 9px;border:1px solid rgba(106,193,209,.16);border-radius:9px;background:rgba(44,113,129,.08);color:#aac3bc;font-size:7.5px;line-height:1.45}
.mission-card{position:relative}.mission-done-check{margin-left:auto;align-self:center;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(57,188,111,.15);border:1px solid rgba(72,223,133,.42);color:#61df91;font-size:16px;font-weight:1000}.mission-card.done .mission-icon{filter:none;opacity:1}
@media(max-width:520px){.recipe-info-button{width:23px!important;height:23px!important;min-width:23px!important;font-size:12px!important}.recipe-help{font-size:8px}.mission-done-check{width:22px;height:22px;font-size:14px}}

/* V7.12.10 — recetas bloqueadas y defensas */
.craft-card.locked{border-color:rgba(130,145,138,.16);background:rgba(8,13,11,.5)}
.craft-card.locked .craft-icon,.craft-card.locked .craft-copy{filter:grayscale(.7);opacity:.68}

/* Kit de pruebas ADMIN: compacto y táctil */
.admin-test-kit{display:grid;gap:8px;margin-bottom:10px;padding:9px;border:1px solid rgba(240,200,91,.22);border-radius:12px;background:rgba(138,104,26,.08)}
.admin-test-tools{display:grid;gap:6px}.admin-test-tool{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:9px;background:rgba(6,14,10,.38)}.admin-test-tool strong{font-size:8.5px}.admin-test-tool span{display:flex;gap:4px}.admin-test-tool button,.admin-test-actions button{border:0;border-radius:7px;background:#314a3d;color:#eef7f1;padding:7px 8px;font-size:7.5px;font-weight:900}.admin-test-tool button:hover,.admin-test-actions button:hover{background:#3f6650}.admin-test-actions{display:flex;flex-wrap:wrap;gap:5px}.admin-test-actions button{flex:1 1 auto;background:#86691f;color:#fff6d2}

/* V7.12.10 — Herrería organizada por secciones */
.smithy-section-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.smithy-section-tabs button{min-height:42px;border:1px solid rgba(111,238,169,.18);border-radius:12px;background:#122820;color:#aebbb6;font:800 12px/1.1 inherit;padding:9px 8px;cursor:pointer}
.smithy-section-tabs button.active{background:#1f6b45;border-color:#3cdf82;color:#fff;box-shadow:0 0 0 1px rgba(61,223,130,.12) inset}

/* ==========================================================
   Gamedin Island 3.1.4 · personaje, agua y fauna animada
   ========================================================== */
.coop-topbar-button{font-size:18px}.coop-topbar-button.active{border-color:#57da8c;background:rgba(50,177,100,.2);box-shadow:0 0 0 2px rgba(67,214,125,.08)}
.island-status-effects{position:absolute;left:12px;top:96px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.status-effect{display:flex;align-items:center;gap:5px;max-width:175px;padding:5px 8px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(8,17,14,.82);backdrop-filter:blur(5px);font-size:8px;font-weight:850;box-shadow:0 5px 18px rgba(0,0,0,.2)}.status-effect.poison{color:#b7f071;border-color:rgba(159,222,83,.25)}.status-effect.heat{color:#ffc269;border-color:rgba(239,162,63,.27)}.status-effect.cold{color:#9edcf4;border-color:rgba(95,192,229,.28)}.status-effect.weather{color:#d9e9ee}.status-effect.mount{color:#f1ce75}
.discovery-toast{position:absolute;left:50%;top:77px;z-index:22;min-width:220px;max-width:min(88vw,430px);padding:10px 14px;border:1px solid rgba(242,197,76,.34);border-radius:13px;background:rgba(31,27,12,.94);color:#ffe183;text-align:center;font-size:9px;font-weight:900;letter-spacing:.2px;box-shadow:0 14px 38px rgba(0,0,0,.32);transform:translate(-50%,-130%);opacity:0;transition:.28s;pointer-events:none}.discovery-toast.show{transform:translate(-50%,0);opacity:1}
.island-lobby-dialog{z-index:90}.island-lobby-card{position:relative;width:min(720px,96vw);padding:19px;text-align:left}.lobby-close-button{position:absolute;right:12px;top:12px;z-index:2;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(9,19,15,.86);color:#dfeae3;font:700 22px/1 system-ui;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.22)}.lobby-close-button:hover,.lobby-close-button:focus-visible{border-color:rgba(84,216,139,.42);background:#183228;color:#fff}.lobby-title{display:flex;gap:14px;align-items:center;margin:0 42px 16px 0}.lobby-title>span{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;border:1px solid rgba(88,220,140,.27);border-radius:20px;background:linear-gradient(150deg,rgba(54,178,102,.18),rgba(23,87,62,.08));font-size:41px}.lobby-title small{color:#55d587;font-size:8px;font-weight:950;letter-spacing:1.5px}.lobby-title h1{margin:4px 0 3px;font-size:27px}.lobby-title p{margin:0;color:#91a299;font-size:9px;line-height:1.45}.lobby-section-label{display:flex;align-items:center;gap:9px;margin:15px 2px 8px;color:#56d889}.lobby-section-label::after{content:"";height:1px;flex:1;background:rgba(87,216,139,.16)}.lobby-section-label span{font-size:8px;font-weight:950;letter-spacing:1.5px}.lobby-section-label small{order:2;color:#71877b;font-size:7px;white-space:nowrap}.lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:0}.lobby-actions>button{display:grid;grid-template-columns:43px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(7,16,12,.42);color:#e6f0e9;text-align:left}.lobby-actions span{grid-row:1/3;display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#20382e;font-size:22px}.lobby-actions strong{font-size:10px}.lobby-actions small{color:#7f9288;font-size:7.5px}.lobby-actions>button:hover,.lobby-actions>button[aria-expanded="true"]{border-color:rgba(83,211,132,.3);background:rgba(45,142,80,.11)}
.join-session-form{margin-top:10px;padding:12px;border:1px solid rgba(90,210,137,.17);border-radius:12px;background:rgba(35,120,68,.07)}.join-session-form label{display:block;margin-bottom:7px;color:#91a299;font-size:8px;font-weight:850}.join-session-form>div{display:grid;grid-template-columns:1fr auto;gap:7px}.join-session-form input,.horse-name-card input{min-width:0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#0b1612;color:#eef6f1;font:900 14px/1 system-ui;text-transform:uppercase;letter-spacing:1.5px}.join-session-form button{padding:0 15px;border:0;border-radius:9px;background:#34b96a;color:#fff;font-size:8px;font-weight:950}.session-code-card{margin-top:10px;padding:13px;border:1px solid rgba(242,201,82,.27);border-radius:13px;background:rgba(121,91,20,.1);text-align:center}.session-code-card small{display:block;color:#d7b54a;font-size:7.5px;font-weight:950;letter-spacing:1.4px}.session-code-card strong{display:block;margin:5px 0;font-size:28px;letter-spacing:2px;color:#ffe276}.session-code-card button{padding:7px 12px;border:1px solid rgba(241,201,82,.23);border-radius:8px;background:rgba(183,137,25,.16);color:#f7df99;font-size:8px;font-weight:900}.session-code-card p{margin:7px 0 0!important;font-size:7.5px!important}.lobby-status{min-height:18px;margin:8px 0!important;color:#ffcf76!important;text-align:center}.lobby-note{margin:10px 2px 0!important;color:#74877d!important;font-size:7.5px!important;text-align:center}
.island-ranking{margin-top:13px;padding:12px;border:1px solid rgba(99,198,224,.16);border-radius:14px;background:rgba(43,117,138,.06)}.ranking-head{display:grid;grid-template-columns:37px 1fr auto;gap:9px;align-items:center}.ranking-head>span{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:rgba(225,177,43,.12);font-size:21px}.ranking-head strong{display:block;font-size:10px}.ranking-head small{display:block;margin-top:2px;color:#81948a;font-size:7.5px}.ranking-head button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#192a23;color:#c7d4cd}.ranking-list{display:grid;gap:6px;margin-top:10px}.ranking-row{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(3,9,6,.28)}.ranking-row:first-child{border-color:rgba(238,193,62,.22);background:rgba(121,89,16,.09)}.ranking-position{font-size:18px;text-align:center}.ranking-player strong{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px}.ranking-player small{color:#7f9187;font-size:7.5px}.ranking-day{text-align:right;color:#81dfaa;font-size:9px;font-weight:950}.ranking-list>p{margin:8px 0!important;color:#788a80!important;font-size:8px!important;text-align:center}
.coop-hud{position:absolute;right:12px;top:12px;z-index:24;width:min(300px,calc(100vw - 24px));padding:9px;border:1px solid rgba(86,214,137,.25);border-radius:13px;background:rgba(8,17,14,.96);backdrop-filter:blur(9px);box-shadow:0 12px 32px rgba(0,0,0,.34)}.coop-hud:not(.open){display:none}.coop-partner{display:grid;grid-template-columns:8px minmax(0,1fr) auto 28px;align-items:center;gap:6px}.coop-partner>span{width:8px;height:8px;border-radius:50%;background:#e3a54f}.coop-partner>span.online{background:#4ed17f;box-shadow:0 0 0 3px rgba(72,209,126,.1)}.coop-partner strong{font-size:8.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coop-partner small{font-size:6.5px;color:#7e9086;white-space:nowrap}.coop-hud-close{width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#17251f;color:#d7e4dc;font-size:16px;line-height:1}.coop-chat-log{display:flex;flex-direction:column;gap:3px;max-height:76px;margin-top:7px;overflow-y:auto;pointer-events:none}.coop-message{align-self:flex-start;max-width:90%;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.07);font-size:7px;line-height:1.35}.coop-message.me{align-self:flex-end;background:rgba(51,178,98,.14);color:#c5f1d4}.coop-chat-form{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:6px}.coop-chat-form input{min-width:0;padding:9px;border:1px solid var(--line);border-radius:7px;background:#0a1411;color:#e5eee8;font-size:8px;touch-action:manipulation}.coop-chat-form button,.coop-pings button{padding:7px 9px;border:0;border-radius:7px;background:#2b9f5a;color:white;font-size:7px;font-weight:900}.coop-pings{display:flex;gap:4px;margin-top:5px;overflow-x:auto;padding-bottom:2px}.coop-pings button{flex:0 0 auto;background:#294237;color:#c8d6ce}.coop-leave-button{width:100%;margin-top:7px;padding:8px;border:1px solid rgba(235,96,88,.23);border-radius:8px;background:rgba(151,48,43,.13);color:#f2aaa6;font-size:7px;font-weight:900}
.coop-permissions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.07)}.coop-permissions small{grid-column:1/-1;color:#809188;font-size:6px;font-weight:950;letter-spacing:.7px}.coop-permissions button{padding:5px 3px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#17231e;color:#788a80;font-size:6px;font-weight:850}.coop-permissions button.allowed{border-color:rgba(77,207,128,.25);background:rgba(49,162,91,.13);color:#aee6c1}
.horse-name-card input{width:100%;margin-bottom:10px;text-align:center;text-transform:none}.horse-hearts{position:absolute;color:#ff7f98;font-size:13px;font-weight:950;text-shadow:0 2px 4px #311;pointer-events:none;animation:horseHeart 1.25s ease-out forwards}@keyframes horseHeart{0%{transform:translateY(0) scale(.7);opacity:0}25%{opacity:1}100%{transform:translateY(-42px) scale(1.15);opacity:0}}
.v3-poi-card{padding:11px;border:1px solid rgba(238,195,78,.18);border-radius:11px;background:rgba(116,82,18,.07)}.v3-poi-card strong{display:block;font-size:10px}.v3-poi-card small{display:block;margin-top:4px;color:#91a299;font-size:8px;line-height:1.45}.v3-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.v3-action-grid button{padding:9px;border:1px solid var(--line);border-radius:8px;background:#21352c;color:#e6f0e9;font-size:7.5px;font-weight:900}.v3-action-grid button:disabled{opacity:.45}
@media(max-width:700px){.island-lobby-card{padding:15px}.lobby-title>span{width:59px;height:59px;flex-basis:59px;font-size:32px}.lobby-title h1{font-size:21px}.lobby-actions{grid-template-columns:1fr}.island-ranking{padding:10px}.coop-hud{right:8px;top:8px;width:min(280px,calc(100vw - 16px))}.coop-chat-log{max-height:54px}.island-status-effects{left:7px;top:89px}.status-effect{max-width:140px;font-size:7px}.discovery-toast{top:69px;min-width:190px;font-size:8px}.ranking-player strong{max-width:145px}}
@media(max-width:430px){.island-lobby-card{max-height:94vh;padding:13px}.lobby-title{margin-bottom:11px}.lobby-title p{font-size:8px}.lobby-section-label small{display:none}.lobby-actions>button{padding:9px}.ranking-row{padding:7px}.session-code-card strong{font-size:23px}.coop-hud{right:8px;top:8px;width:calc(100vw - 16px);max-height:calc(100% - 16px);overflow-y:auto}.coop-pings{display:none}}
@media(max-width:620px){.smithy-section-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.smithy-section-tabs button{min-height:40px;font-size:11px}}

/* V7.12.10 — identidad numérica: cero tachado */
html,body,button,input,select,textarea{font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1,"zero" 1;} html.android-slashed-zero,html.android-slashed-zero body,html.android-slashed-zero button,html.android-slashed-zero input,html.android-slashed-zero select,html.android-slashed-zero textarea{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 0;}
