:root{--sea: #0a1628;--gold: #f4c542;--danger: #e63946;--safe: #2ec4b6;--ui-bg: rgba(8, 18, 38, .88);--ui-border:rgba(255, 255, 255, .12);--ctrl-bg: rgba(8, 18, 38, .72);--tap: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;background:var(--sea);font-family:system-ui,-apple-system,sans-serif;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none}#game{position:fixed;inset:0;display:block;z-index:0}#ui-root{position:fixed;inset:0;z-index:10;pointer-events:none}.screen{display:none;position:absolute;inset:0;flex-direction:column;align-items:center}.screen.active{display:flex}.title-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px 24px env(safe-area-inset-bottom,16px);pointer-events:auto}.title-skull{font-size:64px;filter:drop-shadow(0 0 24px rgba(244,197,66,.6));animation:bob 3s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title-name{font-size:clamp(2rem,8vw,3rem);font-weight:800;letter-spacing:.04em;color:var(--gold);text-shadow:0 2px 20px rgba(244,197,66,.4);text-align:center}.title-sub{font-size:1rem;color:#ffffff8c;letter-spacing:.15em;text-transform:uppercase}.title-controls-hint{display:flex;flex-direction:column;gap:8px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:12px;padding:14px 24px;margin-top:8px}.hint-row{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#ffffffb3}.hint-key{background:#ffffff26;border-radius:6px;padding:3px 10px;font-weight:700;color:var(--gold);font-size:.85rem;min-width:70px;text-align:center}.hud-top{width:100%;display:flex;align-items:center;gap:10px;padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--ui-bg);border-bottom:1px solid var(--ui-border);backdrop-filter:blur(4px);pointer-events:none}.hud-health{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.hud-ico{font-size:1rem;flex-shrink:0}.hbar-wrap{flex:1;height:8px;background:#ffffff1f;border-radius:4px;overflow:hidden}.hbar{height:100%;width:100%;background:linear-gradient(90deg,#e63946,#ff6b6b);border-radius:4px;transition:width .2s ease}.hud-val{font-size:.8rem;font-weight:700;color:#fffc;flex-shrink:0;width:28px;text-align:right}.hud-mid{display:flex;flex-direction:column;align-items:center;gap:4px}.hud-stat{display:flex;align-items:center;gap:4px;font-size:.9rem;font-weight:700;color:var(--gold);white-space:nowrap}.hud-crew-stat{color:#b8e8ff;font-size:.8rem}.hud-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.xp-strip-wrap{width:70px;height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden}.xp-strip{height:100%;width:0%;background:linear-gradient(90deg,#2ec4b6,#4dd9d0);border-radius:2px;transition:width .4s ease}.levelup-banner{position:absolute;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#f4c542,#ff8c00);color:#0a1628;font-weight:900;font-size:1.1rem;padding:10px 28px;border-radius:24px;box-shadow:0 4px 24px #f4c54280;animation:levelPop .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none}@keyframes levelPop{0%{transform:translate(-50%) scale(.5);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.dock-prompt{position:absolute;top:90px;left:50%;transform:translate(-50%);pointer-events:auto}.btn-dock{background:var(--ui-bg);border:2px solid var(--gold);color:var(--gold);font-size:1rem;font-weight:700;padding:10px 24px;border-radius:24px;cursor:pointer;touch-action:manipulation;box-shadow:0 2px 16px #f4c5424d;animation:pulse-dock 1.5s ease-in-out infinite}@keyframes pulse-dock{0%,to{box-shadow:0 2px 16px #f4c5424d}50%{box-shadow:0 4px 28px #f4c542b3}}.controls-section{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:6px;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));pointer-events:auto}.utility-row{display:flex;align-items:center;gap:8px}.scan-btn{flex:1;height:40px;font-size:.85rem;font-weight:700;letter-spacing:.04em;color:#b4e6ffe6;border-color:#5096dc59}.scan-btn.scanning{background:#0a3778e6;border-color:#64c8ffa6;color:#b8e8ff;box-shadow:0 0 14px #64c8ff59}.scan-btn.cooldown{color:#78a0be73;border-color:#3c648c40;pointer-events:none}.controls-row{display:flex;align-items:flex-end;gap:12px}.ctrl-btn{background:var(--ctrl-bg);border:1.5px solid var(--ui-border);border-radius:16px;color:#fff;font-size:1.6rem;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .1s,transform .1s}.ctrl-btn:active{background:#f4c54240;transform:scale(.94)}.turn-btn{width:var(--tap);height:var(--tap);flex-shrink:0}.fire-btn{flex:1;height:68px;position:relative;overflow:hidden;background:linear-gradient(135deg,#c81e28d9,#e63946d9);border-color:#e6394666;flex-direction:column;gap:2px;border-radius:16px}.fire-btn.reloading{background:linear-gradient(135deg,#3c1414d9,#641e28d9)}.fire-btn.boarding{background:linear-gradient(135deg,#145a46e0,#2ec4b6e0);border-color:#2ec4b680}.fire-label{font-size:1.1rem;font-weight:900;letter-spacing:.1em;z-index:1}.reload-bar{position:absolute;bottom:0;left:0;height:4px;background:var(--gold);width:0%;transition:none}.swap-btn{width:96px;flex-shrink:0;height:40px;font-size:.72rem;font-weight:700;letter-spacing:.08em;background:#0f234bd1;border-color:#6496dc59;color:#96cdffe6;border-radius:10px}.port-panel{position:absolute;bottom:calc(140px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:min(340px,92vw);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px;pointer-events:auto;backdrop-filter:blur(8px);box-shadow:0 8px 40px #00000080;max-height:58vh;overflow-y:auto}.port-panel-header{display:flex;justify-content:space-between;align-items:center;font-size:1.1rem;font-weight:800;color:var(--gold);border-bottom:1px solid var(--ui-border);padding-bottom:10px}.port-gold-disp{font-size:1rem;color:var(--gold)}.port-repair-row,.port-recruit-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;color:#ffffffb3}.btn-port-act{background:#ffffff1a;border:1px solid var(--ui-border);border-radius:10px;color:#fff;font-size:.85rem;font-weight:700;padding:8px 14px;cursor:pointer;touch-action:manipulation;white-space:nowrap}.btn-port-act:disabled{opacity:.4}.btn-port-act.can-afford{background:#f4c54226;border-color:var(--gold);color:var(--gold)}.port-upgrades{display:flex;flex-direction:column;gap:8px}.upgrade-row{display:flex;align-items:center;gap:10px}.upgrade-icon{font-size:1.2rem}.upgrade-info{flex:1;min-width:0}.upgrade-label{font-size:.85rem;font-weight:700}.upgrade-tiers{display:flex;gap:3px;margin-top:2px}.tier-dot{width:10px;height:10px;border-radius:50%;background:#ffffff26}.tier-dot.filled{background:var(--gold)}.btn-upgrade{background:#ffffff14;border:1px solid var(--ui-border);border-radius:10px;color:#fff9;font-size:.8rem;font-weight:700;padding:6px 12px;cursor:pointer;touch-action:manipulation;white-space:nowrap}.btn-upgrade.can-afford{background:#2ec4b626;border-color:var(--safe);color:var(--safe)}.btn-upgrade:disabled{opacity:.35;cursor:default}.btn-port-sail{margin-top:4px;padding:12px;border-radius:12px;font-size:1rem;font-weight:800;touch-action:manipulation}.gameover-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:32px 24px env(safe-area-inset-bottom,16px);pointer-events:auto;text-align:center}.gameover-skull{font-size:72px;animation:sway 2s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.gameover-title{font-size:1.8rem;font-weight:800;color:var(--danger)}.gameover-stats{background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:16px;padding:16px 24px;font-size:.95rem;color:#ffffffbf;line-height:1.9;width:100%;max-width:300px}.gameover-stats strong{color:var(--gold)}.btn-primary{background:linear-gradient(135deg,var(--gold),#e0a820);color:#0a1628;border:none;border-radius:16px;font-size:1.05rem;font-weight:900;letter-spacing:.04em;padding:14px 36px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 20px #f4c54259;transition:transform .15s,box-shadow .15s}.btn-primary:active{transform:scale(.96);box-shadow:0 2px 10px #f4c54233}.btn-large{font-size:1.1rem;padding:16px 48px;border-radius:20px}.hidden{display:none!important}
