.forest-art{grid-column:2;grid-row:1;position:relative;height:500px;background:linear-gradient(150deg,#f3efc5,#c8d59e 45%,#6d8b69);border:8px solid #ece5c7;outline:1px solid #a8b38d;box-shadow:12px 14px #d4d5b3;overflow:hidden;image-rendering:pixelated}.forest-art:after{content:"";position:absolute;bottom:-20px;left:-20px;right:-20px;height:150px;background:linear-gradient(155deg,#526b4b 35%,#a0b281 36% 50%,#d9c596 51% 72%,#879864 73%);transform:rotate(-8deg)}.sun{position:absolute;width:180px;height:180px;right:5%;top:5%;border-radius:50%;background:#fff4b988;box-shadow:0 0 70px 40px #fff5c180}.tree{position:absolute;width:35px;height:100%;background:#677b51;left:14%;top:0;transform:rotate(-6deg);border-left:8px solid #b0bc7e;z-index:1}.tree:before{content:"";position:absolute;top:-45px;left:-90px;width:230px;height:190px;background:#9db778;box-shadow:70px -30px #b9cb8b,-70px -40px #849f69;clip-path:polygon(10% 0,90% 0,100% 70%,70% 70%,70% 100%,20% 90%,20% 70%,0 60%)}.tree.t2{left:75%;width:24px;transform:rotate(8deg);background:#7e8c5b;opacity:.75}.tree.t3{left:48%;width:18px;opacity:.3;transform:none}.pixel-face{position:absolute;width:110px;height:110px;left:43%;bottom:90px;background:#272d32;z-index:3;clip-path:polygon(15% 0,80% 0,80% 8%,93% 8%,93% 25%,100% 25%,100% 80%,85% 80%,85% 95%,15% 95%,15% 85%,0 85%,0 25%,10% 25%,10% 10%,15% 10%);box-shadow:0 10px #3d5142}.pixel-face:before{content:"";position:absolute;left:16%;top:45%;width:70%;height:45%;background:#efd2a8}.pixel-face:after{content:"";position:absolute;left:27%;top:58%;width:13%;height:17%;background:#4b7d55;box-shadow:39px 0 #4b7d55}.pixel-face i{position:absolute;top:31%;left:0;width:15px;height:35px;background:#a6be72;box-shadow:95px 0 #a6be72}.pixel-face b{position:absolute;left:42%;top:80%;width:12px;height:3px;background:#956e56;z-index:1}.art-trace{position:absolute;left:6%;bottom:38px;color:#ffb5a7;font-size:31px;letter-spacing:8px;transform:rotate(-15deg);z-index:4;text-shadow:0 0 12px #f46b70}.game-shell{position:relative;height:calc(100dvh - 185px);min-height:540px;margin-top:16px;border:1px solid #a1ae87;border-radius:5px;background:#263b35;overflow:hidden;display:grid;grid-template-rows:88px 1fr auto 110px}.game-world{position:relative;grid-row:2;min-height:0;width:calc(100% - 156px);height:100%;overflow:hidden}.game-world canvas{display:block;image-rendering:pixelated}.hud{display:contents}.hud-top{grid-row:1;position:absolute;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:#f5ebd6;z-index:4;border-bottom:4px solid #a8b38d}.hud-top .eyebrow{font-size:10px;margin-bottom:2px}.hud-top h2{font-size:20px;margin:0}.energy{width:260px;font-size:13px}.energy strong{float:right;color:#526b4b}.energy-track{height:10px;background:#d1d3b4;border:1px solid #a7af8a;margin:6px 0}.energy-track i{display:block;background:#72a38a;height:100%;transition:width .1s linear}.energy small{font-size:11px;color:#737954}.hud-bottom{position:absolute;bottom:0;left:0;right:0;height:110px;background:#f5ebd6;border-top:4px solid #a8b38d;padding:10px 20px;z-index:4}.skills{display:flex;gap:8px;align-items:center;justify-content:center}.skills button{font-size:13px;min-height:36px;padding:5px 12px}.skills kbd{font:inherit;display:inline-block;border:1px solid currentColor;padding:0 4px;line-height:18px;margin-right:4px;opacity:.75}.progress-line{display:flex;gap:26px;justify-content:center;align-items:center;color:#777d60;font-size:12px;margin-top:10px}.progress-line b{color:#526b4b;margin-left:8px}.progress-line button{font-size:12px;min-height:26px;padding:2px 10px}.mini-panel{position:absolute;right:14px;top:102px;z-index:8;background:#263b35e8;color:#f5ebd6;border:2px solid #a8b38d;padding:6px;pointer-events:none;box-shadow:0 3px #192c24}.mini-panel span{font-size:10px;letter-spacing:2px;display:block;text-align:center}.mini-panel canvas{display:block;image-rendering:pixelated;width:125px;height:108px}.tutorial{position:relative;grid-row:3;z-index:9;background:#e5e9cf;border-top:1px solid #a8b38d;display:flex;align-items:center;gap:16px;padding:8px 18px;min-height:62px}.tutorial small{color:#7d8660;font-size:11px;letter-spacing:2px}.tutorial p{font-size:14px;margin:3px 0 0;color:#394d3a}.tutorial button{font-size:12px;min-height:32px;white-space:nowrap;padding:5px 9px}.mentor-icon{font-size:26px;color:#7b9477}@media(max-width:900px){.hud-top{padding:10px 14px;gap:10px}.hud-top h2{font-size:17px}.energy{width:190px}.skills{gap:5px}.skills button{font-size:11px;padding:5px 8px}.mini-panel canvas{width:90px;height:78px}.game-world{width:calc(100% - 122px)}.progress-line{gap:15px}.tutorial{padding:10px;gap:9px}}@media(max-width:600px){.forest-art{grid-column:1;grid-row:1}.game-shell{min-height:600px}.hud-top h2{font-size:14px}.energy{width:150px}.hud-top>button{font-size:12px;padding:6px 10px}.hud-bottom{padding:10px 6px}.skills{flex-wrap:wrap}.skills button{min-height:28px;font-size:10px;padding:4px}.progress-line{font-size:10px;gap:8px}.mini-panel canvas{width:65px;height:56px}.mini-panel{right:6px}.game-world{width:calc(100% - 88px)}.tutorial{padding:6px 8px}.tutorial p{font-size:12px}.mentor-icon{display:none}}.tutorial{min-height:72px}.tutorial>div{min-width:0}.tutorial button{flex-shrink:0}img.mentor-icon{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.game-world:not([data-renderer]):after{content:"正在展开林间画卷…";position:absolute;inset:0;display:grid;place-items:center;color:#d9e3c2;font-size:14px;letter-spacing:2px;pointer-events:none}:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#302d29;background:#f5ebd6;font-synthesis:none;font-size:16px;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:#f6eedc;border:1px solid #b9b393;border-radius:4px;min-height:44px;padding:9px 17px;box-shadow:0 3px #b9b393;transition:background .15s}button:hover:not(:disabled){background:#fff8e8;filter:brightness(1.04)}button:active:not(:disabled){filter:brightness(.95);box-shadow:0 1px #b9b393}button:disabled{cursor:default;color:#7e806f;background:#e7e3d2;box-shadow:none;opacity:.75}button:focus-visible,a:focus-visible{outline:3px solid #c98d45;outline-offset:4px}.primary,button.selected{background:#526b4b;color:#fff6df;border-color:#344d37;box-shadow:0 3px #344d37}.primary:hover:not(:disabled),button.selected:hover:not(:disabled){background:#657f57}button small{font-size:12px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-family:Songti SC,STSong,serif;font-size:clamp(30px,3.5vw,50px);line-height:1.25;font-weight:800;letter-spacing:1px}h2{font-size:24px}h3{font-size:20px;margin-bottom:10px}p{color:#656856}.eyebrow{display:block;color:#737954;letter-spacing:2px;font-size:12px;font-weight:700;margin-bottom:12px}small{font-size:13px}strong{font-weight:750}.app-shell{max-width:1600px;margin:0 auto;min-height:100vh;padding:0 5vw;background:radial-gradient(ellipse at 70% 0%,#e3e8c8aa,transparent 60%)}.brand-bar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #aaa98955;gap:16px}.brand{font-weight:800;letter-spacing:2px;font-size:20px;white-space:nowrap}.brand small{font-size:10px;color:#768060;letter-spacing:2px;margin-left:12px}.brand-bar nav{display:flex;gap:8px}.brand-bar button{background:transparent;border:0;box-shadow:none;font-size:14px;padding:8px 12px}.app-footer{display:flex;justify-content:space-between;color:#80836b;font-size:12px;letter-spacing:1px;padding:22px 0;border-top:1px solid #aaa98955;margin-top:24px}.title-page{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:55px 0}.title-copy{grid-column:1;grid-row:1}.title-copy p{font-size:18px;line-height:1.9;margin:24px 0}.title-actions{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 20px}.title-actions .primary{min-width:180px;font-weight:700}.title-actions span{margin-left:24px}.title-copy>small{color:#85866e}.guild{padding:42px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading h1{font-size:36px;margin-bottom:14px}.section-heading p{margin-bottom:0}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mission{padding:24px;background:#fcf6e6;border:1px solid #b6bea1;box-shadow:0 5px #d6d8b8;border-radius:5px;position:relative;overflow:hidden}.mission:before{content:"";position:absolute;right:-20px;top:-26px;width:90px;height:90px;background:#dce5c3;border-radius:50%;opacity:.65}.mission-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;color:#7b8266;position:relative}.mission-number{font:italic 32px Georgia,serif;color:#859563}.mission p{min-height:48px;font-size:14px}.mission button{width:100%;text-align:left;background:#eaf0d7}.mission.locked{background:#eae9d8;box-shadow:0 5px #d9d9c2}.badges{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.badges span{font-size:12px;color:#91917a;border:1px dashed #c4c5ab;padding:4px 7px}.badges .earned{color:#526b4b;background:#e4edcd;border:1px solid #a3b384}.growth{margin-top:40px;background:#e8edda;border:1px solid #bdc6a9;padding:28px;display:grid;grid-template-columns:1fr 3fr;gap:24px;border-radius:5px}.growth h2{margin-bottom:12px}.growth strong{font-size:30px;color:#526b4b}.growth p{margin-bottom:0}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center}.upgrade-grid article{padding-left:20px;border-left:1px solid #bfc7a9}.upgrade-grid h3{font-size:18px}.upgrade-grid h3 small{float:right;color:#7b8469}.upgrade-grid p{font-size:13px;min-height:40px}.upgrade-grid button{font-size:13px;padding:7px 10px;width:100%}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:40;background:#354c3b;color:#fff3d5;border:1px solid #8ca27a;box-shadow:0 4px 15px #263b3540;padding:12px 22px;max-width:min(800px,90vw);border-radius:4px;font-size:14px}.modal-shade{position:fixed;inset:0;background:#20352be0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;display:flex;align-items:center;justify-content:center;padding:28px}.dialog{background:#f5ebd6;border:3px solid #a8b38d;box-shadow:0 0 0 7px #344d37,0 20px 70px #172b29aa;border-radius:4px;width:650px;max-width:100%;max-height:90vh;overflow:auto;padding:38px;text-align:center}.dialog:focus{outline:none}.dialog h2{font-family:Songti SC,serif;font-size:34px;margin:10px 0 20px}.dialog p{line-height:1.8}.dialog-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:25px}.result-star{display:block;font-size:58px;color:#d2a650;margin-bottom:12px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;border-top:1px solid #c8c6a8;border-bottom:1px solid #c8c6a8;padding:24px 0;gap:10px}.result-stats b{display:block;font-size:26px;color:#526b4b}.result-stats span{font-size:13px;color:#7d8068}.reward{background:#e4e9cf;padding:12px}.reward small{display:block;color:#81866a}.controls{display:grid;grid-template-columns:140px 1fr;text-align:left;gap:16px;margin:24px 0 30px}.controls dt{font-weight:700;color:#526b4b}.controls dd{margin:0;color:#656856}@media(max-width:1050px){.app-shell{padding:0 24px}.brand small{display:none}.title-page{gap:3%}.growth{grid-template-columns:1fr}.mission{padding:18px}.mission-grid{gap:14px}.upgrade-grid article:first-child{border:0;padding-left:0}}@media(max-width:760px){.brand-bar{height:72px}.brand{font-size:16px}.brand-bar button{font-size:12px;padding:5px}.title-page{grid-template-columns:1fr;padding:26px 0;min-height:auto}.title-copy{grid-column:1;grid-row:2}.forest-art{height:260px!important;margin-bottom:28px}.mission-grid{grid-template-columns:repeat(2,1fr)}.section-heading h1{font-size:28px}.upgrade-grid{grid-template-columns:1fr}.upgrade-grid article{border:0;border-top:1px solid #bfc7a9;padding:18px 0 0}.dialog{padding:24px}.controls{grid-template-columns:1fr;gap:6px}.controls dd{margin-bottom:10px}.app-footer span{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.audio-control{display:flex;align-items:center;gap:6px;font-size:12px;color:#637052}.audio-control input{width:65px;accent-color:#526b4b}.guild-hero{position:relative;isolation:isolate;min-height:650px;margin:24px -3vw 0;padding:65px 4vw;display:flex;align-items:center;border:1px solid #b0c1b4;overflow:hidden;background:linear-gradient(120deg,#e7f0e9,#c3dbe2 55%,#a8cbd8)}.hero-backdrop{position:absolute;inset:0;z-index:-2;background-image:var(--hero-guild);background-size:cover;background-position:center top}.guild-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f5ebd6f0 0%,#f5ebd6c9 30%,#f5ebd630 56%,transparent 75%)}.guild-hero .title-copy{max-width:520px}.guild-hero h1{font-size:clamp(36px,4.5vw,62px);color:#293f40;text-shadow:0 1px #fff7dd}.guild-hero .eyebrow{color:#3f6870}.hero-loading{position:absolute;right:5%;bottom:8%;color:#547880;font-size:13px;border:1px dashed #93b2b9;padding:12px 18px;background:#e4efed99}.hero-ready .hero-loading{display:none}.energy-track{position:relative;height:13px;border-color:#9cae95;border-radius:3px;box-shadow:0 0 9px #8bcdb43b,inset 0 1px 3px #23392e30;overflow:hidden}.energy-track i{position:relative;background:linear-gradient(90deg,#547c70,#79c5af 55%,#c7edc2);box-shadow:0 0 8px #95dfc2;overflow:hidden}.energy-track i:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#f3ffe5a6 45%,transparent 70%);background-size:180% 100%;animation:energy-flow 3s ease-in-out infinite}@keyframes energy-flow{0%{background-position:180% 0;opacity:.35}50%{opacity:.85}to{background-position:-180% 0;opacity:.35}}.reduce-motion *{animation:none!important;transition:none!important}.simulation-paused .energy-track i:after{animation-play-state:paused}@media(max-width:1050px){.audio-control input{width:45px}.brand-bar{gap:5px}.brand-bar nav{gap:2px}.brand-bar button{padding:7px}.guild-hero{margin-left:-12px;margin-right:-12px}}@media(max-width:760px){.brand-bar{height:auto;min-height:85px;flex-wrap:wrap;padding:12px 0}.brand-bar nav{flex-wrap:wrap}.guild-hero{min-height:560px}.guild-hero:after{background:linear-gradient(90deg,#f5ebd6ed,#f5ebd6b0 70%,#f5ebd640)}}.dialog-actions button{min-width:126px}.skills [data-action=dash]{min-width:132px;font-variant-numeric:tabular-nums}.brand-bar [data-action=mute]{min-width:88px}.energy strong,.progress-line b{font-variant-numeric:tabular-nums}
