:root{font-family:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:#20363e;background:#edf2f3;font-synthesis:none;--accent:#197580;--border:#d9e3e5}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:wait;opacity:.42}button:focus-visible,input:focus-visible,#viewport:focus-visible{outline:2px solid #197580;outline-offset:3px}button{transition:background .15s,color .15s}button:hover:not(:disabled){background:#e6f0f1}button svg,.selected-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:1px solid var(--border);position:relative;z-index:5}.brand{display:flex;gap:13px;align-items:center;min-width:240px}.brand>svg{width:32px;height:38px;fill:none;stroke:var(--accent);stroke-width:1.6}.brand h1{font-size:20px;letter-spacing:1px;font-weight:600;margin:0 0 4px}.brand p{font-size:11px;color:#7c8d92;margin:0;letter-spacing:1px}.mode-switch{display:flex;padding:4px;background:#f1f5f5;border-radius:7px;gap:3px}.mode-switch button{font-size:13px;padding:10px 23px;border-radius:5px;min-width:112px}.mode-switch .active{background:#fff;color:var(--accent);box-shadow:0 1px 5px #25424c13;font-weight:600}.walk-icon{display:none}.header-actions{display:flex;gap:19px;align-items:center;min-width:240px;justify-content:flex-end}.subtle{font-size:12px;color:#5b747a;padding:8px}.subtle span{margin-left:14px}.icon-button{width:30px;height:30px;border-radius:4px;font-size:20px;line-height:1}#help-button{border:1px solid #b9cacc;border-radius:50%;width:24px;height:24px;font-size:14px;color:#6a8187}#workspace{position:relative;height:calc(100dvh - 78px)}#viewport{position:absolute;inset:0;outline:none;touch-action:none}#viewport canvas{display:block;width:100%;height:100%;cursor:grab}#viewport.walking canvas{cursor:crosshair}#viewport canvas:active{cursor:grabbing}.facility-panel{position:absolute;top:24px;left:24px;width:244px;max-height:calc(100% - 112px);background:#ffffffed;backdrop-filter:blur(10px);border:1px solid #fff;border-radius:8px;box-shadow:0 5px 24px #29445012;display:flex;flex-direction:column;padding:19px 17px 0}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-title h2{font-size:15px;margin:0;font-weight:600}.panel-title .icon-button{color:#84959a}.search{display:flex;align-items:center;background:#f0f5f5;border:1px solid #e6eded;border-radius:5px;padding:9px 10px;gap:8px}.search svg{width:16px;height:16px;fill:none;stroke:#83979d;stroke-width:1.5;flex-shrink:0}.search input{min-width:0;width:100%;border:0;background:none;font-size:12px;outline:none;color:#314d54}.search input::placeholder{color:#8b9da1}.list-heading{display:flex;justify-content:space-between;color:#89999e;font-size:11px;padding:20px 7px 8px}.facility-list{overflow-y:auto;min-height:80px;scrollbar-width:thin}.facility-item{display:flex;align-items:center;width:100%;padding:12px 9px;gap:10px;text-align:left;font-size:13px;border-radius:5px;margin-bottom:3px}.facility-item .facility-symbol{width:27px;height:27px;display:grid;place-items:center;background:#edf3f3;border-radius:4px;color:#6d8c91}.facility-symbol svg{width:17px;height:17px}.facility-item.active{background:#e5f1f0;color:#156e75}.facility-item .chevron{margin-left:auto;color:#9aaeb2;font-size:18px}.panel-foot{font-size:11px;color:#7c9297;padding:16px 6px;border-top:1px solid #e9eeee;margin-top:13px;display:flex;gap:8px;align-items:center}.status-dot{width:6px;height:6px;background:#5a977b;border-radius:50%;display:inline-block;flex-shrink:0}.expand{position:absolute;top:24px;left:24px;background:#fff;width:42px;height:42px;border:1px solid var(--border);box-shadow:0 2px 12px #29445010;font-size:17px}.scene-tools{position:absolute;right:24px;top:24px;background:#ffffffec;border:1px solid #fff;border-radius:7px;padding:4px;display:flex;flex-direction:column;box-shadow:0 5px 20px #2944500d}.scene-tools button{display:grid;place-items:center;width:38px;height:39px;border-radius:4px;font-size:23px;color:#4a6972}.scene-tools>span{height:1px;background:#e1e9eb;margin:3px 6px}.compass{position:absolute;right:24px;bottom:80px;width:48px;height:64px;display:flex;flex-direction:column;align-items:center;color:#4e6f7a;font-size:11px;pointer-events:none}.compass svg{width:35px;fill:#61868f;transform-origin:center}.selection{position:absolute;bottom:73px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#fffffff5;border:1px solid white;border-radius:7px;box-shadow:0 8px 30px #28404d14;padding:14px 16px;min-width:300px;max-width:calc(100% - 48px)}.selection[hidden],*[hidden]{display:none!important}.selected-icon{background:#e7f0f1;color:#397a83;border-radius:5px;width:40px;height:40px;display:grid;place-items:center;flex-shrink:0}.selection p{margin:0 0 4px;font-size:10px;color:#8a9c9f}.selection h2{font-size:15px;font-weight:600;margin:0;max-width:250px;overflow-wrap:anywhere}.selection small{font-size:10px;color:#93a1a4}.selection .icon-button{align-self:flex-start;color:#8aa0a5;font-size:20px}.text-button{color:var(--accent);font-size:12px;padding:8px 12px;margin-left:auto;border:1px solid #d6e5e7;border-radius:4px;white-space:nowrap}.scene-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:48px;background:#ffffffde;border-top:1px solid #fff;padding:9px 25px;color:#6a8189;font-size:11px;gap:12px}#instructions{display:flex;gap:22px;flex-wrap:wrap}kbd{font-family:inherit;font-size:10px;padding:3px 5px;border:1px solid #d8e3e6;border-radius:3px;background:#f5f8f9;color:#607a83;margin-right:3px}.render-state{display:flex;gap:8px;align-items:center;white-space:nowrap}#fps{font-size:10px;color:#7e949b;padding-left:8px;border-left:1px solid #d5e0e3;margin-left:5px;min-width:50px}#fps:empty{display:none}#crosshair{position:absolute;top:50%;left:50%;width:6px;height:6px;border:1px solid #ffffffc9;border-radius:50%;background:#294c5777;pointer-events:none}.toast{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);background:#294750ec;color:#fff;font-size:12px;padding:12px 20px;border-radius:5px;max-width:90%;pointer-events:none;text-align:center}.loading{position:absolute;inset:0;background:#edf3f5f5;display:grid;place-items:center;z-index:10}.load-card{width:340px;max-width:calc(100vw - 48px);text-align:center}.plant-mark{width:175px;height:100px;fill:#dcebed;stroke:#6e9ca5;stroke-width:1.2;margin-bottom:25px}.load-kicker{color:#769198;font-size:12px;letter-spacing:2px}.load-card h2{font-size:21px;letter-spacing:1px;font-weight:500;margin:13px 0}.load-card>p:not(.load-kicker){font-size:12px;color:#8a9da2}.progress-track{height:3px;background:#d8e5e8;margin:30px 0 12px;overflow:hidden;border-radius:2px}.progress-track i{display:block;height:100%;width:0;background:#448c98;transition:width .25s}.load-progress{display:flex;justify-content:space-between;font-size:11px;color:#7c959d}.primary{background:#197580;color:#fff;padding:11px 24px;border-radius:5px;font-size:13px;margin-top:20px}.primary:hover:not(:disabled){background:#125f68;color:white}dialog{border:1px solid #e0e8e9;border-radius:10px;padding:32px;width:490px;max-width:calc(100vw - 36px);box-shadow:0 20px 90px #18303b2e;color:#28454e}dialog::backdrop{background:#18303b44;backdrop-filter:blur(3px)}dialog h2{font-size:20px;font-weight:500;margin:3px 0 15px}dialog h3{font-size:14px;font-weight:600}dialog p{font-size:13px;line-height:2;color:#70878d}.help-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e1e9eb;border-bottom:1px solid #e1e9eb;margin:18px 0;gap:25px}.close-dialog{position:absolute;top:15px;right:15px;color:#8a9da4}.muted{font-size:11px!important;color:#90a0a5!important;line-height:1.7}.facility-list>.muted{padding:10px}.loading.error .progress-track{display:none}@media(max-width:900px){.topbar{padding:0 18px;height:70px}.brand{min-width:180px}.brand h1{font-size:17px}.header-actions{min-width:130px;gap:8px}.mode-switch button{padding:9px 13px;min-width:90px}#workspace{height:calc(100dvh - 70px)}.facility-panel{width:215px;left:15px;top:18px}.scene-tools{right:15px;top:18px}#instructions{gap:12px}.scene-footer{font-size:10px;padding:9px 15px}}@media(max-width:650px){.brand p{display:none}.brand{min-width:0}.brand>svg{width:23px}.brand h1{font-size:15px}.mode-switch button{font-size:11px;padding:9px;min-width:65px}.header-actions{min-width:0}.subtle{display:none}.facility-panel{width:190px;max-height:calc(100% - 190px)}.scene-footer #instructions>span:nth-child(n+3){display:none}.render-state #fps{display:none}.selection{bottom:65px;width:calc(100% - 30px)}.selection h2{max-width:160px;font-size:13px}.selection small{display:none}.help-grid{gap:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

