@import url("assets/fonts/wenkai.css");
:root{color-scheme:dark;
--ink:#0C1C1A;--pine:#14302B;--deep:#0A1614;--moss:#2E6A4C;--glow:#62E3C4;--amber:#F2BE5C;--amber2:#FFD889;--berry:#D9497E;--parch:#F1E4C3;--parch2:#D9C79C;--bark:#3A2416;--mist:#A9C4B8;--faint:#6F8F86;
--h0:rgba(240,228,195,.07);--h1:#3F9A72;--h2:#F2BE5C;
--font:"LXGW WenKai","Kaiti SC","STKaiti","KaiTi",serif;
--glass:rgba(9,24,22,.72);--line:rgba(242,190,92,.28)}
*{box-sizing:border-box}
html{background:var(--deep)}
html,body{margin:0;min-height:100%;color:var(--parch);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:4px}
img{display:block;max-width:100%}
.num{font-variant-numeric:tabular-nums}
/* 场景背景 */
.scene{position:fixed;inset:0;z-index:-2;background:var(--deep) center/cover no-repeat;transition:background-image .6s}
.scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,15,.92) 0,rgba(6,16,15,.55) 30%,rgba(6,16,15,.45) 60%,rgba(6,16,15,.75)),linear-gradient(0deg,rgba(6,16,15,.9),transparent 40%)}
.scene.soft::after{background:linear-gradient(90deg,rgba(6,16,15,.86),rgba(6,16,15,.5) 40%,rgba(6,16,15,.6))}
/* 左侧图标栏 */
.rail{position:fixed;left:0;top:0;bottom:0;width:96px;z-index:10;display:flex;flex-direction:column;align-items:center;padding:18px 0 14px;gap:2px;background:linear-gradient(90deg,rgba(5,14,13,.92),rgba(5,14,13,.7));border-right:1px solid var(--line);box-shadow:6px 0 30px rgba(0,0,0,.35)}
.rail .brand{width:2.2em;text-align:center;font-size:20px;line-height:1.25;font-weight:700;letter-spacing:.1em;color:var(--amber2);margin-bottom:14px;text-shadow:0 0 18px rgba(242,190,92,.5)}
.rail a,.rail button{display:flex;flex-direction:column;align-items:center;gap:0;width:80px;padding:5px 0 6px;border-radius:12px;color:var(--mist);text-decoration:none;font-size:13px;background:none;border:0;position:relative}
.rail img{width:42px;height:42px;object-fit:contain;filter:saturate(.55) brightness(.8);transition:transform .2s,filter .2s}
.rail a:hover img,.rail button:hover img{filter:none;transform:translateY(-2px)}
.rail a[aria-current="page"]{color:var(--amber2)}
.rail a[aria-current="page"] img{filter:drop-shadow(0 0 10px rgba(242,190,92,.7));transform:scale(1.12)}
.rail a[aria-current="page"]::before{content:"";position:absolute;left:-8px;top:14px;bottom:20px;width:3px;border-radius:3px;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.rail .sp{flex:1}
.rail button[aria-pressed="true"]{color:var(--berry)}
.rail button[aria-pressed="true"] img{filter:drop-shadow(0 0 10px rgba(217,73,126,.8))}
main{margin-left:96px;padding:34px clamp(28px,3.4vw,72px) 120px;position:relative;min-height:100vh}
/* 信息页内容在全屏里居中，最宽 1680；背景、海报、世界树照样铺满 */
main>*:not(.vision):not(.tree-page):not(.forest-page){max-width:1680px;margin-left:auto;margin-right:auto}
/* 标题 */
h1{font-size:44px;line-height:1.15;font-weight:700;margin:0;color:var(--parch);text-shadow:0 2px 24px rgba(0,0,0,.6)}
h2{font-size:24px;font-weight:700;margin:0 0 14px;color:var(--amber2);letter-spacing:.04em}
h3{font-size:17px;font-weight:700;margin:0 0 8px}
.lede{color:var(--mist);margin:6px 0 30px;font-size:17px}
.muted{color:var(--mist)}.faint{color:var(--faint)}
.lag{color:#FF8FB4}.ahead{color:var(--glow)}
/* 板绘控件：木牌主按钮、石牌次按钮、卷轴提示 */
.btn-wood{border-style:solid;border-width:0 34px;border-image:url(assets/btn-wood.webp) 0 150 fill / 0 34px / 0 stretch;background:none;height:44px;padding:0 10px;min-width:150px;color:#2E1806;font-weight:700;font-size:16px;letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,230,170,.6);filter:drop-shadow(0 4px 8px rgba(0,0,0,.45));transition:filter .15s,transform .15s}
.btn-wood:hover{filter:drop-shadow(0 0 12px rgba(242,190,92,.65)) brightness(1.08);transform:translateY(-1px)}
.btn-wood:active{transform:translateY(1px)}
.btn-stone{border-style:solid;border-width:0 16px;border-image:url(assets/btn-stone.webp) 0 80 fill / 0 16px / 0 stretch;background:none;height:38px;padding:0 10px;color:var(--parch);font-size:14px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:filter .15s}
.btn-stone:hover{filter:drop-shadow(0 0 10px rgba(98,227,196,.5)) brightness(1.15)}
.btn-stone[aria-pressed="true"]{color:var(--amber2);filter:drop-shadow(0 0 10px rgba(242,190,92,.55)) brightness(1.2)}
.btn-stone.sm{height:32px;font-size:13px;border-width:0 12px;border-image-width:0 12px}
.link{background:none;border:0;padding:0;color:var(--amber2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(242,190,92,.4)}
.toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:60;border-style:solid;border-width:0 26px;border-image:url(assets/scroll.webp) 0 95 fill / 0 26px / 0 stretch;height:56px;display:flex;align-items:center;padding:0 22px;color:#3A2410;font-size:16px;font-weight:700;filter:drop-shadow(0 10px 20px rgba(0,0,0,.55));animation:unroll .35s ease-out}
@keyframes unroll{from{clip-path:inset(0 48% 0 48%)}to{clip-path:inset(0 0 0 0)}}
/* 面板：林中暗玻璃 + 黄铜细线 */
.pane{background:var(--glass);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);border:1px solid var(--line);border-radius:18px 4px 18px 4px;padding:22px 24px;box-shadow:inset 0 1px 0 rgba(255,236,190,.08),0 18px 40px rgba(0,0,0,.35)}
/* 羊皮纸 */
.parch{position:relative;color:#3B2614;background:radial-gradient(ellipse at 30% 20%,#F7ECCF,#E9D7AB 60%,#D7BF8A);border-radius:6px;padding:34px 40px;box-shadow:inset 0 0 60px rgba(120,80,30,.35),inset 0 0 6px rgba(80,50,20,.5),0 24px 50px rgba(0,0,0,.5)}
.parch h2{color:#5A3412}.parch .muted{color:#7A5A38}.parch .faint{color:#9A7B55}
.parch::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.35;background:repeating-radial-gradient(circle at 70% 60%,transparent 0 3px,rgba(120,80,40,.06) 3px 5px)}
/* 热力图：果实色 */
.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,10px);gap:3px}
.heat i{width:10px;height:10px;border-radius:50%;background:var(--h0)}
.heat i.l2{background:var(--h1);box-shadow:0 0 4px rgba(63,154,114,.6)}
.heat i.l3{background:var(--h2);box-shadow:0 0 6px rgba(242,190,92,.7)}
.heat i.pp{background:none;box-shadow:inset 0 0 0 1.5px var(--berry)}
.heat i.fut{background:none;box-shadow:inset 0 0 0 1px rgba(240,228,195,.08)}
.legend{display:flex;gap:16px;font-size:13px;color:var(--faint);align-items:center;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.vine{height:8px;border-radius:8px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(242,190,92,.18);overflow:hidden}
.vine b{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#3F9A72,#F2BE5C);box-shadow:0 0 10px rgba(242,190,92,.6)}
.money.blur{filter:blur(7px);user-select:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
