:root{color:#e3e4dc;font-synthesis:none;--teal:#78cace;--gold:#c6a577;--panel:#0a171ef0;background:#09161e;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:linear-gradient(160deg,#1e303a,#101e26);border:1px solid #57636a;transition:border-color .15s,background .15s,transform .15s}button:hover{border-color:var(--gold);background:linear-gradient(160deg,#2a414b,#172d36)}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed;transform:none}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:4px}button svg{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px}button.primary{color:#fff1d2;background:linear-gradient(110deg,#7f6746,#4b402f);border-color:#b89d72}button.primary:hover{background:linear-gradient(110deg,#9a8059,#61503a)}button span,button small{pointer-events:none}[hidden]{display:none!important}#app{width:100vw;height:100dvh;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.vignette{pointer-events:none;z-index:1;background:radial-gradient(at 50% 45%,#0000 46%,#00091073);position:absolute;inset:0}.rune-mark{color:var(--gold);font-family:Georgia,serif;font-size:34px}.menu{z-index:10;position:absolute;inset:0}.menu-art{background:url(/play/abyss-expedition/assets/ui/menu.png) 50%/cover;position:absolute;inset:0}.menu-shade{background:linear-gradient(90deg,#040c12eb,#040c12a6 34%,#0000 75%),linear-gradient(#0000 70%,#040c12cc);position:absolute;inset:0}.menu-content{scrollbar-width:thin;width:380px;max-height:85%;position:absolute;top:9%;left:8.5%;overflow:auto}.eyebrow{letter-spacing:3px;color:var(--gold);align-items:center;gap:12px;font-size:11px;display:flex}.eyebrow .rune-mark{font-size:29px}h1{letter-spacing:9px;color:#ede4d1;text-shadow:0 4px 26px #02090e;margin:18px 0 23px;font-family:Songti SC,SimSun,serif;font-size:70px;font-weight:700;line-height:1.13}h1 span{font-size:76px}.gold-line{background:linear-gradient(90deg,var(--gold),transparent);width:220px;height:1px}.menu-quote{letter-spacing:2px;color:#c7ba9f;margin:23px 0 14px;font-family:SimSun,serif;font-size:18px}.menu-copy{color:#92a4aa;margin:0 0 28px;font-size:13px;line-height:1.9}.menu-actions{flex-direction:column;gap:10px;display:flex}.menu-actions button{text-align:left;letter-spacing:2px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:15px 20px;font-size:17px;display:flex}.menu-actions button span{letter-spacing:.7px;color:#b7b9ae;font-size:10px}.menu-options{color:#adbac0;align-items:center;gap:12px;margin-top:22px;font-size:11px;display:flex}.menu-options button{background:0 0;border:0;padding:8px;font-size:12px}.menu-options select{color:#c8d6d8;background:#10212b;border:1px solid #3a505c;max-width:145px;margin-left:7px;padding:6px}.load-status{color:#7e939d;letter-spacing:1px;margin-top:20px;font-size:10px}.load-status span{color:#8db6b7}.ready-dot{background:var(--teal);border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.menu-footer{letter-spacing:2px;color:#8b9ca2;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:22px;left:8.5%;right:4%}.hud{z-index:3;pointer-events:none;position:absolute;inset:0}.hud button,.hud input{pointer-events:auto}.topbar{background:linear-gradient(#071219f7,#0c1a22e8);border-bottom:1px solid #5a5c4d;align-items:center;gap:32px;height:74px;padding:0 24px;display:flex;box-shadow:0 12px 28px #0005}.brand{letter-spacing:2px;white-space:nowrap;align-items:center;gap:12px;font-family:SimSun,serif;font-size:19px;display:flex}.brand small{letter-spacing:2px;color:#7f9ba5;margin-top:5px;font-family:Microsoft YaHei,sans-serif;font-size:9px;display:block}.resources{align-items:center;gap:25px;font-family:Georgia,serif;font-size:18px;display:flex}.resources b{color:#e6e7de;font-variant-numeric:tabular-nums;margin-left:8px;font-size:23px;font-weight:400}.gold-icon{color:#d1ac6e}.hp-stat{color:#9cbacb;align-items:center;display:flex}.health-track{background:#493936;width:62px;height:3px;margin-left:12px;display:inline-flex}.health-track i{background:#b56350;height:100%;transition:width .2s}.wave-status{text-align:center;min-width:190px;margin-left:auto}.wave-status small{color:#90a9b3;letter-spacing:1px;margin-bottom:5px;font-size:10px;display:block}.wave-status strong{letter-spacing:1px;font-family:Georgia,SimSun,serif;font-size:19px;font-weight:400}.topbar nav{gap:9px;margin-left:auto;display:flex}.topbar nav button{min-width:43px;height:36px;font-size:17px}.objective{border-left:2px solid var(--gold);letter-spacing:1px;background:linear-gradient(90deg,#10232be8,#10232b50);align-items:center;gap:9px;padding:9px 14px;font-size:11px;display:flex;position:absolute;top:92px;left:25px}.objective-dot{border:1px solid var(--gold);width:6px;height:6px;transform:rotate(45deg)}#relic-count{color:var(--teal);font-size:10px}.rescue{text-align:left;border-color:#867453;padding:10px 14px;font-size:12px;position:absolute;top:144px;left:25px}.rescue span{color:var(--gold);letter-spacing:2px;margin-bottom:6px;font-size:9px;display:block}.rescue b{color:#d5b67e;margin-left:16px;font-weight:400}.bottom-bar{pointer-events:none;background:linear-gradient(#0000,#07151ced);justify-content:space-between;align-items:flex-end;gap:20px;padding:12px 24px 19px;display:flex;position:absolute;bottom:0;left:0;right:0}.build-tray,.skill-tray{pointer-events:auto;gap:9px;display:flex}.build-card{clip-path:polygon(6% 0,94% 0,100% 6%,100% 94%,94% 100%,6% 100%,0 94%,0 6%);background:linear-gradient(160deg,#1d3540e8,#0b1d26f5);border-color:#716e58;flex-direction:column;justify-content:center;align-items:center;width:104px;height:119px;display:flex;position:relative;box-shadow:0 3px 20px #0005}.build-card svg{color:#b5b8a9;filter:drop-shadow(0 2px 4px #000);width:46px;height:46px;margin:3px 0 8px}.build-card strong{letter-spacing:1px;font-size:12px;font-weight:400}.build-card small{color:#d4b884;margin-top:7px;font-size:12px}.keyhint{color:#667d86;font-size:9px;position:absolute;top:5px;right:7px}.furnace svg{color:#db9d60}.seal svg{color:var(--teal)}.build-card.selected{border-color:var(--teal);background:#24434d;box-shadow:inset 0 0 15px #4dabb533}.wave-action{text-align:center;flex:1;max-width:450px;margin-bottom:6px}.wave-action .primary{letter-spacing:2px;pointer-events:auto;min-width:205px;padding:11px 22px;font-size:13px}.wave-action .primary span{margin-left:28px}.hint{color:#d7dfdc;letter-spacing:1px;text-shadow:0 2px 6px #000;margin-bottom:12px;font-size:11px}.wave-action>small{color:#9eb0b6;min-height:14px;margin-top:9px;font-size:9px;display:block}.skill-tray{gap:14px;margin-bottom:5px}.skill-button{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;width:87px;height:105px;display:flex;position:relative}.skill-button svg{color:#f0aa72;background:radial-gradient(circle,#582c2280,#15212bed);border:1px solid #b8885b;border-radius:50%;width:62px;height:62px;padding:12px;box-shadow:0 0 0 4px #10202bc9,0 0 0 5px #5c6556}.skill-button.frost svg{color:#80d5df;background:radial-gradient(circle,#17657970,#13252beb);border-color:#79bec7}.skill-button strong{letter-spacing:2px;margin-top:8px;font-size:12px;font-weight:400}.skill-button small{color:#aab8b9;background:#0a1a21e6;padding:2px 5px;font-size:9px;position:absolute;top:50px}.skill-button.selected svg{box-shadow:0 0 0 4px #5caca899,0 0 0 5px #b5e8da}.cancel-action{background:#102630e6;padding:7px 15px;font-size:11px;position:absolute;bottom:153px;left:50%;transform:translate(-50%)}.tower-panel{pointer-events:auto;scrollbar-width:thin;background:linear-gradient(160deg,#132731f5,#091821f5);border:1px solid #667163;width:215px;max-height:calc(100dvh - 255px);padding:16px;position:absolute;top:95px;right:24px;overflow:auto;box-shadow:0 10px 40px #0007}.tower-emblem{color:#baa881;justify-content:center;align-items:center;height:48px;display:flex}.tower-emblem svg{fill:none;stroke:currentColor;stroke-width:1.2px;width:45px;height:45px}.tower-panel>small{letter-spacing:2px;color:#7f9ca5;margin-top:7px;font-size:9px;display:block}.tower-panel h2{letter-spacing:2px;margin:10px 0;font-family:SimSun,serif;font-size:17px}.tower-panel p{color:#95a9b1;margin:0 0 12px;font-size:10px;line-height:1.8}.panel-close{color:#a2b4b9;background:0 0;border:0;width:32px;height:32px;font-size:21px;position:absolute;top:7px;right:7px}.tower-stats{color:#90a6af;border-top:1px solid #354850;border-bottom:1px solid #354850;justify-content:space-between;margin:10px 0 13px;padding:10px 0;font-size:9px;display:flex}.tower-stats b{color:#d0dcd9;margin-top:5px;font-family:Georgia,serif;font-size:16px;font-weight:400;display:block}.upgrade-choice{text-align:left;width:100%;margin-top:7px;padding:10px}.upgrade-choice strong{justify-content:space-between;font-size:11px;font-weight:400;display:flex}.upgrade-choice span{color:var(--gold);font-size:10px}.upgrade-choice small{color:#9eb3b8;margin-top:6px;font-size:9px;line-height:1.5;display:block}.sell{background:#34251f9c;border-color:#72594a;justify-content:space-between;width:100%;margin-top:12px;padding:10px;font-size:10px;display:flex}.branch-chosen{color:var(--teal);padding:10px 0;font-size:10px}.toast{color:#d4e5df;opacity:0;pointer-events:none;text-align:center;background:#112832f0;border:1px solid #6ca0a2;max-width:480px;padding:10px 20px;font-size:12px;transition:opacity .2s,transform .2s;position:absolute;top:144px;left:50%;transform:translate(-50%,-8px);box-shadow:0 3px 22px #0005}.toast.visible{opacity:1;transform:translate(-50%)}.toast.error{color:#e4b799;border-color:#b77458}.overlay{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020b14bd;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.dialog{background:linear-gradient(145deg,#142c37,#0b1b24);border:1px solid #7f8068;width:100%;max-width:610px;max-height:90dvh;padding:36px;overflow:auto;box-shadow:0 15px 80px #0008}.dialog h2{letter-spacing:3px;margin:22px 0;font-family:SimSun,serif;font-size:27px;font-weight:400}.dialog p{color:#aebec2;margin-bottom:22px;font-size:13px;line-height:1.9}.dialog-story{color:#d5d2bd!important}.dialog>.primary{letter-spacing:2px;width:100%;margin-top:18px;padding:13px;font-size:13px}.tutorial-steps{color:#a8c6c8;border-left:1px solid #699ca0;flex-direction:column;gap:11px;margin:20px 0;padding:10px 15px;font-size:12px;display:flex}.dialog-actions{gap:12px;margin-top:20px;display:flex}.dialog-actions button{flex:1;min-height:45px;font-size:13px}.dialog-actions.vertical{flex-direction:column}.relic-options{gap:12px;display:flex}.relic-options button{flex-direction:column;flex:1;align-items:center;gap:16px;min-height:180px;padding:22px 12px;display:flex}.relic-symbol{color:var(--gold);font-size:38px}.relic-options strong{font-size:14px;font-weight:400}.relic-options small{color:#a9c0c5;font-size:11px;line-height:1.8}.result-stats{color:#8da9b5;border-top:1px solid #42545c;border-bottom:1px solid #42545c;justify-content:space-between;padding:20px 0;font-size:11px;display:flex}.result-stats b{color:var(--gold);margin-top:10px;font-family:Georgia,serif;font-size:28px;font-weight:400;display:block}.setting-row{justify-content:space-between;align-items:center;margin:22px 0;font-size:14px;display:flex}.setting-row input[type=range]{width:55%;accent-color:var(--teal)}.setting-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--teal)}.settings-note{margin-top:30px;font-size:11px!important}.camp-balance{color:#9fb3ba;align-items:center;gap:20px;margin-bottom:18px;font-size:12px;display:flex}.camp-balance strong{color:var(--gold);font-family:Georgia,serif;font-size:24px}.camp-balance span{margin-left:auto;font-size:10px}.camp-items{flex-direction:column;gap:10px;display:flex}.camp-items button{text-align:left;padding:15px}.camp-items strong{justify-content:space-between;font-size:13px;font-weight:400;display:flex}.camp-items small{color:#8db0ba;margin-top:8px;font-size:10px;display:block}.portrait-notice{z-index:40;background:#0b1e29;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.portrait-notice>span{color:var(--gold);font-size:70px}.portrait-notice strong{letter-spacing:3px;font-size:20px}.portrait-notice p{color:#97b0bb;font-size:12px}@media (height<=700px){.menu-content{width:350px;top:5%}.menu-content h1{margin:11px 0 16px;font-size:50px;line-height:1.08}.menu-content h1 span{font-size:58px}.menu-quote{margin:15px 0 10px;font-size:15px}.menu-copy{margin-bottom:18px;font-size:12px}.menu-actions button{min-height:46px;padding:12px 16px;font-size:14px}.menu-options{margin-top:13px}.load-status{margin-top:12px}.menu-footer{bottom:15px}.tower-panel{max-height:calc(100dvh - 225px);top:85px}}@media (width<=1050px){.topbar{gap:20px;padding:0 16px}.brand{font-size:15px}.brand .rune-mark{font-size:29px}.resources{gap:15px}.resources b{font-size:20px}.health-track{width:40px}.wave-status{min-width:160px}.bottom-bar{gap:14px;padding:10px 15px 14px}.build-card{width:85px;height:105px}.build-card strong{font-size:10px}.build-card svg{width:39px;height:39px}.skill-button{width:70px;height:95px}.skill-button svg{width:54px;height:54px}.skill-tray{gap:8px}.tower-panel{width:195px;right:15px}.hint{font-size:10px}.wave-action .primary{min-width:175px;padding:10px 15px;font-size:12px}.wave-action>small{font-size:8px}.objective{left:16px}}@media (height<=500px) and (orientation:landscape){.menu-content{width:325px;max-height:86%;top:5%;left:6%}.menu-content .eyebrow{letter-spacing:2px;font-size:8px}.menu-content h1{margin:5px 0 10px;font-size:37px;line-height:1.05}.menu-content h1 span{font-size:42px}.menu-quote{margin:10px 0;font-size:12px}.menu-copy{display:none}.menu-actions{gap:7px}.menu-actions button{min-height:42px;padding:9px 14px;font-size:13px}.menu-actions button span{font-size:8px}.menu-options{gap:8px;margin-top:9px;font-size:9px}.menu-options button{padding:5px;font-size:10px}.menu-options select{padding:5px;font-size:9px}.load-status{margin-top:8px;font-size:8px}.menu-footer{font-size:8px;bottom:9px}.topbar{height:51px;padding:0 max(12px,env(safe-area-inset-left));gap:17px}.brand{gap:6px;font-size:12px}.brand .rune-mark{font-size:23px}.brand small{letter-spacing:1px;margin-top:3px;font-size:7px}.resources{gap:12px;font-size:14px}.resources b{margin-left:5px;font-size:17px}.health-track{width:30px;margin-left:7px}.wave-status{min-width:130px}.wave-status small{margin-bottom:3px;font-size:8px}.wave-status strong{font-size:14px}.topbar nav{gap:6px}.topbar nav button{min-width:38px;height:36px;font-size:14px}.objective{padding:7px 10px;font-size:9px;top:63px;left:13px}.bottom-bar{padding:6px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));gap:12px}.build-tray{gap:6px}.build-card{width:74px;height:87px}.build-card svg{width:31px;height:31px;margin:1px 0 5px}.build-card strong{letter-spacing:0;font-size:9px}.build-card small{margin-top:5px;font-size:10px}.keyhint{display:none}.wave-action{margin-bottom:1px}.hint{letter-spacing:0;margin-bottom:6px;font-size:9px}.wave-action .primary{min-width:153px;min-height:38px;padding:8px 12px;font-size:11px}.wave-action>small{text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-top:5px;font-size:7px;overflow:hidden}.skill-tray{gap:3px;margin-bottom:0}.skill-button{width:59px;height:80px}.skill-button svg{width:46px;height:46px;padding:9px}.skill-button strong{margin-top:6px;font-size:10px}.skill-button small{font-size:8px;top:40px}.tower-panel{width:175px;max-height:calc(100dvh - 161px);padding:10px;top:60px;right:12px}.tower-panel .tower-emblem{display:none}.tower-panel h2{margin:8px 0;font-size:14px}.tower-panel>small{margin-top:4px;font-size:8px}.tower-panel p{display:none}.tower-stats{margin:7px 0;padding:7px 0;font-size:8px}.tower-stats b{font-size:13px}.upgrade-choice{min-height:44px;margin-top:5px;padding:8px}.upgrade-choice strong{font-size:9px}.upgrade-choice small{margin-top:4px;font-size:8px}.sell{min-height:36px;margin-top:7px;padding:8px;font-size:9px}.panel-close{width:28px;height:28px;font-size:18px;top:2px;right:2px}.toast{max-width:340px;padding:8px 14px;font-size:10px;top:100px}.rescue{padding:8px 11px;font-size:10px;top:103px;left:13px}.rescue span{margin-bottom:4px;font-size:8px}.cancel-action{padding:7px 12px;font-size:9px;bottom:111px}.dialog{max-width:560px;max-height:92dvh;padding:22px}.dialog .eyebrow{font-size:9px}.dialog h2{margin:13px 0;font-size:22px}.dialog p{margin-bottom:13px;font-size:11px;line-height:1.75}.tutorial-steps{gap:7px;margin:12px 0;padding:8px 12px;font-size:10px}.dialog>.primary{margin-top:10px;padding:11px;font-size:11px}.relic-options button{gap:10px;min-height:140px;padding:14px 10px}.relic-options strong{font-size:12px}.relic-options small{font-size:10px}.result-stats{padding:10px 0}.result-stats b{font-size:22px}.camp-items button{padding:11px}.camp-items strong{font-size:11px}.camp-items small{font-size:9px}.setting-row{margin:14px 0;font-size:12px}}@media (orientation:portrait) and (width<=700px){.portrait-notice{display:flex}.menu-content{width:84%;left:8%}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.toast{max-width:430px;top:auto;bottom:151px;transform:translate(-50%,6px)}.toast.visible{transform:translate(-50%)}body[data-phase=wave] .toast{max-width:400px;bottom:22px}body[data-phase=wave] .hud:has(.toast.visible) .wave-action{visibility:hidden}button:disabled{opacity:1;color:#93a6ad;box-shadow:none;background:linear-gradient(160deg,#152731,#101e26);border-color:#344b55}button:disabled small{color:#95aab0}.build-card:disabled svg,.skill-button:disabled svg{opacity:.45}.build-card:disabled small{color:#aa9e85}.skill-button:disabled{background:0 0;border:0}@media (height<=500px) and (orientation:landscape){.toast{max-width:340px;bottom:109px}body[data-phase=wave] .toast{max-width:340px;bottom:13px}.topbar nav button{min-width:44px;height:44px}.menu-actions button,.dialog button{min-height:44px}.panel-close{width:44px;height:44px}}
