:root{--ink:#2c4534;--muted:#85907d;--green:#526e4d;--paper:#f8f8f0;--line:#e3e7da;--serif:"Songti SC","STSong","SimSun",serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 -apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,h4,p{margin:0}.app{max-width:940px;margin:0 auto;padding:28px 22px 50px}.top,.notice-bar,.hero-card,.panel,footer{animation:rise .68s cubic-bezier(.16,1,.3,1) both}.top{animation-delay:40ms}.notice-bar{animation-delay:.1s}.hero-card{animation-delay:.16s}.grid .stat{animation:rise .62s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.22s + var(--i)*70ms)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:12px}.brand .mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e8eedf;color:#486243;font-size:19px}.brand h1{font:500 25px var(--serif);letter-spacing:4px}.brand p{font-size:9px;letter-spacing:2.4px;color:var(--muted)}.status{display:flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--line);border-radius:20px;background:#fff9;font-size:11px;white-space:nowrap}.status i{width:7px;height:7px;border-radius:50%;background:#b9b3a3}.status.on i{background:#6f9160;box-shadow:0 0 0 3px #6f916025;animation:pulse 2.4s infinite}.status.on{color:#45623e}.status.off{color:#8a7a5f}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #6f916025}50%{box-shadow:0 0 0 7px #6f916008}}.top-right{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.userbox{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 12px;border:1px solid var(--line);border-radius:20px;background:#fff9;font-size:11px;white-space:nowrap}.uname{color:#45623e;letter-spacing:.4px}button.ghost.mini{padding:5px 12px;font-size:10px;border-radius:16px}.notice-bar{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;margin-bottom:18px;border:1px solid #e6dfc7;border-left:3px solid #c1a25c;border-radius:8px;background:#fdfaf0;font-size:12px;color:#6b6247;line-height:1.7}.notice-bar strong{color:#5b4a26}.notice-bar .dot{width:6px;height:6px;border-radius:50%;background:#c1a25c;margin-top:8px;flex-shrink:0;animation:pulse 2.4s infinite}.hero-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:24px;min-height:250px;padding:38px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(115deg,#eaf2e3,#f7f6ec 68%);margin-bottom:18px}.hero-copy{position:relative;z-index:2;max-width:560px}.eyebrow{font-size:9px;letter-spacing:2.6px;color:#708068;margin-bottom:12px}.hero-copy h2{font:500 clamp(26px,4vw,36px)/1.35 var(--serif);letter-spacing:1px;margin-bottom:12px}.desc{font-size:12px;color:#697561;line-height:1.9}.hero-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}button.primary{display:flex;align-items:center;gap:14px;padding:12px 22px;border:0;border-radius:24px;background:#45623e;color:#fff;font-size:12px;letter-spacing:.5px;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s ease}button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px #27402c35}button.primary span{transition:transform .26s ease}button.primary:hover span{transform:translate(4px)}button.ghost{padding:11px 18px;border:1px solid var(--line);border-radius:22px;background:#fff9;font-size:12px;transition:border-color .22s,transform .22s}button.ghost:hover{border-color:#9cad88;transform:translateY(-1px)}button.danger{padding:11px 18px;border:1px solid #e4cfc8;border-radius:22px;background:#fff9;color:#9a6555;font-size:12px;transition:border-color .22s,transform .22s}button.danger:hover{border-color:#c99b8b;transform:translateY(-1px)}.hero-visual{position:absolute;right:-20px;top:0;bottom:0;width:42%;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb.a{width:170px;height:170px;right:20px;top:20px;background:radial-gradient(circle,#ffffff80,#fff0 70%);animation:float 9s ease-in-out infinite}.orb.b{width:110px;height:110px;right:150px;bottom:10px;background:radial-gradient(circle,#c9dbb855,#c9dbb800 70%);animation:float 11s -3s ease-in-out infinite}.orb.c{width:70px;height:70px;right:60px;bottom:22px;background:radial-gradient(circle,#e8d9a766,#e8d9a700 70%);animation:float 7s -1s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hero-visual .leaf{position:absolute;right:64px;top:44px;width:96px;color:#7d9770;opacity:.35;animation:sway 8s ease-in-out infinite}@keyframes sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{position:relative;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:10px;background:#fdfdf7;transition:transform .26s ease,box-shadow .26s ease}.stat:hover{transform:translateY(-3px);box-shadow:0 12px 28px #2f4a2c12}.stat strong{display:block;font:500 30px Georgia,serif;color:#45623e;line-height:1.2}.stat strong small{font:400 11px sans-serif;color:#8a927f;margin-left:4px}.stat span{font-size:11px;color:var(--muted)}.stat .bar{position:absolute;left:0;bottom:0;height:2px;width:36%;background:#8fae7c;transition:width .7s cubic-bezier(.16,1,.3,1)}.stat:hover .bar{width:100%}.panel{border:1px solid var(--line);border-radius:10px;background:#fdfdf7;margin-bottom:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-head h3{font:500 15px var(--serif);letter-spacing:1px}.muted{font-size:10px;color:var(--muted)}.panel-body{padding:16px 18px}.hint{font-size:11px;color:#7b8675;line-height:1.8;margin-bottom:14px}.btns{display:flex;gap:9px;flex-wrap:wrap}.log{list-style:none;margin:0;padding:0}.log li{display:grid;grid-template-columns:76px 1fr 78px 78px 70px;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px dashed #e9ede2;font-size:11px;color:#5d6c58;animation:slideIn .42s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*45ms)}.log li:last-child{border-bottom:0}.log .t,.log .d,.log .sz{color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:10px}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.empty{padding:18px 0;text-align:center;font-size:11px;color:var(--muted)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cols h4{font-size:12px;color:#45623e;margin-bottom:8px}.cols ul{margin:0;padding-left:18px}.cols li{font-size:11px;color:#6d7866;line-height:2}footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);z-index:99;padding:11px 20px;border-radius:8px;background:#3a573c;color:#fff;font-size:12px;box-shadow:0 12px 30px #1d332430}.toast-enter-active,.toast-leave-active{transition:opacity .26s,transform .26s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,14px)}@media(max-width:760px){.app{padding:20px 14px 40px}.top{flex-wrap:wrap}.top-right{width:100%;justify-content:flex-start}.grid{grid-template-columns:repeat(2,1fr)}.hero-card{padding:26px 20px;min-height:0}.hero-visual{opacity:.4;width:60%}.cols{grid-template-columns:1fr}.log li{grid-template-columns:62px 1fr 60px;font-size:10px}.log li span:nth-child(4),.log li .sz{display:none}footer{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
