@charset "UTF-8";
:root{--ink:#243735;--muted:#70817b;--blue:#367eaa;--paper:#fafbf4;--line:#dce3d5;--ease:cubic-bezier(.2,.75,.2,1)}*{box-sizing:border-box}body{margin:0;overflow:hidden;color:var(--ink);font:14px/1.5 "Microsoft YaHei","PingFang SC",sans-serif;background:#c3d6bc}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.5}button:focus-visible{outline:3px solid #6bb9ed;outline-offset:4px}button,button svg,button img{transition:transform .22s var(--ease),background .22s,border-color .22s,box-shadow .22s,opacity .22s}button:hover:not(:disabled){transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(1px) scale(.975)}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}#app,#world{position:absolute;inset:0;width:100%;height:100%}#world{display:block;image-rendering:pixelated;outline:0}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 45%,transparent 30%,#24422c2b 110%)}#damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 130px #e96356;opacity:0;transition:opacity .5s}#damage-flash.hit{opacity:.65;transition:opacity .04s}.brand{position:absolute;left:36px;top:26px;display:flex;align-items:center;gap:12px;z-index:4;color:#2f4939;font-size:12px;font-weight:600;letter-spacing:.12em;transition:opacity .3s,transform .3s}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--paper);border-radius:10px}.brand b{font-weight:400;color:#8c9c85;margin:0 6px}.version{font-size:9px;letter-spacing:.18em;border-left:1px solid #66846266;padding-left:12px;color:#66805a}.corner-controls{position:absolute;right:28px;top:25px;display:flex;gap:8px;z-index:20}.icon-button{width:38px;height:38px;padding:8px;display:grid;place-items:center;background:#fbfcf2e8;border:1px solid #e1e7d8;border-radius:50%;box-shadow:0 2px 6px #18332908}.icon-button:hover{background:#fff;box-shadow:0 6px 18px #1833291a}.screen{position:absolute;inset:0;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.screen.visible{opacity:1;transform:translateY(0)}.screen>*{pointer-events:auto}.menu-copy{position:absolute;left:6.2%;top:50%;transform:translateY(-48%);width:520px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#688475;display:flex;align-items:center;gap:8px;margin:0 0 14px}.eyebrow i{width:6px;height:6px;background:#6a9473;border-radius:50%}h1{margin:0;font-size:59px;line-height:1.23;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 30px #faffecb3}h1 span{font-size:68px;color:#315e4a}h1 small{display:block;font-size:10px;font-weight:500;letter-spacing:.36em;margin-top:18px;color:#5d765c}.intro{font-size:14px;color:#536b51;line-height:1.9;letter-spacing:.08em;margin:21px 0 25px}.choose-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;margin-bottom:11px;letter-spacing:.06em}.choose-heading span+span{font:10px monospace;color:#73836c}.weapon-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weapon-card{background:#f8faf0dd;backdrop-filter:blur(10px);border:1px solid #faffef;border-radius:13px;padding:11px 9px 12px;position:relative;text-align:left;box-shadow:0 5px 18px #243a2620;min-height:154px;overflow:hidden}.weapon-card.selected{background:#fffff8;border:2px solid #4b8675;padding:10px 8px 11px;box-shadow:0 6px 22px #2e5a4a30}.weapon-card .select-dot{position:absolute;right:10px;top:10px;width:12px;height:12px;border:1px solid #bdcbb4;border-radius:50%}.weapon-card.selected .select-dot{border:3px solid #fff;background:#43816b;box-shadow:0 0 0 1px #43816b}.weapon-art{width:100%;height:63px;display:flex;justify-content:center;align-items:center;margin-bottom:5px}.weapon-art img{height:60px;width:75px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 0 #40543812)}.weapon-card:hover img{transform:translateY(-4px) rotate(-5deg)}.weapon-card b{display:block;font-size:14px;margin:0 5px 3px}.weapon-card small{display:block;color:#728478;font-size:10px;margin:0 5px}.weapon-card .card-note{font-size:9px;color:#8b988c;margin-top:6px;white-space:nowrap}.start-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:#2f6b5a;color:#fff;padding:16px 21px;border-radius:12px;margin-top:17px;font-weight:600;letter-spacing:.09em;box-shadow:0 5px 0 #194936,0 9px 24px #214d3420}.start-button:hover:not(:disabled){background:#367a65;box-shadow:0 6px 0 #194936,0 13px 26px #214d3428}.start-button:active:not(:disabled){box-shadow:0 1px 0 #194936}.start-button:hover svg{transform:translateX(4px)}.menu-bottom{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#687f63;margin-top:18px;align-items:center}kbd{font-family:inherit;font-size:10px;padding:2px 5px;background:#fffff2aa;border:1px solid #bdcbb7;border-bottom-width:2px;border-radius:4px;font-weight:600;white-space:nowrap}.menu-bottom kbd{font-size:8px;margin-right:3px}#loading-status{height:15px;margin-top:8px;color:#5e7657;font-size:10px}.scene-caption{position:absolute;right:11%;bottom:19%;display:flex;gap:18px;align-items:center;font-size:10px;color:#405c41;letter-spacing:.18em;pointer-events:none}.caption-line{width:46px;height:1px;background:#6f8d5b}.scene-caption b{display:block;font-size:22px;letter-spacing:.12em;margin-top:5px}.scene-caption small{display:block;font-size:10px;letter-spacing:.03em;margin-top:7px}.menu-footer{position:absolute;bottom:23px;left:36px;right:36px;display:flex;justify-content:space-between;color:#6b8061;font-size:10px;letter-spacing:.06em}.menu-footer button{font-size:10px;border:0;background:none;padding:0;color:inherit}.hidden{display:none!important}#hud{position:absolute;inset:0;pointer-events:none;animation:appear .4s var(--ease)}#hud button{pointer-events:auto}.player-panel{position:absolute;top:24px;left:28px;display:flex;gap:12px;padding:12px 16px 11px 10px;border-radius:15px;background:#fffff3ed;box-shadow:0 7px 25px #2c452a20;border:1px solid #fff;min-width:232px}.player-panel img{width:50px;height:58px;object-fit:contain;image-rendering:pixelated;align-self:center}.player-status{width:145px}.player-line{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:13px}.player-line span{font:11px monospace;color:#6d8274}.bar{height:11px;border-radius:4px;background:#dce4d6;position:relative;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#69a77e;transition:width .18s ease}.bar span{position:absolute;inset:-1px;text-align:center;font-size:9px;color:#fff;font-weight:700;text-shadow:0 1px #41594370}.bar.xp{height:4px;margin-top:5px}.bar.xp i{background:#77b3d4;width:0}#xp-text{font-size:8px;color:#839186;display:block;margin-top:3px}.run-clock{position:absolute;left:50%;top:23px;transform:translateX(-50%);text-align:center;color:#304831;text-shadow:0 1px 5px #fbffe8;display:flex;flex-direction:column}.run-clock>span{font-size:10px;letter-spacing:.25em}.run-clock>b{font-size:30px;font-weight:500;line-height:1.4;font-family:Georgia,serif;font-variant-numeric:tabular-nums}.run-clock>small{font-size:10px;color:#52714f}.quest-panel{position:absolute;left:28px;top:137px;background:#fffff1dc;border:1px solid #fffff2;border-radius:12px;padding:16px 19px;min-width:232px;box-shadow:0 6px 20px #25482a13}.quest-panel .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:5px}.quest-panel h2{font-size:15px;font-weight:600;margin:0 0 11px}.quest-panel p{font-size:10px;color:#7b8c78;margin:7px 0 0}.seal-dots{display:flex;gap:7px}.seal-dots span{width:32px;height:8px;transform:skew(-20deg);border-radius:2px;background:#d8e1cb;transition:background .4s,box-shadow .4s}.seal-dots span.lit{background:#d6b64c;box-shadow:0 0 10px #fff0ad}.minimap-wrap{position:absolute;right:28px;top:85px;width:150px;background:#fafdebdf;border:4px solid #fffef6;border-radius:20px;box-shadow:0 4px 18px #23452826;overflow:hidden}.minimap-wrap canvas{display:block;width:142px;height:142px;image-rendering:auto}.minimap-wrap>div{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 0 7px;font-size:8px;color:#6b8065}.minimap-wrap i{width:5px;height:5px;border-radius:50%;background:#428cb4}.minimap-wrap b{margin-left:3px;color:#b38e25}.boss-health{position:absolute;top:113px;left:50%;transform:translateX(-50%);width:330px;padding:10px 16px;background:#fff4e3eb;border-radius:9px;box-shadow:0 3px 15px #4e241e20}.boss-health>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:6px;color:#754939}.boss-health .bar{height:7px;background:#e5c5b5}.boss-health i{background:#c77f56}.boss-health b{font-size:9px}.bottom-hud{position:absolute;bottom:28px;left:28px;right:28px;display:flex;align-items:center;gap:18px}.weapon-badge{display:flex;align-items:center;gap:11px;background:#fffef1ef;border:1px solid #fff;border-radius:13px;padding:9px 14px;min-width:225px;box-shadow:0 4px 17px #2f462b24}.weapon-badge img{width:40px;height:42px;object-fit:contain;image-rendering:pixelated}.weapon-badge small{display:block;font-size:8px;color:#7d8e7a}.weapon-badge b{display:block;font-size:13px;margin-top:1px}#evolution-pips{font-size:11px;color:#ae9352;letter-spacing:1px;margin-left:auto}.action-bar{display:flex;gap:9px;position:absolute;left:50%;transform:translateX(-50%)}.action-button{position:relative;min-width:118px;height:61px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:0 7px;border:1px solid #fff;border-radius:12px;background:#fffdf2ef;padding:9px 13px;text-align:left;overflow:hidden;box-shadow:0 4px 17px #2f462b24}.action-button kbd{grid-row:span 2;justify-self:start;font-size:11px;background:#edf3e7}.action-button span{font-size:11px;font-weight:600;position:relative;z-index:1}.action-button small{font-size:9px;color:#648573;position:relative;z-index:1}.skill-button{min-width:156px;background:#f6fffc}.skill-button kbd{background:#327a63;color:#fff;border-color:#327a63;padding:7px 10px;position:relative;z-index:1}.skill-button i{position:absolute;inset:0;background:#b7c8bb80;transform-origin:bottom;transform:scaleY(0);pointer-events:none}.control-hint{margin-left:auto;color:#455c43;text-shadow:0 1px 5px #fdffe5;font-size:9px;align-self:flex-end}.control-hint kbd{font-size:8px;margin-left:5px}.build-pips{position:absolute;left:30px;bottom:111px;display:flex;gap:5px;max-width:250px;flex-wrap:wrap}.build-pips span{background:#fcfff0e8;border:1px solid #edf2dc;border-radius:5px;padding:3px 7px;font-size:8px;color:#64806a;animation:appear .3s}.interaction{position:absolute;left:50%;top:64%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#fffef7f5;padding:10px 15px;border:1px solid #fff;border-radius:10px;font-size:12px;box-shadow:0 3px 15px #263d3033;animation:appear .2s}.interaction kbd{background:#337b65;color:#fff;border-color:#337b65;font-size:12px}.direction{position:absolute;right:30px;bottom:113px;display:flex;align-items:center;gap:7px;background:#fcffefc9;padding:8px 11px;border-radius:9px;font-size:10px;color:#526b47}.direction span{font-size:20px;color:#c49f4e}.direction small{font-size:9px;font-variant-numeric:tabular-nums}.toast{position:absolute;top:23%;left:50%;transform:translate(-50%,-10px);opacity:0;pointer-events:none;background:#fffff5ee;border:1px solid #fff;border-radius:10px;padding:10px 23px;color:#3f684e;font-size:12px;box-shadow:0 6px 20px #253f2422;transition:opacity .25s,transform .25s;z-index:12}.toast.show{opacity:1;transform:translate(-50%,0)}.banner{position:absolute;left:50%;top:35%;transform:translate(-50%,15px);text-align:center;pointer-events:none;z-index:13;background:#fffcebeb;border-top:1px solid #fff;border-bottom:1px solid #fff;padding:24px 70px;min-width:370px;opacity:0;transition:opacity .35s,transform .35s;box-shadow:0 10px 50px #4c682433}.banner.show{opacity:1;transform:translate(-50%,0)}.banner small{color:#9c914b;font-size:10px;letter-spacing:.3em}.banner b{display:block;font-size:29px;margin:7px 0;color:#4d704a}.banner span{display:block;font-size:11px;color:#7d8a68}.modal-layer{position:absolute;inset:0;z-index:30;background:#1d342d65;backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;padding:20px;opacity:1;transition:opacity .25s}.modal-layer.closing{opacity:0;pointer-events:none}.modal{width:730px;border-radius:23px;background:#fffff7;padding:34px 37px;box-shadow:0 25px 100px #19392645;border:1px solid #fff;position:relative;animation:modal-in .35s var(--ease);max-height:94vh;overflow:auto}.modal.closing{animation:modal-out .2s forwards}.modal-heading{display:flex;justify-content:space-between;color:#839180;font:10px monospace}.modal h2{font-size:29px;letter-spacing:.02em;line-height:1.4;margin:7px 0 9px;font-weight:700}.modal>p{font-size:12px;color:#7c8b7a;line-height:1.8;margin:0 0 25px}.upgrade-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:27px 0}.upgrade-card{min-height:214px;border:1px solid #e0e8d6;background:linear-gradient(150deg,#f4f7eb,#fbfcf6);border-radius:13px;padding:20px 17px;display:flex;flex-direction:column;text-align:left;position:relative}.upgrade-card:hover{border-color:#5b9c83;background:#eff8ed;box-shadow:0 8px 21px #43634812}.upgrade-card .upgrade-symbol{width:41px;height:41px;display:grid;place-items:center;border:1px solid #d6e3c8;border-radius:11px;color:#528567;background:#fffef0;margin-bottom:17px}.upgrade-card .upgrade-symbol svg{width:23px;height:23px}.upgrade-card .upgrade-tag{font-size:9px;color:#74967a;letter-spacing:.09em;margin-bottom:7px}.upgrade-card b{font-size:17px;margin-bottom:9px}.upgrade-card p{font-size:11px;color:#7b8977;line-height:1.8;margin:0}.upgrade-card kbd{position:absolute;top:15px;right:13px;font:10px monospace;color:#869780}.modal-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8a9683}.text-button{display:flex;gap:7px;align-items:center;border:0;background:none;font-size:11px;color:#62846b;padding:8px}.text-button svg{width:14px;height:14px}.text-button b{background:#edf3e5;padding:1px 6px;border-radius:4px;font-size:9px}.small-modal{width:440px;padding:35px}.small-modal h2{font-size:26px}.secondary-button{width:100%;background:none;border:0;color:#87947f;padding:14px 5px 0;font-size:11px;margin-top:8px}.close-modal.icon-button{position:absolute;right:16px;top:16px;background:none;border:none}.help-list{display:grid;gap:13px;margin:26px 0}.help-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#70866d}.help-list kbd{font-size:9px}.result-modal{width:510px;text-align:center}.result-modal .eyebrow{justify-content:center}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e4eadc;border-bottom:1px solid #e4eadc;margin:25px 0;padding:23px 0}.result-stats b{display:block;font-size:28px;color:#496a4f;font-family:Georgia,serif;font-weight:500}.result-stats span{font-size:9px;color:#87947e}.result-stats>div+div{border-left:1px solid #e4eadc}#result-build{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;font-size:9px;color:#75906d;margin:12px 0 22px}#result-build span{background:#eef4e4;border-radius:4px;padding:4px 7px}.fatal{position:absolute;z-index:100;inset:0;background:#fafbf2;display:grid;place-content:center;text-align:center;padding:20px}.fatal p{max-width:520px;color:#7a8173}.fatal button{background:#367b64;color:#fff;padding:12px 20px;border:0;border-radius:10px}.in-game .brand{opacity:0;pointer-events:none;transform:translateY(-10px)}.in-game #vignette{background:radial-gradient(ellipse at center,transparent 55%,#24422c19 110%)}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-out{to{opacity:0;transform:translateY(-12px) scale(.98)}}@media(min-width:1600px){.menu-copy{left:9%;width:560px}h1{font-size:70px}h1 span{font-size:80px}.weapon-card{min-height:162px}}@media(max-height:780px){.menu-copy{width:480px;top:51%}h1{font-size:43px}h1 span{font-size:52px}h1 small{margin-top:11px}.intro{font-size:12px;margin:14px 0 17px}.weapon-card{min-height:132px}.weapon-art{height:49px}.weapon-art img{height:47px}.start-button{padding:13px 18px}.menu-bottom{margin-top:14px}.menu-copy .eyebrow{font-size:8px;margin-bottom:9px}.brand{top:20px}}@media(max-width:1100px){.menu-copy{left:5%;width:450px}.control-hint{display:none}.scene-caption{right:7%}.minimap-wrap{width:130px}.minimap-wrap canvas{width:122px;height:122px}.version{display:none}.bottom-hud{gap:10px}.action-bar{position:static;transform:none;margin-left:auto}.weapon-badge{min-width:210px}}@media(max-width:700px){.menu-copy{left:24px;width:calc(100% - 48px);max-width:460px;top:49%}.menu-copy:before{content:"";position:absolute;inset:-45px -24px;background:#edf4dfb8;backdrop-filter:blur(2px);z-index:-1;mask-image:linear-gradient(transparent,#000 15%,#000 90%,transparent)}h1{font-size:38px}h1 span{font-size:47px}.scene-caption{display:none}.brand{left:24px;font-size:10px}.corner-controls{right:18px;top:18px;gap:5px}.icon-button{width:33px;height:33px}.menu-footer{left:24px;right:24px;font-size:8px}.menu-bottom{font-size:8px}.menu-bottom>span+span{display:none}.weapon-card .card-note{display:none}.weapon-card b{font-size:12px}.weapon-card small{font-size:8px}.player-panel{left:12px;top:14px;min-width:192px;padding:8px}.player-status{width:126px}.player-panel img{width:40px;height:48px}.quest-panel{left:12px;top:114px;min-width:176px;padding:12px}.quest-panel h2{font-size:12px}.quest-panel p{font-size:8px}.minimap-wrap{right:12px;top:70px;width:92px;border-width:3px}.minimap-wrap canvas{width:86px;height:86px}.minimap-wrap>div{display:none}.run-clock{top:190px;left:auto;right:18px;transform:none}.run-clock>b{font-size:20px}.run-clock>span{display:none}.bottom-hud{bottom:15px;left:12px;right:12px}.weapon-badge{display:none}.action-bar{margin:auto}.direction{right:14px;bottom:97px}.build-pips{left:12px;bottom:97px;max-width:160px}.build-pips span{font-size:7px}.boss-health{top:286px;width:230px}.modal{padding:24px;width:100%}.modal h2{font-size:22px}.upgrade-cards{gap:7px;margin:19px 0}.upgrade-card{padding:13px 10px;min-height:220px}.upgrade-card b{font-size:13px}.upgrade-card p{font-size:9px}.upgrade-card .upgrade-symbol{width:30px;height:30px;margin-top:12px}.upgrade-card .upgrade-tag{font-size:8px}.modal-bottom{font-size:9px}.banner{min-width:290px;padding:19px 30px}.banner b{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

#menu{background:linear-gradient(90deg,#f4f6eefa 0%,#f2f5e9ed 32%,#ecf3e285 45%,#ebf2df00 66%)}.start-button{background:#357b94;box-shadow:0 5px 0 #23596d,0 9px 24px #214d3420}.start-button:hover:not(:disabled){background:#3b87a2;box-shadow:0 6px 0 #23596d,0 13px 26px #214d3428}.scene-caption{background:#f9fff0d9;border:1px solid #fff8;padding:16px 20px;border-radius:12px;bottom:15%;right:8%}.in-game .run-clock{background:#fffff1e8;border-radius:12px;padding:7px 24px;top:20px;box-shadow:0 4px 17px #2f462b18}.camera-hint{position:absolute;right:27px;bottom:10px;font-size:9px;color:#294e43;background:#ffffeebb;border-radius:5px;padding:3px 8px;pointer-events:none}@media(max-width:700px){#menu{background:linear-gradient(90deg,#f4f6eede,#f4f6ee30)}.camera-hint{display:none}}

.bar.xp{transition:box-shadow .12s ease}.bar.xp.collected{box-shadow:0 0 12px #94d9ed,0 0 0 2px #d3f3ff}
