:root{color-scheme:light;--paper:#f5f1e7;--ink:#142e2d;--jade:#29524c;--text:#263b33;--muted:#6c7569;--gold:#daa94e;--pale:#fae2a5;--line:#dbd7c9;--serif:"Songti SC","STSong","Noto Serif CJK SC","SimSun",Georgia,serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none;color:var(--text);background:var(--paper)}
*{box-sizing:border-box}html{min-width:280px}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 93% 0,#e2e9de72,transparent 42%),var(--paper)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,canvas:focus-visible{outline:3px solid #dca83d;outline-offset:3px}button svg,svg.icon,.run-stats svg,.health-hud svg,.lobby-foot svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.hidden{display:none!important}h1,h2,h3,p{margin:0}button{border:0}.site-header{border-bottom:1px solid var(--line)}.masthead,main{width:min(1320px,100%);margin:auto;padding-inline:clamp(16px,4vw,52px)}.masthead{display:flex;gap:24px;align-items:center;height:76px}.brand{background:none;display:inline-flex;align-items:center;gap:11px;padding:0;text-align:left;white-space:nowrap}.brand-mark{width:41px;height:41px;border-radius:12px 5px 12px 5px;background:linear-gradient(135deg,#315849,#142e2d);display:grid;place-items:center;box-shadow:inset 0 0 0 1px #b8944b66,0 2px 0 #1f3a2817}.brand-mark svg{width:28px;height:28px;color:#ffda81;stroke-width:1.55}.brand strong{display:block;font-family:var(--serif);font-size:23px;letter-spacing:2px;line-height:1.12}.brand small,.kicker,.chapter,.cover-seal small,.level-badge,.run-stats,.combo-hud,.dialog-kicker{font-family:var(--mono)}.brand small{display:block;font-size:7px;letter-spacing:1.85px;color:#627665;margin-top:5px}.header-line{flex:1}.header-actions{display:flex;align-items:center;gap:10px}.header-tool,.help-button,.toolbar-tool,.home-button,.panel-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;border:1px solid var(--line);background:#faf8f1;min-height:38px}.header-tool,.toolbar-tool{width:38px;padding:0}.help-button{padding:0 12px;font-size:12px;font-weight:650}.help-button svg{width:16px}.header-tool:hover,.help-button:hover{background:#e8eddf}.lobby{padding-block:24px 28px}.cover{isolation:isolate;position:relative;overflow:hidden;border-radius:16px;color:#fdf5dd;background:#193d3d;box-shadow:0 12px 32px #27342b1c,0 0 0 1px #263d321c;min-height:465px;display:flex;align-items:center}.cover-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 35%;z-index:-3}.cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d2527ee 0%,#163537df 23%,#1a34339e 41%,#152e2521 62%,transparent 80%),linear-gradient(0deg,#1a261e49,transparent 34%);z-index:-2}.cover-copy{padding:42px clamp(26px,4vw,59px);width:min(57%,580px)}.chapter,.kicker{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:1.8px;font-weight:650}.chapter{color:#f8db98}.line-gold,.kicker i{width:25px;height:2px;background:var(--gold);display:inline-block}.diamond{font-size:6px;opacity:.7}.cover h1{font-family:var(--serif);font-size:clamp(50px,5.5vw,79px);letter-spacing:.045em;line-height:1.23;font-weight:900;white-space:nowrap;margin:13px 0 8px;text-shadow:0 3px 13px #0a292154}.cover h1 span{color:#f4ce7b}.cover h1 i{display:inline-flex;font-style:normal;writing-mode:vertical-rl;vertical-align:middle;margin:0 0 .15em 9px;border:1px solid #f3a2908c;outline:1px solid #a54430;outline-offset:1px;background:#a84632;color:#ffe4b9;font-size:12px;line-height:1;padding:5px 2px;letter-spacing:2px}.cover-lead{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:2px;color:#f0eed9}.cover-setup{max-width:417px;margin-top:32px}.label-line{display:flex;align-items:center;gap:12px;color:#ead8ac;font-size:10px;letter-spacing:1.2px;margin-bottom:9px}.label-line i{width:55px;height:1px;background:linear-gradient(90deg,#dac79f77,transparent)}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-picker button{position:relative;min-width:0;display:flex;text-align:left;align-items:center;gap:10px;border:1px solid #d4e5d13d;border-radius:8px;background:#122829bd;color:#d4dfcf;padding:12px 10px;transition:background .18s,border-color .18s}.mode-picker button:hover{border-color:#ecdbb8aa}.mode-picker button[aria-pressed=true]{background:linear-gradient(115deg,#514f30ed,#323d2ce6);color:#ffe4a1;border-color:#d4b56f;box-shadow:inset 2px 0 0 #f4cb78}.mode-picker svg{width:24px;height:24px;stroke-width:1.5}.mode-picker b,.mode-picker small{display:block}.mode-picker b{font-size:14px;line-height:1.3;letter-spacing:.5px}.mode-picker small{font-size:10px;margin-top:4px;color:#bfccbc}.mode-picker button[aria-pressed=true] small{color:#e0cca0}.mode-picker button i{height:7px;width:7px;border:1px solid #9cae9a;border-radius:50%;margin-left:auto}.mode-picker button[aria-pressed=true] i{background:#f0c86c;border-color:#f0c86c;box-shadow:0 0 6px #ebc56888}.difficulty-picker{display:flex;align-items:center;gap:11px;font-size:11px;margin:13px 0}.difficulty-picker>span:first-child{color:#b1c3b5;margin-right:1px}.difficulty-picker button{background:transparent;color:#d0dacc;padding:5px 2px;font-size:11px;border-bottom:1px solid transparent}.difficulty-picker button[aria-pressed=true]{border-color:#dcb35e;color:#ffe3a0}.separ{height:9px;width:1px;background:#b4c2a644}.start-actions{display:flex;gap:9px;flex-wrap:wrap}.gold-button,.secondary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:17px;border-radius:8px;min-height:47px;letter-spacing:1px;font-size:14px;font-weight:750;padding:12px 22px;transition:transform .14s,filter .14s}.gold-button{background:linear-gradient(110deg,#f8df9c,#e3b55e);color:#352c1b;box-shadow:inset 0 1px 0 #fff1c7,0 3px 0 #91703760}.gold-button:hover,.secondary-button:hover{filter:brightness(1.07);transform:translateY(-1px)}.gold-button:active,.secondary-button:active{transform:translateY(1px)}.gold-button svg{width:17px;height:17px}.start-actions .gold-button{min-width:170px}.secondary-button{background:#153c35e6;border:1px solid #c7d9b7aa;color:#eef3da;font-size:12px;justify-content:center;padding-inline:15px}.mode-note{font-size:10px;line-height:1.6;color:#d3dccd;margin-top:11px}.cover-seal{position:absolute;bottom:24px;right:27px;text-align:right;pointer-events:none;color:#fff6d4;text-shadow:0 1px 6px #30250c}.cover-seal span{display:block;font-family:var(--serif);font-weight:750;letter-spacing:5px;font-size:16px}.cover-seal small{font-size:7px;letter-spacing:1.6px}.corner{position:absolute;width:18px;height:18px;pointer-events:none;border:1px solid #ead79b8c}.corner.tl{top:14px;left:14px;border-right:0;border-bottom:0}.corner.tr{top:14px;right:14px;border-left:0;border-bottom:0}.corner.bl{bottom:14px;left:14px;border-right:0;border-top:0}.corner.br{bottom:14px;right:14px;border-left:0;border-top:0}
.relic-heading,.battle-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.relic-heading{margin:28px 0 14px}.kicker{font-size:9px;color:#827342;letter-spacing:1.6px}.kicker i{width:18px}.relic-heading h2,.battle-heading h1{font-family:var(--serif);font-size:25px;letter-spacing:2px;margin-top:6px}.relic-heading>span{font-size:11px;color:var(--muted)}.relic-heading>span b{color:#b59852;margin:0 3px}.relic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.relic-tile{--tint:#a84a2b;--wash:#f1e0c9;position:relative;isolation:isolate;display:grid;grid-template-columns:75px minmax(0,1fr);align-items:center;gap:11px;padding:15px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(107deg,var(--wash),#fffaf0 74%);overflow:hidden}.relic-tile[data-power=fan]{--tint:#296d56;--wash:#d7e6d7}.relic-tile[data-power=ring]{--tint:#765485;--wash:#e6dce9}.relic-tile[data-power=ward]{--tint:#996824;--wash:#eee2bd}.relic-image{position:relative;display:grid;place-items:center;width:74px;height:80px}.relic-image:before{content:"";position:absolute;inset:9px 4px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tint) 27%,transparent);transform:rotate(-15deg);z-index:-1}.relic-image img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #30281024)}.relic-tile small{color:var(--tint);font-size:8px;letter-spacing:1px;font-weight:700}.relic-tile h3{font-family:var(--serif);font-size:19px;letter-spacing:.7px;margin:5px 0}.relic-tile p{font-size:10px;color:#596658;line-height:1.65}.lobby-foot,.battle-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6d796a;font-size:10px;margin-top:19px;padding-top:14px;border-top:1px solid var(--line)}.lobby-foot>span:first-child{display:flex;align-items:center;gap:7px}.lobby-foot svg{width:14px;height:14px;color:#947334}
.battle{padding-block:20px 16px}.battle-heading{margin:0 0 16px}.battle-heading h1{font-size:24px}.battle-heading h1 span{color:#ad9d79;margin-inline:4px}.battle-heading h1 b{font-size:17px;letter-spacing:1px}.live-tag,.map-tag,.boss-clock{display:inline-flex;align-items:center;gap:7px;border-radius:6px;font-size:11px;letter-spacing:.3px}.live-tag{border:1px solid #cfd7c3;padding:6px 10px;background:#e8eddf}.live-tag b,.map-tag b{font-weight:600}.live-tag i,.map-tag i,.game-bottom i{width:6px;height:6px;border-radius:50%;background:#75ba88;display:inline-block}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 221px;gap:17px;align-items:start}.game-shell{display:flex;flex-direction:column;position:relative;border:1px solid #355047;border-radius:14px;overflow:hidden;background:var(--ink);box-shadow:0 8px 24px #2435291a}.game-toolbar{min-height:56px;background:linear-gradient(115deg,#183735,#203d35);display:flex;align-items:center;gap:13px;padding:8px 14px;color:#f4eed8;flex-shrink:0;border-bottom:1px solid #b8c49742}.home-button,.toolbar-tool{border-color:#72857777;background:#ffffff0a;color:#f5ecd1}.home-button{padding:7px 11px;font-size:11px;font-weight:650;white-space:nowrap}.home-button svg{width:15px;height:15px;color:#edcc89}.toolbar-tool{width:33px;min-height:33px}.toolbar-tool svg{width:16px;height:16px}.toolbar-tool:disabled{opacity:.42}.home-button:hover,.toolbar-tool:hover:not(:disabled){background:#f9e5ab19}.level-box{display:flex;align-items:center;gap:8px;flex:1}.level-badge{font-size:16px;font-weight:750;letter-spacing:-1px;color:#f8da93;background:#494c33;display:grid;place-items:center;min-width:30px;height:30px;border-radius:8px;border:1px solid #ad965c88}.xp-block{width:min(130px,100%)}.xp-block>div:first-child,.progress-line{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px}.xp-block b{font-weight:600}.xp-block span{font:9px var(--mono);color:#c4cdb9}.xp-track,.mission-track,.health-track,.boss-track{overflow:hidden;border-radius:5px}.xp-track{background:#b4c3a82c;height:4px;margin-top:5px}.xp-track>div,.mission-track>div,.health-track>div,.boss-track>div{height:100%;transition:width .12s linear}.xp-track>div{background:linear-gradient(90deg,#b39548,#f7d486)}.run-stats,.run-stats>div{display:flex;align-items:center;gap:7px;white-space:nowrap}.run-stats{gap:16px}.run-stats svg{width:16px;height:16px;color:#b8c9ab}.run-stats b{font-size:18px;letter-spacing:-.6px}.run-stats small{font-size:10px;color:#a8b8a4}.arena{height:clamp(415px,63vh,660px);position:relative;overflow:hidden;isolation:isolate;touch-action:none;user-select:none;background:#839a7a}.arena canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.arena-top{position:absolute;left:14px;right:14px;top:13px;display:flex;justify-content:space-between;gap:10px;pointer-events:none}.map-tag,.boss-clock{padding:6px 9px;color:#fff7de;background:#14342cce;border:1px solid #dbe8be55;font-size:10px}.boss-clock{background:#f8f1d5dc;border-color:#61735859;color:#344733;font-family:var(--mono);font-size:10px}.boss-bar{position:absolute;top:46px;left:27%;right:27%;color:#fff0d2;background:#39251ee0;border:1px solid #df9a6e80;padding:6px 9px;border-radius:6px;pointer-events:none}.boss-bar>div:first-child{display:flex;justify-content:space-between;gap:7px;font-size:10px}.boss-bar b{font-family:var(--mono)}.boss-track{height:5px;background:#78483d;margin-top:4px}.boss-track>div{background:linear-gradient(90deg,#c75f51,#fbb17d)}.health-hud{position:absolute;left:16px;bottom:15px;display:flex;align-items:center;gap:6px;background:#16392fde;border:1px solid #c2d2a85c;color:#f6f6df;padding:7px 9px;border-radius:7px;pointer-events:none}.health-hud svg{width:13px;height:13px;fill:#f19283;stroke:#ffe5bf}.health-track{height:6px;width:68px;background:#ffffff2d}.health-track>div{background:#9ad692}.health-hud b{font:9px var(--mono)}.combo-hud{position:absolute;right:17px;top:57px;text-align:right;transform:skew(-6deg);text-shadow:0 2px 3px #2a3324;pointer-events:none;color:#ffe3a1;line-height:1}.combo-hud small{display:block;font-size:9px;letter-spacing:1px;font-weight:750}.combo-hud b{font-size:34px;font-style:italic;letter-spacing:-2px;color:#fff1c5}.combo-hud span{font-size:10px;font-weight:800;margin-left:4px}.pulse-button{position:absolute;right:15px;bottom:14px;display:flex;gap:9px;align-items:center;background:linear-gradient(120deg,#34452f,#1c3028);border:1px solid #dbc083;box-shadow:0 3px 10px #24322055;border-radius:10px;padding:9px 14px;color:#ffe5a3;text-align:left;touch-action:manipulation}.pulse-icon{width:31px;height:31px;background:#cfad5930;border:1px solid #e2c07070;border-radius:8px;display:grid;place-items:center}.pulse-icon svg{fill:#f4cd77;stroke:#f4cd77;width:18px}.pulse-button b,.pulse-button small{display:block}.pulse-button b{font-size:12px;letter-spacing:1px}.pulse-button small{font-size:9px;color:#d3dec8;margin-top:2px}.pulse-button:disabled{color:#d1d7c3;background:#33483c;border-color:#839880}.pulse-button:disabled .pulse-icon{opacity:.55}.pulse-button:hover:not(:disabled){filter:brightness(1.16)}.touch-guide,.joystick{pointer-events:none}.touch-guide{display:none}.joystick{position:absolute;height:98px;width:98px;border:1px solid #faffeb99;border-radius:50%;background:#183a3455;z-index:4}.joystick>div{position:absolute;left:29px;top:29px;height:40px;width:40px;background:#eef2bfaa;border:1px solid #f9ffdfcc;border-radius:50%}.wave-notice{position:absolute;top:24%;left:50%;transform:translateX(-50%);border-block:1px solid #e1bf72;background:linear-gradient(90deg,transparent,#1c342bda 16%,#1c342be8 84%,transparent);color:#ffe8a4;padding:7px 28px;white-space:nowrap;font:700 19px var(--serif);letter-spacing:3px;pointer-events:none}.game-bottom{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 14px;color:#c0ccb3;background:#1c342f;font-size:9px}.game-bottom>span:first-child{display:flex;align-items:center;gap:6px;white-space:nowrap}.game-bottom i{width:4px;height:4px}.sidebar{display:grid;gap:13px}.mission-panel,.loadout-panel{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fcfaf2}.mission-panel{background:linear-gradient(135deg,#294c41,#203c34);color:#fff4d6;border-color:#375445}.mission-panel .kicker{color:#e1c68c}.mission-panel h2,.loadout-panel h2{font:700 19px var(--serif);letter-spacing:1px}.mission-panel h2{margin:13px 0 8px}.mission-panel p{font-size:11px;line-height:1.8;color:#d6e1cd}.progress-line{font-size:10px;color:#c6d8c4;margin:20px 0 7px}.progress-line b{font:11px var(--mono);color:#f1d89c}.mission-track{height:5px;background:#a7c19e35}.mission-track>div{background:linear-gradient(90deg,#9ab584,#e3c47a)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.panel-heading h2{font-size:17px}.panel-heading>span{font:10px var(--mono);color:#8a7a54}.weapon-row{display:flex;align-items:center;gap:8px;margin-top:9px}.weapon-icon{display:grid;place-items:center;flex:none;width:35px;height:35px;background:linear-gradient(140deg,#e9ddb8,#f8f0d8);border:1px solid #dacb9c;border-radius:8px;color:#92773e}.weapon-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.weapon-icon img{width:100%;height:100%;padding:2px;object-fit:contain}.weapon-text{flex:1}.weapon-text b,.weapon-text small{display:block}.weapon-text b{font-size:11px}.weapon-text small{font-size:9px;color:#75826f;margin-top:3px}.weapon-level{font:10px var(--mono);color:#927c47}.loadout-hint{font-size:10px;color:#788371;line-height:1.7;margin-top:10px}.player-attributes{display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line);margin-top:17px}.player-attributes div{text-align:center;flex:1;border-right:1px solid var(--line)}.player-attributes div:last-child{border:0}.player-attributes span{font-size:9px;display:block;color:var(--muted)}.player-attributes b{font:650 14px var(--mono);display:block;margin-top:4px}.battle-foot{margin-top:14px}kbd{border:1px solid #cdcdbd;background:#fcfbf5;border-bottom-width:2px;border-radius:4px;font:9px var(--mono);padding:2px 5px}
.overlay,.help-modal{display:flex;align-items:center;justify-content:center;z-index:5;padding:15px;background:#142e2bcc;backdrop-filter:blur(4px)}.overlay{position:absolute;inset:0}.help-modal{position:fixed;inset:0;z-index:20}.simple-card,.help-card{border:1px solid #cfb377;border-radius:15px;background:linear-gradient(140deg,#fff8e8,#efecdb);box-shadow:0 14px 65px #0e201e65;color:var(--ink);width:min(370px,100%);padding:28px;text-align:center}.dialog-kicker{color:#9a773d;font-size:10px;font-weight:750;letter-spacing:2px}.simple-card h2,.help-card h2,.upgrade-panel h2{font-family:var(--serif);font-size:29px;letter-spacing:2px;margin:10px 0 6px}.simple-card p,.upgrade-panel>p{font-size:12px;color:#626e5f;line-height:1.7;margin:0 0 21px}.simple-card .gold-button,.panel-button{width:100%;justify-content:center}.panel-button{margin-top:11px;min-height:40px;font-size:12px;background:transparent;color:#385746;border-color:#bfc9b8}.panel-button svg{width:15px;height:15px}.text-button{background:transparent;color:#62725d;text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:7px}.simple-card .text-button{margin-top:8px}.result-stats{display:flex;margin:19px 0}.result-stats div{flex:1;border-right:1px solid var(--line)}.result-stats div:last-child{border:0}.result-stats b,.result-stats span{display:block}.result-stats b{font:700 22px var(--mono)}.result-stats span{font-size:10px;color:var(--muted);margin-top:5px}.record-badge{display:block;margin:-2px 0 14px;color:#997731;font-size:11px}.upgrade-panel{width:min(100%,735px);text-align:center;color:#fff4d8}.upgrade-panel .dialog-kicker{color:#e4c686}.upgrade-panel>p{color:#d7e0c9}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upgrade-card{display:flex;flex-direction:column;position:relative;align-items:flex-start;text-align:left;min-height:188px;padding:16px;border:1px solid #c1cba7;background:linear-gradient(140deg,#eef1dc,#fcfaee);border-radius:10px;box-shadow:0 4px 0 #0e211e55;transition:transform .16s}.upgrade-card.rare{border-color:#d7bd79;background:linear-gradient(145deg,#efe1bd,#fcf7e7)}.upgrade-card:hover{transform:translateY(-3px)}.card-top{width:100%;display:flex;justify-content:space-between;align-items:center;gap:5px}.card-top .weapon-icon{height:44px;width:44px}.card-top>small{color:#7f704c;font-size:9px}.upgrade-card h3{font:700 19px var(--serif);margin:12px 0 6px}.upgrade-card p{font-size:11px;color:#5d6958;line-height:1.65;margin:0 0 12px}.card-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c7bd9f88;margin-top:auto;padding-top:8px;font-size:10px;color:#766a46}.choice-hint{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:14px;font-size:10px;color:#ccd8c6}.choice-hint .text-button{color:#ffe3a1}.help-card{position:relative;width:min(450px,100%);max-height:90svh;overflow:auto;text-align:left}.close-help{position:absolute;top:13px;right:13px;background:transparent;border-color:#d8d3c2;width:30px;min-height:30px}.help-card ol{padding-left:21px;margin:19px 0}.help-card li{font-size:12px;line-height:1.7;color:#5e695c;margin:11px 0}.help-card li::marker{color:#a48348;font-family:var(--mono)}.help-card strong{display:block;color:var(--ink);font-size:13px}.help-card>.gold-button{width:100%}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#19372ff2;color:#ffe7a9;z-index:25;padding:10px 17px;border:1px solid #b49f6a;border-radius:7px;box-shadow:0 4px 20px #14282030;font-size:12px;text-align:center;pointer-events:none}.game-shell:fullscreen{border:0;border-radius:0;width:100%;height:100%;display:flex}.game-shell:fullscreen .arena{flex:1;min-height:0}
@media(min-width:1550px){.cover{min-height:512px}}@media(max-width:1000px){.masthead,main{padding-inline:22px}.game-layout{grid-template-columns:minmax(0,1fr) 183px;gap:12px}.game-toolbar{gap:9px}.mission-panel,.loadout-panel{padding:13px}.cover-copy{width:57%;padding:33px}.cover{min-height:428px}.relic-grid{gap:9px}.relic-tile{padding:12px 9px;grid-template-columns:53px 1fr;gap:6px}.relic-image{width:53px;height:65px}.relic-tile h3{font-size:16px}.relic-tile p{font-size:9px}.run-stats{gap:9px}.xp-block{max-width:88px}}@media(max-width:800px){.sidebar{display:none}.game-layout{display:block}.relic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.relic-tile{grid-template-columns:65px 1fr;gap:12px}.relic-image{width:64px;height:60px}.cover h1{font-size:52px}.cover-copy{width:62%;padding:27px}.cover-setup{margin-top:22px}.cover:before{background:linear-gradient(90deg,#0f2b2bee 0%,#1b3938dd 37%,#18393555 61%,transparent 87%)}.cover-seal{right:18px;bottom:16px}.mode-picker svg{width:20px}.cover-lead{font-size:15px}}
@media(max-width:600px){.masthead,main{padding-inline:12px}.masthead{height:56px;gap:10px}.brand-mark{width:32px;height:32px;border-radius:9px 4px}.brand-mark svg{width:23px;height:23px}.brand{gap:8px}.brand strong{font-size:18px}.brand small{font-size:6px;letter-spacing:1.3px;margin-top:3px}.header-tool,.help-button{min-height:32px;border-radius:6px}.header-tool{width:32px}.header-actions{gap:6px}.help-button{font-size:10px;padding:0 8px;gap:5px}.header-tool svg,.help-button svg{width:15px;height:15px}.lobby{padding-block:12px 20px}.cover{display:block;min-height:0;border-radius:12px;background:#173632}.cover-art{height:clamp(180px,48vw,260px);object-position:67% 22%}.cover:before{background:linear-gradient(0deg,#173632 4%,#17363200 58%),linear-gradient(90deg,#163435aa,transparent 70%);height:clamp(187px,50vw,267px);bottom:auto}.cover-copy{padding:0;width:100%}.chapter{gap:6px;position:absolute;top:18px;left:17px;font-size:8px;letter-spacing:1px}.line-gold{width:14px}.cover h1{padding:clamp(89px,23vw,142px) 16px 0;font-size:clamp(38px,9vw,51px);margin:0 0 4px;letter-spacing:2px}.cover h1 i{font-size:8px;margin-left:7px}.cover-lead{font-size:13px;letter-spacing:1px;padding:0 18px}.cover-setup{margin:0;max-width:none;padding:17px 17px 14px}.cover-seal{display:none}.corner{width:11px;height:11px}.corner.tl,.corner.tr{top:7px}.corner.bl,.corner.br{bottom:7px}.corner.tl,.corner.bl{left:7px}.corner.tr,.corner.br{right:7px}.label-line{font-size:9px;margin-bottom:7px}.mode-picker{gap:8px}.mode-picker button{padding:10px 9px;gap:7px}.mode-picker b{font-size:13px}.mode-picker small{font-size:9px;margin-top:2px}.mode-picker svg{width:20px;height:20px}.mode-picker button i{height:6px;width:6px}.difficulty-picker{margin:8px 0;gap:9px}.start-actions{flex-wrap:nowrap}.start-actions .gold-button,.start-actions .secondary-button{min-width:0;flex:1;min-height:42px;font-size:12px;padding:10px 14px}.mode-note{font-size:9px;margin-top:8px}.relic-heading{margin-top:21px;margin-bottom:10px}.relic-heading .kicker{font-size:7px}.relic-heading h2{font-size:21px}.relic-heading>span{font-size:9px}.relic-grid{gap:7px}.relic-tile{grid-template-columns:42px 1fr;gap:7px;padding:10px 7px}.relic-image{width:42px;height:53px}.relic-tile h3{font-size:14px;margin:3px 0}.relic-tile small{font-size:7px}.relic-tile p{font-size:8px}.lobby-foot{margin-top:13px;font-size:8px;gap:6px}.lobby-foot svg{width:11px}.lobby-foot>span:last-child{text-align:right}
body[data-screen=battle] .site-header{display:none}body[data-screen=battle] main{padding:0}.battle{padding:0}.battle-heading,.battle-foot{display:none}.game-layout,.game-shell{height:100svh}.game-shell{border-radius:0;border:0}.game-toolbar{min-height:52px;padding:7px 9px;gap:8px;padding-top:max(7px,env(safe-area-inset-top))}.home-button{padding:7px 6px;gap:4px;min-height:33px;font-size:10px}.home-button svg{width:13px;height:13px}.level-box{gap:5px;min-width:36px}.level-badge{height:26px;min-width:26px;font-size:13px}.xp-block{max-width:60px;min-width:22px;flex:1}.xp-block b{font-size:8px}.xp-block span{display:none}.run-stats{gap:8px}.run-stats>div{gap:3px}.run-stats b{font-size:14px}.run-stats svg{width:13px;height:13px}.run-stats small,.toolbar-tool.full{display:none}.toolbar-tool{width:30px;min-height:31px}.arena{flex:1;min-height:0;height:auto}.game-bottom{min-height:25px;padding:4px 9px;padding-bottom:max(4px,env(safe-area-inset-bottom));font-size:8px}.game-bottom>span:last-child{text-align:right}.health-hud{left:11px;bottom:11px;gap:4px;padding:6px}.health-track{width:47px}.health-hud b{font-size:8px}.pulse-button{right:11px;bottom:10px;padding:7px 9px;gap:6px}.pulse-button b{font-size:11px}.pulse-button small{font-size:8px}.pulse-icon{width:26px;height:26px}.arena-top{top:9px;left:10px;right:10px}.map-tag,.boss-clock{font-size:9px;padding:5px 7px}.touch-guide{display:block;position:absolute;bottom:41px;left:13px;font-size:9px;color:#fff7d9;text-shadow:0 1px 3px #193c2e}.boss-bar{top:42px;left:16%;right:16%}.combo-hud{right:12px;top:77px}.combo-hud b{font-size:27px}.wave-notice{font-size:15px;letter-spacing:1px;padding:7px 15px}.upgrade-cards{grid-template-columns:1fr;width:min(100%,338px);gap:8px;margin:auto}.upgrade-card{display:grid;grid-template-columns:43px 1fr 20px;align-items:center;column-gap:9px;min-height:0;padding:11px}.card-top{grid-column:1;grid-row:1/3}.card-top .weapon-icon{height:40px;width:40px}.card-top>small{display:none}.upgrade-card h3{grid-column:2;font-size:16px;margin:0 0 3px}.upgrade-card p{grid-column:2;font-size:10px;margin:0;line-height:1.5}.card-bottom{grid-column:3;grid-row:1/3;border:none;justify-content:flex-end;padding:0;margin:0}.card-bottom span{display:none}.upgrade-panel h2,.simple-card h2{font-size:24px}.upgrade-panel>p{font-size:11px;margin:5px 0 15px}.choice-hint{margin-top:8px;font-size:9px;gap:8px}.simple-card{max-width:330px;padding:22px}.help-card{padding:25px 20px}.toast{bottom:75px;font-size:10px;max-width:90vw;width:max-content}}
@media(max-height:500px) and (orientation:landscape){body[data-screen=battle] .site-header,.battle-heading,.battle-foot,.sidebar,.game-bottom{display:none}body[data-screen=battle] main,.battle{padding:0}.game-layout{display:block}.game-shell{height:100svh;border-radius:0}.arena{flex:1;height:auto;min-height:0}.game-toolbar{min-height:42px;padding-block:3px}.overlay{overflow-y:auto}.upgrade-cards{display:flex;width:100%}.upgrade-card{display:block;min-height:0;flex:1;padding:8px}.upgrade-card .card-top .weapon-icon{width:29px;height:29px}.upgrade-card h3{font-size:14px;margin:5px 0}.upgrade-card p{font-size:10px;margin-bottom:6px}.upgrade-panel h2,.simple-card h2{font-size:20px;margin:4px 0}.upgrade-panel>p,.simple-card>p{margin-bottom:7px}.simple-card{padding:13px 18px}.result-stats{margin:8px 0}.game-shell:fullscreen .game-toolbar{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.creator-plaque,.battle-credit{display:inline-flex;align-items:center;gap:13px;white-space:nowrap}
.creator-plaque{margin-top:16px;padding:8px 13px;color:#f8e4b0;background:linear-gradient(100deg,#785b2be3,#4a4a30e3);border:1px solid #dfbb6e;border-left:3px solid #ffda86;border-radius:3px 8px 8px 3px;font-size:13px;box-shadow:0 3px 8px #10252022}
.creator-plaque b{color:#fff5cd;font-size:16px;font-weight:800}
.creator-plaque i,.battle-credit i{width:1px;height:15px;border:0;border-radius:0;background:#d5b77999}
.creator-plaque + .cover-setup{margin-top:21px}
.game-bottom .battle-credit{color:#f3d698;font-size:11px;gap:10px}
.battle-credit b{font-weight:750;color:#ffeab5;font-size:12px}
.game-bottom .battle-credit i{width:1px;height:12px;background:#c0a56a80;border-radius:0}
@media(max-width:600px){.creator-plaque{margin:9px 16px 0;padding:5px 9px;font-size:11px;gap:8px}.creator-plaque b{font-size:13px}.creator-plaque + .cover-setup{margin-top:0}.game-bottom .battle-credit{font-size:10px;gap:7px}.battle-credit b{font-size:11px}.game-bottom>span:last-child{display:none}.game-bottom{justify-content:center}}
@media(max-height:500px) and (orientation:landscape){.game-bottom{display:flex;min-height:23px;padding-block:3px}.game-bottom>span:last-child{display:none}.game-bottom .battle-credit{font-size:10px}.battle-credit b{font-size:11px}}
/* Laptop browser chrome and the Dock leave less height than the monitor reports.
   Budget space for the entire codex row before allocating the remaining cover. */
@media (min-width:801px) and (max-height:900px){
  .masthead{height:clamp(47px,7.3svh,65px)}
  .lobby{padding-block:clamp(10px,1.9svh,17px) 12px}
  .cover{min-height:clamp(332px,calc(100svh - 292px),515px)}
  .cover-copy{padding-block:clamp(16px,2.7svh,24px)}
  .cover h1{font-size:clamp(47px,7.9svh,70px);margin:9px 0 6px;line-height:1.1}
  .cover-lead{font-size:16px}
  .creator-plaque{margin-top:10px;padding-block:5px}
  .creator-plaque + .cover-setup{margin-top:14px}
  .label-line{margin-bottom:6px}
  .mode-picker button{padding-block:9px}
  .difficulty-picker{margin-block:6px}
  .start-actions .gold-button,.start-actions .secondary-button{min-height:39px;padding-block:9px}
  .mode-note{margin-top:7px}
  .relic-heading{margin:clamp(12px,2.1svh,19px) 0 9px;align-items:center}
  .relic-heading h2{font-size:23px;margin-top:3px}
  .relic-tile{padding-block:10px;grid-template-columns:clamp(50px,6vw,68px) minmax(0,1fr);gap:9px}
  .relic-image{width:100%;height:clamp(55px,8.8svh,72px)}
  .relic-tile h3{margin:3px 0}
  .lobby-foot{margin-top:11px;padding-top:8px}
}
@media (min-width:801px) and (max-height:675px){
  .masthead{height:45px}.brand-mark{width:32px;height:32px}.brand strong{font-size:19px}
  .lobby{padding-block:8px}.cover{min-height:clamp(308px,calc(100svh - 234px),422px)}
  .cover-copy{padding-block:12px}.cover h1{font-size:44px;line-height:1.04;margin-block:6px}
  .cover-lead{display:none}.creator-plaque{margin-top:4px}.creator-plaque + .cover-setup{margin-top:9px}
  .difficulty-picker{margin-block:4px}.relic-heading{margin:11px 0 7px}
  .relic-heading>div{display:flex;align-items:center;flex-direction:row-reverse;gap:13px}
  .relic-heading h2{margin:0;font-size:21px}.relic-tile{padding-block:8px}
  .relic-image{height:52px}.lobby-foot{margin-top:8px;padding-top:6px}
}
/* The codex and treasure choices share the paper, jade and brass of the lobby. */
.codex-link,.guide-tabs button,.app-dock button{display:inline-flex;justify-content:center;align-items:center;gap:6px;color:var(--jade);font-family:inherit;font-weight:650}
.codex-link{background:#fff9e9;border:1px solid #d2c7a8;border-radius:7px;padding:5px 9px;font-size:11px}
.codex-link svg,.dialog-kicker svg,.app-dock svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.guide-tabs{display:flex;gap:5px;background:#e6e6d7;border-radius:9px;margin:13px 0;padding:4px}
.guide-tabs button{flex:1;padding:7px 3px;font-size:12px;border:0;background:transparent;border-radius:6px}
.guide-tabs button[aria-pressed=true]{background:#fffaf0;color:#21483e;box-shadow:0 1px 4px #182e241e}
#help-paths>p,.install-copy p{font-size:12px;line-height:1.65;color:#526357;margin:9px 0}
#path-list{margin-bottom:13px}.path-entry{display:flex;gap:11px;align-items:center;padding:8px 1px;border-bottom:1px solid #d8d6c6}
.path-entry small,.path-entry strong{display:block}.path-entry small{font-size:10px;color:#686b55}.path-entry small b{color:#aa8340}
.path-entry strong{font:700 16px var(--serif);color:#235246}.path-entry p{font-size:11px;line-height:1.45;color:#526357;margin:2px 0 0}
.install-brand{display:flex;align-items:center;gap:12px;padding:10px 0}.install-brand img{width:55px;height:55px;border-radius:13px}
.install-brand small{display:block;color:var(--muted);margin-top:3px}.install-copy .offline-state{font-size:11px;color:#35634e;margin-bottom:18px}
#upgrade-kicker{display:inline-flex;gap:7px;align-items:center}#upgrade-overlay[data-reward=chest]{background:radial-gradient(ellipse at 50% 25%,#594726e8,#192f2ceb 75%)}
.upgrade-card{color:var(--ink)}
.upgrade-card.evolution{border:2px solid #eac46a;background:radial-gradient(ellipse at top right,#48624d,#1f413e 70%);color:#fff0c0;box-shadow:inset 0 0 0 2px #af93503d,0 4px 0 #14231fa8}
.upgrade-card.evolution p{color:#e3ebd8}.upgrade-card.evolution .card-top>small,.upgrade-card.evolution .card-bottom,.upgrade-card.evolution .skill-path{color:#ffe29a}
.upgrade-card.evolution .weapon-icon,.awakened .weapon-icon{border-color:#e6bd67;background:linear-gradient(135deg,#fff2c5,#d9af64);color:#554126}
.upgrade-card.evolution kbd{color:var(--ink)}.skill-path{font-size:10px;line-height:1.4;color:#75603c;margin:auto 0 6px}
.upgrade-card .skill-path+.card-bottom{margin-top:0}.awakened .weapon-text b,.awakened .weapon-level{color:#8a6022}
#upgrade-overlay{overflow:auto;overscroll-behavior:contain}#upgrade-overlay .upgrade-panel{margin-block:auto}
.app-dock{display:none}
@media(max-width:600px) and (orientation:portrait){
  .install-head{color:#ffe7af;background:#244b40;border-color:#36594a}.codex-link{padding:4px 7px;font-size:10px}
  .app-dock{position:fixed;bottom:0;left:0;right:0;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:4px 12px max(4px,env(safe-area-inset-bottom));border-top:1px solid #d1c7ab;background:#f7f3e9f5;backdrop-filter:blur(9px)}
  .app-dock button{border:0;background:transparent;min-height:40px;flex-direction:column;gap:2px;font-size:10px;color:#526453}
  .app-dock button:first-child{color:#315c4b;font-weight:750}.app-dock svg{width:17px;height:17px}
  .lobby{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.masthead{padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top))}
  .upgrade-card{grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:"icon title badge" "icon detail detail" "icon path path";gap:2px 8px;padding:9px 10px}
  .upgrade-card .card-top{grid-area:icon}.upgrade-card h3{grid-area:title}.upgrade-card p{grid-area:detail}
  .upgrade-card .skill-path{grid-area:path;margin:1px 0 0;font-size:9px}.upgrade-card .card-bottom{grid-area:badge;margin:0}
  .upgrade-card .card-bottom span{display:inline;font-size:9px}.upgrade-card .card-bottom kbd{display:none}
}
@media(display-mode:standalone){.site-header{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}}
@media(max-height:500px) and (orientation:landscape){.skill-path{display:block;margin:2px 0;font-size:9px}}
.install-copy .install-steps{margin:8px 0 13px;padding-left:23px}.install-steps li{padding-left:3px}.install-copy .gold-button,.install-copy .panel-button{width:100%;margin:4px 0}
@media(max-width:420px){body[data-device=mobile] .install-head{min-height:36px;padding-inline:8px}.install-head svg{width:14px}.app-dock button{min-height:44px}}
