:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#e7f1ed;background:#101a19;line-height:1.4}*{box-sizing:border-box}body{margin:0}header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#182926;border-bottom:1px solid #35534a;gap:12px}header strong{font-size:20px}header .sub{margin-left:12px;color:#9cbcb0;font-size:13px}.header-actions,.button-row,.tool-options,.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.status{padding:5px 9px;border-radius:5px;background:#31443d;font-size:13px}.status.error{background:#793b35}.status.saved{background:#24543e}main{display:grid;grid-template-columns:275px minmax(360px,1fr) 320px;height:calc(100vh - 64px)}aside{overflow:auto;background:#172321}aside.left{border-right:1px solid #35534a}aside.right{border-left:1px solid #35534a}section{padding:15px;border-bottom:1px solid #354a42}h2{font-size:14px;color:#b1d7c3;margin:0 0 11px;font-weight:700;letter-spacing:.03em}label{display:block;font-size:12px;color:#c0d2c9;margin:7px 0}input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea{width:100%;border:1px solid #49675b;background:#101b19;color:#ecf5f1;padding:7px;border-radius:5px;font:inherit}textarea{resize:vertical}input[type=range]{display:block;width:100%;accent-color:#a3e1ba}input[type=checkbox]{accent-color:#9addad;vertical-align:middle}button,.file-button{border:1px solid #4c6e5f;color:#e6f3ec;background:#263d34;padding:7px 9px;border-radius:5px;cursor:pointer;font:inherit;font-size:12px}button:hover,.file-button:hover{background:#355548}button.active{background:#85d2a5;border-color:#a1e5b9;color:#102a1d;font-weight:700}button:disabled{opacity:.42;cursor:not-allowed}.seg{display:flex}.seg button{flex:1;border-radius:0}.seg button:first-child{border-radius:5px 0 0 5px}.seg button:last-child{border-radius:0 5px 5px 0}.muted{color:#9ab1a6;font-size:12px;line-height:1.5}.objects{max-height:42vh;overflow:auto}.objects button{display:block;text-align:left;width:100%;margin:3px 0}.objects button.selected{outline:2px solid #a9e8c0}.center{display:flex;flex-direction:column;min-width:0;min-height:0}.toolbar,.tool-options{padding:8px;background:#20312b;border-bottom:1px solid #3b584b}.tool-options label{margin:0;display:flex;gap:5px;align-items:center}.tool-options input[type=number]{width:65px!important}.canvas-wrap{position:relative;flex:1;min-height:200px;background:#111c1b;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}.canvas-hint,.message{position:absolute;left:12px;bottom:12px;padding:6px 9px;background:#14201de8;color:#c1d4ca;border-radius:5px;font-size:12px;pointer-events:none}.message{bottom:auto;top:12px;background:#874334;color:#fff}.map-footer{display:flex;justify-content:space-between;gap:6px;padding:7px 12px;font-size:11px;color:#adc9ba;background:#1c2e27}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.fields label:last-child{grid-column:1/-1}.button-row{margin:8px 0}.button-row label{margin:0}.button-row input[type=number]{width:55px!important}.file-button input{display:none}@media(max-width:1150px){main{grid-template-columns:230px minmax(300px,1fr) 260px}header .sub{display:none}}@media(max-width:780px){header{height:auto;min-height:58px;padding:8px}main{height:auto;display:flex;flex-direction:column}.center{order:0;height:72vh;min-height:500px}.left{order:1}.right{order:2}aside{max-height:none}.objects{max-height:230px}.map-footer{flex-wrap:wrap}}
.login{position:fixed;inset:0;z-index:10;background:#0d1715ee;display:grid;place-items:center}.login[hidden]{display:none}.login-card{width:min(360px,90vw);background:#1c3028;padding:28px;border:1px solid #4c6e5f;border-radius:10px}.login-card h1{font-size:21px}.login-card p{color:#a9bfb2;font-size:13px}#loginError{color:#ffc3b8;font-size:12px;margin:8px 0}
details{font-size:12px;color:#a9c4b5;margin:8px 0}summary{cursor:pointer}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;padding:8px;background:#10201a;border-radius:4px;font-size:11px}
