html,body{margin:0;height:100%;overflow:hidden;background:#0a2a43;touch-action:none}#game{display:block;width:100%;height:100%}#hud{position:fixed;top:env(safe-area-inset-top,0);left:0;padding:8px 12px;color:#fff;font:600 14px system-ui,sans-serif;pointer-events:none;text-shadow:0 1px 2px #000}#controls{position:fixed;inset:0;pointer-events:none}.stick-zone{position:absolute;top:0;bottom:0;width:50%;pointer-events:auto;touch-action:none}.stick-zone.left{left:0}.stick-zone.right{right:0}.stick-ring{position:fixed;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:#ffffff1f;display:none;pointer-events:none}.stick-ring.on{display:block}.stick-knob{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:#ffffffb3;transform:translate(-50%,-50%)}#boost{position:absolute;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:74px;height:74px;border-radius:50%;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;color:#fff;font:700 12px system-ui,sans-serif;background:radial-gradient(circle at 50% 35%,#ffb347,#e8590c);border:3px solid rgba(255,255,255,.8);user-select:none;-webkit-user-select:none;z-index:2;opacity:calc(.45 + var(--fill, 1) * .55)}#boost.held,#boost[data-phase=active]{transform:scale(1.1);box-shadow:0 0 18px #ffb347}#boost[data-phase=cooldown]{filter:grayscale(.7)}#minimap-box{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));width:150px;border:2px solid rgba(255,255,255,.75);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0006;pointer-events:none;z-index:1}#minimap{display:block;width:100%}#minimap-box .north{position:absolute;top:2px;left:50%;transform:translate(-50%);color:#fff;font:700 10px system-ui,sans-serif;text-shadow:0 1px 2px #000}@media(max-width:900px){#minimap-box{width:108px}#hud{max-width:calc(100% - 140px);font-size:11px}}#dock-hint{position:fixed;top:calc(92px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);padding:8px 16px;border-radius:999px;background:#102030bf;border:2px solid #ffd166;color:#ffe9a8;font:700 16px system-ui,sans-serif;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;touch-action:manipulation;cursor:pointer;z-index:2}#dock-hint.on{opacity:1;pointer-events:auto}body.docked #dock-hint,body.docked #controls,body.docked #flee-btn{display:none}#profile-pill{position:fixed;left:calc(8px + env(safe-area-inset-left,0px));top:calc(34px + env(safe-area-inset-top,0px));padding:5px 12px;border-radius:999px;background:#0a1826b8;border:2px solid rgba(255,255,255,.55);color:#fff;font:700 13px system-ui,sans-serif;pointer-events:none;z-index:1;white-space:nowrap}#flee-btn{position:fixed;left:calc(8px + env(safe-area-inset-left,0px));top:calc(70px + env(safe-area-inset-top,0px));padding:7px 12px;border-radius:999px;border:2px solid rgba(255,255,255,.8);z-index:3;display:none;background:#b0261ee0;color:#fff;font:700 13px system-ui,sans-serif;touch-action:manipulation}body.dueling #flee-btn{display:block}body.fight-over #flee-btn{display:none}#encounter{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#040e1873;z-index:5}#encounter.on{display:flex}#encounter .card{width:min(420px,86vw);padding:18px 22px;border-radius:16px;background:#0a1826f0;border:3px solid #ff6b5e;color:#fff;font:600 15px system-ui,sans-serif;text-align:center;display:flex;flex-direction:column;gap:10px}#encounter h2{margin:0;font:800 26px system-ui,sans-serif;color:#ff9a8f}#encounter p{margin:0}#encounter .note{color:#ffd166;min-height:1.2em;font-size:13px}#encounter button{padding:11px 14px;border-radius:12px;border:2px solid rgba(255,255,255,.8);color:#fff;font:700 16px system-ui,sans-serif;touch-action:manipulation}#enc-fight{background:#c0281c}#enc-bribe{background:#b8860b}#encounter button:disabled{background:#4a5560;color:#aab6c0;border-color:#ffffff4d}#combat-hud{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(380px,52vw);display:none;flex-direction:column;gap:6px;pointer-events:none;z-index:1}body.dueling #combat-hud{display:flex}#combat-hud .bar{position:relative;height:16px;border-radius:8px;background:#08141eb3;border:2px solid rgba(255,255,255,.7);overflow:hidden}#combat-hud .bar i{position:absolute;inset:0;width:var(--hp, 100%);transition:width .15s}#combat-hud .bar.enemy i{background:linear-gradient(#ff6b5e,#c0281c)}#combat-hud .bar.player i{background:linear-gradient(#7ae582,#2f9e44)}#combat-hud .name{position:absolute;left:8px;top:0;z-index:1;font:700 11px/16px system-ui,sans-serif;color:#fff;text-shadow:0 1px 2px #000}#combat-hud .reload{display:flex;justify-content:center;gap:10px}#combat-hud .reload b{width:64px;height:12px;border-radius:6px;border:2px solid rgba(255,255,255,.7);font-size:0;overflow:hidden;background:linear-gradient(90deg,#ffd166 var(--fill, 100%),rgba(8,20,30,.7) var(--fill, 100%))}#banner{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%) scale(.9);padding:14px 34px;border-radius:14px;background:#0a1826d9;border:3px solid #ffd166;color:#ffe9a8;font:800 34px system-ui,sans-serif;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s;z-index:4}#banner.on{opacity:1;transform:translate(-50%,-50%) scale(1)}#banner small{display:block;font:600 15px system-ui,sans-serif;color:#fff;margin-top:4px}#mine-btn{position:absolute;right:calc(104px + env(safe-area-inset-right,0px));bottom:calc(26px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;display:none;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(circle at 50% 35%,#8a96a3,#37424d);border:3px solid rgba(255,255,255,.8);color:#fff;font:700 11px system-ui,sans-serif;user-select:none;z-index:2;touch-action:none}body.dueling #mine-btn{display:flex}#harbor{position:fixed;inset:0;z-index:6;display:none;align-items:center;justify-content:center;background:#040e189e;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#harbor.on{display:flex}#harbor .card{width:min(720px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(#17324a,#0f2236);border:2px solid #ffd166;border-radius:16px;color:#eef6ff;font:14px system-ui,sans-serif;box-shadow:0 10px 40px #00000080}#harbor header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#00000040}#harbor h2{margin:0;font-size:20px;color:#ffe9a8}#harbor .money{font-weight:800;color:#ffd166;font-size:16px}#harbor .tabs{display:flex;gap:6px;padding:8px 12px 0;overflow-x:auto}#harbor .tabs button{flex:1;min-width:80px;padding:9px 8px;border-radius:10px 10px 0 0;border:0;background:#22435f;color:#cfe6ff;font:700 14px system-ui,sans-serif}#harbor .tabs button.sel{background:#ffd166;color:#20180a}#harbor .tab-note{margin:0;padding:8px 16px 0;font-size:12px;color:#9fc2e0}#harbor .body{padding:6px 12px 10px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}#harbor h3{margin:12px 4px 4px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#ffd166}#harbor .info{margin:6px 4px;font-size:12px;color:#9fc2e0}#harbor .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;margin:5px 0;border-radius:10px;background:#ffffff12}#harbor .row.hot{outline:2px solid #ff9f43}#harbor .row.cur{outline:2px solid #5fd38d}#harbor .what{flex:1 1 160px;display:flex;flex-direction:column;gap:2px}#harbor .what small{color:#9fc2e0;font-size:12px}#harbor .what em{color:#ffb066;font-style:normal;font-size:12px}#harbor .price{display:flex;flex-direction:column;font-size:12px;color:#cfe6ff;min-width:70px}#harbor .acts{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}#harbor button[data-act]{padding:8px 12px;border-radius:8px;border:0;background:#2e8bd8;color:#fff;font:700 13px system-ui,sans-serif;touch-action:manipulation}#harbor button[disabled]{background:#3a4d5e;color:#7e92a4}#harbor .sold{color:#9fc2e0;font-size:12px}#harbor .chip{flex:1 1 180px;display:flex;flex-direction:column;padding-left:8px;border-left:5px solid var(--c, #fff)}#harbor .chip small{color:#bcd6ee}#harbor footer{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#00000040}#harbor footer .msg{flex:1;font-size:13px;color:#8be0a4;min-height:1.2em}#harbor.bad footer .msg{color:#ff9a8a}#harbor footer button{padding:10px 18px;border-radius:10px;border:0;background:#ffd166;color:#20180a;font:800 15px system-ui,sans-serif;touch-action:manipulation}#harbor header,#harbor .tabs,#harbor .tab-note,#harbor footer{flex-shrink:0}#harbor .tabs button{flex-shrink:0}@media(max-height:480px){#harbor .tab-note{display:none}#harbor header{padding:6px 14px}#harbor .tabs button{padding:6px 8px}#harbor footer{padding:6px 12px}}#mission-strip{position:fixed;top:calc(30px + env(safe-area-inset-top,0px));left:340px;z-index:1;max-width:min(520px,calc(100% - 660px));padding:5px 14px;border-radius:12px;background:#0a1826b8;border:2px solid #ffd166;color:#ffe9a8;font:700 13px system-ui,sans-serif;pointer-events:none;text-align:center;display:none}#mission-strip.on{display:block}body.docked #mission-strip,body.dueling #mission-strip{display:none}#harbor .pips{letter-spacing:2px;color:#ffd166}@media(max-width:900px){#mission-strip{top:calc(66px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));max-width:calc(100% - 150px);text-align:left}#dock-hint{top:calc(120px + env(safe-area-inset-top,0px))}}#intro{position:fixed;inset:0;z-index:10;display:none;background:linear-gradient(#0a3a5c,#0d5d8a 60%,#1480a8);overflow:hidden}#intro.on{display:block}#intro .film{position:absolute;inset:0;width:100%;height:100%;display:block}#intro .fade{position:absolute;inset:0;background:#000;pointer-events:none}#intro .cap{position:absolute;left:0;right:0;top:calc(9% + env(safe-area-inset-top,0px));margin:0;text-align:center;opacity:0;color:#fff;font:800 clamp(20px,4.4vw,38px) Georgia,serif;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,20,40,.8)}#intro .brand{position:absolute;left:0;right:0;top:38%;text-align:center;opacity:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-shadow:0 3px 18px rgba(0,20,40,.85)}#intro .brand b{color:#f5e6b8;font:900 clamp(38px,9vw,84px) Georgia,serif;letter-spacing:.06em}#intro .brand span{color:#fff;font:700 clamp(16px,3vw,26px) system-ui,sans-serif;letter-spacing:.4em;text-transform:uppercase;opacity:0}#intro .skip{position:absolute;bottom:20px;width:100%;text-align:center;color:#ffffffb3;font:13px system-ui,sans-serif}#auth{position:fixed;inset:0;z-index:9;display:none;align-items:center;justify-content:center;background:linear-gradient(#0a3a5c,#0d5d8a 60%,#1480a8);overflow-y:auto}#auth.on{display:flex}#auth .card{width:min(380px,92vw);padding:18px;border-radius:16px;background:#102c44;border:2px solid #ffd166;color:#eef6ff;font:14px system-ui,sans-serif;display:flex;flex-direction:column;gap:10px}#auth h2{margin:0;text-align:center;color:#ffe9a8;font-size:26px}#auth .tabs{display:flex;gap:6px}#auth .tabs button{flex:1;padding:9px 4px;border:0;border-radius:8px;background:#22435f;color:#cfe6ff;font:700 13px system-ui,sans-serif}#auth .tabs button.sel{background:#ffd166;color:#20180a}#auth label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#9fc2e0}#auth input{padding:10px;border-radius:8px;border:1px solid #3b6a8f;background:#0b2033;color:#fff;font-size:16px}#auth .note{margin:0;font-size:12px;color:#9fc2e0}#auth .err{margin:0;min-height:1.2em;font-size:13px;color:#ff9a8a}#auth .go{padding:12px;border:0;border-radius:10px;background:#ffd166;color:#20180a;font:800 16px system-ui,sans-serif}#auth .go[disabled]{opacity:.5}#harbor footer .quiet{background:#ffffff1f;color:#cfe6ff;font-weight:700;font-size:13px;padding:8px 12px}
