:root{--panel: rgba(32, 27, 22, .8);--panel-solid: #201b16;--line: rgba(255, 228, 180, .16);--text: #f4ecdb;--dim: #b9ab92;--accent: #eba44a;--accent-dark: #9b5f1d;--ok: #62d98f;--bad: #ee5a45;--warn: #f2cc4a}html,body{margin:0;height:100%;overflow:hidden;background:#0b1622;font-family:system-ui,Microsoft YaHei,PingFang SC,sans-serif;color:var(--text)}#view{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}#ui{position:fixed;inset:0;pointer-events:none;font-size:13px;line-height:1.4;user-select:none}#ui>*{pointer-events:auto}#ui .nopointer{pointer-events:none}.panel{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(6px);box-shadow:0 6px 22px #00000059}.panel h3{margin:0;padding:8px 12px 6px;font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:600;text-transform:none}.inventory{left:14px;top:14px;width:232px;max-height:calc(100vh - 156px);display:flex;flex-direction:column}.inventory .scroll{overflow-y:auto;padding:0 6px 8px;scrollbar-width:thin;scrollbar-color:#5b4a36 transparent}.inv-head{padding:9px 12px 4px;display:flex;justify-content:space-between;align-items:baseline}.inv-head b{font-size:15px}.inv-head span{color:var(--dim);font-size:11px}.kind-title{margin:6px 6px 2px;font-size:11px;color:var(--dim);display:flex;align-items:center;gap:6px}.kind-dot{width:9px;height:9px;border-radius:2px;display:inline-block;border:1px solid rgba(0,0,0,.5)}.part-row{display:grid;grid-template-columns:1fr auto 34px;gap:0 6px;align-items:center;padding:2px 8px;margin:1px 0;border-radius:6px;cursor:pointer;border:1px solid transparent}.part-row:hover{background:#ffe4b417}.part-row.active{background:#eba44a38;border-color:var(--accent)}.part-row.empty{opacity:.38;cursor:not-allowed}.part-row .name{font-size:13px}.part-row .meta{color:var(--dim);font-size:10.5px}.part-row .stock{font-variant-numeric:tabular-nums;font-size:13px;color:var(--accent);text-align:right}.patches{left:14px;bottom:14px;width:232px}.patches h3{padding-bottom:5px}.patch-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 8px 9px}.patch-btn{background:#ffe4b412;border:1px solid var(--line);color:var(--text);border-radius:7px;padding:5px 2px 4px;cursor:pointer;font:inherit;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px}.patch-btn:hover{background:#ffe4b426}.patch-btn.active{border-color:var(--accent);background:#eba44a40}.patch-btn .chip{width:12px;height:12px;border-radius:50%;border:1.5px solid #111;margin-bottom:1px}.patch-btn b{font-size:12.5px}.patch-btn small{font-size:10px;color:var(--dim);line-height:1.25}.bottombar{left:50%;bottom:14px;width:max-content;max-width:94vw;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;box-shadow:none;backdrop-filter:none;pointer-events:none}.bottombar>*{pointer-events:auto}.hint{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 12px;color:var(--dim);font-size:12px;max-width:70vw;text-align:center}.hint b{color:var(--text);font-weight:600}.hint .kbd{display:inline-block;padding:0 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--text);font-size:11px;background:#ffffff0f}.actions{display:flex;gap:8px;align-items:stretch}.btn{font:inherit;font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 14px;cursor:pointer;backdrop-filter:blur(6px)}.btn:hover:not(:disabled){background:#463a2ce6}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(#f0ac52,#c97a22);color:#2a1604;border-color:#f4c27e;font-weight:700;font-size:15px;padding:8px 26px}.btn.primary:hover:not(:disabled){background:linear-gradient(#f6b968,#d68529)}.btn.primary:disabled{background:#5a4b38;color:#cfc2a8;border-color:#6d5d47}.btn small{display:block;font-weight:400;font-size:10.5px;opacity:.8}.btn.danger:hover:not(:disabled){background:#782c20e6}.tooltip{position:fixed;pointer-events:none!important;padding:4px 9px;border-radius:6px;font-size:12px;background:#14100ce0;border:1px solid var(--line);white-space:nowrap;transform:translate(14px,16px);z-index:20}.tooltip.bad{border-color:var(--bad);color:#ffb3a6}.tooltip.ok{border-color:var(--ok);color:#bff3d2}.tooltip.warn{border-color:var(--warn);color:#fbe9a1}.snap-tag{position:fixed;pointer-events:none!important;transform:translate(14px);padding:1px 9px;border-radius:99px;font-size:11.5px;font-weight:600;background:#2fe37ae6;color:#05301a;border:1px solid #b6f5d0;z-index:20}.hint .alt-on{color:#f2cc4a}.toast{position:absolute;left:50%;top:66px;transform:translate(-50%);background:#14100ceb;border:1px solid var(--accent);border-radius:8px;padding:7px 16px;color:var(--text);font-size:13px;pointer-events:none!important;transition:opacity .3s;z-index:30}.toast.hide{opacity:0}.eye-panel{right:14px;top:14px;width:292px;max-height:calc(100vh - 128px);overflow-y:auto;padding-bottom:8px;scrollbar-width:thin}.eye-panel .row{display:flex;justify-content:space-between;gap:10px;padding:3px 14px}.eye-panel .row span:first-child{color:var(--dim)}.eye-panel .row b{font-variant-numeric:tabular-nums;font-weight:600}.eye-panel .row small{color:var(--dim);font-weight:400;margin-left:4px}.eye-panel .sep{height:1px;background:var(--line);margin:6px 12px}.eye-panel ul{margin:0;padding:0 12px 0 14px;list-style:none}.eye-panel li{padding:3px 0 3px 18px;position:relative;font-size:12px}.eye-panel li:before{content:"";position:absolute;left:2px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--dim)}.eye-panel li.block:before{background:var(--bad)}.eye-panel li.warn:before{background:var(--warn)}.eye-panel li.info:before{background:#6fb7e8}.eye-panel li.ok:before{background:var(--ok)}.eye-legend{display:flex;flex-wrap:wrap;gap:3px 10px;padding:4px 14px 2px;color:var(--dim);font-size:10.5px}.eye-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-.5px}.hud{left:50%;top:14px;transform:translate(-50%);display:flex;gap:2px;padding:6px 8px}.hud .cell{min-width:72px;padding:1px 10px;text-align:center;border-right:1px solid var(--line)}.hud .cell:last-child{border-right:none}.hud .cell small{display:block;color:var(--dim);font-size:10.5px;letter-spacing:.08em}.hud .cell b{font-size:19px;font-variant-numeric:tabular-nums;font-weight:650}.hud .cell b em{font-style:normal;font-size:11px;color:var(--dim);margin-left:2px;font-weight:400}.bar{position:relative;height:7px;width:74px;margin:6px auto 2px;border-radius:4px;background:#ffffff1f;overflow:hidden}.hud .cell.boost b{font-size:16px;line-height:1.35}.hud .cell.boost.burning b{color:#ffb347;animation:boost-pulse .5s ease-in-out infinite alternate}@keyframes boost-pulse{0%{opacity:.65}to{opacity:1}}.bar>i{position:absolute;left:0;top:0;bottom:0;background:var(--accent)}.bar.fuel>i{background:linear-gradient(90deg,#e8523f,#eba44a 45%,#7fd96a)}.flight-hint{left:14px;bottom:14px;padding:8px 12px;color:var(--dim);font-size:12px;line-height:1.7;transition:opacity 1s}.flight-hint b{color:var(--text)}.flight-hint.fade{opacity:.25}.lock-hint{left:50%;bottom:70px;transform:translate(-50%);padding:7px 16px;color:var(--text);font-size:13px;border-color:var(--accent)}.dest-arrow{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none!important;will-change:transform}.dest-arrow .chev{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;background:linear-gradient(135deg,#ffb0dd,#ffe9a0 45%,#9dffe0 75%,#9fd8ff);clip-path:polygon(100% 50%,18% 4%,40% 50%,18% 96%);filter:drop-shadow(0 0 3px rgba(10,8,20,.75)) drop-shadow(0 0 8px rgba(255,190,240,.7))}.dest-arrow .lbl{position:absolute;left:0;top:0;white-space:nowrap;margin:-9px 0 0 -40px;width:80px;text-align:center;font-size:12px;font-weight:650;color:#fff2fb;text-shadow:0 0 3px rgba(10,8,20,.9),0 0 6px rgba(10,8,20,.8);letter-spacing:.04em}.mark{position:absolute;left:0;top:0;pointer-events:none!important;will-change:transform}.mark.aim{width:40px;height:40px;margin:-20px 0 0 -20px;box-sizing:border-box;border:2.5px solid #ffe27a;border-radius:50%;box-shadow:0 0 0 1.5px #0a0804a6,inset 0 0 0 1.5px #0a080480}.mark.aim:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#ffe27a;box-shadow:0 0 0 1px #0a0804b3}.mark.nose{width:26px;height:26px;margin:-13px 0 0 -13px}.mark.nose i{position:absolute;background:#8fe8ff;box-shadow:0 0 0 1.5px #0a0804b3;border-radius:1px}.mark.nose i:first-child{left:0;right:0;top:50%;height:3px;margin-top:-1.5px}.mark.nose i:last-child{top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px}.result{left:50%;top:15vh;transform:translate(-50%);width:330px;padding:18px 22px 14px;text-align:center;cursor:pointer;background:#201b16e6;animation:pop .32s cubic-bezier(.2,1.4,.4,1)}.result .big{font-size:34px;font-weight:800;letter-spacing:.02em;margin:2px 0 4px}.result .big em{font-style:normal;color:var(--accent)}.result .record{display:inline-block;background:linear-gradient(#ffd66b,#eba44a);color:#3a2000;font-weight:800;padding:2px 14px;border-radius:99px;margin-bottom:6px;font-size:14px}.result .reason{color:var(--dim);font-size:14px}.result .need{margin-top:5px;color:#ffd27a;font-size:13px;line-height:1.4;max-width:320px}.result .tide{margin-top:3px;color:#9fc4d6;font-size:12px;letter-spacing:.06em;opacity:.9}.result .best{margin-top:6px;color:var(--dim);font-size:12px}.result .remain{margin-top:8px;padding-top:7px;border-top:1px dashed var(--line);font-size:14px;color:#ffd3ef}.result .remain em{font-style:normal;font-weight:750;font-size:17px;color:#ffe9f7;font-variant-numeric:tabular-nums}.result.arrived{width:360px;background:linear-gradient(160deg,#3c284eeb,#183046eb);border-color:#ffdcf573;box-shadow:0 0 34px #ffaaeb59,0 0 70px #82dcff40,0 6px 22px #00000059}.result.arrived .sparkle{color:#ffe9a8;letter-spacing:.4em;font-size:14px;opacity:.9}.result.arrived .big.win{font-size:38px;background:linear-gradient(90deg,#ff9fd6,#ffe08a 28%,#9dffd2 55%,#8fd8ff 78%,#c8a8ff);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:2px}.result.arrived .reason{color:#e8dcf5}.result .back{margin-top:12px;font-size:11.5px;color:var(--dim);border-top:1px solid var(--line);padding-top:8px}@keyframes pop{0%{transform:translate(-50%) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@media(max-width:900px){.inventory{width:200px}.eye-panel{width:250px}}.crosshair{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;pointer-events:none!important;--c: rgba(255, 255, 255, .9)}.crosshair b{position:absolute;inset:5px;border:2px solid var(--c);border-radius:50%;box-shadow:0 0 0 1px #00000073,inset 0 0 0 1px #00000059}.crosshair i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px #00000080}.crosshair i+i{display:none}.crosshair.tool b{border-radius:2px;transform:rotate(45deg)}.crosshair[data-tone=ok]{--c: #62d98f}.crosshair[data-tone=warn]{--c: #f2cc4a}.crosshair[data-tone=bad]{--c: #ee5a45}.hotbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:flex;gap:3px;padding:4px;max-width:98vw;background:#1c1712b8;border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(6px)}.hotbar .slot{position:relative;width:52px;height:44px;padding:6px 2px 2px;box-sizing:border-box;border-radius:6px;border:1px solid transparent;background:#ffe4b40f;cursor:pointer;text-align:center;overflow:hidden}.hotbar .slot:hover{background:#ffe4b424}.hotbar .slot .swatch{position:absolute;left:0;right:0;top:0;height:4px}.hotbar .slot .sname{display:block;font-size:11px;line-height:1.2;white-space:nowrap}.hotbar .slot em{display:block;font-style:normal;font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums}.hotbar .slot.active{border-color:var(--accent);background:#eba44a47}.hotbar .slot.empty{opacity:.32}.island-hint{position:absolute;left:50%;bottom:66px;transform:translate(-50%);max-width:96vw;white-space:nowrap;padding:5px 12px;background:#1c1712b8;border:1px solid var(--line);border-radius:8px;color:var(--dim);font-size:12px;pointer-events:none!important}.island-hint b{color:var(--text);font-weight:600}.island-hint .kbd{display:inline-block;padding:0 5px;margin:0 1px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--text);font-size:11px;background:#ffffff0f}.island-hint .alt-on{color:#f2cc4a}.launch-chip{position:absolute;left:50%;top:14px;transform:translate(-50%);padding:4px 14px;border-radius:99px;font-size:12px;background:#1c1712b3;border:1px solid var(--line);color:var(--dim);pointer-events:none!important}.launch-chip.blocked{color:#ffb3a6;border-color:var(--bad)}.launch-chip .kbd{display:inline-block;padding:0 5px;margin-right:2px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;color:var(--text);font-size:11px;background:#ffffff0f}.island-objective{position:absolute;left:22px;top:22px;width:min(300px,35vw);padding:16px 18px 12px;border:1px solid #f7e6b866;border-left:3px solid #ebb968;border-radius:4px 12px 12px 4px;color:#fff2da;background:#201d18db;box-shadow:0 5px 20px #0002;pointer-events:none!important}.context-name{font-size:10px;letter-spacing:.24em;color:#e9bb73;margin-bottom:7px}.island-objective>b{display:block;font-size:19px;line-height:1.45;font-weight:650}.island-objective p{margin:7px 0 12px;color:#cbbfaa;font-size:12px;line-height:1.7}.objective-route{border-top:1px solid #fff2;padding-top:9px;color:#f0d19f;font-size:12px;font-variant-numeric:tabular-nums}.island-hint{white-space:normal;line-height:1.8;text-align:center;padding:7px 13px}.island-hint.scavenging{bottom:26px}.launch-chip{top:22px;padding:8px 16px;font-size:13px}.toast{top:76px}@media(max-width:800px){.island-objective{left:12px;top:12px;width:230px;max-width:42vw;padding:10px 12px}.island-objective>b{font-size:15px}.launch-chip{left:auto;right:12px;transform:none;max-width:35vw}}.wash-line{position:absolute;left:50%;top:24%;transform:translate(-50%);padding:0 12px;font-size:21px;letter-spacing:.08em;color:#f4ecdb;text-shadow:0 1px 6px rgba(10,8,4,.9),0 0 2px rgba(10,8,4,.9);pointer-events:none!important;opacity:0;animation:wash-line 3s ease-in-out forwards}@keyframes wash-line{0%{opacity:0}18%{opacity:.95}72%{opacity:.95}to{opacity:0}}.pause-prompt{left:50%;top:60%;transform:translate(-50%);padding:9px 20px;font-size:14px;border-color:var(--accent);pointer-events:none!important}.pause-prompt.small{top:56px;padding:3px 14px;font-size:12px}.inspect-badge{left:50%;top:14px;transform:translate(-50%);padding:6px 16px;font-size:13px;border-color:var(--accent);pointer-events:none!important}.plans{left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,92vw);max-height:82vh;display:flex;flex-direction:column;background:#1e1914f0}.plans-head{display:flex;align-items:baseline;gap:10px;padding:10px 14px 6px}.plans-head b{font-size:16px}.plans-head span{color:var(--dim);font-size:11px;flex:1}.plans-close{background:none;border:none;color:var(--dim);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.plan-save{display:flex;gap:8px;padding:4px 14px 8px}.plan-name{flex:1;font:inherit;font-size:13px;color:var(--text);background:#ffffff12;border:1px solid var(--line);border-radius:8px;padding:7px 10px;outline:none;user-select:text}.plan-name:focus{border-color:var(--accent)}.plan-follow{margin:0 14px 6px;padding:6px 10px;border-radius:8px;background:#5ec8ff1f;border:1px solid rgba(94,200,255,.4);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.plan-list{overflow-y:auto;padding:0 10px 6px;scrollbar-width:thin;scrollbar-color:#5b4a36 transparent}.plan-row{display:flex;align-items:center;gap:10px;padding:8px;margin:3px 0;border-radius:8px;background:#ffe4b40d;border:1px solid transparent}.plan-row.following{border-color:#5ec8ff99}.plan-info{flex:1;min-width:0}.plan-title{display:flex;align-items:center;gap:8px}.plan-tag{font-size:10.5px;padding:0 7px;border-radius:99px;background:#ffffff1a;color:var(--dim)}.plan-tag.preset{background:#eba44a33;color:var(--accent)}.plan-count{color:var(--dim);font-size:11px}.plan-note{color:var(--dim);font-size:11.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-actions{display:flex;gap:6px}.plan-actions .btn{padding:5px 10px;font-size:12px}.plan-foot{display:flex;align-items:center;gap:12px;padding:8px 14px 12px;border-top:1px solid var(--line)}.plan-foot .btn{flex:none;white-space:nowrap}.plan-foot small{color:var(--dim);font-size:11px;line-height:1.4}.language-selector{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:2100;display:flex;align-items:center;gap:8px;padding:7px 10px;color:#f6ecd6;background:#16191ddd;border:1px solid #ffffff55;border-radius:6px;font:13px system-ui,sans-serif;pointer-events:auto}.language-selector select{color:inherit;background:#202522;border:1px solid #ffffff66;border-radius:4px;padding:4px 6px;font:inherit;cursor:pointer}.language-selector select:focus-visible{outline:2px solid #eba44a;outline-offset:2px}html[lang=en] .title-screen h1{font-size:clamp(32px,7.8vw,94px);letter-spacing:.02em;text-indent:0}html[lang=en] .title-sub{display:none}html[lang=en] .title-lore{letter-spacing:.02em;text-indent:0}html[lang=en] .title-start{letter-spacing:.02em}html[lang=en] .intro-title h1{font-size:clamp(30px,7vw,90px);letter-spacing:.02em}html[lang=en] .intro-title>div{display:none}html[lang=en] #boot h1{font-size:clamp(25px,6vmin,60px);text-align:center;letter-spacing:.02em}@media(max-width:600px){.language-selector{font-size:12px;padding:4px 6px;gap:5px}}body.touch .language-selector{right:auto;left:max(12px,env(safe-area-inset-left))}body.touch .language-selector>span{display:none}body.touch .island-objective{top:64px}body.touch .tooltip{left:12px!important;top:auto!important;bottom:50px;transform:none;max-width:min(38vw,300px)}html[lang=en] .touch-btn{max-width:130px}html[lang=en] .touch-btn b{white-space:normal;overflow-wrap:anywhere}
