:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e4e8ee;background:#181b20;color-scheme:dark;font-synthesis:none;font-weight:400;--panel: #23272d;--panel-raised: #2b3038;--panel-deep: #1c2026;--text: #e4e8ee;--muted: #929ba8;--quiet: #687382;--line: #373e48;--accent: #7aa9f5;--accent-bg: #30415d;--shadow: 0 6px 26px #0004, 0 1px 3px #0003;--ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;color:#69727f;opacity:.48}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:active:not(:disabled){transform:scale(.97)}a{color:inherit;text-decoration:none}svg{flex-shrink:0;stroke-width:1.7}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}input,textarea,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:#191d23;color:var(--text);padding:8px 9px;font-size:12px;outline:none;line-height:1.4}input::placeholder,textarea::placeholder{color:#717c8b}input:focus,textarea:focus,select:focus{border-color:#7795bb;box-shadow:0 0 0 2px #7aa9f512}input:disabled,textarea:disabled,select:disabled{background:#20242a;color:#838c99}textarea{resize:vertical;min-height:70px}input[type=color]{height:32px;cursor:pointer;padding:3px;width:100%}input[type=range]{padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--accent);height:22px}input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}input[aria-invalid=true]{border-color:#c89272}select option{background:#23272d;color:#e4e8ee}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 9px;min-height:32px;border-radius:5px;font-size:12px;font-weight:450;white-space:nowrap;transition:background-color .13s ease,color .13s ease,transform .1s var(--ease-out)}.btn:hover:not(:disabled){background:#343c47;color:#fff}.btn.active{color:#a2c5ff;background:var(--accent-bg)}.btn.primary{background:#537db7;color:#fff;padding:9px 13px;min-height:36px}.btn.primary:hover:not(:disabled){background:#638fc9}.btn.wide{width:100%;margin-top:12px}.btn.danger,.danger{color:#e29b95}.btn.danger:hover:not(:disabled){background:#4a3033}.float{background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow)}.muted{font-size:12px;line-height:1.6;color:var(--muted)}.eyebrow{font-size:9px;font-weight:550;letter-spacing:1.2px;color:var(--muted)}.field{display:block;font-size:11px;margin:12px 0}.field>span{display:block;margin-bottom:6px;color:#a5aebb;font-weight:450}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid .field{margin-top:8px;margin-bottom:8px}.row{display:flex;align-items:center;gap:8px}.checkbox{display:flex;gap:8px;align-items:center;font-size:11px;color:#b1bac6;margin:13px 0}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:2px}.brand-mark{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#b6cae5;background:#313b4b;border:1px solid #475469;border-radius:5px}.workspace{position:relative;width:100%;height:100dvh;overflow:hidden;background:#20262d}.map{position:absolute;inset:0}.map-loading,.loading{height:100dvh;display:flex;align-items:center;justify-content:center;gap:12px;background:#1b2027;color:#aab6c7;font-size:12px}.map-loading{position:absolute;inset:0}.loading{flex-direction:column}.map-header{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;gap:16px;z-index:10;pointer-events:none}.map-header>div{pointer-events:auto}.project-toolbar{display:flex;align-items:center;gap:8px;position:relative;padding:5px;max-width:min(520px,calc(100vw - 250px));height:44px}.project-toolbar .brand-mark{border:0;width:30px;height:30px;background:#303844;color:#c0cee1}.project-menu-trigger{display:flex;align-items:center;gap:10px;min-width:0;height:32px;padding:6px;border-radius:4px;text-align:left;font-size:12px;font-weight:500}.project-menu-trigger>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:260px}.project-menu-trigger:hover,.project-menu-trigger.active{background:#343b46}.project-menu-trigger>svg{color:#8d98a7}.save-state{display:flex;align-items:center;gap:6px;padding:0 8px;color:#96a5b3;font-size:10px;white-space:nowrap;border-left:1px solid var(--line);height:20px}.save-state>span:first-child{height:5px;width:5px;flex-shrink:0;border-radius:50%;background:#83aa91}.save-state.pending>span:first-child{background:#90add6}.save-state.warning{color:#dfb582}.save-state.warning>span:first-child{background:#dfb582}.project-actions{position:absolute;top:50px;left:0;width:240px;padding:5px;background:#272d35;border:1px solid #434c59;border-radius:7px;box-shadow:0 12px 34px #0006;z-index:23;transform-origin:top left}.project-actions>button{display:flex;gap:11px;align-items:center;min-height:35px;width:100%;text-align:left;font-size:12px;padding:8px 10px;border-radius:4px;color:#d4dbe5}.project-actions>button:hover:not(:disabled),.project-actions>button:focus-visible{background:#364355}.project-actions>button>svg{color:#a2afc0}.project-actions>button.danger{color:#e4a49d}.project-actions>button.menu-divider{border-top:1px solid #3a434f;border-top-left-radius:0;border-top-right-radius:0;margin-top:4px;padding-top:11px}.collaboration-bar{display:flex;align-items:center;gap:9px;padding:5px 6px;height:44px}.connection-indicator{width:6px;height:6px;flex-shrink:0;border-radius:50%;margin-left:5px}.online{background:#83aa91}.offline{background:#d8a16a}.people{display:flex;padding-left:3px}.people>span{display:grid;place-items:center;flex-shrink:0;border:2px solid var(--panel);height:27px;width:27px;border-radius:50%;margin-left:-4px;background:#465062;color:#e4e9f1;font-size:10px}.share-button{padding:7px 10px;background:#354661;color:#c4d9fa;gap:7px;min-height:30px}.share-button:hover:not(:disabled){background:#41597c}.toolrail{position:absolute;left:max(12px,env(safe-area-inset-left));top:72px;z-index:9;display:flex;flex-direction:column;gap:3px;padding:5px;width:48px;max-height:calc(100dvh - 134px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.toolrail::-webkit-scrollbar{display:none}.toolrail>.btn{width:36px;height:36px;min-height:36px;padding:7px;color:#b6c0cd;flex-shrink:0}.toolrail>.btn.active{background:#3b5578;color:#cbe0ff;box-shadow:inset 2px 0 #8bb8fb}.toolrail>.btn:hover:not(:disabled){background:#37404c;color:#f1f5fb}.tool-divider{height:1px;min-height:1px;background:#3c4551;width:24px;margin:4px auto}.map-drawer{position:absolute;top:72px;left:70px;width:296px;max-height:calc(100dvh - 90px);display:flex;flex-direction:column;z-index:8;overflow:hidden;transform-origin:left top}.map-drawer[hidden]{display:none}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line);min-height:44px;flex-shrink:0}.drawer-header>.btn{width:28px;height:28px;min-height:28px;padding:5px;color:#9ca8b8}.panel-tabs{display:flex;gap:3px}.panel-tabs>button{padding:6px 10px;font-size:12px;border-radius:4px;color:#929ead}.panel-tabs>button[aria-selected=true]{background:#35455c;color:#c7dcfa}.panel-tabs>button:hover{color:#e3eaf4}.drawer-content{overflow:auto;min-height:100px;overscroll-behavior:contain;max-height:calc(100dvh - 176px)}.drawer-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#7f8b9a;font-size:9px;padding:10px 13px;flex-shrink:0}.searchbox{display:flex;align-items:center;gap:7px;margin:12px;border:1px solid #48566a;border-radius:5px;background:#191f28;padding:0 9px;color:#a3b8d3}.searchbox input{border:0;box-shadow:none;background:transparent;height:35px;padding:7px 0;font-size:12px}.searchbox button{display:flex;padding:2px;color:#8796aa}.search-results{padding:0 6px 8px}.search-results>button{display:flex;align-items:flex-start;width:100%;gap:10px;text-align:left;padding:11px 8px;border-radius:4px;font-size:12px;line-height:1.45}.search-results>button>svg{margin-top:2px;color:#8db0df}.search-results>button:hover{background:#303b4b}.search-results small{display:block;font-size:10px;color:#909cac;margin-top:4px;line-height:1.4}.panel-empty{padding:26px 20px 30px;text-align:center;color:#697b92}.panel-empty>svg{margin-bottom:12px}.panel-empty h3{color:#b6c2d1;font-size:12px;margin-bottom:8px}.panel-empty p{font-size:11px;line-height:1.6;color:#8997aa}.panel-empty small{display:inline-block;border:1px solid #3e4958;padding:4px 8px;border-radius:4px;font-size:9px;color:#8294ad;margin-top:18px}.panel-empty.error h3{color:#dcb28d}.search-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:#9fb4d0;font-size:12px}.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.layer-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 5px}.layer-heading h2{font-size:11px;font-weight:500;color:#a3b1c3}.layer-heading>.btn{min-height:26px;height:26px;width:26px;padding:4px}.layers-list{padding:0 7px 12px;max-height:280px;overflow:auto}.layer{display:flex;align-items:center;gap:1px;border-radius:4px;margin:3px 0;padding:4px 3px}.layer.chosen{background:#303f55}.layer-name{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left;font-size:11px;padding:5px 0;color:#c4cedb}.layer-name>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.layer-name>svg{color:#93a8c2}.layer-name .group-open{transform:rotate(90deg)}.layer>.btn{width:25px;height:25px;min-height:25px;padding:4px;color:#8796aa;border-radius:3px}.layer>.btn:hover:not(:disabled){background:#46556c}.object-list{border-top:1px solid var(--line);padding:12px 7px 8px}.object-heading{display:flex;justify-content:space-between;gap:10px;padding:0 6px 9px;font-size:9px;letter-spacing:.7px;color:#8190a3}.object-heading>span{font-size:10px;letter-spacing:0;color:#b0bed0}.object-list>button{width:100%;display:flex;align-items:center;text-align:left;gap:9px;padding:9px 7px;font-size:11px;border-radius:4px;color:#c3ccda;line-height:1.35}.object-list>button:hover{background:#2e3949}.object-list>button.selected{background:#344a69;color:#d2e4ff}.object-list>button>svg{margin-left:auto;color:#71839b}.feature-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;box-shadow:0 0 0 2px #b7cee31a}.empty-objects{padding:24px 12px 30px;text-align:center;color:#718197}.empty-objects>svg{stroke-width:1.5}.empty-objects p{font-size:11px;color:#a2afbf;margin:12px 0 7px}.empty-objects small{font-size:10px;line-height:1.6;color:#7f8da0}.list-note{display:block;font-size:9px;line-height:1.6;color:#7b8ba0;padding:12px 7px}.sidebar-backdrop{display:none}.basemap-switch{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));display:flex;gap:2px;padding:3px;z-index:4}.basemap-switch>button{font-size:10px;min-height:28px;padding:5px 10px;border-radius:3px;color:#98a8bd}.basemap-switch>button.active{background:#3a4c67;color:#d4e5ff}.basemap-switch>button:hover:not(:disabled){background:#354154;color:#e2edff}.basemap-switch>button:disabled{color:#77808b}.map-hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);max-width:calc(100vw - 460px);background:#222933e8;border:1px solid #465264;border-radius:5px;box-shadow:0 3px 16px #0003;padding:9px 12px;color:#b5c6dc;font-size:10px;line-height:1.45;z-index:3;pointer-events:none}.map-notice{position:absolute;left:50%;bottom:66px;transform:translate(-50%);max-width:75vw;padding:7px 10px;background:#262c35df;border:1px solid #485260;border-radius:4px;color:#aebbcf;font-size:10px;z-index:3}.inspector{position:absolute;right:max(12px,env(safe-area-inset-right));top:72px;width:288px;max-height:calc(100dvh - 88px);z-index:7;overflow:hidden;display:flex;flex-direction:column}.inspector>header{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:14px 12px 8px;flex-shrink:0}.inspector>header>div{min-width:0}.inspector h2{font-size:13px;color:#e0e8f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5;margin-top:4px}.inspector .eyebrow{font-size:8px;color:#91a3ba;letter-spacing:1px}.inspector>header>.btn{width:27px;height:27px;min-height:27px;color:#8ea0b7;padding:4px}.inspector-quick{display:flex;align-items:center;justify-content:space-between;padding:0 9px 9px;gap:8px;border-bottom:1px solid var(--line);flex-shrink:0}.inspector-quick>.btn{font-size:10px;min-height:28px;color:#acc9ef;padding:6px}.edit-state{display:flex;gap:5px;align-items:center;font-size:9px;color:#8393a8;white-space:nowrap}.edit-state>span{width:4px;height:4px;background:#8393a8;border-radius:50%}.edit-state.can-edit{color:#a9c5e9}.edit-state.can-edit>span{background:#7fa9dd}.sheet-expand{display:none}.inspector-content{overflow:auto;padding:0 13px 12px;min-height:0;overscroll-behavior:contain}.property-section{border-bottom:1px solid var(--line);padding:3px 0 10px}.property-section h3{font-size:10px;color:#8e9eb4;letter-spacing:.5px;font-weight:500;margin:12px 0 3px}.property-section .field:last-child{margin-bottom:4px}.inspector input,.inspector textarea,.inspector select{font-size:11px}.inspector textarea{min-height:64px}.inspector .field{margin-top:11px;margin-bottom:11px}.inspector .field-grid .field{margin-top:8px;margin-bottom:8px}.inspector-content>footer{display:flex;justify-content:space-between;gap:10px;padding:10px 0 0}.inspector-content>footer>.btn{font-size:10px;min-height:30px}.edit-help{font-size:9px;color:#7e90a9;line-height:1.6;margin:10px 0 0}.readonly{display:flex;gap:7px;align-items:flex-start;background:#3c3327;border:1px solid #5a4d39;border-radius:4px;color:#d5b98e;padding:8px;font-size:10px;line-height:1.5;margin-top:10px}.route-inspector>header{padding-bottom:12px;border-bottom:1px solid var(--line)}.route-inspector .muted{font-size:10px;margin:12px 0}.route-inspector .inspector-content{padding-bottom:14px}.waypoint{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:10px;color:#aabbd0;line-height:1.4}.waypoint>span{height:20px;width:20px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#354966;color:#bed6f6;font-size:9px}.waypoint>button{margin-left:auto;color:#8ca0ba;padding:4px}.parts-picker{position:absolute;left:72px;bottom:64px;width:250px;padding:10px;z-index:5;font-size:10px}.parts-picker label{display:flex;align-items:center;gap:9px;color:#a4b4c8}.parts-picker select{font-size:10px;padding:5px;max-width:135px;margin-left:auto}.parts-picker>.btn{font-size:10px;min-height:28px;padding:5px;margin-top:5px;color:#b7cee8}.parts-picker small{display:block;font-size:9px;color:#7f94b0;line-height:1.5;margin-top:7px}.draft-banner{position:absolute;top:70px;left:50%;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:min(600px,calc(100vw - 170px));padding:9px 12px;background:#3e3426;border:1px solid #69563b;border-radius:6px;color:#e0c39c;font-size:10px;box-shadow:var(--shadow)}.draft-banner>.btn{font-size:10px;min-height:26px;padding:5px 7px;color:#e5cdab;background:#67513566}.draft-banner>.btn:last-child{margin-left:auto}.overlay{position:fixed;inset:0;background:#080c13a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30}.dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,calc(100vw - 32px));max-height:min(85dvh,780px);overflow:auto;background:#242a33;border:1px solid #465161;border-radius:8px;padding:20px;box-shadow:0 22px 80px #0007;z-index:31;color:#dce6f3}.dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dialog>header h2{font-size:15px;line-height:1.4;font-weight:550}.dialog>header>.btn{width:28px;height:28px;min-height:28px;color:#9fafc4;padding:5px}.dialog h3{font-size:12px;margin:12px 0}.dialog .field{margin:14px 0}.dialog .muted{font-size:11px;color:#9caac0}.dialog .field-grid .field{margin-bottom:0}.project-menu>button{display:flex;align-items:center;gap:10px;padding:12px 7px;width:100%;text-align:left;border-bottom:1px solid var(--line);font-size:12px}.project-menu>button>span{flex:1}.project-menu>button>svg{color:#a4bedf}.project-menu small{display:block;font-size:10px;color:#899cb8;margin-top:4px}.history-list{max-height:60dvh;overflow:auto}.history-entry{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#3b4b62;color:#c2d4ed;font-size:10px}.history-entry strong{font-size:11px;font-weight:500}.history-entry p{font-size:10px;color:#93a7c3;margin:4px 0}.history-entry small{font-size:9px;color:#7d91ae}.history-entry .row{margin-top:6px}.history-entry .btn{font-size:9px;padding:5px 7px;min-height:26px;background:#303d50}.member-list>div{display:flex;align-items:center;gap:10px;margin:15px 0}.member-list>div>span:nth-child(2){flex:1;min-width:0;font-size:11px}.member-list strong{font-weight:500}.member-list small{display:block;font-size:9px;color:#8ca1bf;margin-top:4px;overflow-wrap:anywhere}.member-list select{width:102px;padding:7px;font-size:10px}.member-list>.btn{padding:5px}.upload-area{display:flex;flex-direction:column;align-items:center;gap:11px;border:1px dashed #576b88;border-radius:6px;background:#1d2839;padding:24px;text-align:center;cursor:pointer;color:#aac6eb;margin:16px 0}.upload-area strong{font-size:12px;font-weight:500}.upload-area span{font-size:10px;color:#849cbe}.upload-area input{border:0;background:transparent;font-size:10px;padding:6px}.import-preview{border-top:1px solid var(--line);padding-top:12px;margin-top:16px}.import-preview p{font-size:11px;color:#a0b4d0;margin:8px 0}.warning{font-size:10px;line-height:1.65;color:#d4ad7f;margin:12px 0}.export-formats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.export-formats a{display:flex;flex-direction:column;gap:7px;border:1px solid #465770;background:#29384c;padding:14px;border-radius:5px;color:#b9d5fa}.export-formats a:hover{background:#344a67}.export-formats strong{font-size:11px;font-weight:500}.export-formats small{font-size:9px;color:#8ba3c3}.conflict-data{max-height:170px;overflow:auto;font-size:10px;line-height:1.5;color:#b6c7df;background:#1a2432;border:1px solid #40516b;border-radius:4px;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere}.toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:40;display:flex;gap:14px;align-items:center;background:#2b3543;border:1px solid #50627c;color:#d5e4f8;box-shadow:var(--shadow);border-radius:6px;padding:11px 14px;font-size:11px;line-height:1.5;max-width:min(560px,calc(100vw - 32px))}.toast>button{display:flex;color:#8da7ca;padding:2px;margin-left:auto}.invitation-banner{position:fixed;top:68px;left:50%;transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#3b3629;border:1px solid #746140;border-radius:6px;color:#dcc59e;font-size:11px;box-shadow:var(--shadow);max-width:90vw}.invitation-banner .primary{min-height:30px;font-size:11px;padding:6px 10px}.auth{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#191e25}.auth-form{width:min(360px,100%);padding:26px;background:#252c36}.auth-brand{display:flex;align-items:center;gap:10px;letter-spacing:3px;font-size:14px;font-weight:600;margin-bottom:28px;color:#d1e0f4}.auth-brand .brand-mark{width:34px;height:34px;background:#344760;border-color:#4d6382}.auth-form>.eyebrow{font-size:8px;color:#8098b8;letter-spacing:1px}.auth-form h2{font-size:20px;letter-spacing:-.3px;font-weight:550;margin:11px 0 8px}.auth-form>.muted{font-size:11px;margin-bottom:20px;color:#9baec9}.auth-form .field{margin:15px 0}.auth-form input{min-height:37px;font-size:12px}.auth-note{font-size:10px;line-height:1.6;color:#8296b2;margin-top:20px}.project-home{max-width:900px;margin:0 auto;padding:30px 24px 60px}.home-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:56px}.home-toolbar .brand{color:#b7cbe6;font-size:12px}.home-account{display:flex;gap:10px;align-items:center;font-size:11px;color:#849bb9}.home-account .btn{color:#8098ba}.project-home>h1{font-size:23px;letter-spacing:-.4px;margin-bottom:8px}.project-home>.muted{margin-bottom:22px;font-size:12px}.project-home>.primary{font-size:11px;min-height:34px;margin-bottom:22px}.project-grid{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:4px}.project-grid>button{display:grid;grid-template-columns:32px 1fr auto 18px;column-gap:10px;align-items:center;position:relative;min-height:76px;text-align:left;padding:14px 8px;border-bottom:1px solid var(--line)}.project-grid>button:hover{background:#252e3b}.project-grid>button>svg:first-child{grid-row:1/3;color:#86a3c9;width:21px;height:21px}.project-grid>button h3{font-size:13px;font-weight:500;grid-column:2;line-height:1.5}.project-grid>button p{font-size:11px;color:#8197b5;grid-column:2;margin-top:4px;line-height:1.5}.project-grid>button .project-role{font-size:10px;color:#9db2ce;grid-column:3;grid-row:1/3}.project-grid>button>svg:last-child{grid-column:4;grid-row:1/3;color:#637d9f}.home-empty{padding:40px 0;color:#6b85a8}.home-empty h3{font-size:13px;margin:12px 0 8px;color:#adbed6}.home-empty p{font-size:11px;color:#7d96b8;line-height:1.6}.map-failure{position:absolute;top:72px;left:50%;transform:translate(-50%);z-index:24;display:flex;align-items:center;gap:12px;background:#42372a;border:1px solid #776141;color:#e5c49b;border-radius:6px;padding:10px 13px;font-size:11px;line-height:1.5;max-width:min(560px,calc(100vw - 96px));box-shadow:var(--shadow)}.map-failure>.btn{font-size:10px;color:#efd7b9;background:#65503366}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{scrollbar-width:thin;scrollbar-color:#465367 transparent}.maplibregl-ctrl-bottom-left{left:12px!important;bottom:58px!important}.maplibregl-ctrl-bottom-right{right:12px!important;bottom:55px!important}.maplibregl-ctrl-attrib{background:#202733cc!important;color:#a6b8d0!important;font-size:8px!important;border-radius:4px!important}.maplibregl-ctrl-attrib a{color:#b6c8df!important}.maplibregl-ctrl-scale{background:#202733b8!important;color:#b4c5dc!important;border-color:#8096b4!important;font-size:9px!important;border-width:1px!important;padding:2px 5px!important}.maplibregl-ctrl-group{background:#262e39!important;border:1px solid #46536a!important;border-radius:5px!important;box-shadow:var(--shadow)!important}.maplibregl-ctrl-group button{width:29px!important;height:29px!important}.maplibregl-ctrl-group button+button{border-color:#46536a!important}.maplibregl-ctrl-icon{filter:invert(.82) saturate(.3)}.maplibregl-ctrl-attrib-button{filter:invert(.8)}@media(min-width:761px){.workspace:has(.inspector) .maplibregl-ctrl-bottom-right{right:316px!important}}@media(max-width:1050px)and (min-width:761px){.project-toolbar{max-width:calc(100vw - 235px)}.project-menu-trigger>span{max-width:220px}.save-text{display:none}.save-state{padding:0 6px}.inspector,.map-drawer{width:280px}.workspace:has(.inspector) .maplibregl-ctrl-bottom-right{right:306px!important}}@media(max-width:760px){.map-header{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));gap:8px}.project-toolbar{height:40px;padding:4px;gap:5px;max-width:calc(100vw - 80px)}.project-toolbar .brand-mark{height:28px;width:28px}.project-menu-trigger{height:30px;padding:4px;gap:7px;font-size:11px;min-width:0}.project-menu-trigger>span{max-width:calc(100vw - 180px)}.project-toolbar .save-state{border:0;padding:0 3px}.save-text{display:none}.project-actions{top:46px;min-width:230px;max-height:calc(100dvh - 78px);overflow:auto}.project-actions>button{min-height:42px;font-size:12px}.collaboration-bar{padding:4px;height:40px;gap:0;flex-shrink:0}.collaboration-bar>.connection-indicator,.collaboration-bar>.people{display:none}.collaboration-bar .share-button{min-height:30px;width:30px;height:30px;padding:6px;background:transparent;color:#b9cfec}.share-button>span{display:none}.toolrail{top:max(64px,calc(env(safe-area-inset-top) + 54px));left:max(10px,env(safe-area-inset-left));width:52px;padding:3px;gap:2px;max-height:calc(100dvh - 128px);z-index:18}.toolrail>.btn{height:44px;width:44px;min-height:44px;padding:11px}.toolrail .tool-divider{width:25px;margin:3px auto}.map-drawer{left:70px;top:max(64px,calc(env(safe-area-inset-top) + 54px));width:min(296px,calc(100vw - 82px));max-height:calc(100dvh - 80px - env(safe-area-inset-top));z-index:17}.drawer-header{min-height:46px;padding:5px 6px 5px 8px}.drawer-header>.btn{height:34px;width:34px;min-height:34px}.panel-tabs>button{padding:8px 9px;min-height:34px}.drawer-content{max-height:calc(100dvh - 165px - env(safe-area-inset-top))}.drawer-footer{font-size:8px;padding:9px 10px}.sidebar-backdrop{display:block;position:absolute;inset:0;background:#070c1580;z-index:16;cursor:default}.layers-list{padding-left:5px;padding-right:5px}.layer{padding-left:5px!important}.layer-name{font-size:11px}.layer>.btn{width:26px;height:30px;min-height:30px}.searchbox{margin:10px}.searchbox input{font-size:12px;height:38px}.panel-empty{padding:24px 13px}.object-list>button{padding:11px 6px}.inspector{top:auto;bottom:max(10px,env(safe-area-inset-bottom));left:70px;right:max(10px,env(safe-area-inset-right));width:auto;max-height:min(58dvh,520px);z-index:12;border-radius:7px}.inspector>header{padding:11px 9px 6px;align-items:center}.inspector>header>.btn{height:32px;width:32px;min-height:32px}.inspector h2{font-size:12px;margin-top:3px;max-width:calc(100vw - 150px)}.inspector .eyebrow{font-size:7px}.inspector-quick{padding:0 6px 7px;gap:2px;flex-wrap:wrap;justify-content:space-between}.inspector-quick>.btn{font-size:9px;padding:5px;min-height:30px}.edit-state{font-size:8px;gap:4px}.inspector-quick .edit-state{display:none}.inspector-quick>.sheet-expand{display:inline-flex;color:#c8dcf7;background:#344962;font-size:10px;padding:6px 8px;gap:5px}.inspector:not(.is-expanded) .inspector-content{display:none}.inspector-content{padding:0 10px 10px}.inspector.is-expanded{left:70px}.inspector .field{margin-top:10px;margin-bottom:10px}.inspector input,.inspector textarea,.inspector select{font-size:12px;min-height:36px}.inspector input[type=color]{height:34px}.inspector input[type=range]{min-height:22px}.inspector input[type=checkbox]{min-height:14px}.inspector .checkbox{font-size:10px}.route-inspector{max-height:min(54dvh,460px)}.route-inspector>header{padding:12px 10px}.route-inspector .inspector-content{display:block!important}.route-inspector .muted{font-size:10px}.basemap-switch{left:10px;bottom:max(10px,env(safe-area-inset-bottom))}.basemap-switch>button{font-size:9px;padding:6px 8px;min-height:30px}.workspace:has(.inspector) .basemap-switch{display:none}.map-hint{left:70px;right:12px;bottom:max(58px,calc(env(safe-area-inset-bottom) + 48px));transform:none;max-width:none;padding:8px 10px;font-size:9px}.workspace:has(.inspector) .map-hint{bottom:calc(min(58dvh,520px) + 24px)}.map-notice{left:70px;right:12px;bottom:70px;max-width:none;transform:none;font-size:9px}.parts-picker{left:70px;right:10px;width:auto;bottom:calc(136px + env(safe-area-inset-bottom));padding:9px}.editor-expanded .parts-picker{bottom:calc(min(58dvh,520px) + 24px + env(safe-area-inset-bottom))}.parts-picker label{font-size:9px}.parts-picker small{font-size:8px}.parts-picker>.btn{font-size:9px;min-height:26px}.draft-banner{top:62px;left:70px;right:10px;transform:none;max-width:none;font-size:9px;z-index:20;gap:5px;padding:8px 10px}.draft-banner>.btn{font-size:9px;min-height:25px;padding:4px 6px}.draft-banner>span{width:100%}.dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:17px;border-radius:7px}.dialog>header h2{font-size:14px}.dialog input,.dialog select,.dialog textarea{font-size:14px;min-height:39px}.dialog input[type=checkbox]{min-height:14px}.dialog .field{margin:14px 0}.dialog .btn{min-height:36px}.member-list>div{gap:8px}.member-list select{width:94px;font-size:11px;padding:6px}.member-list .avatar{height:25px;width:25px}.toast{font-size:10px;bottom:max(14px,env(safe-area-inset-bottom));padding:11px 12px;z-index:40}.invitation-banner{top:60px;width:calc(100vw - 28px);max-width:none;gap:8px;font-size:10px}.map-failure{top:64px;left:70px;right:10px;max-width:none;transform:none;flex-wrap:wrap;font-size:10px;padding:10px;z-index:23}.auth{padding:16px}.auth-form{padding:24px;width:min(360px,100%)}.auth-form input{font-size:16px;min-height:42px}.auth-form .primary{min-height:42px}.project-home{padding:20px 18px 40px}.home-toolbar{margin-bottom:40px;gap:12px}.home-account>span{font-size:10px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-home>h1{font-size:21px}.project-grid>button{grid-template-columns:24px 1fr 16px;min-height:76px;padding:13px 0;gap:8px}.project-grid>button .project-role{display:none}.project-grid>button>svg:last-child{grid-column:3}.maplibregl-ctrl-bottom-left{left:10px!important;bottom:60px!important}.maplibregl-ctrl-bottom-right{right:10px!important;bottom:55px!important}.workspace:has(.inspector) .maplibregl-ctrl-bottom-right{bottom:calc(144px + env(safe-area-inset-bottom))!important}.workspace:has(.inspector) .maplibregl-ctrl-group{display:none}.workspace.editor-expanded:has(.inspector) .maplibregl-ctrl-bottom-right{bottom:calc(min(58dvh,520px) + 26px + env(safe-area-inset-bottom))!important}.workspace:has(.route-inspector) .maplibregl-ctrl-bottom-right{bottom:calc(min(54dvh,460px) + 20px + env(safe-area-inset-bottom))!important}.maplibregl-ctrl-group button{width:30px!important;height:30px!important}.maplibregl-ctrl-attrib{font-size:7px!important;max-width:calc(100vw - 80px)!important}.maplibregl-ctrl-attrib-button{width:18px!important;height:18px!important}}@media(max-width:760px)and (max-height:560px)and (orientation:landscape){.toolrail{display:grid;grid-template-columns:44px 44px;gap:2px;width:96px;max-height:calc(100dvh - 76px);padding:3px}.toolrail>.btn{height:44px;width:44px}.toolrail .tool-divider{grid-column:1/-1;margin:2px auto;width:60px}.map-drawer{left:116px;width:min(280px,calc(100vw - 130px))}.inspector,.inspector.is-expanded{inset:64px 10px auto auto;width:280px;max-height:calc(100dvh - 78px)}.inspector:not(.is-expanded){max-width:calc(100vw - 132px)}.inspector h2{max-width:210px}.parts-picker{left:116px;right:auto;max-width:240px;width:clamp(144px,calc(100vw - 430px),240px);bottom:58px}.map-hint{left:116px;right:16px;bottom:12px}.draft-banner,.map-failure{left:116px}.project-menu-trigger>span{max-width:300px}.map-drawer .drawer-content{max-height:calc(100dvh - 164px)}.workspace:has(.inspector) .maplibregl-ctrl-bottom-right,.workspace.editor-expanded:has(.inspector) .maplibregl-ctrl-bottom-right{right:306px!important;bottom:12px!important}.workspace:has(.inspector) .maplibregl-ctrl-attrib{max-width:max(100px,calc(100vw - 430px))!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.field>span{font-size:12px;line-height:1.4}.inspector input,.inspector textarea,.inspector select,.searchbox input,.dialog input,.dialog textarea,.dialog select{font-size:16px;min-height:44px}.inspector textarea{min-height:80px}.inspector input[type=color]{height:44px}.inspector input[type=range]{min-height:30px}.inspector input[type=checkbox],.dialog input[type=checkbox]{min-height:18px;width:18px;height:18px}.inspector .checkbox,.dialog .checkbox{font-size:12px;line-height:1.5}.inspector-quick>.btn{font-size:12px;min-height:40px;padding:7px}.inspector-quick>.sheet-expand{font-size:12px;min-height:40px;padding:7px 9px}.inspector>header>.btn{width:40px;height:40px;min-height:40px}.drawer-header>.btn{width:40px;height:40px;min-height:40px}.panel-tabs>button{min-height:40px;font-size:12px}.layer>.btn{width:40px;height:44px;min-height:44px;flex-shrink:0}.layer-name{min-height:44px;font-size:12px}.search-results>button{min-height:48px;font-size:13px}.search-results small{font-size:11px}.basemap-switch>button{min-height:44px;font-size:11px;padding:7px 9px}.maplibregl-ctrl-group button{width:44px!important;height:44px!important}.maplibregl-ctrl-bottom-left{bottom:72px!important}.map-hint{bottom:max(76px,calc(env(safe-area-inset-bottom) + 66px))}.collaboration-bar{height:44px;padding:0}.collaboration-bar .share-button{width:44px;height:44px;min-height:44px;padding:12px}.parts-picker select{font-size:16px;min-height:40px}.route-inspector .waypoint>button{width:36px;height:36px;min-height:36px}.route-inspector .primary{min-height:44px}.auth-form input{font-size:16px;min-height:44px}}
