:root{color:#f5f6f6;font-synthesis:none;background:#858f9d;font-family:Inter,Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{min-width:320px;overflow:hidden}button{font:inherit;cursor:pointer}.scene{background:linear-gradient(#283b59 0%,#465064 25%,#8e8389 45%,#929eac 46%,#99a3b1 100%);position:fixed;inset:0}.scene canvas{touch-action:none;width:100%;height:100%;display:block}.fallback{color:#fff;place-items:center;height:100%;display:grid}.topbar{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;inset:16px 18px auto}.topbar>*{pointer-events:auto}.top-left{min-width:270px}.tabs{gap:8px;display:flex}.tabs button,.top-actions button{color:#f6f7f3;background:#15212fe8;border:1px solid #ffffff35;border-radius:7px;padding:12px 17px;font-size:14px;box-shadow:0 2px 12px #0002}.tabs button.active{background:#345f4d;border-color:#91b4a1}.top-left h1{text-shadow:0 1px 4px #213447;letter-spacing:.03em;margin:16px 0 5px;font-size:17px}.top-left p{color:#e2e8eb;margin:0;font-size:11px}.status{text-shadow:0 1px 4px #203446;gap:9px;margin-top:25px;font-size:12px;font-weight:600;display:flex}.status i{border:2px solid #edbd64;border-radius:50%;width:9px;height:9px;margin-top:3px}.status small{color:#d5dbdd;margin-top:4px;font-size:10px;font-weight:400;display:block}.brand{white-space:nowrap;text-shadow:0 1px 4px #203446;align-items:center;gap:10px;font-size:12px;font-weight:700;line-height:1.5;display:flex;position:absolute;left:50%;transform:translate(-50%)}.brand-symbol{color:#e8343c;font-size:22px;font-weight:900}.top-actions{gap:8px;display:flex}.top-actions button{padding:12px 15px;font-weight:600}.hint{color:#f4e0b4;text-shadow:0 1px 5px #384456;font-size:11px;position:fixed;top:92px;right:21px}.labels{pointer-events:none;position:fixed;inset:0}.label{pointer-events:auto;color:#fff;white-space:nowrap;background:#1c303bd9;border:1px solid #b7d8c180;border-radius:7px;padding:9px 11px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 24px));box-shadow:0 5px 20px #0003}.label span{color:#a9ddc0;margin-right:6px;font-size:10px}.label i{color:#c8d9d6;margin-left:8px;font-size:10px;font-style:normal}.label:after{content:"";border-left:1px solid #d3e6d4;height:24px;position:absolute;top:100%;left:50%}.data-panel,.help-panel{z-index:5;color:#f6f8f6;background:#172432ed;border:1px solid #ffffff35;border-radius:10px;position:fixed;box-shadow:0 15px 40px #18202a6b}.data-panel{width:310px;padding:20px;display:none;top:125px;right:20px}.data-panel.open{display:block}.panel-title{justify-content:space-between;align-items:flex-start;display:flex}.panel-title small{letter-spacing:.16em;color:#a8c6bc;font-size:9px}.panel-title h2{margin:5px 0;font-size:18px}.panel-title button{color:#dce9e7;background:0 0;border:0;font-size:25px}.data-panel p{color:#b2c4c3;margin:8px 0 17px;font-size:12px}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats>div{background:#ffffff0c;border:1px solid #ffffff17;border-radius:6px;padding:12px}.stats span{color:#b5c6c5;font-size:11px;display:block}.stats b{margin-top:8px;font-size:23px;display:block}.stats b small{color:#a9bbba;font-size:11px;font-weight:400}.stats b.pending{color:#f0d294;margin:15px 0 3px;font-size:14px}.subhead{justify-content:space-between;margin:20px 0 6px;font-size:13px;font-weight:700;display:flex}.subhead span{color:#d2bd86;font-size:10px;font-weight:400}.row{color:#b8c9c8;border-bottom:1px solid #ffffff1c;padding:10px 0;font-size:12px}.row b{float:right;color:#fff}.panel-foot{color:#a9b8b7;margin-top:15px;font-size:10px}.help-panel{width:250px;padding:16px;font-size:12px;line-height:1.6;top:75px;right:20px}.help-panel p{color:#c6d2d2;margin-bottom:0}.model-note{color:#e5ebec;text-shadow:0 1px 4px #263b4a;font-size:10px;position:fixed;bottom:23px;left:20px}.dock{z-index:4;background:#192530ed;border:1px solid #ffffff25;border-radius:17px;gap:3px;padding:5px;display:flex;position:fixed;bottom:17px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #1b273966}.dock button{color:#e5eceb;background:0 0;border:0;border-radius:11px;width:62px;height:48px;font-size:10px}.dock button span{font-size:19px;line-height:22px;display:block}.dock button.selected{color:#ffe7b3;background:#8b6d49}.dock button:hover,.top-actions button:hover{background:#526b67}.dock button:focus-visible,.tabs button:focus-visible,.label:focus-visible,.top-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=800px){.brand{display:none}.top-actions{position:fixed;top:16px;right:15px}.top-actions button{padding:12px 9px;font-size:11px}.tabs button{padding:12px 10px;font-size:12px}.hint{text-align:right;max-width:145px;line-height:1.5;top:77px;right:15px}.top-left h1{max-width:185px;font-size:14px}.top-left{min-width:0}.status{margin-top:15px}.label{padding:7px;font-size:10px}.label i{display:none}.model-note{max-width:55%;line-height:1.5;bottom:80px}.data-panel{width:min(300px,100vw - 24px);max-height:calc(100vh - 235px);top:155px;right:12px;overflow:auto}.dock{gap:0;max-width:calc(100vw - 20px);bottom:12px}.dock button{width:42px;height:48px}.dock button span{font-size:17px}.help-panel{top:65px;right:12px}}@media (width<=600px){.hint,.labels{display:none}}.dock button small{white-space:nowrap;font-size:10px;display:block}.dock #demo-toggle{color:#fff1c9;background:#715b40;width:70px}.demo-badge{z-index:3;color:#f9e4b2;white-space:nowrap;background:#24313be8;border:1px solid #fff4cf54;border-radius:20px;padding:7px 11px;font-size:11px;position:fixed;bottom:88px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #0003}.demo-badge i{background:#e7bc67;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.demo-badge.paused i{background:#a5aeb2}@media (width<=800px){.dock{width:calc(100% - 20px)}.dock button,.dock #demo-toggle{flex:1;width:auto;min-width:0}.dock button small{font-size:9px}.demo-badge{bottom:78px}.model-note{max-width:76%;bottom:112px}}.topbar:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#1b293bcc,#1b293b6b 52%,#0000);height:170px;position:fixed;top:0;left:0;right:0}@media (width<=360px){.dock #demo-toggle small{display:none}.dock #demo-toggle:after{content:"暂停";font-size:9px;display:block}.dock #demo-toggle[aria-pressed=false]:after{content:"播放"}}.scene[data-weather=sunny]{background:linear-gradient(#516b88 0%,#8da0b2 43%,#b5bec3 46%,#9ca8ae 100%)}.scene[data-weather=cloudy]{background:linear-gradient(#536475 0%,#84929f 43%,#a3aeb5 46%,#909da5 100%)}.scene[data-weather=rain]{background:linear-gradient(#344d60 0%,#657c8b 43%,#8c9ba2 46%,#7f9097 100%)}.scene[data-weather=sunset]{background:linear-gradient(#495770 0%,#b7887b 41%,#dfb49d 46%,#a79999 100%)}.environment-control{z-index:4;color:#d4e1de;background:#172432e8;border:1px solid #ffffff35;border-radius:8px;grid-template-columns:auto auto;align-items:center;gap:2px 8px;padding:9px 10px;font-size:11px;display:grid;position:fixed;top:125px;right:20px;box-shadow:0 4px 18px #0003}.environment-control select{color:#fff;font:inherit;cursor:pointer;background:#354650;border:1px solid #ffffff42;border-radius:5px;padding:5px 6px}.environment-control select:focus-visible{outline-offset:2px;outline:2px solid #fff}.environment-control small{color:#c8d2cd;grid-column:1/-1;font-size:10px}@media (width<=800px){.environment-control{padding:7px 8px;top:108px;right:12px}.environment-control small{font-size:9px}}
