:root{--tld-bg:#f9f4ec;--tld-surface:#fefbf8;--tld-fg:#1d140d;--tld-muted:#645c55;--tld-border:#dfdad2;--tld-border-strong:rgba(100,92,85,.22);--tld-accent:#c64e31;--tld-danger:#9e170c;--tld-success:#135d1d;--tld-font-display:"Iowan Old Style","Charter",Georgia,serif;--tld-font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--tld-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}html{font-family:var(--tld-font-body);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{background:var(--tld-bg);color:var(--tld-fg)}body{margin:0;min-height:100vh}.sr-only{block-size:1px;border:0;clip:rect(0,0,0,0);clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}a{color:inherit;text-decoration:none}button,input{color:inherit;font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}.mono{font-family:var(--tld-font-mono);font-variant-numeric:tabular-nums}.kicker{color:var(--tld-accent);font:12px/1.2 var(--tld-font-mono);letter-spacing:0;margin-block-end:10px;text-transform:uppercase}.tld-form{display:grid;gap:14px}.tld-field{color:var(--tld-muted);display:grid;font-size:13px;gap:8px}.tld-field__label{line-height:1.4}.tld-input{background:var(--tld-surface);border:1px solid var(--tld-border);min-block-size:44px;outline:none;padding:0 12px;width:100%}.tld-input:focus{outline:2px solid rgba(198,78,49,.35);outline-offset:2px}.tld-button{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);display:inline-flex;justify-content:center;min-block-size:44px;padding:0 16px;text-decoration:none;transition:background .14s,border-color .14s,color .14s,opacity .14s}.tld-button--primary{background:var(--tld-fg);border-color:var(--tld-fg);color:var(--tld-surface)}.tld-button--compact{min-block-size:38px;white-space:nowrap}.project-editor-shell{--project-editor-top-height:60px;--project-editor-list-width:290px;--project-editor-rail-width:30px;--project-editor-rail-height:130px;--project-editor-settings-width:350px;background:var(--tld-bg);color:var(--tld-fg);isolation:isolate;min-block-size:100dvh;min-inline-size:1280px;overflow:hidden;position:relative}.project-editor-top{align-items:center;background:#fff;border-block-end:1px solid hsla(37,17%,85%,.78);box-shadow:0 8px 24px #1d140d1a;display:flex;gap:16px 20px;inset:0 0 auto;min-block-size:var(--project-editor-top-height);min-inline-size:0;overflow:visible;padding:0 20px;position:absolute;z-index:10}.project-annotation-panel button,.project-editor-actions .btn-sm,.project-editor-add,.project-editor-back,.project-editor-dialog-head button,.project-editor-error button,.project-editor-images button,.project-editor-settings button,.project-editor-view-switch button{touch-action:manipulation}.project-editor-back{flex:0 0 auto;position:relative;white-space:nowrap;z-index:2}.project-editor-title{align-items:center;display:flex;flex:0 0 auto;gap:16px;max-inline-size:none;min-inline-size:-moz-max-content;min-inline-size:max-content;overflow:visible;position:relative;z-index:2}.project-editor-name{background:transparent;border:1px solid transparent;color:var(--tld-fg);field-sizing:content;font:600 18px/1.2 var(--tld-font-body);max-inline-size:none;min-inline-size:8ch;outline:none;overflow:visible;padding:7px 8px;text-overflow:clip;white-space:nowrap;width:auto}.project-editor-name:focus,.project-editor-name:hover{background:#c64e310d;border-color:#c64e3159}.project-editor-save-state{align-items:center;color:var(--tld-muted);display:inline-flex;flex:0 0 auto;font-size:12px;gap:6px;white-space:nowrap}.project-editor-save-state:before{background:currentColor;block-size:7px;border-radius:50%;content:"";inline-size:7px}.project-editor-save-state.is-saved{color:var(--tld-success)}.project-editor-save-state.is-dirty{color:var(--tld-accent)}.project-editor-save-state.is-failed{color:var(--tld-danger)}.project-editor-save-state.is-saving{color:var(--tld-muted)}.project-editor-view-switch{background:var(--tld-bg);border:1px solid var(--tld-border);display:grid;grid-template-columns:repeat(2,max-content);left:50%;padding:3px;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3}.project-editor-view-switch button{background:transparent;border:0;color:var(--tld-muted);font-size:13px;min-block-size:32px;padding:0 14px;transition:background .14s,color .14s,transform .14s;white-space:nowrap}.project-editor-view-switch button.active{background:var(--tld-fg);color:var(--tld-surface)}.project-editor-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px;justify-content:end;margin-inline-start:auto;position:relative;z-index:2}.project-editor-actions .btn-sm.active{border-color:var(--tld-accent);color:var(--tld-accent)}.project-editor-workspace{inset:0;min-block-size:100dvh;position:absolute}.project-editor-images,.project-editor-settings{-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);background:#fefbf8db;border:1px solid hsla(37,17%,85%,.78);box-shadow:0 10px 28px #1d140d1c;min-block-size:0;overflow:hidden;position:absolute;z-index:6}.project-editor-images{border-radius:0;height:calc(100% - var(--project-editor-top-height));left:0;top:var(--project-editor-top-height);transition:border-radius .46s cubic-bezier(.32,.72,0,1),box-shadow .3s ease,height .46s cubic-bezier(.32,.72,0,1),top .46s cubic-bezier(.32,.72,0,1),width .46s cubic-bezier(.32,.72,0,1);width:var(--project-editor-list-width)}.project-editor-images.is-collapsed{border-inline-start:0;border-radius:0 999px 999px 0;box-shadow:6px 6px 22px #1d140d29;height:var(--project-editor-rail-height);top:calc(var(--project-editor-top-height) + 18px);width:var(--project-editor-rail-width)}.psv-compass{transition:left .46s cubic-bezier(.32,.72,0,1),transform .46s cubic-bezier(.32,.72,0,1),bottom .46s cubic-bezier(.32,.72,0,1)!important}@media not (max-width:980px){.project-editor-canvas.has-images-open .psv-compass,.project-panorama-preview.is-images-open .psv-compass{left:calc(var(--project-editor-list-width, 280px) + 16px)!important}.project-share-workspace .psv-compass{inset:70px auto auto 18px!important}}.project-editor-images__full{block-size:100%;display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:var(--project-editor-list-width);opacity:1;transform:none;transform-origin:left top;transition:opacity .24s ease .16s,transform .36s cubic-bezier(.32,.72,0,1) .04s,visibility 0s}.project-editor-images.is-collapsed .project-editor-images__full{opacity:0;pointer-events:none;transform:translate(-10px,-6px) scale(.88);transition:opacity .16s ease,transform .3s cubic-bezier(.32,.72,0,1),visibility 0s .34s;visibility:hidden}.project-editor-settings{border-radius:0;height:calc(100% - var(--project-editor-top-height));inline-size:var(--project-editor-settings-width);opacity:1;right:0;top:var(--project-editor-top-height);transform:none;transform-origin:right top;transition:border-radius .46s cubic-bezier(.32,.72,0,1),height .46s cubic-bezier(.32,.72,0,1),inline-size .46s cubic-bezier(.32,.72,0,1),opacity .22s ease .16s,top .46s cubic-bezier(.32,.72,0,1),transform .38s cubic-bezier(.32,.72,0,1) .04s,visibility 0s}.project-editor-settings.is-collapsed{border-inline-end:0;border-radius:999px 0 0 999px;height:var(--project-editor-rail-height);inline-size:var(--project-editor-rail-width);opacity:0;pointer-events:none;top:calc(var(--project-editor-top-height) + 18px);transform:translate(10px,-6px) scale(.88);transition:border-radius .46s cubic-bezier(.32,.72,0,1),height .46s cubic-bezier(.32,.72,0,1),inline-size .46s cubic-bezier(.32,.72,0,1),opacity .16s ease,top .46s cubic-bezier(.32,.72,0,1),transform .3s cubic-bezier(.32,.72,0,1),visibility 0s .46s;visibility:hidden}.project-editor-panel-head{align-items:center;border-block-end:1px solid var(--tld-border);display:flex;justify-content:space-between;min-block-size:48px;padding:0 16px}.project-editor-panel-head>div{align-items:center;display:flex;gap:8px;min-inline-size:0}.project-editor-panel-head strong{font-size:14px;line-height:1}.project-editor-panel-head span{color:var(--tld-muted);font:12px/1 var(--tld-font-mono)}.project-list-panel-header{min-block-size:48px}.project-editor-panel-head>.project-list-heading,.project-list-heading{align-items:center;display:flex;gap:6px;min-inline-size:0}.project-list-heading h2{font:700 18px/1.1 var(--tld-font-display);margin:0}.project-editor-images .project-list-heading h2{font-size:18px}.project-list-heading>span{color:var(--tld-muted);font:11px/1.2 var(--tld-font-body);margin:0}.project-list-panel-header>.project-editor-panel-head-actions{margin-inline-start:auto}.project-editor-add,.project-editor-collapse,.project-editor-panel-close{background:transparent;border:0;color:var(--tld-accent);font-size:13px;min-block-size:32px;padding:0 4px}.project-editor-panel-head-actions{align-items:center;block-size:32px;display:flex;gap:6px}.project-editor-panel-head-actions>button,.project-editor-panel-head>.project-editor-panel-close{align-items:center;block-size:100%;box-sizing:border-box;display:inline-flex;justify-content:center;line-height:1;min-block-size:0}.project-editor-collapse{border-radius:8px;color:var(--tld-muted);inline-size:30px;line-height:1;padding:0;transition:background .16s ease,color .16s ease}.project-editor-collapse svg{block-size:15px;display:block;inline-size:15px;transition:transform .2s ease}@media(hover:hover){.project-editor-collapse:hover{background:#c64e3117;color:var(--tld-accent)}.project-editor-collapse:hover svg{transform:translate(-1.5px)}}.project-editor-panel-close{color:var(--tld-muted);font-size:24px;inline-size:36px;line-height:1;padding:0}.project-editor-images .project-editor-panel-head{padding-inline-end:10px}.project-editor-images-rail{align-items:center;background:transparent;border:0;color:var(--tld-muted);cursor:pointer;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;opacity:0;padding:10px 6px 10px 2px;pointer-events:none;position:absolute;touch-action:manipulation;transform:scale(.72);transform-origin:left center;transition:background .18s ease,opacity .14s ease,transform .18s ease,visibility 0s .2s;visibility:hidden}.project-editor-images.is-collapsed .project-editor-images-rail{opacity:1;pointer-events:auto;transform:scale(1);transition:background .18s ease,opacity .22s ease .22s,transform .36s cubic-bezier(.34,1.45,.64,1) .22s,visibility 0s;visibility:visible}.project-editor-images-rail__icon{align-items:center;background:#c64e3117;block-size:22px;border-radius:50%;color:var(--tld-accent);display:inline-flex;flex:0 0 auto;inline-size:22px;justify-content:center;transition:background .18s ease,transform .18s ease}.project-editor-images-rail__icon svg{block-size:12px;display:block;inline-size:12px}.project-editor-images-rail__label{font-size:11px;letter-spacing:2px;line-height:1;text-orientation:upright;writing-mode:vertical-rl}.project-editor-images-rail__count{background:var(--tld-fg);border-radius:999px;color:var(--tld-surface);font:600 10px/1 var(--tld-font-mono);font-style:normal;min-inline-size:16px;padding:3px 4px;text-align:center;transition:background .18s ease}.project-editor-images-rail:focus-visible{outline:2px solid rgba(198,78,49,.55);outline-offset:-2px}@media(hover:hover){.project-editor-images-rail:hover{background:#c64e310f;color:var(--tld-accent)}.project-editor-images-rail:hover .project-editor-images-rail__icon{background:#c64e312e;transform:scale(1.08)}.project-editor-images-rail:hover .project-editor-images-rail__count{background:var(--tld-accent)}}.project-editor-images-rail--floating{-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);background:#fefbf8f0;border:1px solid hsla(37,17%,85%,.82);border-inline-start:0;border-radius:0 999px 999px 0;bottom:auto;box-shadow:6px 6px 22px #1d140d29;inline-size:var(--project-editor-rail-width);opacity:1;pointer-events:auto;top:calc(var(--project-editor-top-height) + 18px);transform:none;transition:opacity .2s ease,transform .24s ease,visibility 0s;visibility:visible;z-index:6}.project-panel-expand-enter-active{transition:opacity .24s ease .06s,transform .36s cubic-bezier(.34,1.45,.64,1) .06s}.project-panel-expand-leave-active{transition:opacity .14s ease,transform .16s ease}.project-panel-expand-enter-from,.project-panel-expand-leave-to{opacity:0;transform:translate(-16px) scale(.8)}.project-editor-image-list{min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.project-editor-image-item{align-items:center;background:transparent;border-block-end:1px solid hsla(37,17%,85%,.68);cursor:pointer;display:grid;gap:10px;grid-template-columns:14px 60px minmax(0,1fr);min-block-size:80px;padding:10px 10px 10px 8px;position:relative;transition:background .14s,opacity .14s,transform .14s}.project-editor-image-item:hover{background:#00000006}.project-editor-image-item.active{background:#c64e3114;box-shadow:inset 3px 0 0 var(--tld-accent)}.project-editor-image-item.dragging{opacity:.48}.project-editor-image-item.unavailable{cursor:not-allowed;opacity:.58}.project-editor-image-item.is-period{grid-template-columns:60px minmax(0,1fr);min-block-size:84px}.project-editor-drag-handle{color:var(--tld-muted);cursor:grab;font-size:13px;letter-spacing:0;overflow:hidden;text-align:center}.project-editor-image-thumb{background:#e3ddd5;block-size:60px;border-radius:4px;flex-shrink:0;inline-size:60px;-o-object-fit:cover;object-fit:cover;outline:1px solid rgba(29,20,13,.1);outline-offset:-1px}.project-editor-image-thumb--placeholder{align-items:center;color:var(--tld-muted);display:inline-flex;font:14px/1 var(--tld-font-display);justify-content:center}.project-editor-image-copy{display:flex;flex-direction:column;gap:3px;justify-content:center;min-inline-size:0;padding-inline-end:18px}.project-editor-period-label{color:var(--tld-accent);font-size:11px;font-weight:600;line-height:1.2}.project-editor-image-copy input{background:transparent;border:1px solid transparent;color:var(--tld-fg);font-size:13px;font-weight:600;min-inline-size:0;outline:none;overflow:hidden;padding:1px 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.project-editor-image-copy input:focus{background:#fff;border-color:#c64e3166;border-radius:3px}.project-editor-image-copy small{color:var(--tld-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-editor-image-copy .project-editor-image-unavailable{color:var(--tld-danger);font-family:var(--tld-font-body)}.project-editor-image-actions{align-items:center;display:inline-flex;gap:4px;position:absolute;right:6px;top:6px;z-index:2}.project-editor-image-actions button{align-items:center;background:transparent;border:0;border-radius:4px;color:var(--tld-muted);display:inline-flex;font-size:15px;inline-size:22px;justify-content:center;line-height:1;min-block-size:22px;padding:0;transition:background .14s,color .14s,transform .14s}.project-editor-image-actions button.active{color:var(--tld-accent)}.project-editor-image-view-action{bottom:6px;position:absolute;right:6px;z-index:2}.project-editor-image-view-action .project-editor-set-view-btn{background:#ffffffdb;border:1px solid rgba(198,78,49,.3);border-radius:4px;color:var(--tld-accent);font-size:12px;line-height:1;padding:3px 8px;transition:background .14s,border-color .14s,color .14s;white-space:nowrap}.project-editor-image-view-action .project-editor-set-view-btn:hover{background:#c64e311f;border-color:var(--tld-accent);color:var(--tld-accent)}.project-editor-image-actions button.danger:hover{background:#d9382914;color:var(--tld-danger)}.project-editor-image-view-action .project-editor-set-view-btn:disabled{cursor:default;opacity:.6}.project-editor-image-loading{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff1a;display:flex;flex-direction:column;gap:6px;inset:0;justify-content:center;position:absolute;z-index:3}.project-editor-image-loading__spinner{animation:project-editor-spin .7s linear infinite;border:2px solid rgba(198,78,49,.25);border-radius:50%;border-top:2px solid var(--tld-accent);height:20px;width:20px}.project-editor-image-loading__text{color:var(--tld-accent);font-size:12px;font-weight:500}@keyframes project-editor-spin{to{transform:rotate(1turn)}}.project-editor-empty-list{color:var(--tld-muted);font-size:13px;line-height:1.6;margin:24px 16px}.project-editor-canvas{align-items:center;background:#211b17;display:flex;inset:0;justify-content:center;overflow:hidden;position:absolute;transition:left .46s cubic-bezier(.32,.72,0,1);z-index:0}.project-editor-canvas.is-comparison.has-images-open{left:var(--project-editor-list-width)}.multi-screen-workspace{inset:0}.dual-screen-workspace,.multi-screen-workspace{background:#151311;overflow:hidden;position:absolute}.dual-screen-workspace{block-size:calc(100% - var(--project-editor-top-height));border:2px solid #d8b84a;inline-size:100%;inset-block-start:var(--project-editor-top-height)}.dual-screen-canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:100%;width:100%}.dual-screen-canvas,.dual-screen-slot{background:#151311;min-block-size:0;min-inline-size:0}.dual-screen-slot{display:flex;flex-direction:column;overflow:hidden;position:relative}.dual-screen-slot+.dual-screen-slot{border-inline-start:2px solid #000}.dual-screen-slot__select{display:flex;justify-content:center;left:50%;pointer-events:none;position:absolute;top:12px;transform:translate(-50%);z-index:10}.dual-screen-slot__select select{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#1e1b19;border:0;border-radius:6px;box-shadow:0 2px 8px #00000059;color:#fffaf2;cursor:pointer;display:flex;font-size:12px;font-weight:600;min-block-size:32px;padding:0 24px 0 12px;pointer-events:auto}.dual-screen-slot__select select:focus{outline:none}.dual-screen-slot__select:after{color:#fffaf2;content:"▼";font-size:9px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.dual-screen-slot__select option{background:#1e1b19;color:#fffaf2}.dual-screen-slot__body{flex:1 1 auto;min-block-size:0;min-inline-size:0;overflow:hidden;position:relative;z-index:0}.dual-screen-slot__body>.project-panorama-preview{inset:0;position:absolute}.dual-screen-empty,.dual-screen-unavailable{align-items:center;background:#151311;block-size:100%;color:#fefbf86b;display:flex;font-size:12px;inline-size:100%;justify-content:center}.dual-screen-unavailable{flex-direction:column;gap:5px}.dual-screen-unavailable strong{color:#fefbf8b8}.project-editor-type-summary{display:grid;gap:5px}.project-editor-type-summary strong{font-size:13px}.project-editor-type-summary span{color:var(--tld-muted);font-size:11px}.project-image-map,.project-image-map__canvas,.project-panorama-preview,.project-panorama-preview__viewer{block-size:100%;inline-size:100%}.project-panorama-preview{background:#171311;flex:0 0 auto;position:relative}.project-panorama-preview__viewer .panorama-viewer{block-size:100%}.project-panorama-preview.is-drawing .panorama-viewer{cursor:crosshair}.editor-map-tools,.project-panorama-tools{align-items:stretch;-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);background:#fefbf8f0;border:1px solid var(--tld-border);border-radius:9px;box-shadow:0 12px 32px #1d140d24;display:flex;min-block-size:52px;padding:4px;position:absolute}.project-panorama-tools{left:50%;top:calc(var(--project-editor-top-height) + 16px);transform:translate(-50%);z-index:8}.annotation-tool{align-items:center;background:transparent;border:0;color:var(--tld-muted);display:grid;gap:1px;grid-template-rows:22px 15px;inline-size:48px;justify-items:center;min-block-size:44px;padding:3px 4px;touch-action:manipulation;transition:background .16s,box-shadow .16s,color .16s,opacity .16s,transform .16s}.annotation-tool>span{font:18px/1 var(--tld-font-body);transition:transform .16s ease}.annotation-tool>small{font-size:11px;line-height:1}.annotation-tool.active{background:#f3e0d6;color:var(--tld-accent)}.annotation-tool:focus-visible:not(:disabled),.annotation-tool:hover:not(:disabled){background:#1d140d0f;box-shadow:inset 0 -2px 0 var(--tool-accent,var(--tld-accent));color:var(--tld-fg);outline:none;transform:translateY(-1px)}.annotation-tool:focus-visible:not(:disabled)>span,.annotation-tool:hover:not(:disabled)>span{transform:scale(1.12)}.annotation-tool.active:focus-visible:not(:disabled),.annotation-tool.active:hover:not(:disabled){background:#eed2c4;box-shadow:inset 0 -2px 0 var(--tld-accent),0 4px 12px #c64e3129;color:var(--tld-accent)}.annotation-tool.tool-point{--tool-accent:#c98a3a}.annotation-tool.tool-line{--tool-accent:#2f8a7a}.annotation-tool.tool-polygon{--tool-accent:#8a5cb0}.annotation-tool:active:not(:disabled){transform:scale(.95)}.annotation-tool:disabled{cursor:not-allowed;opacity:.4}.project-panorama-tools__hint{background:#fefbf8f5;border:1px solid var(--tld-border);border-radius:6px;box-shadow:0 8px 20px #1d140d1f;color:var(--tld-muted);font-size:11px;left:50%;margin:0;padding:6px 9px;position:absolute;top:calc(100% + 6px);transform:translate(-50%);white-space:nowrap}.project-panorama-tools__hint button{background:transparent;border:0;color:var(--tld-accent);font-size:inherit;margin-inline-start:5px;padding:0}.project-panorama-navigation-marker-host{cursor:pointer;display:flex;justify-content:center;overflow:visible}.project-panorama-navigation-lead-line{filter:drop-shadow(0 1px 2px rgba(15,10,7,.45));pointer-events:none}.project-panorama-navigation-marker{align-items:center;color:#fffaf2;display:flex;flex-direction:column;gap:4px;max-inline-size:min(320px,calc(100vw - 32px));transform:translateY(-4px)}.project-panorama-navigation-marker img{block-size:44px;border:2px solid #fff;border-radius:50%;cursor:pointer;filter:drop-shadow(0 2px 6px rgba(15,10,7,.5));flex:0 0 44px;inline-size:44px;-o-object-fit:cover;object-fit:cover}.project-panorama-navigation-marker span{background:transparent;border:none;box-shadow:none;color:#fff;cursor:pointer;display:block;font-size:12px;line-height:1.35;max-inline-size:min(320px,calc(100vw - 32px));overflow-wrap:anywhere;padding:0;text-align:center;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000,-1px -1px #000,1px -1px #000,-1px 1px #000,1px 1px #000,0 0 3px #000;white-space:normal}.project-annotation-panel{-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);background:#fefbf8db;border:1px solid var(--tld-border-strong);box-shadow:-10px 12px 30px #1d140d1c;height:calc(100% - var(--project-editor-top-height));inline-size:var(--project-editor-list-width);min-block-size:0;overflow:hidden;position:absolute;right:0;top:var(--project-editor-top-height);transition:border-radius .46s cubic-bezier(.32,.72,0,1),box-shadow .3s ease,height .46s cubic-bezier(.32,.72,0,1),inline-size .46s cubic-bezier(.32,.72,0,1),top .46s cubic-bezier(.32,.72,0,1),width .46s cubic-bezier(.32,.72,0,1);width:var(--project-editor-list-width);z-index:6}.project-annotation-panel.is-collapsed{border-inline-end:0;border-radius:999px 0 0 999px;box-shadow:-6px 6px 22px #1d140d29;height:var(--project-editor-rail-height);inline-size:var(--project-editor-rail-width);top:calc(var(--project-editor-top-height) + 18px);width:var(--project-editor-rail-width)}.project-annotation-panel__full{block-size:100%;display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:var(--project-editor-list-width);opacity:1;transform:none;transform-origin:right top;transition:opacity .24s ease .16s,transform .36s cubic-bezier(.32,.72,0,1) .04s,visibility 0s}.project-annotation-panel.is-collapsed .project-annotation-panel__full{opacity:0;pointer-events:none;transform:translate(10px,-6px) scale(.88);transition:opacity .16s ease,transform .36s cubic-bezier(.32,.72,0,1),visibility 0s .34s;visibility:hidden}.project-annotation-panel .project-editor-panel-head{border-block-end-color:var(--tld-border-strong);padding-inline-end:10px;padding-inline-start:16px}@media(hover:hover){.project-annotation-panel .project-editor-collapse:hover svg{transform:translate(1.5px)}}.editor-annotation-list--project .editor-annotation-item{align-items:center;background:transparent;border:0;border-block-end:1px solid var(--tld-border-strong);display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;margin:0;min-block-size:56px;transition:background .14s ease}.editor-annotation-list--project .editor-annotation-item.active{background:#c64e311a;border-block-end-color:var(--tld-border-strong)}.editor-annotation-list--project .editor-annotation-select{align-items:center;background:transparent;border:0;color:var(--tld-fg);display:grid;gap:9px;grid-template-columns:22px minmax(0,1fr);min-block-size:55px;min-inline-size:0;padding:6px 2px 6px 8px;text-align:start}.editor-annotation-list--project .editor-annotation-select:active{transform:scale(.98)}.editor-annotation-list--project .editor-annotation-select:focus-visible{outline:2px solid rgba(198,78,49,.55);outline-offset:-2px}@media(hover:hover){.editor-annotation-list--project .editor-annotation-select:hover .editor-annotation-copy strong{color:var(--tld-accent)}}.editor-annotation-list--project .editor-annotation-copy{min-inline-size:0}.editor-annotation-list--project .editor-annotation-copy strong{font-size:13px;line-height:1.2}.editor-annotation-actions{display:flex;gap:2px;padding-inline-end:6px}.editor-annotation-actions button{background:transparent;border:0;border-radius:6px;color:var(--tld-accent);font-size:12px;min-block-size:40px;min-inline-size:40px;padding:0 4px;transition:background .14s ease,color .14s ease,transform .14s ease}.editor-annotation-actions button.danger{color:var(--tld-danger)}.editor-annotation-actions button:active{transform:scale(.95)}.editor-annotation-actions button:focus-visible{outline:2px solid rgba(198,78,49,.55);outline-offset:-2px}@media(hover:hover){.editor-annotation-actions button:hover{background:#c64e3117}.editor-annotation-actions button.danger:hover{background:#bc3d3117}}.editor-annotation-list--project .editor-empty-text{margin:14px}.project-annotation-list__state{border:1px dashed var(--tld-border);color:var(--tld-muted);display:grid;font-size:12px;gap:8px;line-height:1.6;margin:14px;padding:12px}.project-annotation-list__state.is-error{border-color:#c28279;color:var(--tld-danger)}.project-annotation-list__state button{background:transparent;border:0;color:var(--tld-accent);justify-self:start;min-block-size:40px;padding:0}.project-annotations-rail{align-items:center;background:transparent;border:0;color:var(--tld-muted);cursor:pointer;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;opacity:0;padding:10px 2px 10px 6px;pointer-events:none;position:absolute;transform:scale(.72);transform-origin:right center;transition:background .18s ease,opacity .14s ease,transform .18s ease,visibility 0s .2s;visibility:hidden}.project-annotation-panel.is-collapsed .project-annotations-rail{opacity:1;pointer-events:auto;transform:scale(1);transition:background .18s ease,opacity .22s ease .22s,transform .36s cubic-bezier(.34,1.45,.64,1) .22s,visibility 0s;visibility:visible}.project-annotations-rail__icon{align-items:center;background:#c64e3117;block-size:22px;border-radius:50%;color:var(--tld-accent);display:inline-flex;flex:0 0 auto;inline-size:22px;justify-content:center;transition:background .18s ease,transform .18s ease}.project-annotations-rail__icon svg{block-size:12px;display:block;inline-size:12px}.project-annotations-rail__label{font-size:11px;letter-spacing:2px;line-height:1;text-orientation:upright;writing-mode:vertical-rl}.project-annotations-rail__count{background:var(--tld-fg);border-radius:999px;color:var(--tld-surface);font:600 10px/1 var(--tld-font-mono);font-style:normal;min-inline-size:16px;padding:3px 4px;text-align:center;transition:background .18s ease}.project-annotations-rail:focus-visible{outline:2px solid rgba(198,78,49,.55);outline-offset:-2px}@media(hover:hover){.project-annotations-rail:hover{background:#c64e310f;color:var(--tld-accent)}.project-annotations-rail:hover .project-annotations-rail__icon{background:#c64e312e;transform:scale(1.08)}.project-annotations-rail:hover .project-annotations-rail__count{background:var(--tld-accent)}}.project-annotation-details{-webkit-backdrop-filter:blur(14px) saturate(1.08);backdrop-filter:blur(14px) saturate(1.08);background:#fefbf8eb;border:1px solid hsla(37,17%,85%,.82);bottom:0;box-shadow:-10px 12px 30px #1d140d1c;display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:var(--project-editor-settings-width);min-inline-size:0;overflow:hidden;position:absolute;right:0;top:var(--project-editor-top-height);z-index:40}.project-annotation-details__body{align-content:start;display:grid;gap:14px;min-block-size:0;min-inline-size:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px 22px}.project-annotation-details .project-editor-panel-head{padding-block:14px;padding-inline:14px}.project-annotation-check{align-items:center;color:var(--tld-fg);display:flex;font-size:13px;gap:8px;min-block-size:36px}.project-annotation-check input{block-size:16px;inline-size:16px}.project-annotation-delete{justify-self:stretch;margin-block-start:4px}.project-annotation-switch-dialog{z-index:120}.project-annotation-switch-actions{flex-wrap:wrap}.project-annotation-dialog-error{color:var(--tld-danger);font-size:12px}.project-canvas-state{align-items:center;color:#fefbf8bd;display:flex;font-size:14px;gap:12px;inset:0;justify-content:center;position:absolute}.project-canvas-state--error{color:#ffc4b7}.project-canvas-fade-enter-active,.project-canvas-fade-leave-active{transition:opacity .16s ease-out}.project-canvas-fade-enter-from,.project-canvas-fade-leave-to{opacity:0}.project-image-map{position:relative}.project-image-map__canvas{background:#d6d0c9}.editor-shell.editor-shell--project-map{block-size:100%;grid-template-rows:var(--project-editor-top-height) minmax(0,1fr);inline-size:100%;min-block-size:0}.editor-shell--project-map .editor-workspace--project-map{display:block;grid-row:2}.editor-workspace--project-map>.editor-map{block-size:100%;inline-size:100%}.editor-workspace--project-map>.editor-side{border-block:1px solid var(--tld-border-strong);border-inline-end:0;border-inline-start:1px solid var(--tld-border-strong);border-radius:0;bottom:auto;box-shadow:-18px 0 42px #1d140d1a;height:100%;inline-size:330px;overflow:hidden;padding:0;position:absolute;right:0;top:0;transition:border-radius .46s cubic-bezier(.32,.72,0,1),box-shadow .3s ease,height .46s cubic-bezier(.32,.72,0,1),inline-size .46s cubic-bezier(.32,.72,0,1),top .46s cubic-bezier(.32,.72,0,1);z-index:7}.editor-workspace--project-map>.editor-side.is-collapsed{background:#fefbf8eb;border-radius:999px 0 0 999px;bottom:auto;box-shadow:-6px 6px 22px #1d140d29;height:var(--project-editor-rail-height);inline-size:var(--project-editor-rail-width);padding:0;top:18px}.editor-workspace--project-map>.editor-properties{z-index:8}.editor-workspace--project-map>.editor-side>.editor-group{block-size:100%;box-sizing:border-box;inline-size:330px;margin:0;opacity:1;padding:18px;transform:none;transform-origin:right top;transition:opacity .24s ease .16s,transform .36s cubic-bezier(.32,.72,0,1) .04s,visibility 0s}.editor-workspace--project-map>.editor-side.is-collapsed>.editor-group{opacity:0;pointer-events:none;transform:translate(10px,-6px) scale(.88);transition:opacity .16s ease,transform .3s cubic-bezier(.32,.72,0,1),visibility 0s .34s;visibility:hidden}.editor-workspace--project-map .project-annotations-rail{block-size:100%;inline-size:100%}.editor-workspace--project-map>.editor-side.is-collapsed .project-annotations-rail{opacity:1;pointer-events:auto;transform:scale(1);transition:background .18s ease,opacity .22s ease .22s,transform .36s cubic-bezier(.34,1.45,.64,1) .22s,visibility 0s;visibility:visible}.editor-workspace--project-map .editor-group-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.editor-workspace--project-map .editor-group-header>div{min-inline-size:0}.editor-workspace--project-map .editor-annotation-list--project{border-block-start:1px solid var(--tld-border-strong);inline-size:calc(100% + 36px);margin-inline:-18px}.project-map-save-state{color:var(--tld-muted);display:block;font-size:11px;margin-block-start:2px}.project-image-map__summary{align-items:center;background:#fefbf8eb;border:1px solid hsla(37,17%,85%,.95);bottom:18px;color:var(--tld-fg);display:flex;font-size:12px;gap:5px;left:18px;min-block-size:32px;padding:0 10px;position:absolute;z-index:2}.project-image-map__empty{color:var(--tld-muted)}.project-image-map .ol-control button{background:var(--tld-surface);border-radius:0;color:var(--tld-fg)}.project-image-map .ol-control button:hover{background:var(--tld-bg)}.project-editor-settings{display:grid;grid-template-rows:auto minmax(0,1fr)}.project-editor-settings-body{align-content:start;display:grid;gap:22px;overflow-y:auto;padding:20px 16px}.project-editor-settings-body .tld-field{gap:7px}.project-editor-settings-body small{color:var(--tld-muted);font:11px/1 var(--tld-font-mono);justify-self:end}.project-editor-textarea{min-block-size:120px;padding-block:10px;resize:vertical}.project-editor-setting-section{border-block-start:1px solid var(--tld-border);padding-block-start:18px}.project-editor-setting-section h2{font-size:14px;margin:0 0 14px}.project-editor-setting-section select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.project-editor-initial-view{display:grid;gap:10px;margin-block-start:16px}.project-editor-initial-view-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-editor-initial-view-grid .tld-field{min-inline-size:0}.project-editor-angle-input{display:block;position:relative}.project-editor-angle-input .tld-input{font-family:var(--tld-font-mono);font-variant-numeric:tabular-nums;inline-size:100%;padding-inline-end:24px}.project-editor-angle-input>span{color:var(--tld-muted);font:12px/1 var(--tld-font-mono);pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.project-editor-initial-view-error{color:var(--tld-danger)!important;font-family:var(--tld-font-body)!important;justify-self:start!important;line-height:1.45!important}.project-editor-capture-view{inline-size:100%;min-block-size:38px}.project-editor-error{align-items:center;background:#fff5f2;border:1px solid rgba(158,23,12,.35);bottom:18px;color:var(--tld-danger);display:flex;font-size:13px;gap:12px;max-inline-size:420px;padding:10px 12px;position:fixed;right:18px;z-index:20}.project-editor-error button{background:transparent;border:0;color:inherit;font-size:18px;min-block-size:28px;padding:0}.project-editor-shell>.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d140d75;display:grid;inset:0;justify-items:center;padding:24px;position:fixed;z-index:100}.project-editor-library-dialog{background:var(--tld-surface);border:1px solid hsla(37,17%,85%,.92);box-shadow:0 24px 64px #1d140d3d;display:grid;grid-template-rows:auto auto minmax(260px,1fr) auto;inline-size:min(680px,calc(100vw - 48px));max-block-size:min(680px,calc(100vh - 48px));overflow:hidden}.project-editor-dialog-head{align-items:center;border-block-end:1px solid var(--tld-border);display:flex;justify-content:space-between;min-block-size:62px;padding:0 18px}.project-editor-dialog-head h2{font-size:17px;margin:0}.project-editor-dialog-head span{color:var(--tld-muted);display:block;font-size:12px;margin-block-start:3px}.project-editor-dialog-head button{background:transparent;border:0;font-size:22px;min-block-size:36px}.project-editor-library-search{margin:14px 18px}.project-editor-library-list{min-block-size:0;padding:0 18px}.project-editor-library-item{align-items:center;border-block-end:1px solid hsla(37,17%,85%,.72);cursor:pointer;display:grid;gap:12px;grid-template-columns:20px 48px minmax(0,1fr);min-block-size:64px;padding:8px 6px;transition:background-color .14s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-editor-library-item:hover{background:#00000006}.project-editor-library-item:has(input[type=checkbox]:checked){background:#c64e310a}.project-editor-library-item input[type=checkbox]{accent-color:var(--tld-fg);block-size:16px;cursor:pointer;inline-size:16px;margin:0}.project-editor-library-item .project-editor-image-thumb{block-size:48px;inline-size:48px}.project-editor-library-item>span{display:grid;gap:3px;min-inline-size:0}.project-editor-library-item strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-editor-library-item small{color:var(--tld-muted);font-size:11px}.project-editor-library-loading{color:var(--tld-muted);display:grid;min-block-size:240px;place-items:center}.project-editor-dialog-actions{border-block-start:1px solid var(--tld-border);display:flex;gap:8px;justify-content:end;padding:14px 18px}@media(prefers-reduced-motion:reduce){.editor-workspace--project-map>.editor-side,.editor-workspace--project-map>.editor-side>.editor-group,.project-annotation-panel,.project-annotation-panel__full,.project-annotations-rail,.project-annotations-rail__count,.project-annotations-rail__icon,.project-canvas-fade-enter-active,.project-canvas-fade-leave-active,.project-editor-collapse,.project-editor-collapse svg,.project-editor-image-actions button,.project-editor-image-item,.project-editor-images,.project-editor-images-rail,.project-editor-images-rail__count,.project-editor-images-rail__icon,.project-editor-images__full,.project-editor-settings,.project-editor-view-switch button,.project-panel-expand-enter-active,.project-panel-expand-leave-active{transition-delay:0s;transition-duration:.01ms}}.tld-form .tld-button{inline-size:100%;margin-block-start:10px}.tld-button:hover{opacity:.88}.tld-form-error{color:var(--tld-danger);font-size:13px;line-height:20px;margin:0}.auth-page{display:grid;grid-template-columns:2fr .95fr;min-block-size:100vh}.brand-panel{background-color:var(--tld-bg);background-image:linear-gradient(90deg,#fefbf8fa,#fefbf8e0 36%,#fefbf842),url(../images/auth-orthophoto-bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;border-inline-end:1px solid var(--tld-border);display:grid;grid-template-rows:auto 1fr auto;padding:54px 64px}.brand,.mark{color:var(--tld-fg);letter-spacing:0;line-height:1}.brand-wordmark,.mark{width:-moz-fit-content;width:fit-content}.brand-wordmark{--brand-wordmark-font-size:28px;--brand-wordmark-ink:var(--tld-fg);--brand-wordmark-coral:#ed6f5c;align-items:center;color:var(--brand-wordmark-ink);display:inline-flex;font-size:var(--brand-wordmark-font-size);gap:.34em;line-height:.96;max-inline-size:100%;vertical-align:middle;white-space:nowrap}.brand-wordmark__image{block-size:1em;display:block;inline-size:auto;max-inline-size:100%;-o-object-fit:contain;object-fit:contain}.hero{align-items:flex-start;align-self:center;display:flex;flex-direction:column}.hero-badge{align-items:center;background:#c64e3112;border:1px solid rgba(198,78,49,.18);border-radius:999px;color:var(--tld-accent);display:inline-flex;font-size:13px;font-weight:600;gap:8px;letter-spacing:.04em;margin-block-end:20px;padding:5px 14px}.hero-badge__dot{background:var(--tld-accent);border-radius:50%;box-shadow:0 0 6px #c64e3180;height:6px;width:6px}.hero h1,.hero-title{display:flex;flex-direction:column;font:800 48px/1.12 var(--tld-font-display);gap:4px;letter-spacing:-.01em;margin:0;max-inline-size:760px}.hero-title__main{color:var(--tld-fg)}.hero h1 .hero-accent,.hero-title__accent{background:linear-gradient(135deg,#c64e31,#d85c3e);-webkit-background-clip:text;color:var(--tld-accent);-webkit-text-fill-color:transparent;width:-moz-fit-content;width:fit-content}.hero p,.hero-desc{color:var(--tld-muted);font-size:16px;line-height:1.7;margin:18px 0 0;max-inline-size:640px}.hero-features{display:flex;flex-wrap:wrap;gap:10px;margin-block-start:24px}.hero-feature-chip{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fefbf8d9;border:1px solid hsla(37,17%,85%,.85);border-radius:100px;box-shadow:0 2px 8px #1d140d08;color:var(--tld-fg);display:inline-flex;font-size:13px;font-weight:500;gap:7px;padding:8px 14px;transition:all .2s cubic-bezier(.16,1,.3,1)}.hero-feature-chip:hover{background:#fefbf8fa;border-color:#c64e3166;box-shadow:0 4px 12px #c64e311a;color:var(--tld-accent);transform:translateY(-1px)}.empty-map,.mini-map{background:linear-gradient(35deg,transparent 0 38%,rgba(29,20,13,.05) 38% 41%,transparent 41% 100%),repeating-linear-gradient(0deg,hsla(37,17%,85%,.65) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,hsla(37,17%,85%,.65) 0 1px,transparent 1px 28px),#eee7db;border:1px solid var(--tld-border);min-block-size:230px;overflow:hidden;position:relative}.mini-map{margin-block-start:44px}.empty-map:after,.mini-map:after{background:#c64e3129;border:1px solid var(--tld-accent);clip-path:polygon(9% 20%,76% 7%,94% 42%,79% 86%,18% 80%,0 45%);content:"";inset:36px 64px 30px 54px;position:absolute}.auth-helper{color:var(--tld-muted);font-size:13px;margin:0}.form-wrap{display:grid;padding:48px;place-items:center}.login-card{background:var(--tld-surface);border:1px solid var(--tld-border);inline-size:min(430px,100%);padding:28px}.login-card--compact{font-size:14px;gap:16px;inline-size:min(376px,100%);padding:28px 24px}.login-card--compact .tld-field{block-size:46px;font-size:14px;gap:0;height:46px;min-block-size:46px}.login-card--compact .tld-input{block-size:46px;font-size:14px;height:46px;line-height:20px;min-block-size:46px}.login-card--compact .tld-input:focus{border-color:#c64e31ad;box-shadow:inset 0 0 0 1px #c64e3138;outline:none}.login-card--compact .tld-button{font-size:14px;line-height:20px}.login-title{font:700 42px/1 var(--tld-font-display);margin:0}.login-deck{color:var(--tld-muted);font-size:14px;line-height:1.45;margin:-4px 0 0}.auth-tabs{align-items:center;display:flex;gap:24px}.auth-tabs,.auth-tabs button{block-size:24px;min-block-size:24px}.auth-tabs button{background:transparent;border:0;color:var(--tld-muted);font-size:14px;line-height:24px;padding:0}.auth-tabs button.active{color:var(--tld-fg);font-weight:500}.auth-mode-stack{block-size:108px;display:grid;height:108px;max-block-size:108px;min-block-size:108px;overflow:hidden}.auth-mode-stack>.auth-mode-panel{grid-area:1/1}.auth-mode-panel{align-items:stretch;block-size:108px;display:grid;gap:16px;grid-template-rows:46px 46px;height:108px;max-block-size:108px}.auth-mode-panel.is-hidden{pointer-events:none;visibility:hidden}.auth-code-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 118px}.auth-code-row .auth-code-button{inline-size:118px;margin-block-start:0;min-block-size:44px;padding-inline:0}.login-card--compact .auth-code-row{block-size:46px;gap:0;grid-template-columns:1fr;height:46px;min-block-size:46px;position:relative}.login-card--compact .auth-code-row .tld-input{padding-inline-end:112px}.login-card--compact .auth-code-row .auth-code-button{align-self:center;background:transparent;block-size:24px;border:0;color:#008aff;height:24px;inline-size:auto;inset-inline-end:14px;line-height:24px;margin-block-start:0;min-block-size:24px;padding-inline:0;position:absolute}.auth-agreement{align-items:flex-start;color:var(--tld-muted);display:flex;font-size:12px;gap:8px;justify-content:flex-start;line-height:1.6}.auth-agreement input{flex:0 0 auto;margin-block-start:3px}.auth-agreement a{color:var(--tld-accent);font-weight:700}.auth-switch{color:var(--tld-muted);font-size:13px;line-height:1.5;margin:0;text-align:center}.auth-switch a{color:var(--tld-accent);font-weight:700}.forgot-pwd-overlay{background:#1d140d6b;inset:0;position:fixed;z-index:9000}.forgot-pwd-modal{background:var(--tld-surface);border:1px solid var(--tld-border);box-shadow:0 18px 48px #1d140d2e;inline-size:min(460px,calc(100vw - 32px));inset-block-start:50%;inset-inline-start:50%;position:fixed;transform:translate(-50%,-50%);z-index:9001}.forgot-pwd-header{align-items:center;display:flex;justify-content:space-between;padding:22px 24px 0}.forgot-pwd-title{font:700 22px/1 var(--tld-font-display);margin:0}.forgot-pwd-close{align-items:center;background:transparent;block-size:28px;border:0;color:var(--tld-muted);cursor:pointer;display:inline-flex;font-size:22px;inline-size:28px;justify-content:center;line-height:1;padding:0;transition:color .15s}.forgot-pwd-close:hover{color:var(--tld-fg)}.forgot-pwd-body{display:grid;gap:14px;padding:20px 24px 24px}.forgot-pwd-body .tld-input{block-size:44px;font-size:14px;height:44px;line-height:20px;min-block-size:44px}.forgot-pwd-body .tld-input:focus{border-color:#c64e31ad;box-shadow:inset 0 0 0 1px #c64e3138;outline:none}.forgot-pwd-code-row{display:grid;gap:0;grid-template-columns:1fr;position:relative}.forgot-pwd-code-row .tld-input{padding-inline-end:112px}.forgot-pwd-code-btn{align-self:center;background:transparent;block-size:24px;border:0;color:#008aff;cursor:pointer;font-size:14px;height:24px;inset-inline-end:14px;line-height:24px;min-block-size:24px;padding:0;position:absolute}.forgot-pwd-code-btn:disabled{color:var(--tld-muted);cursor:not-allowed}.forgot-pwd-hint{color:var(--tld-muted);font-size:12px;line-height:1.5;margin:-6px 0 0}.forgot-pwd-actions{display:flex;gap:10px;margin-block-start:4px}.forgot-pwd-actions .tld-button{flex:1;font-size:14px;line-height:20px}.forgot-pwd-link{background:transparent;border:0;color:var(--tld-accent);cursor:pointer;font-size:13px;font-weight:500;margin:0;padding:0}.forgot-pwd-link:hover{text-decoration:underline}.forgot-pwd-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-block-start:-4px}.captcha-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 128px 80px}.captcha-image{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);display:flex;inline-size:128px;justify-content:center;min-block-size:44px;overflow:hidden}.captcha-image svg{display:block;inline-size:128px;max-block-size:44px}.captcha-refresh{inline-size:80px;padding-inline:0}.app-shell{background:var(--tld-bg);color:var(--tld-fg);min-block-size:100vh}.app-shell--table-view{block-size:100vh;overflow:hidden}.app-shell--map-view{block-size:100dvh;display:flex;flex-direction:column;min-block-size:0;overflow:hidden}.app-shell--map-view .app-top{flex:0 0 auto}.app-top{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fefbf8f0;border-bottom:1px solid var(--tld-border);display:flex;gap:24px;inset-block-start:0;justify-content:space-between;padding:16px 40px;position:sticky;z-index:20}.brand{font-size:28px}.app-nav{display:flex;flex-wrap:wrap;gap:6px}.app-nav a,.app-nav button,.btn-sm{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);color:var(--tld-fg);display:inline-flex;justify-content:center;min-block-size:38px;padding:0 14px}.app-nav .nav-cta{background:transparent;border:none;color:#dc2626;padding:0 12px}.app-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-nav a.active,.app-nav a:hover,.app-nav button:hover{background:var(--tld-fg);border-color:var(--tld-fg);color:var(--tld-surface)}.app-nav .nav-label-compact,.app-nav-hamburger{display:none}.app-drawer-overlay{animation:appDrawerOverlayFade .25s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d140d73;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}@keyframes appDrawerOverlayFade{0%{opacity:0}to{opacity:1}}.app-drawer-panel{animation:appDrawerSlideIn .3s cubic-bezier(.16,1,.3,1);background:var(--tld-surface);box-shadow:-10px 0 30px #00000029;box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-width:85vw;min-height:100dvh;overflow-y:auto;padding:20px 18px 24px;position:relative;width:300px}@keyframes appDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.app-drawer-header{margin-bottom:16px;position:relative}.app-drawer-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px;min-height:32px}.app-drawer-brand{align-items:center;display:inline-flex;text-decoration:none}.app-drawer-close{align-items:center;background:#f2ece4;border:0;border-radius:50%;color:var(--tld-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:background .15s,color .15s;width:32px}.app-drawer-close:hover{background:#e8e0d4;color:var(--tld-fg)}.app-drawer-user-card{background:#f6f0e7;border:1px solid var(--tld-border);border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-top:0;padding:14px}.app-drawer-user-info{align-items:center;display:flex;gap:12px}.app-drawer-avatar{align-items:center;background:linear-gradient(135deg,#c64e31,#e06d4e);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:40px;justify-content:center;width:40px}.app-drawer-user-meta{flex:1;min-width:0}.app-drawer-username{color:var(--tld-fg);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-drawer-plan{align-items:center;display:flex;font-size:12px;gap:8px;margin-top:2px}.app-drawer-plan .plan-tag{border-radius:4px;font-size:11px;font-weight:600;padding:1px 6px}.app-drawer-plan .plan-tag--free{background:#fff;border:1px solid rgba(198,78,49,.3);color:var(--tld-accent)}.app-drawer-plan .plan-tag--enterprise,.app-drawer-plan .plan-tag--pro,.app-drawer-plan .plan-tag--starter{background:#edf7ee;border:1px solid #a4d4a7;color:#135d1d}.app-drawer-plan .plan-upgrade-link{color:#dc2626;font-size:11px;font-weight:600;text-decoration:none}.app-drawer-expiry{align-items:center;background:#fff9;border:1px solid hsla(37,17%,85%,.7);border-radius:6px;display:flex;font-size:11px;justify-content:space-between;padding:5px 8px}.app-drawer-expiry .expiry-label{color:var(--tld-muted)}.app-drawer-expiry .expiry-val{color:var(--tld-fg);font-weight:600}.app-drawer-quotas{border-top:1px solid hsla(37,17%,85%,.8);display:flex;flex-direction:column;gap:8px;padding-top:8px}.drawer-quota-item{display:flex;flex-direction:column;gap:4px}.drawer-quota-head{align-items:center;display:flex;font-size:11px;justify-content:space-between}.drawer-quota-title{color:var(--tld-muted)}.drawer-quota-count{color:var(--tld-fg);font-weight:600}.drawer-quota-bar{background:#dfdad2;border-radius:2px;height:4px;overflow:hidden}.drawer-quota-progress{background:var(--tld-accent);border-radius:2px;height:100%;transition:width .3s ease}.app-drawer-nav{display:flex;flex:1;flex-direction:column;gap:6px}.app-drawer-item{align-items:center;border-radius:8px;color:var(--tld-fg);display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;text-decoration:none;transition:background .15s,color .15s}.app-drawer-item:hover{background:#c64e3114;color:var(--tld-accent)}.app-drawer-item.active{background:var(--tld-fg);color:var(--tld-surface);font-weight:600}.app-drawer-item.is-disabled{cursor:not-allowed;opacity:.55}.drawer-item-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.drawer-item-icon svg{height:18px;width:18px}.drawer-item-text{flex:1}.drawer-item-badge{background:#c64e3126;border-radius:4px;color:var(--tld-accent);font-size:11px;font-weight:600;padding:1px 6px}.app-drawer-item.active .drawer-item-badge{background:#fff3;color:#fff}.app-drawer-footer{margin-top:auto;padding-top:16px}.app-drawer-logout{align-items:center;background:transparent;border:1px solid var(--tld-border);border-radius:8px;color:var(--tld-muted);cursor:pointer;display:flex;font-size:13px;gap:8px;justify-content:center;padding:10px;transition:border-color .15s,color .15s,background .15s;width:100%}.app-drawer-logout:hover{background:#fff5f5;border-color:var(--tld-danger);color:var(--tld-danger)}.page{margin:0 auto;max-inline-size:1440px;padding:36px 40px 52px}.image-page--table-view{block-size:calc(100vh - 71px);display:flex;flex-direction:column;min-block-size:0;overflow:hidden}.image-page--table-view .page-head{flex:0 0 auto}.image-page--map-view{display:flex;flex:1 1 auto;flex-direction:column;inline-size:100%;min-block-size:0}.image-page--map-view .page-head{flex:0 0 auto;margin-block-end:18px}.image-page--map-view .point-group-toolbar{flex:0 0 auto}.image-page--map-view .image-map-browser{block-size:auto;min-block-size:0}.app-shell--admin{background:#f6efe6;block-size:100dvh;flex-direction:column}.admin-page,.app-shell--admin{display:flex;min-block-size:0;overflow:hidden}.admin-page{flex:1 1 auto;flex-direction:column;max-inline-size:1560px;padding:15px;width:100%}.admin-metrics{background:var(--tld-surface);box-shadow:0 1px 3px #1d140d1a;display:flex;flex:0 0 auto;gap:0;margin-block-end:8px;overflow:hidden}.admin-metric{align-items:center;display:flex;flex:1;flex-direction:column;padding:8px 4px}.admin-metric:last-child{border-right:none}.admin-metric .admin-metric__label{color:var(--tld-muted);font-size:11px;line-height:1.2}.admin-metric .admin-metric__value{color:var(--tld-ink,#2d2620);font-family:var(--tld-font-mono);font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.3}.admin-workbench{background:var(--tld-surface);box-shadow:0 1px 3px #1d140d1a;display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0;padding:12px}.admin-tabs-pane,.admin-tabs-pane-wrapper,.admin-workbench .n-tabs,.admin-workbench .n-tabs-pane-wrapper{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0}.admin-tabs-pane{block-size:100%;overflow:hidden}.admin-panel{block-size:100%;display:flex;flex-direction:column;gap:10px;min-block-size:0}.admin-filters{align-items:end;-moz-column-gap:10px;column-gap:10px;flex:0 0 auto;row-gap:8px}.admin-filters .n-form-item{min-inline-size:160px}.admin-filters .n-form-item:first-child{min-inline-size:min(300px,100%)}.admin-filter-actions{display:flex;gap:6px}.admin-inline-cell,.admin-storage-cell{display:block;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-storage-cell{display:grid;gap:3px}.admin-storage-compact{display:block;font-size:12px;line-height:1.4;white-space:nowrap}.admin-muted{color:var(--tld-muted);font-size:12px}.admin-number-cell{font-variant-numeric:tabular-nums;text-align:right}.admin-status-strip{align-items:center;color:var(--tld-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.admin-status-strip span{background:#f5eee7;padding:2px 5px}.admin-pagination{align-items:center;display:flex;flex:0 0 auto;gap:12px;justify-content:flex-end}.admin-pagination-total{color:#666;font-size:14px}.image-pagination{align-items:center;display:flex;gap:12px;justify-content:center;padding-block-start:16px}.image-pagination-total{color:#666;font-size:14px}.point-group-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px 14px;margin:4px 0 18px}.point-group-switch{align-items:center;background:#fff;border:1px solid #e2dccf;border-radius:20px;color:#2d2620;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;padding:8px 14px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.point-group-switch.disabled{cursor:not-allowed;opacity:.5}.point-group-switch-track{background:#d8d2c4;border-radius:10px;flex:0 0 auto;height:20px;position:relative;transition:background .2s ease;width:36px}.point-group-switch-track:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:16px;left:2px;position:absolute;top:2px;transition:left .2s ease;width:16px}.point-group-switch.on .point-group-switch-track{background:#1a1a1a}.point-group-switch.on .point-group-switch-track:after{left:18px}.point-group-radius-select{background:#fff;border:1px solid #e2dccf;border-radius:20px;color:#2d2620;cursor:pointer;font-size:14px;padding:8px 12px}.point-group-radius.disabled .point-group-radius-select{cursor:not-allowed;opacity:.5}.point-group-radius-select--short,.point-group-switch-label-short{display:none}.point-group-map-hint{align-items:center;background:#fff3dc;border:1px solid #d58314;border-inline-start-width:4px;border-radius:4px;box-shadow:0 4px 14px #854e0924;color:#6b3f08;display:inline-flex;flex:0 1 320px;gap:9px;min-block-size:38px;min-inline-size:250px;padding:7px 12px 7px 10px}.point-group-map-hint__icon{align-items:center;background:#c96f00;block-size:20px;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 auto;font-family:Georgia,serif;font-size:13px;font-weight:700;inline-size:20px;justify-content:center}.point-group-map-hint strong{font-size:14px;font-weight:700;line-height:1.35}.point-group-stat{color:#8a8578;font-size:13px;margin-left:auto}.point-group-stat b{color:#1a1a1a;font-weight:700}.point-group-panel{display:grid;gap:14px;padding-bottom:88px}.app-shell--group-view{block-size:100vh;overflow:hidden}.image-page--group-view{block-size:calc(100vh - 71px);display:flex;flex-direction:column;min-block-size:0;overflow:hidden}.image-page--group-view .page-head,.image-page--group-view .point-group-toolbar{flex:0 0 auto}.image-page--group-view .point-group-panel{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0;overflow-y:auto}.image-page--group-view .point-group-panel>.point-group{flex:0 0 auto}.point-group-status{color:#a09a88;margin:0;padding:48px 16px;text-align:center}.point-group{background:#fff;border:1px solid #e8e2d4;border-radius:8px;overflow:hidden}.point-group-head{align-items:center;background:#fff;cursor:pointer;display:flex;gap:12px;padding:14px 18px}.point-group-head:hover{background:#faf7f0}.point-group-arrow{color:#b5ad99;font-size:12px;transition:transform .2s ease}.point-group.open .point-group-arrow{transform:rotate(90deg)}.point-group-name{background:transparent;border:none;border-radius:3px;color:#1a1a1a;cursor:text;font-size:17px;font-weight:700;padding:1px 4px}.point-group-name:hover:not(:disabled){background:#fdf6ee;border-bottom:1px dashed #c0392b}.point-group-name:disabled{cursor:default}.point-group-name-input{background:#fffdf8;border:1px solid #c0392b;border-radius:3px;font-size:17px;font-weight:700;outline:none;padding:1px 6px;width:180px}.point-group-name-hint{color:#c8c0aa;font-size:12px}.point-group-badge{border-radius:12px;flex:0 0 auto;font-size:12px;padding:3px 10px}.point-group-badge.is-multi{background:#1a1a1a;color:#fff}.point-group-badge.is-single{background:#eee9dc;color:#8a8578}.point-group-coord{color:#a09a88;font-size:12px}.point-group-locate{align-items:center;background:#fff;border:1px solid #e2dccf;border-radius:50%;color:#8a8578;cursor:pointer;display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;margin-left:auto;transition:color .2s ease,border-color .2s ease,background .2s ease;width:30px}.point-group-locate:hover{background:#fdf6ee;border-color:#c0392b;color:#c0392b}.point-group-check{accent-color:#c0392b;cursor:pointer;height:17px;width:17px}.point-group-body{overflow-x:auto}.point-group-body table{border-collapse:collapse;width:100%}.point-group-body th{background:#fcfaf5;border-top:1px solid #efe9db;color:#a09a88;font-size:13px;font-weight:500;padding:10px 16px;text-align:left;white-space:nowrap}.point-group-body td{border-top:1px solid #f2ede1;font-size:14px;padding:12px 16px;vertical-align:middle}.point-group-col-check{width:36px}.point-group-col-image{max-width:340px;min-width:200px}.point-group-nowrap{white-space:nowrap}.point-group-row:hover{background:#faf7f0}.point-group-row.checked{background:#fdf3ec}.point-group-image-cell{align-items:center;display:flex;gap:10px;max-width:340px;min-width:0}.point-group-thumb{background:#e8e2d4;border-radius:4px;flex:0 0 auto;height:44px;-o-object-fit:cover;object-fit:cover;width:88px}.point-group-thumb--empty{display:inline-block}.point-group-image-name{flex:1 1 auto;font-size:14px;font-weight:700;line-height:1.4;min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.point-group-period{background:#eef4ec;border-radius:10px;font-size:11px;padding:2px 8px}.point-group-period,.point-group-status-ok{color:#4a7c59;display:inline-block;white-space:nowrap}.point-group-status-ok{border:1px solid #4a7c59;border-radius:3px;font-size:12px;padding:2px 10px}.point-group-col-actions{min-width:200px;white-space:nowrap}.point-group-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;min-width:180px;white-space:nowrap}.point-group-sel-bar{align-items:center;background:#1a1a1a;border-radius:999px;bottom:24px;box-shadow:0 10px 30px #00000038;color:#fff;display:flex;gap:14px;left:50%;min-width:min(520px,calc(100vw - 32px));padding:12px 18px;position:fixed;transform:translate(-50%);z-index:40}.point-group-sel-count{font-size:14px;white-space:nowrap}.point-group-sel-count b{font-weight:700}.point-group-sel-go{background:#c0392b;border:none;border-radius:999px;color:#fff;cursor:pointer;flex:1 1 auto;font-size:14px;padding:10px 18px}.point-group-sel-go:disabled{cursor:not-allowed;opacity:.45}.point-group-sel-clear{background:transparent;border:1px solid hsla(0,0%,100%,.35);border-radius:999px;color:#fff;cursor:pointer;font-size:13px;padding:8px 14px}@media(max-width:900px){.point-group-coord{display:none}.point-group-stat{margin-left:0;width:100%}.point-group-sel-bar{border-radius:16px;bottom:12px;flex-wrap:wrap}}.admin-action-cell{display:flex;gap:6px}.admin-detail-stack{display:grid;gap:18px;min-inline-size:0}.admin-detail-section{display:grid;gap:10px;min-inline-size:0}.admin-detail-section h2{font-size:18px;line-height:1.3;margin:0}.admin-page .n-data-table{font-variant-numeric:tabular-nums}.admin-exif-code{display:block;font-size:12px;line-height:1.5;max-block-size:clamp(320px,calc(100dvh - 360px),560px);overflow:auto}.admin-exif-meta{align-items:baseline;color:#645c55;display:flex;font-size:12px;gap:8px}.admin-exif-meta-label{color:#2d2620;font-weight:600}.admin-exif-section{display:grid;gap:6px}.admin-exif-section-toggle{align-items:center;background:#f0e6d8;border:0;border-radius:4px;cursor:pointer;display:flex;gap:6px;inline-size:100%;padding:6px 10px;text-align:start}.admin-exif-section-toggle:hover{background:#e8dcc8}.admin-exif-section-chevron{align-items:center;block-size:18px;color:#2d2620;display:inline-flex;font-size:14px;inline-size:18px;justify-content:center;transition:transform .15s ease}.admin-exif-section-chevron--collapsed{transform:rotate(-90deg)}.admin-exif-section-title{color:#2d2620;font-size:14px;font-weight:600;line-height:1.3;margin:0}.admin-exif-table{border-collapse:collapse;font-size:13px;inline-size:100%;line-height:1.5}.admin-exif-table tr{border-block-end:1px solid #ece7df}.admin-exif-table tr:last-child{border-block-end:0}.admin-exif-table th{color:#2d2620;font-weight:500;inline-size:28%;min-inline-size:110px;padding:6px 10px;text-align:start;vertical-align:top}.admin-exif-table td{color:#2d2620;padding:6px 10px;white-space:pre-wrap;word-break:break-word}.admin-exif-cn-cell{color:#645c55;font-size:12px;inline-size:28%;min-inline-size:90px}.admin-exif-key{display:block;font-size:13px;font-weight:600}.admin-exif-row-highlight{background:#e5efe3}.admin-exif-row-highlight .admin-exif-key{color:#135d1d}.admin-page .n-data-table .n-data-table-td,.admin-page .n-data-table .n-data-table-th{line-height:1.25;padding-block:8px}.admin-main-table{flex:1 1 auto;min-block-size:0}.admin-detail-table{min-inline-size:0}.admin-project-image-thumb{border-radius:4px;display:block;height:40px;-o-object-fit:cover;object-fit:cover;width:60px}.admin-page .n-data-table-td,.admin-page .n-data-table-th{vertical-align:middle}.page-head{flex:0 0 auto;gap:24px;justify-content:space-between;margin-block-end:18px}.page-head,.page-heading{align-items:flex-end;display:flex}.page-heading{flex-wrap:wrap;gap:20px}.head-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.image-view-switch{background:#fefbf8f0;display:flex;gap:6px;padding:4px}.image-view-switch,.image-view-switch button{align-items:center;border:1px solid var(--tld-border)}.image-view-switch button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tld-surface);block-size:40px;color:var(--tld-muted);display:grid;inline-size:40px;justify-items:center;padding:0;transition:background .14s,border-color .14s,color .14s,transform .14s}.image-view-switch button.active,.image-view-switch button:hover{background:#f8eae4;border-color:var(--tld-fg);color:var(--tld-fg)}.image-view-switch button:active{transform:scale(.96)}.image-view-switch button:focus-visible{outline:2px solid rgba(198,78,49,.42);outline-offset:2px}.image-view-switch svg{block-size:22px;fill:none;inline-size:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.user-badge{border:1px solid var(--tld-border);color:var(--tld-muted);font-size:13px;min-block-size:38px;padding:8px 12px}.page-title{font:700 45px/.95 var(--tld-font-display);margin:0}.page-desc{color:var(--tld-muted);font-size:14px;line-height:1.5;margin:0 0 3px;max-inline-size:560px}.style-page,.style-preview{display:grid;gap:24px}.style-preview{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);padding:24px}.style-preview h2{font:700 38px/1 var(--tld-font-display);margin:0}.style-preview p{color:var(--tld-muted);line-height:1.7;margin:12px 0 0}.style-section{display:grid;gap:16px}.style-section__head{align-items:end;display:flex;gap:18px;justify-content:space-between}.style-section__head h2{font:700 30px/1.1 var(--tld-font-display);margin:0}.style-section__head p{color:var(--tld-muted);line-height:1.7;margin:0;max-inline-size:520px}.style-preview--landing{background:var(--paper);border-color:var(--ink);color:var(--ink)}.style-preview--landing .kicker{color:var(--coral)}.style-preview--landing p{color:var(--ink-mute)}.style-preview__sample{align-items:center;background:linear-gradient(35deg,transparent 0 42%,rgba(29,20,13,.06) 42% 45%,transparent 45% 100%),repeating-linear-gradient(0deg,hsla(37,17%,85%,.68) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,hsla(37,17%,85%,.68) 0 1px,transparent 1px 26px),var(--tld-bg);border:1px solid var(--tld-border);display:flex;flex-wrap:wrap;gap:10px;min-block-size:164px;padding:18px}.style-preview__landing-card{align-content:center;background:var(--bone);border:1px solid var(--ink);color:var(--ink);display:grid;gap:10px;min-block-size:164px;padding:22px}.style-preview__landing-card strong{background:var(--coral);color:#fff;display:inline-flex;font-weight:800;inline-size:-moz-fit-content;inline-size:fit-content;min-block-size:38px;padding:9px 16px}.style-preview__landing-card span{color:var(--ink-mute);line-height:1.6}.style-token-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.style-token-card{background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;gap:14px;min-block-size:196px;padding:18px}.style-token-card__head{align-items:center;display:grid;gap:12px;grid-template-columns:46px minmax(0,1fr)}.style-token-card__head small,.style-token-card__head strong{display:block}.style-token-card__head strong{font-size:16px;line-height:1.3}.style-token-card__head small{color:var(--tld-muted);margin-block-start:4px}.style-token-card p{color:var(--tld-muted);font-size:13px;line-height:1.6;margin:0}.style-swatch{block-size:46px;border:1px solid var(--tld-border);box-shadow:inset 0 0 0 3px var(--tld-surface);display:block;inline-size:46px}.style-token-card__controls{align-items:center;display:grid;gap:10px;grid-template-columns:52px minmax(0,1fr);margin-block-start:auto}.style-token-card__controls input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;block-size:44px;border:1px solid var(--tld-border);inline-size:52px;padding:4px}.style-token-card__controls input[type=color]::-webkit-color-swatch-wrapper{padding:0}.style-token-card__controls input[type=color]::-webkit-color-swatch{border:0}.page-error{background:#ffe8e3;border:1px solid #e68677;color:var(--tld-danger)}.page-error,.page-notice{font-size:13px;line-height:20px;margin:0 0 18px;padding:10px 12px}.page-notice{background:#faede8;border:1px solid #d49a88;color:var(--tld-accent)}.rename-toast{background:#e7ebe2;border:1px solid #89a686;color:var(--tld-success);font-size:13px;line-height:20px;margin:0 0 18px;padding:10px 12px}.card-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.image-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.image-card{background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;grid-template-rows:auto 1fr auto;min-block-size:164px;min-inline-size:0;padding:13px}.image-card--readonly{grid-template-rows:auto auto auto;min-block-size:0;padding:10px}.image-card-thumb{border-radius:4px;display:block;margin-bottom:10px;overflow:hidden;position:relative}.image-card-thumb-img{aspect-ratio:16/10;background:#efe6da;block-size:auto;display:block;inline-size:100%;-o-object-fit:cover;object-fit:cover}.image-card-thumb-img--empty{align-items:center;color:var(--tld-muted);display:flex;font:600 13px/1 var(--tld-font-mono);justify-content:center;letter-spacing:.08em}.image-card-thumb .card-status{inset-block-start:8px;inset-inline-end:8px}.card-row{align-items:flex-start;display:flex;gap:9px;justify-content:space-between;min-inline-size:0}.card-name{font-size:15px;font-weight:700;line-height:1.25;margin:0;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-name-wrap{flex:1 1 auto;min-inline-size:0}.card-name-action{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--tld-fg);cursor:pointer;display:inline-flex;gap:6px;inline-size:100%;min-block-size:28px;min-inline-size:0;padding:0;text-align:left}.card-name-action svg,.card-name-action:hover .card-name{color:var(--tld-accent)}.card-name-action svg{block-size:18px;fill:none;flex:0 0 auto;inline-size:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.card-name-edit{background:var(--tld-surface);border:1px solid var(--tld-accent);font-size:15px;font-weight:700;inline-size:100%;min-block-size:32px;min-inline-size:0;outline:2px solid rgba(198,78,49,.22);padding:0 8px}.card-meta{color:var(--tld-muted);font-size:12px;line-height:1.5}.image-facts{display:grid;gap:8px;margin:13px 0 0}.image-fact-line{align-items:baseline;display:grid;gap:8px;grid-template-columns:52px minmax(0,1fr);min-inline-size:0}.image-facts dt{color:var(--tld-muted)}.image-facts dd,.image-facts dt{font-size:12px;line-height:1.35;margin:0;white-space:nowrap}.image-facts dd{color:var(--tld-fg);overflow:hidden;text-overflow:ellipsis}.card-desc,.progress-copy{color:var(--tld-muted);line-height:1.6;margin:0}.card-status{align-items:center;border:1px solid var(--tld-border);-moz-column-gap:4px;column-gap:4px;display:inline-flex;flex:0 0 auto;font-size:12px;min-block-size:24px;padding:0 7px;white-space:nowrap}.vue-bits-counter,.vue-bits-fuzzy-text,.vue-bits-shiny-text{display:inline-block;font-variant-numeric:tabular-nums}.vue-bits-fuzzy-text{filter:blur(var(--fuzzy-blur,0));transform:translate(var(--fuzzy-x,0),var(--fuzzy-y,0))}.vue-bits-shiny-text{background:linear-gradient(var(--shiny-spread,105deg),var(--shiny-base,currentColor) 0,var(--shiny-base,currentColor) 35%,var(--shiny-color,#6dba70) 50%,var(--shiny-base,currentColor) 65%,var(--shiny-base,currentColor) 100%);background-clip:text;-webkit-background-clip:text;background-size:240% 100%;color:transparent;min-inline-size:6em}@media(prefers-reduced-motion:reduce){.vue-bits-shiny-text{background-position:50% 0}}.processing-count{align-items:baseline;display:inline-flex;font-weight:700}.status-ready{background:#e0f1e0;border-color:#91bf92;color:var(--tld-success)}.status-processing{background:#f9ebe6;border-color:var(--tld-accent);color:var(--tld-accent)}.status-error{background:#ffe8e3;border-color:#e68677;color:var(--tld-danger)}.progress-bar{background:var(--tld-bg);block-size:8px;border:1px solid var(--tld-border);overflow:hidden}.progress-fill{background:var(--tld-accent);block-size:100%;display:block}.card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-block-start:auto}.image-card .card-actions{justify-content:flex-end;margin-block-start:13px}.image-card .btn-sm{font-size:12px;min-block-size:28px;padding:0 8px}.image-card-more{position:relative}.image-card-more-button{font-weight:700;inline-size:32px;letter-spacing:0;padding-inline:0}.image-card-menu{background:var(--tld-surface);border:1px solid var(--tld-border);box-shadow:0 16px 36px #2d26201f;display:grid;gap:2px;inline-size:122px;inset-block-start:34px;inset-inline-end:0;padding:6px;position:absolute;z-index:20}.image-card-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--tld-fg);cursor:pointer;font:inherit;font-size:13px;line-height:1.2;padding:8px 9px;text-align:left;text-decoration:none;white-space:nowrap}.image-card-menu-item:hover{background:var(--tld-bg)}.image-card-menu-item.danger{color:var(--tld-danger)}.image-card-menu-item.is-disabled{color:var(--tld-muted);cursor:not-allowed;opacity:.45;pointer-events:none}.btn-sm{font-size:13px;min-block-size:34px;padding:0 10px}.btn-sm.primary{background:var(--tld-fg);border-color:var(--tld-fg);color:var(--tld-surface)}.btn-sm.danger{border-color:#c44132;color:var(--tld-danger)}.btn-sm:hover{background:var(--tld-bg)}.btn-sm.primary:hover{background:#3d342e}.btn-sm.danger:hover{background:#ffe8e3}.btn-sm.is-disabled{pointer-events:none}.btn-sm.is-disabled,.tld-button.is-disabled{cursor:not-allowed;opacity:.72}.image-table{flex:1 1 auto;min-block-size:0}.image-page--table-view .image-table-section{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0}.image-page--table-view .image-table-section .n-data-table{flex:1 1 auto;min-block-size:0}.image-table .n-data-table{--n-th-color:rgba(45,38,32,.05)}.image-table .n-data-table-th{font-weight:600}.image-table .n-data-table-td{vertical-align:middle}.image-table-cell-name{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-table-cell-location{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.image-table-cell-actions{display:flex;gap:6px}.image-table-cell-actions .btn-sm{background:none;border:0;min-block-size:0;padding:0 4px}.image-table-cell-actions .btn-sm.primary{color:var(--tld-fg)}.image-table-cell-actions .btn-sm.danger{color:var(--tld-danger)}.image-table-cell-actions .btn-sm.danger,.image-table-cell-actions .btn-sm.danger:hover,.image-table-cell-actions .btn-sm.primary,.image-table-cell-actions .btn-sm.primary:hover,.image-table-cell-actions .btn-sm:hover{background:none;border:0}@media(max-width:640px){.image-page--table-view{padding-inline:8px}.image-table .n-data-table{--n-th-padding:4px 6px;--n-td-padding:4px 6px}.image-table .n-data-table-td,.image-table .n-data-table-th{font-size:12px;padding:4px 6px!important}.image-table-cell-actions{gap:2px}.image-table-cell-actions .btn-sm{padding:0 2px}}.project-page--table-view{block-size:calc(100vh - 71px);display:flex;flex-direction:column;min-block-size:0;overflow:hidden}.project-page--table-view .page-head{flex:0 0 auto}.project-page--table-view .project-table-section{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0}.project-page--table-view .project-table-section .n-data-table{flex:1 1 auto;min-block-size:0}.project-table .n-data-table-th{font-weight:600}.project-table .n-data-table-td{vertical-align:middle}.project-table-cell-name{font-weight:700}.project-table-cell-desc,.project-table-cell-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-table-cell-desc{color:var(--tld-muted)}.project-table-cell-initial.is-deleted{color:var(--tld-danger)}.project-table-cell-actions{display:flex;gap:6px}.project-table-cell-actions .btn-sm{background:none;border:0;min-block-size:0;padding:0 4px}.project-table-cell-actions .btn-sm.primary{color:var(--tld-fg)}.project-table-cell-actions .btn-sm.danger{color:var(--tld-danger)}.project-table-cell-actions .btn-sm.danger,.project-table-cell-actions .btn-sm.danger:hover,.project-table-cell-actions .btn-sm.primary,.project-table-cell-actions .btn-sm.primary:hover,.project-table-cell-actions .btn-sm:hover{background:none;border:0}.project-table-loading{background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;gap:1px;overflow:hidden}.project-library-loading span,.project-table-loading__row{animation:project-loading 1.35s infinite;background:linear-gradient(90deg,#f4ede4 25%,#e9ded2,#f4ede4 75%);background-size:200% 100%}.project-table-loading__row{block-size:56px}.project-pagination{flex:0 0 auto}.project-error-banner{align-items:center;display:flex;gap:16px;justify-content:space-between}.project-error-banner .btn-sm{flex:0 0 auto}.project-create-page{max-inline-size:1320px}.project-create-head{align-items:flex-end}.project-steps{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 18px;padding:16px 20px}.project-steps li{align-items:center;color:var(--tld-muted);display:flex;gap:10px;min-inline-size:0;position:relative}.project-steps li:not(:last-child):after{background:var(--tld-border);block-size:1px;content:"";inline-size:max(24px,calc(100% - 150px));inset-inline-end:14px;position:absolute}.project-steps li>span{align-items:center;background:#f3ece3;block-size:32px;border:1px solid var(--tld-border);display:inline-flex;flex:0 0 32px;font-family:var(--tld-font-mono);justify-content:center}.project-steps li.active,.project-steps li.completed{color:var(--tld-fg)}.project-steps li.active>span{background:var(--tld-fg);border-color:var(--tld-fg);color:var(--tld-surface)}.project-steps li.completed>span{background:#e7ebe2;border-color:#89a686;color:var(--tld-success)}.project-steps li.completed:not(:last-child):after{background:#89a686}.project-create-workbench{background:var(--tld-surface);border:1px solid var(--tld-border);min-block-size:560px}.project-step-panel{min-block-size:478px;padding:32px}.project-basic-form{align-content:start;display:grid;gap:24px;max-inline-size:720px}.project-basic-form small,.project-panel-head span,.project-selected-info small{color:var(--tld-muted);font-size:12px;line-height:1.5}.project-required{color:var(--tld-danger)}.project-textarea{block-size:126px;font-family:inherit;line-height:1.6;padding-block:10px;resize:vertical}.project-char-count{text-align:end}.project-image-selector{block-size:478px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);min-block-size:478px}.project-library-panel,.project-selected-panel{display:flex;flex-direction:column;min-block-size:0;min-inline-size:0}.project-library-panel{border-inline-end:1px solid var(--tld-border)}.project-selected-panel{background:#fbf6f0}.project-panel-head{align-items:center;block-size:58px;border-block-end:1px solid var(--tld-border);display:flex;flex:0 0 58px;justify-content:space-between;padding:0 18px}.project-panel-head>div{align-items:baseline;display:flex;gap:10px;min-inline-size:0}.project-panel-head strong{font-size:15px}.project-library-search{border-block-end:1px solid var(--tld-border);flex:0 0 auto;padding:10px 18px}.project-library-search .tld-input{min-block-size:38px}.project-library-list{block-size:350px;flex:1 1 auto;min-block-size:0}.project-library-item{align-items:center;block-size:72px;border-block-end:1px solid #eee7de;cursor:pointer;display:flex;gap:11px;padding:8px 18px}.project-library-item:hover{background:#fbf7f1}.project-library-item.selected{background:#edf2e9}.project-library-item input[type=checkbox]{accent-color:var(--tld-fg);block-size:17px;flex:0 0 auto;inline-size:17px}.project-image-thumb{background:#e9dfd3;block-size:48px;border:1px solid var(--tld-border);display:block;flex:0 0 48px;inline-size:48px;-o-object-fit:cover;object-fit:cover}.project-image-thumb--placeholder{align-items:center;color:var(--tld-muted);display:inline-flex;font-family:var(--tld-font-display);justify-content:center}.project-library-info{display:grid;gap:4px;min-inline-size:0}.project-library-info small,.project-library-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-library-info strong{font-size:13px}.project-library-info small{color:var(--tld-muted);font-size:11px}.project-library-loading{display:grid;gap:1px;padding:0 18px}.project-library-loading span{block-size:60px}.project-library-empty,.project-selected-empty{align-content:center;color:var(--tld-muted);display:grid;flex:1 1 auto;gap:10px;justify-items:center;padding:28px;text-align:center}.project-library-empty a{color:var(--tld-accent);font-weight:700}.project-selected-list{flex:1 1 auto;min-block-size:0;overflow:auto;padding:10px}.project-selected-item{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;gap:8px;grid-template-columns:20px 48px minmax(0,1fr) auto;margin-block-end:8px;min-inline-size:0;padding:8px}.project-selected-item.dragging{opacity:.5}.project-drag-handle{color:var(--tld-muted);cursor:grab;font-size:16px}.project-selected-info{display:grid;gap:3px;min-inline-size:0}.project-selected-info input{background:transparent;border:1px solid transparent;font-size:13px;font-weight:600;inline-size:100%;min-block-size:30px;min-inline-size:0;outline:none;padding:0 6px}.project-selected-info input:focus{background:var(--tld-surface);border-color:var(--tld-accent)}.project-selected-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-initial-badge{background:var(--tld-fg);color:var(--tld-surface);font-size:11px;padding:3px 6px}.project-selected-actions{display:flex;gap:4px;grid-column:3/-1;justify-content:flex-end}.project-selected-actions button{align-items:center;background:var(--tld-surface);block-size:28px;border:1px solid var(--tld-border);display:inline-flex;inline-size:28px;justify-content:center;padding:0}.project-selected-actions button.active,.project-selected-actions button:hover{border-color:var(--tld-fg);color:var(--tld-fg)}.project-selected-actions button.danger:hover{border-color:var(--tld-danger);color:var(--tld-danger)}.project-confirm-panel{display:grid;gap:20px;margin:0 auto;max-inline-size:720px;min-block-size:478px;padding:42px 32px}.project-confirm-panel h2{font:700 28px/1.1 var(--tld-font-display);margin:0;text-align:center}.project-confirm-panel dl{background:#fbf6f0;border:1px solid var(--tld-border);margin:0;padding:12px 24px}.project-confirm-panel dl>div{border-block-end:1px solid var(--tld-border);display:grid;gap:18px;grid-template-columns:120px minmax(0,1fr);padding:13px 0}.project-confirm-panel dl>div:last-child{border-block-end:0}.project-confirm-panel dt{color:var(--tld-muted)}.project-confirm-panel dd{margin:0;overflow-wrap:anywhere;text-align:end}.project-step-actions{align-items:center;background:#fbf6f0;border-block-start:1px solid var(--tld-border);display:flex;gap:18px;justify-content:space-between;min-block-size:80px;padding:14px 22px}.project-step-actions>span{color:var(--tld-muted);font-size:13px}.project-step-actions>span.error{color:var(--tld-danger)}.project-step-actions>div{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}@keyframes project-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:980px){.project-page--table-view{block-size:auto;min-block-size:calc(100vh - 71px);overflow:visible}.project-image-selector{block-size:auto;grid-template-columns:1fr}.project-library-panel{border-block-end:1px solid var(--tld-border);border-inline-end:0;min-block-size:430px}.project-selected-panel{min-block-size:360px}.project-library-list{block-size:330px}}@media(max-width:640px){.project-error-banner{align-items:stretch;flex-direction:column}.project-steps{gap:8px;padding:12px}.project-steps li{align-items:flex-start;flex-direction:column;font-size:12px;gap:6px}.project-steps li:not(:last-child):after{inline-size:calc(100% - 50px);inset-block-start:16px;inset-inline-end:0}.project-step-panel{padding:20px}.project-selected-item{grid-template-columns:18px 42px minmax(0,1fr)}.project-selected-item .project-image-thumb{block-size:42px;flex-basis:42px;inline-size:42px}.project-initial-badge{grid-column:3;justify-self:start}.project-selected-actions{grid-column:3}.project-step-actions{align-items:stretch;flex-direction:column}.project-step-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.project-step-actions .tld-button{inline-size:100%}.project-confirm-panel{padding:28px 18px}.project-confirm-panel dl>div{gap:6px;grid-template-columns:1fr}.project-confirm-panel dd{text-align:start}}.image-map-browser{background:#efe7dc;block-size:calc(100vh - 242px);border:1px solid var(--tld-border);flex:1 1 auto;min-block-size:520px;overflow:hidden;position:relative}.image-map-browser__canvas{block-size:100%;inline-size:100%}.image-map-browser__legend,.image-map-browser__overlay,.image-map-browser__summary{background:#fefbf8f0;border:1px solid rgba(45,38,32,.14);box-shadow:0 8px 24px #1d140d1f;position:absolute;z-index:3}.image-map-browser__summary{align-items:baseline;display:inline-flex;gap:6px;inset-block-start:14px;inset-inline-end:14px;min-block-size:36px;padding:7px 10px}.image-map-browser__summary .mono{font-weight:700}.image-map-browser__legend{align-items:center;display:none;display:flex;flex-wrap:wrap;gap:8px;inset-block-end:14px;inset-inline-start:14px;max-inline-size:calc(100% - 28px);padding:8px}.image-map-browser__legend-item{align-items:center;color:var(--tld-fg);display:inline-flex;font-size:12px;gap:5px;line-height:1;min-block-size:24px;white-space:nowrap}.image-map-browser__legend-item i{block-size:11px;border:2px solid #fffdfa;border-radius:999px;box-shadow:0 0 0 1px #2d26202e;display:inline-block;inline-size:11px}.image-map-browser__overlay{color:var(--tld-muted);inset-block-start:50%;inset-inline-start:50%;padding:10px 14px;transform:translate(-50%,-50%)}.image-map-browser .ol-control button{background:#fefbf8f0;border:1px solid rgba(45,38,32,.14);color:var(--tld-fg)}.image-map-browser .ol-control button:hover{background:#f8eae4}.empty-state{background:var(--tld-surface);border:1px dashed var(--tld-border);display:grid;min-block-size:420px;padding:48px 24px;place-items:center;text-align:center}.empty-map{inline-size:min(460px,100%);margin-block-end:24px;min-block-size:180px}.empty-map-image{block-size:auto;display:block;inline-size:min(560px,100%);margin-block-end:24px}.empty-title{font:700 38px/1 var(--tld-font-display);margin:0}.empty-desc{color:var(--tld-muted);line-height:1.7;margin:12px auto 24px;max-inline-size:520px}.delete-modal{background:#1d140d57;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:50}.dialog{background:var(--tld-surface);border:1px solid var(--tld-border);box-shadow:0 24px 80px #1d140d2e;inline-size:min(520px,100%);padding:24px}.dialog h2{font:700 30px/1 var(--tld-font-display);margin:0}.dialog p{color:var(--tld-muted);line-height:1.7;margin:12px 0 0}.dialog-target{border:1px solid var(--tld-border);color:var(--tld-fg);font-weight:600;padding:10px 12px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-block-start:22px}.panorama-copy-dialog-backdrop{z-index:130}.panorama-copy-dialog{inline-size:min(440px,100%);max-block-size:min(620px,calc(100vh - 48px));outline:2px solid transparent;overflow:hidden;padding:0}.panorama-copy-dialog:focus-visible{outline-color:var(--tld-accent);outline-offset:2px}.panorama-copy-dialog__header{border-block-end:1px solid var(--tld-border);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 32px;padding:16px 18px 13px}.panorama-copy-dialog__header h2{align-items:center;display:flex;font-size:20px;min-block-size:32px}.panorama-copy-dialog__header p{font-size:13px;margin-block-start:3px}.panorama-copy-dialog__header .project-editor-panel-close{block-size:32px;inline-size:32px;min-block-size:32px}.panorama-copy-dialog__toolbar{align-items:center;color:var(--tld-muted);display:flex;font-size:12px;justify-content:space-between;padding:8px 18px 6px}.panorama-copy-dialog__toolbar button{background:transparent;border:0;color:var(--tld-accent);cursor:pointer;min-block-size:34px;padding:0 4px}.panorama-copy-dialog__list{border-block:1px solid var(--tld-border);max-block-size:252px;overflow-y:auto;overscroll-behavior:contain;padding:4px 10px}.panorama-copy-dialog__item{align-items:center;cursor:pointer;display:grid;gap:10px;grid-template-columns:18px 20px minmax(0,1fr);min-block-size:42px;padding:0 8px}.panorama-copy-dialog__item:hover{background:var(--tld-bg)}.panorama-copy-dialog__item input{block-size:16px;inline-size:16px}.panorama-copy-dialog__item strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panorama-copy-dialog__error,.panorama-copy-dialog__state{align-items:center;display:flex;font-size:12px;gap:8px;margin:10px 18px 0}.panorama-copy-dialog__state{justify-content:center;text-align:center}.panorama-copy-dialog__error{color:var(--tld-danger)}.panorama-copy-dialog__spinner{animation:panorama-copy-spin .75s linear infinite;block-size:14px;border:2px solid var(--tld-border);border-block-start-color:var(--tld-accent);border-radius:50%;inline-size:14px}.panorama-copy-dialog__success{display:grid;gap:8px;padding:26px 18px 8px;text-align:center}.panorama-copy-dialog__success strong{color:var(--tld-fg);font-size:18px}.panorama-copy-dialog__success span{color:var(--tld-muted);font-size:13px}.panorama-copy-dialog__actions{margin-block-start:18px;padding:0 18px 18px}.panorama-copy-dialog__actions .btn-sm{min-block-size:36px}@keyframes panorama-copy-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.panorama-copy-dialog__spinner{animation-duration:1.5s}}.profile-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{background:var(--tld-surface);border:1px solid var(--tld-border);display:grid;gap:14px;min-block-size:280px;padding:20px}.profile-card__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.profile-card__sub{color:var(--tld-muted);font-size:14px;font-weight:600;letter-spacing:.02em}.profile-card h2{font:700 24px/1.15 var(--tld-font-display);margin:0}.metric{font-size:28px;line-height:1.2}.profile-progress{background:var(--tld-bg);block-size:8px;border:1px solid var(--tld-border);overflow:hidden}.profile-progress span{background:var(--tld-accent);block-size:100%;display:block}.plan-list,.profile-card .mono,.profile-card p{color:var(--tld-muted)}.profile-row{align-items:center;border-block-start:1px solid var(--tld-border);display:flex;gap:12px;justify-content:space-between;padding-block-start:12px}.profile-row span{color:var(--tld-muted)}.profile{display:flex;gap:14px}.avatar,.profile{align-items:center}.avatar{background:#f8eae4;border:1px solid var(--tld-fg);border-radius:999px;display:grid;flex:0 0 auto;font:700 24px/1 var(--tld-font-display);inline-size:64px;min-block-size:64px;place-items:center}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-block-start:auto}.plan-list{line-height:1.7;margin:0;padding-inline-start:18px}.visually-hidden{block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}.upload-page{max-inline-size:1240px}.upload-step,.upload-steps{display:grid;gap:16px}.upload-step{align-items:start;background:var(--tld-surface);border:1px solid var(--tld-border);grid-template-columns:42px minmax(0,1fr) auto;padding:18px}.upload-step h2{font:700 24px/1.15 var(--tld-font-display);margin:0 0 8px}.upload-step p{color:var(--tld-muted);line-height:1.7;margin:8px 0 0}.step-no{align-items:center;border:1px solid var(--tld-fg);display:grid;font:700 22px/1 var(--tld-font-display);inline-size:42px;min-block-size:42px;place-items:center}.drop-zone{background:#fdfaf6;border:1px dashed var(--tld-fg);display:grid;min-block-size:210px;overflow:hidden;padding:18px;place-items:center;position:relative;text-align:center}.drop-zone--selected{border-color:var(--tld-accent);border-style:solid}.drop-zone--selected:before{background:linear-gradient(155deg,transparent 0 46%,#b7cfb4 46% 58%,transparent 58% 100%),linear-gradient(28deg,#a7dce1 0 31%,transparent 31% 100%),repeating-linear-gradient(0deg,hsla(37,17%,85%,.7) 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,hsla(37,17%,85%,.7) 0 1px,transparent 1px 22px),#f0ebde;content:"";inset:0;position:absolute}.drop-zone--selected:after{background:#c64e312e;border:1px solid var(--tld-accent);clip-path:polygon(6% 22%,78% 5%,96% 42%,81% 86%,16% 80%,0 45%);content:"";inset:24px 38px 18px;position:absolute}.upload-picker{display:grid;gap:12px;inline-size:100%;justify-items:center;position:relative;z-index:1}.upload-picker__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.upload-grid,.upload-meta{display:grid;gap:10px;margin-block-start:12px}.upload-meta{grid-template-columns:2fr 1fr 1fr 1fr}.upload-grid{grid-template-columns:repeat(4,1fr)}.upload-meta div,.upload-panel{background:var(--tld-bg);border:1px solid var(--tld-border);padding:10px}.upload-panel--error{background:#ffe8e3;border-color:#e68677}.upload-meta .mono,.upload-panel .mono{color:var(--tld-muted)}.upload-panel--error .mono{color:var(--tld-danger);font-weight:700}.upload-dropzone-card{align-items:center;background:linear-gradient(135deg,#fffbf6e0,#f6efe6d1),url(../upload-bg.jpg) 50%/cover no-repeat;border:2px dashed rgba(45,38,32,.22);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;margin-block-start:12px;padding:40px 24px;text-align:center;transition:border-color .2s ease,background .2s ease,transform .15s ease,box-shadow .2s ease}.upload-dropzone-card.is-disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.upload-dropzone-card.is-dragover,.upload-dropzone-card:hover:not(.is-disabled){background:linear-gradient(135deg,#fff8eed1,#f3e9dcbf),url(../upload-bg.jpg) 50%/cover no-repeat;border-color:#2d2620;box-shadow:0 6px 20px #2d262014;transform:translateY(-1px)}.upload-dropzone-icon-wrap{align-items:center;background:#2d262014;block-size:60px;border-radius:50%;color:#2d2620;display:flex;inline-size:60px;justify-content:center;transition:transform .2s ease,background .2s ease,color .2s ease}.upload-dropzone-card:hover .upload-dropzone-icon-wrap{background:#2d2620;color:#fffdfa;transform:scale(1.06)}.upload-dropzone-title{color:var(--tld-fg);font-size:15px;font-weight:600;margin:0 0 4px}.upload-link-text{color:#2d2620;text-decoration:underline;text-underline-offset:3px}.upload-dropzone-sub{color:var(--tld-muted);font-size:13px;margin:0}.upload-dropzone-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-block-start:4px}.upload-tag{background:#2d26200f;border:1px solid rgba(45,38,32,.1);border-radius:999px;color:var(--tld-fg);font-size:12px;padding:4px 12px}.upload-features-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-block-start:20px}.upload-feature-card{background:var(--tld-bg);border:1px solid var(--tld-border);border-radius:10px;padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.upload-feature-card:hover{border-color:#2d26204d;box-shadow:0 4px 12px #2d26200d}.upload-feature-icon{align-items:center;background:#2d26200f;block-size:38px;border-radius:8px;color:#2d2620;display:flex;inline-size:38px;justify-content:center;margin-block-end:10px}.upload-feature-card h4{font-size:14px;font-weight:600;margin:0 0 6px}.upload-feature-card p{color:var(--tld-muted);font-size:12px;line-height:1.5;margin:0}.upload-table-wrapper{margin-block-start:16px}.upload-table-header{align-items:center;display:flex;justify-content:space-between;margin-block-end:8px}.upload-table-header h3{font-size:14px;font-weight:600;margin:0}.upload-table-container{background:var(--tld-bg);border:1px solid var(--tld-border);border-radius:8px;max-block-size:320px;overflow:auto}.upload-file-table{border-collapse:collapse;font-size:13px;inline-size:100%;text-align:left}.upload-file-table th{background:#2d26200d;border-block-end:1px solid var(--tld-border);font-weight:600;padding:8px 12px;position:sticky;top:0;white-space:nowrap;z-index:1}.upload-file-table td{border-block-end:1px solid rgba(0,0,0,.06);padding:8px 12px;vertical-align:middle}.upload-file-table tr:last-child td{border-block-end:none}.upload-file-table .file-name-cell{max-inline-size:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill,.upload-file-table .location-cell{white-space:nowrap}.status-pill{border-radius:4px;display:inline-block;font-size:12px;padding:2px 6px}.status-pill.status-pending{background:#f0f0f0;color:#666}.status-pill.status-ready{background:#e6f4ea;color:#137333}.status-pill.status-processing{background:#fef7e0;color:#b06000}.status-pill.status-error{background:#fce8e6;color:#c5221f}.btn-table-action{background:transparent;border:none;cursor:pointer;font-size:12px;padding:2px 6px}.btn-table-action.danger{color:var(--tld-danger)}.btn-table-action.danger:hover{text-decoration:underline}.upload-blocking-alert{background:#ffe8e3;border:1px solid #c44132;color:var(--tld-danger);display:grid;gap:4px;line-height:1.6;margin-block:12px 20px;padding:12px 14px}.upload-blocking-alert strong{color:var(--tld-danger);font-size:15px}.upload-blocking-alert span{font-size:13px}.upload-blocking-alert__body{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.upload-blocking-alert__cta{align-items:center;background:var(--tld-danger);border:1px solid var(--tld-danger);border-radius:4px;color:var(--tld-surface);display:inline-flex;font-size:13px;font-weight:700;justify-content:center;line-height:1.2;min-block-size:28px;padding:0 10px;text-decoration:none;white-space:nowrap}.upload-blocking-alert__cta:hover{background:#9f3327;border-color:#9f3327;color:var(--tld-surface)}.upload-number-field{align-items:center;display:inline-flex;gap:8px}.upload-number-field .editor-input{inline-size:96px;padding:7px 9px}.example-preparing-banner{align-items:center;background:#fff7ec;border:1px solid rgba(198,78,49,.24);border-radius:8px;color:#8a4a2e;display:flex;gap:10px;margin-block:12px 20px;padding:10px 16px}.example-preparing-text{font-size:13px;line-height:1.4}.example-preparing-spinner{animation:example-preparing-spin .9s linear infinite;block-size:14px;border:2px solid rgba(198,78,49,.28);border-block-start-color:var(--tld-accent);border-radius:50%;box-sizing:border-box;display:block;inline-size:14px}@keyframes example-preparing-spin{to{transform:rotate(1turn)}}.side-actions{display:grid;gap:8px;justify-items:stretch}.status{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);color:var(--tld-muted);display:inline-flex;font-size:12px;justify-content:center;min-block-size:26px;padding:0 9px;white-space:nowrap}.status.status-ready{background:#e0f1e0;border-color:#91bf92;color:var(--tld-success)}.upload-progress{margin-block-start:14px}.upload-error{align-items:flex-start;background:#ffe8e3;border:1px solid #c44132;border-left:4px solid var(--tld-danger);color:var(--tld-danger);display:flex;font-size:13px;font-weight:600;gap:8px;line-height:1.6;margin-block:10px 0;padding:10px 14px}.upload-error:before{content:"!";flex-shrink:0;font-size:14px;font-weight:700;line-height:1.6}.upload-modal{background:#1d140d57;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:50}.editor-shell{background:var(--tld-bg);block-size:100vh;color:var(--tld-fg);display:grid;grid-template-rows:auto minmax(0,1fr);min-block-size:100vh;overflow:hidden}.editor-shell:has(.editor-ortho-processing-alert){grid-template-rows:auto auto minmax(0,1fr)}.editor-top{align-items:center;background:var(--tld-surface);border-bottom:1px solid var(--tld-border);display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr) auto auto;min-block-size:var(--project-editor-top-height,60px);padding:0 18px}.editor-top--readonly{grid-template-columns:auto minmax(0,1fr)}.editor-top--share-readonly{grid-template-columns:minmax(0,1fr) auto}.editor-title--share-readonly{align-items:center;display:flex;min-inline-size:0}.editor-share-title-row{align-items:baseline;display:flex;gap:12px;min-inline-size:0}.editor-share-title-row strong{flex:0 1 auto;min-inline-size:0}.editor-share-capture-time{color:var(--tld-muted);flex:0 0 auto;font-size:13px;line-height:1.35;white-space:nowrap}.editor-title{align-items:center;display:flex;flex-wrap:nowrap;gap:16px;min-inline-size:0}.editor-name-text,.editor-title strong{display:block;font-size:18px;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-name-action{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;display:inline-flex;flex:0 1 auto;gap:8px;inline-size:auto;max-inline-size:min(400px,35vw);min-block-size:28px;min-inline-size:0;padding:0;text-align:left}.editor-name-action:hover .editor-name-text{color:var(--tld-accent)}.editor-name-action svg{block-size:18px;color:var(--tld-accent);fill:none;flex:0 0 auto;inline-size:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.editor-name-edit{background:var(--tld-surface);border:1px solid var(--tld-accent);color:var(--tld-fg);flex:0 1 auto;font-size:18px;font-weight:700;inline-size:auto;max-width:400px;min-block-size:34px;min-inline-size:0;outline:2px solid rgba(198,78,49,.22);padding:0 8px}.editor-field span,.editor-group p,.editor-map__notice,.editor-title span{color:var(--tld-muted)}.editor-title-meta{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;font-size:13px;gap:12px;line-height:1.35;margin-block-start:0;min-inline-size:0}.editor-title-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-title-remark{max-inline-size:min(460px,42vw)}.editor-remark-toggle{align-items:center;background:transparent;border:0;color:var(--tld-muted);display:inline-flex;flex:0 0 auto;font:inherit;gap:5px;line-height:1.35;min-block-size:18px;padding:0;white-space:nowrap}.editor-remark-toggle.active,.editor-remark-toggle:hover{color:var(--tld-fg)}.editor-remark-check{align-items:center;background:#fefbf8eb;block-size:13px;border:0;color:var(--tld-accent);display:inline-flex;flex:0 0 auto;inline-size:13px;justify-content:center}.editor-remark-toggle.active .editor-remark-check{background:#fff7ed}.editor-remark-check svg{block-size:11px;fill:none;inline-size:11px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.editor-title-meta .editor-remark-check+span:before{content:none;padding:0}.editor-title-center--mobile{display:none}.editor-ortho-processing-alert{align-items:center;background:#fff4df;border-bottom:1px solid rgba(180,91,51,.34);color:#7a341c;display:flex;gap:10px;justify-content:center;min-block-size:40px;padding:8px 18px;text-align:center}.editor-ortho-processing-alert strong{font-size:14px;line-height:1.3}.editor-workspace{block-size:100%;display:grid;grid-template-columns:300px minmax(0,1fr);min-block-size:0;overflow:hidden;position:relative}.editor-workspace--share{block-size:100vh;grid-template-rows:auto minmax(0,1fr)}.editor-shell--readonly,.editor-shell--readonly .editor-workspace{min-block-size:0}.public-share-page{--share-h5-active:rgba(198,78,49,.28);--share-h5-active-border:rgba(245,182,113,.38);--share-h5-bg:rgba(5,8,10,.72);--share-h5-border:hsla(41,48%,88%,.14);--share-h5-fg:#f7efe3;--share-h5-muted:#aeb8b5;--share-h5-panel:rgba(9,13,16,.62);--share-h5-panel-strong:rgba(13,18,22,.7);background:var(--share-h5-bg);block-size:100vh;color:var(--tld-fg);display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.public-share-page .editor-shell{block-size:100%;min-block-size:0}.public-share-page .editor-workspace{block-size:100%}.project-share-workspace{background:#080b0d;block-size:100dvh;color:#fff;inline-size:100vw;min-block-size:0;overflow:hidden;position:relative}.editor-shell--project-share-map .editor-workspace--project-share-map,.editor-workspace--project-share-map .editor-map__canvas,.editor-workspace--project-share-map>.editor-map,.project-share-panorama,.project-share-panorama__viewer,.project-share-workspace>.editor-shell--project-share-map{block-size:100%;inline-size:100%;min-block-size:0}.editor-shell--project-share-map{grid-template-rows:minmax(0,1fr)}.project-share-workspace>.editor-shell--project-share-map{inset:0;position:absolute}.editor-shell--project-share-map .editor-workspace--project-share-map{display:block;inset:0;position:absolute}.project-share-heading{align-items:baseline;backdrop-filter:none;-webkit-backdrop-filter:none;background:#080b0dad;border:1px solid hsla(0,0%,100%,.14);display:flex;gap:10px;inset-block-start:18px;inset-inline-start:18px;max-inline-size:min(560px,calc(100vw - 190px));min-block-size:40px;padding:9px 13px;position:absolute;z-index:12}.project-share-heading span,.project-share-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-share-heading strong{flex:0 1 auto;font-size:15px}.project-share-heading span{color:#ffffffad;flex:1 1 auto;font-size:12px}.project-share-actions{align-items:center;display:flex;gap:8px;inset-block-start:18px;inset-inline-end:18px;position:absolute;z-index:13}.project-share-mode-entry{align-items:center;background:var(--tld-accent);border:1px solid var(--tld-accent);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-block-size:28px;min-inline-size:68px;padding-inline:12px}.project-share-mode-entry:hover{background:#ad4028;border-color:#ad4028}.project-share-fullscreen-btn:active,.project-share-mode-entry:active{transform:scale(.96)}.project-share-fullscreen-btn{align-items:center;background:#080b0dad;border:1px solid hsla(0,0%,100%,.22);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;inline-size:28px;justify-content:center;min-block-size:28px;padding:0}.project-share-fullscreen-btn svg{fill:none;height:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:16px}.project-share-fullscreen-btn:hover{background:#181c20d9;border-color:#fff6}.project-share-fullscreen-btn:focus-visible,.project-share-mode-entry:focus-visible,.project-share-thumbnail:focus-visible{outline:2px solid #fff;outline-offset:2px}.project-share-thumbnails{align-items:center;background:#0009;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:8px;inset-inline:0;justify-content:center;padding:10px 12px;position:absolute;z-index:12}.project-share-thumbnails__track{display:flex;flex:1 1 auto;gap:8px;justify-content:center;margin-inline:48px;max-width:90%;overflow-x:auto;overscroll-behavior-inline:contain;padding-block:2px;position:relative;scroll-behavior:smooth;scrollbar-width:none}.project-share-thumbnails__track::-webkit-scrollbar{display:none}.project-share-thumbnails__arrow{align-items:center;background:#00000073;border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;flex:0 0 auto;height:40px;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s ease,border-color .2s ease,opacity .2s ease;width:40px;z-index:2}.project-share-thumbnails__arrow--left{inset-inline-start:8px}.project-share-thumbnails__arrow--right{inset-inline-end:8px}.project-share-thumbnails__arrow:hover{background:#000000a6;border-color:#fff6}.project-share-thumbnails__arrow svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.project-share-thumbnails__tooltip{background:#000000d9;border-radius:6px;color:#fff;font-size:13px;line-height:1.4;max-width:240px;padding:6px 10px;pointer-events:none;position:fixed;transform:translate(-50%,calc(-100% - 6px));white-space:nowrap;z-index:100}.project-share-thumbnail{background:#ffffff12;border:2px solid hsla(0,0%,100%,.22);border-radius:8px;color:#fff;display:grid;flex:0 0 104px;grid-template-rows:58px 24px;inline-size:104px;min-block-size:82px;overflow:hidden;padding:0}.project-share-thumbnail.active{border-color:var(--tld-accent);box-shadow:0 0 0 1px #ffffff59}.project-share-thumbnail img,.project-share-thumbnail__placeholder{block-size:58px;inline-size:100%}.project-share-thumbnail img{-o-object-fit:cover;object-fit:cover}.project-share-thumbnail__placeholder{align-items:center;background:#30363a;color:#fff9;display:flex;justify-content:center}.project-share-thumbnail strong{align-self:center;font-size:12px;font-weight:600;overflow:hidden;padding-inline:5px;text-overflow:ellipsis;white-space:nowrap}.project-share-state{align-content:center;background:#101416;block-size:100%;color:#ffffffc2;display:grid;gap:12px;inline-size:100%;justify-items:center}.project-share-state--error{color:#fff}.editor-shell--share.editor-shell--fullscreen{grid-template-rows:minmax(0,1fr)}.editor-shell--share.editor-shell--fullscreen .editor-top--readonly{display:none}.share-comparison-workspace{background:#080b0d;block-size:100%;inline-size:100%;inset:0;overflow:hidden;position:absolute}.share-comparison-canvas{block-size:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));inline-size:100%}.share-comparison-canvas,.share-comparison-slot{background:#080b0d;min-block-size:0;min-inline-size:0}.share-comparison-slot{display:flex;flex-direction:column;overflow:hidden;position:relative}.share-comparison-slot+.share-comparison-slot{border-inline-start:2px solid hsla(0,0%,100%,.18)}.share-comparison-slot__select{align-items:center;display:flex;inset-block-start:14px;justify-content:center;left:50%;pointer-events:auto;position:absolute;transform:translate(-50%);z-index:10}.share-comparison-slot__select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#080b0db8;border:1px solid hsla(0,0%,100%,.22);border-radius:6px;box-shadow:0 2px 8px #00000059;color:#fff;cursor:pointer;font-size:12px;font-weight:600;min-block-size:32px;padding:0 28px 0 14px}.share-comparison-slot__select select:focus{outline:none}.share-comparison-slot__select:after{color:#fff;content:"▼";font-size:9px;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.share-comparison-slot__select option{background:#1a1d20;color:#fff}.share-comparison-slot__body{flex:1 1 auto;min-block-size:0;min-inline-size:0;overflow:hidden;position:relative;z-index:0}.share-comparison-slot__body>.project-share-panorama{inset:0;position:absolute}.share-comparison-empty{align-items:center;background:#101416;block-size:100%;color:#ffffff80;display:flex;font-size:13px;inline-size:100%;justify-content:center}@media(max-width:980px){.share-comparison-canvas{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}.share-comparison-slot+.share-comparison-slot{border-block-start:2px solid hsla(0,0%,100%,.18);border-inline-start:0}}@media not (max-width:980px){.editor-shell--readonly{block-size:100%;grid-template-rows:auto minmax(0,1fr);min-block-size:0}.editor-shell--readonly .editor-map{min-block-size:0}.editor-shell--readonly .editor-view-mode-switch{left:12px;right:auto;top:18px}.editor-workspace--share-desktop-preview{block-size:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.editor-workspace--share-desktop-preview .share-mobile-tabs,.editor-workspace--share-desktop-preview .share-mobile-top,.editor-workspace--share-desktop-preview>.editor-side{display:none}}.source-preview-page{background:var(--tld-bg)}.source-preview-main{display:grid;grid-template-columns:360px minmax(0,1fr);min-block-size:0;overflow:hidden}.source-preview-side{grid-template-rows:repeat(2,auto)}.source-preview-brand-actions{align-items:center;display:inline-flex;gap:14px;min-inline-size:0}.source-preview-brand-actions .brand{white-space:nowrap}.source-preview-back{flex:0 0 auto}.source-preview-stage{background:#100a05;display:grid;min-block-size:0;overflow:hidden;place-items:center}.source-panorama-viewer{block-size:100%;inline-size:100%;min-block-size:0;position:relative}.panorama-viewer .psv-container,.source-panorama-viewer .psv-container{background:#100a05;cursor:default!important}.panorama-viewer .psv-markers{z-index:2}.panorama-annotation-interaction-layer{inset:0;pointer-events:none;position:absolute;z-index:30}.panorama-annotation-interaction-layer__draft{block-size:100%;inline-size:100%;inset:0;overflow:visible;pointer-events:none;position:absolute}.panorama-annotation-draft-path{fill:none;pointer-events:none;stroke:#facc15;stroke-dasharray:8 6;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.panorama-annotation-draft-path--closing{opacity:.72}.panorama-annotation-draft-node{fill:#fffdfa;pointer-events:none;stroke:#facc15;stroke-width:2}.panorama-annotation-action,.panorama-annotation-edit-button,.panorama-annotation-vertex{align-items:center;border:0;cursor:pointer;display:flex;justify-content:center;pointer-events:auto}.panorama-annotation-edit-button,.panorama-annotation-vertex{position:absolute}.panorama-annotation-vertex{background:#f8ead0;block-size:14px;border:2px solid #3c2a1e;border-radius:50%;box-shadow:0 2px 7px #0f0a0752;inline-size:14px;margin:-7px 0 0 -7px;padding:0;transition:background-color .12s ease,border-color .12s ease,transform .12s ease;z-index:3}.panorama-annotation-vertex.emphasized,.panorama-annotation-vertex:focus-visible,.panorama-annotation-vertex:hover{background:#ff3b5c;border-color:#fff;outline:0;transform:scale(1.14)}.panorama-annotation-insert-vertex{background:#f8ead0;block-size:14px;border:2px solid #3c2a1e;border-radius:50%;box-shadow:0 2px 7px #0f0a0752;cursor:grab;inline-size:14px;margin:-7px 0 0 -7px;padding:0;pointer-events:auto;position:absolute;z-index:4}.panorama-annotation-insert-vertex:focus-visible,.panorama-annotation-insert-vertex:hover{background:#fffdfa;border-color:#e8c98e;outline:2px solid rgba(232,201,142,.78);outline-offset:2px}.panorama-annotation-action-group{background:transparent;border:0;box-shadow:none;display:flex;gap:10px;padding:0;pointer-events:auto;position:absolute;transform:translate(-50%,calc(-100% - 18px));z-index:5}.panorama-annotation-action,.panorama-annotation-edit-button{background:#1d262ac7;block-size:28px;border:1px solid hsla(0,0%,100%,.1);border-radius:4px;box-shadow:0 2px 6px #07090a57;color:#fffaf2;inline-size:34px;padding:0;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.panorama-annotation-action{flex:0 0 34px;position:relative}.panorama-annotation-action svg,.panorama-annotation-edit-button svg{block-size:16px;fill:none;inline-size:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.panorama-annotation-action:hover:not(:disabled),.panorama-annotation-edit-button:hover{background:#1d262af0;border-color:#ffffff3d;box-shadow:0 3px 8px #07090a6b}.panorama-annotation-action:focus-visible,.panorama-annotation-edit-button:focus-visible{background:#1d262af0;border-color:#ffffff3d;outline:1px solid hsla(0,0%,100%,.78);outline-offset:2px}.panorama-annotation-action:disabled{cursor:not-allowed;opacity:.35}.panorama-annotation-edit-button{transform:translate(-50%,calc(-100% - 8px));z-index:4}.source-panorama-draft-error{background:#2d2620d1;border:1px solid rgba(250,204,21,.5);border-radius:8px;color:#fff7ed;font-size:13px;inset-block-end:18px;inset-inline-start:50%;margin:0;max-inline-size:min(360px,calc(100% - 32px));padding:8px 12px;position:absolute;transform:translate(-50%);z-index:7}.panorama-annotation-renderer-layer{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:4}.panorama-annotation-renderer-layer__vectors{block-size:100%;inline-size:100%;inset:0;overflow:visible;pointer-events:none;position:absolute}.panorama-annotation-renderer-arrow{fill:none;pointer-events:none;stroke-linecap:round;stroke-linejoin:round}.panorama-annotation-renderer-arrow.selected{filter:drop-shadow(0 0 3px rgba(250,204,21,.9))}.panorama-annotation-renderer-lead-line{opacity:.92;pointer-events:none;stroke:#fff;stroke-dasharray:6 6;stroke-width:2}.panorama-annotation-renderer-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;block-size:1px;border:0;color:var(--tld-fg);inline-size:1px;overflow:visible;padding:0;pointer-events:auto;position:absolute}.panorama-annotation-renderer-icon,.panorama-annotation-renderer-label{inset-block-start:0;inset-inline-start:0;position:absolute}.panorama-annotation-renderer-icon{display:block;max-inline-size:none;-o-object-fit:contain;object-fit:contain;z-index:2}.panorama-annotation-renderer-label{border-radius:3px;box-sizing:border-box;font-weight:700;inline-size:-moz-max-content;inline-size:max-content;letter-spacing:0;line-height:1.15;margin:0;max-inline-size:min(320px,calc(100vw - 32px));overflow-wrap:anywhere;white-space:normal;z-index:1}.panorama-annotation-renderer-item.selected .panorama-annotation-renderer-icon{filter:drop-shadow(0 0 3px rgba(250,204,21,.95))}.panorama-annotation-renderer-item:focus-visible{outline:2px solid #facc15;outline-offset:5px}.panorama-annotation-shape-marker.is-selected{filter:drop-shadow(0 0 3px rgba(250,204,21,.9))}.share-mobile-tabs{display:none}.share-mobile-top{align-items:center;background:#fefbf8f5;border-bottom:1px solid var(--tld-border);display:flex;min-block-size:64px;padding:10px 18px;position:relative;z-index:4}.share-mobile-top>div{min-inline-size:0}.share-mobile-top strong{font-size:16px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-mobile-remark-box,.share-mobile-remark-toggle{display:none}.editor-properties,.editor-side{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fefbf8e0;min-block-size:0;padding:18px}.editor-side{align-content:start;border-inline-end:1px solid var(--tld-border);display:flex;flex-direction:column;gap:18px;min-block-size:0;overflow:hidden;position:relative;z-index:3}.editor-properties{border-inline-start:1px solid var(--tld-border);box-shadow:-18px 0 42px #1d140d1a;inline-size:350px;inset-block:0;inset-inline-end:0;overflow:auto;position:absolute;z-index:6}.editor-side .editor-group{margin-block-end:0;min-block-size:0}.editor-side .editor-group:first-child:not(:last-child){flex-shrink:0}.editor-side .editor-group:last-child{display:flex;flex:1;flex-direction:column;min-block-size:0;overflow:hidden}.editor-group{margin-block-end:24px}.editor-layer-toggle-enter-active,.editor-layer-toggle-leave-active{overflow:hidden;transition:opacity .2s ease,transform .2s ease,height .25s ease,margin-block-end .25s ease}.editor-layer-toggle-enter-from,.editor-layer-toggle-leave-to{margin-block-end:0;opacity:0;transform:translateY(-8px)}.editor-group-header{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-block-end:12px}.editor-share-panel--annotations .editor-group-header>.project-list-heading{flex:1 1 auto;min-inline-size:0}.editor-share-panel--annotations .project-list-heading h2,.project-annotation-panel .project-list-heading h2{font-size:18px;white-space:nowrap}.project-annotation-panel .project-list-heading{flex:1 1 auto}.project-annotation-panel .project-editor-panel-head-actions{flex:0 0 auto;gap:4px}.editor-share-panel--annotations .editor-copy-to-map-btn,.editor-share-panel--annotations .editor-copy-to-panorama-btn,.editor-share-panel--annotations .editor-kml-import-btn,.project-annotation-panel .editor-copy-to-map-btn,.project-annotation-panel .editor-copy-to-panorama-btn,.project-annotation-panel .editor-kml-import-btn{font-size:11px;min-block-size:26px;padding:2px 5px}.editor-group .editor-group-header h2,.editor-group-header h2{line-height:1;margin:0}.editor-copy-to-map-btn,.editor-copy-to-panorama-btn,.editor-kml-import-btn{background:transparent;border:1px solid var(--tld-border);border-radius:4px;color:var(--tld-fg);cursor:pointer;flex:0 0 auto;font:500 12px/1 var(--tld-font-sans);min-block-size:30px;padding:3px 6px;transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.editor-copy-to-map-btn:hover:not(:disabled),.editor-copy-to-panorama-btn:hover:not(:disabled),.editor-kml-import-btn:hover:not(:disabled){background:#f8eae4;border-color:var(--tld-fg)}.editor-kml-import-btn:disabled{cursor:not-allowed;opacity:.45}.editor-copy-to-map-btn:disabled,.editor-copy-to-panorama-btn:disabled{cursor:not-allowed;opacity:.46}.editor-group h2,.editor-panel h2{font:700 22px/1.1 var(--tld-font-display);margin:0 0 12px}.editor-info-list{display:grid;gap:0;margin:0;padding:0}.editor-info-row{align-items:baseline;border-bottom:1px solid var(--tld-border);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:5px 0}.editor-info-row dt{color:var(--tld-muted);flex:0 0 auto;white-space:nowrap}.editor-info-row dd{margin:0;min-inline-size:0;overflow-wrap:anywhere;text-align:right}.editor-camera-rotation{font-size:12px;white-space:nowrap}.editor-help-text{font-size:12px;line-height:1.6;margin:10px 0 0}.editor-switch-row{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:1px solid var(--tld-border);display:flex;inline-size:100%;justify-content:space-between;min-block-size:42px;padding:0;text-align:start}.editor-layer-label{align-items:center;display:flex;gap:8px;min-inline-size:0}.editor-layer-calibration-button,.editor-layer-toggle-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--tld-fg);display:inline-flex;justify-content:center;padding:0}.editor-layer-calibration-button{block-size:28px;border:0;color:var(--tld-accent);cursor:pointer;font:400 12px/1 var(--tld-font-ui);padding:0 8px}.editor-layer-calibration-button:hover{opacity:.75}.editor-layer-toggle-button{block-size:42px;inline-size:48px}.editor-toggle{background:var(--tld-border);block-size:22px;border:1px solid var(--tld-muted);inline-size:38px;position:relative}.editor-toggle:after{background:var(--tld-surface);block-size:14px;content:"";inline-size:14px;inset-block-start:3px;inset-inline-start:3px;position:absolute;transition:inset-inline-start .14s}.editor-toggle.active{background:var(--tld-fg);border-color:var(--tld-fg)}.editor-toggle.active:after{inset-inline-start:19px}.editor-toggle--compact{block-size:16px;inline-size:28px}.editor-toggle--compact:after{block-size:10px;inline-size:10px;inset-block-start:2px;inset-inline-start:2px}.editor-toggle--compact.active:after{inset-inline-start:14px}.editor-calibration-popover{inset-block-start:168px;inset-inline-start:318px;max-inline-size:calc(100vw - 360px);position:fixed;z-index:45}.editor-calibration-dialog{background:#fffdfaf5;border:1px solid rgba(45,38,32,.18);box-shadow:0 16px 48px #1d140d2e;inline-size:360px;max-inline-size:100%;padding:16px}.editor-calibration-header{align-items:center;display:flex;justify-content:space-between}.editor-calibration-dialog h2{font:700 22px/1.1 var(--tld-font-display);margin:0}.editor-calibration-close{align-items:center;background:none;border:0;border-radius:4px;color:var(--tld-muted);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-inline-start:12px;padding:4px}.editor-calibration-close:hover{background:#2d262014;color:var(--tld-fg)}.editor-calibration-dialog p{color:var(--tld-muted);font-size:12px;line-height:1.55;margin:8px 0 0}.editor-calibration-controls{display:grid;gap:14px;margin-block-start:14px}.editor-calibration-control{display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto}.editor-calibration-control span{color:var(--tld-muted);font-size:12px}.editor-calibration-control strong{color:var(--tld-fg);font-family:var(--tld-font-mono);font-size:12px;font-weight:700}.editor-calibration-control .n-slider{grid-column:1/-1;margin-block:2px 0}.editor-tabs,.editor-tools{display:grid;gap:8px}.editor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-block-end:14px}.editor-tabs button,.editor-tools button{background:var(--tld-surface);border:1px solid var(--tld-border);min-block-size:36px;padding:0 10px}.editor-tabs button.active,.editor-tools button.active{background:#f8eae4;border-color:var(--tld-fg)}.editor-tools button.danger{border-color:#c44132;color:var(--tld-danger)}.editor-annotation-list{flex:1;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.editor-annotation-list__inner{position:relative}.editor-annotation-item{background:var(--tld-surface);border:1px solid var(--tld-border);inline-size:100%;margin-block-end:6px;min-block-size:44px;position:relative}.editor-annotation-item.active{background:#faede8;border-color:var(--tld-fg)}.editor-annotation-select{align-items:center;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);inline-size:100%;min-block-size:42px;padding:6px 28px 6px 8px;text-align:start}.editor-annotation-delete,.editor-annotation-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0}.editor-annotation-delete{block-size:30px;inline-size:30px;inset-block-start:0;inset-inline-end:0;overflow:hidden;padding:0;position:absolute}.editor-annotation-delete:before{background:#f2e0dc;block-size:100%;clip-path:polygon(0 0,100% 0,100% 100%);content:"";display:block;inline-size:100%}.editor-annotation-delete:after{color:var(--tld-danger);content:"×";font:700 15px/1 var(--tld-font-body);inset-block-start:2px;inset-inline-end:4px;position:absolute}.editor-annotation-delete:hover:before{background:#edd2ce}.editor-annotation-copy{min-inline-size:0}.editor-annotation-copy strong{display:block;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-annotation-copy small{color:var(--tld-muted);display:block;font:11px/1.45 var(--tld-font-mono);overflow-wrap:anywhere}.editor-empty-text,.editor-error-text{border:1px dashed var(--tld-border);color:var(--tld-muted);font-size:12px;line-height:1.6;margin:0;padding:10px}.editor-error-text{border-color:#c28279;color:var(--tld-danger);margin-block-start:8px}.editor-loading-text{color:var(--tld-muted);font-size:12px;line-height:1.6;margin:0;padding:8px 10px}.editor-symbol{align-items:center;block-size:22px;border:1px solid var(--tld-fg);color:var(--tld-fg);display:grid;font:11px/1 var(--tld-font-mono);inline-size:22px;justify-items:center}.editor-symbol.point{background:#f5dfd8;border-radius:999px}.editor-symbol.line{background:var(--tld-fg);block-size:4px;border:0}.editor-symbol.area{background:#f5dfd8;clip-path:polygon(14% 18%,80% 8%,94% 48%,72% 88%,18% 75%)}.editor-map{background:linear-gradient(118deg,rgba(195,215,195,.36) 0 9%,transparent 9% 100%),linear-gradient(35deg,transparent 0 36%,rgba(173,163,151,.18) 36% 39%,transparent 39% 100%),repeating-linear-gradient(0deg,rgba(168,164,152,.2) 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,rgba(168,164,152,.2) 0 1px,transparent 1px 56px),#e3e1d9;min-block-size:0;overflow:hidden;position:relative}.editor-map-tools{inset-block-start:18px;inset-inline-start:auto;left:50%;max-inline-size:min(340px,calc(100% - 36px));transform:translate(-50%);z-index:8}.editor-map-actions{align-items:center;display:flex;gap:8px;inset-block-start:18px;inset-inline-end:18px;position:absolute;z-index:5}.editor-map-fullscreen,.editor-map-home{background:#080b0dad;border:1px solid hsla(0,0%,100%,.22);border-radius:6px;inline-size:32px;min-block-size:32px;padding:0}.editor-map-fullscreen,.editor-map-home,.editor-view-entry{align-items:center;block-size:32px;color:#fff;display:inline-flex;justify-content:center}.editor-view-entry{background:var(--tld-accent);border:1px solid var(--tld-accent);border-radius:6px;font-size:13px;font-weight:700;min-inline-size:76px;padding-inline:12px}.editor-view-entry:hover{background:#ad4028;border-color:#ad4028}.editor-view-entry:active{transform:scale(.95)}.editor-map-fullscreen svg,.editor-map-home svg{block-size:16px;fill:none;inline-size:16px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.editor-map-fullscreen:hover{background:#181c20d9;border-color:#fff6}.editor-import-export-tool{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fefbf8f0;border:1px solid var(--tld-border);display:flex;gap:6px;inset-block-start:18px;inset-inline-start:220px;padding:8px;position:absolute;z-index:5}.editor-import-dropdown{position:relative}.editor-import-export-tool>.editor-import-dropdown>button,.editor-import-export-tool>button{align-items:center;background:var(--tld-surface);block-size:40px;border:1px solid var(--tld-border);color:var(--tld-fg);cursor:pointer;display:grid;inline-size:40px;justify-items:center;padding:0}.editor-import-export-tool>.editor-import-dropdown>button:hover,.editor-import-export-tool>button:hover{background:#f8eae4;border-color:var(--tld-fg)}.editor-import-export-tool svg{block-size:22px;fill:currentColor;inline-size:22px;stroke:none}.editor-import-menu{background:var(--tld-surface);border:1px solid var(--tld-border);box-shadow:0 8px 24px #1d140d24;inset-block-start:calc(100% + 4px);inset-inline-start:0;min-inline-size:160px;padding:4px;position:absolute;white-space:nowrap;z-index:10}.editor-import-menu-item{background:transparent;block-size:36px;border:none;color:var(--tld-fg);cursor:pointer;display:block;font-size:14px;inline-size:100%;padding:0 12px;text-align:start}.editor-import-menu-item:hover{background:#f8eae499}.editor-import-drop-enter-active,.editor-import-drop-leave-active{transition:opacity .15s ease,transform .15s ease}.editor-import-drop-enter-from,.editor-import-drop-leave-to{opacity:0;transform:translateY(-4px)}.editor-view-mode-switch{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fefbf8f0;border:1px solid var(--tld-border);display:flex;gap:6px;left:330px;padding:8px;position:absolute;top:18px;z-index:5}.editor-view-mode-disabled,.editor-view-mode-switch button{align-items:center;background:var(--tld-surface);block-size:40px;border:1px solid var(--tld-border);color:var(--tld-muted);display:grid;font-weight:700;inline-size:40px;justify-items:center;line-height:1;padding:0}.editor-view-mode-disabled{cursor:not-allowed;opacity:.48}.editor-view-mode-switch button.active{background:#f8eae4;border-color:var(--tld-fg);color:var(--tld-fg)}.editor-view-mode-switch svg{block-size:22px;fill:none;inline-size:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.editor-remark-panel{background:#fefbf8f5;border:1px solid rgba(45,38,32,.18);box-shadow:0 18px 46px #1d140d2e;color:var(--tld-fg);display:grid;gap:10px;inline-size:min(380px,calc(100% - 36px));inset-block-start:86px;inset-inline-start:18px;padding:14px;position:absolute;z-index:6}.editor-remark-header{align-items:center;display:flex;justify-content:space-between}.editor-remark-header strong{font:700 15px/1.2 var(--tld-font-display)}.editor-remark-close{align-items:center;background:transparent;block-size:28px;border:0;color:var(--tld-muted);display:grid;font-size:20px;inline-size:28px;justify-items:center;line-height:1;padding:0}.editor-remark-close:hover{color:var(--tld-fg)}.editor-remark-textarea{background:#fffdfa;border:1px solid var(--tld-border);color:var(--tld-fg);font:14px/1.6 var(--tld-font-body);min-block-size:128px;outline:none;padding:10px 11px;resize:vertical}.editor-remark-textarea:focus{border-color:var(--tld-accent);box-shadow:0 0 0 2px #c64e3129}.editor-remark-footer{align-items:center;display:flex;justify-content:space-between}.editor-remark-footer>span{color:var(--tld-muted);font-size:12px}.editor-remark-footer>div{display:flex;gap:8px}.editor-map__canvas{block-size:100%;inline-size:100%;min-block-size:0}.editor-map__gif-overlay{block-size:100%;inline-size:100%;inset:0;pointer-events:none;position:absolute;z-index:2}.editor-map .ol-rotate{inset:auto auto 16px 16px}.editor-panorama-stage{block-size:100%;inline-size:100%;min-block-size:0}.editor-map .ol-layer canvas,.editor-map .ol-viewport{outline:none}.editor-map__notice{background:#fefbf8eb;border:1px solid var(--tld-border);inset-block-start:16px;inset-inline-start:66px;margin:0}.editor-map-status,.editor-map__notice{padding:8px 10px;position:absolute;z-index:2}.editor-map-status{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fefbf8f0;border:1px solid hsla(0,0%,100%,.66);box-shadow:0 8px 24px #1d140d38;color:var(--tld-fg);display:flex;flex-wrap:wrap;font:12px/1.15 var(--tld-font-mono);gap:10px;inset-block-end:18px;inset-inline-start:18px;max-inline-size:min(560px,calc(100% - 36px));white-space:nowrap}.editor-map-status__coord{font-weight:700}.editor-map-status__level{background:var(--tld-fg);color:var(--tld-surface);font-weight:700;padding:4px 6px}.editor-panel{display:grid;gap:14px}.editor-title-input{background:transparent;border:0;border-bottom:1px solid var(--tld-border);color:var(--tld-fg);font:700 22px/1.1 var(--tld-font-display);min-inline-size:0;outline:none;padding:2px 0 6px;width:100%}.editor-title-input:focus{border-color:var(--tld-accent)}.editor-point-title-edit{background:var(--tld-surface);border:1px solid var(--tld-accent);border-radius:4px;box-shadow:0 0 0 2px #c64e311f;flex:1 1 auto;min-inline-size:0;position:relative}.editor-point-title-edit:focus-within{box-shadow:0 0 0 3px #c64e3147}.editor-point-title-edit .editor-title-input{border:0;padding:8px 42px 8px 34px;padding-inline-end:42px}.editor-point-title-icon{align-items:center;block-size:30px;color:var(--tld-muted);display:grid;inline-size:30px;inset-block-start:50%;inset-inline-end:6px;justify-items:center;pointer-events:none;position:absolute;transform:translateY(-50%)}.editor-point-title-icon svg{block-size:17px;fill:none;inline-size:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.editor-point-title-prefix{align-items:center;block-size:30px;color:var(--tld-muted);display:grid;inset-block-start:50%;inset-inline-start:8px;justify-items:center;pointer-events:none;position:absolute;transform:translateY(-50%)}.editor-point-title-prefix svg{block-size:16px;inline-size:16px}.editor-property-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-block-end:14px}.editor-property-header .editor-selection-caption,.editor-property-header .editor-title-input{flex:1 1 auto}.editor-selection-caption{color:var(--tld-muted);margin-block-end:14px}.editor-property-header .editor-selection-caption{margin-block-end:0}.editor-property-close{align-items:center;background:var(--tld-surface);block-size:34px;border:1px solid var(--tld-border);color:var(--tld-muted);display:grid;flex:0 0 auto;inline-size:34px;justify-items:center;padding:0}.editor-property-close:hover{color:var(--tld-fg)}.editor-property-close svg{block-size:18px;fill:none;inline-size:18px;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.editor-field{align-items:center;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr)}.editor-field span{font-size:13px;white-space:nowrap}.editor-input{background:var(--tld-surface);border:1px solid var(--tld-border);min-block-size:42px;outline:none;padding:0 12px;width:100%}.editor-input:focus{outline:2px solid rgba(198,78,49,.35);outline-offset:2px}.editor-coordinate-text{align-items:baseline;color:var(--tld-muted);display:flex;font-size:13px;gap:10px;line-height:1.4;margin:0;min-inline-size:0;white-space:nowrap}.editor-coordinate-text .mono{overflow:hidden;text-overflow:ellipsis}.editor-line-measure-block{background:#fbf7f1;border:1px solid var(--tld-border);display:flex;flex-direction:column;gap:8px;padding:8px 10px}.editor-line-measure-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-block-size:30px}.editor-line-measure-row>span{color:var(--tld-muted);font-size:12px}.editor-line-measure-row>strong{color:var(--tld-fg);font-size:14px}.editor-line-unit-select{inline-size:96px;margin-inline-start:auto;min-block-size:30px;padding-inline:8px}.editor-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-block-start:4px}.editor-point-icons{gap:10px}.editor-point-style-group{background:#fefbf8c7;border:1px solid hsla(37,17%,85%,.86);border-radius:6px;box-shadow:none;display:grid;gap:10px;padding:12px}.editor-point-style-group>strong{color:var(--tld-fg);display:block;font-size:13px;font-weight:700;line-height:1.2;padding:0 0 2px}.editor-module-header{align-items:center;display:flex;gap:10px;justify-content:space-between;min-block-size:20px}.editor-module-header>strong{color:var(--tld-fg);display:block;font-size:13px;font-weight:700;line-height:1.2;padding:0 0 2px}.editor-module-toggle{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--tld-muted);display:inline-flex;flex:0 0 auto;font-size:12px;gap:6px;min-block-size:22px;padding:0;white-space:nowrap}.editor-module-toggle:hover{color:var(--tld-fg)}.editor-point-style-group .editor-input{min-block-size:38px}.editor-point-style-group .editor-control-grid{border-block-start:1px solid hsla(37,17%,85%,.78);padding-block-start:10px}.editor-point-style-group--text .editor-control-grid{border-block-start:0;padding-block-start:0}.editor-point-icon-search-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}.editor-icon-search-input{min-block-size:34px}.editor-point-icon-option img{block-size:26px;flex:0 0 auto;inline-size:26px;-o-object-fit:contain;object-fit:contain}.editor-icon-categories{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-block-end:2px;scrollbar-width:thin}.editor-icon-category{background:var(--tld-surface);border:1px solid var(--tld-border);color:var(--tld-muted);flex:0 0 auto;font-size:12px;min-block-size:30px;padding:0 10px}.editor-icon-category:hover{border-color:var(--tld-fg);color:var(--tld-fg)}.editor-icon-category.active{background:#f8eae4;border-color:var(--tld-accent);color:var(--tld-fg)}.editor-point-icon-list{background:#fbf7f2;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));max-block-size:196px;min-block-size:0;overflow-y:auto;overscroll-behavior:contain;padding:8px;padding-inline-end:6px}.editor-point-icon-list,.editor-point-icon-option{border:1px solid var(--tld-border);border-radius:4px;display:grid}.editor-point-icon-option{align-items:center;background:var(--tld-surface);inline-size:100%;justify-items:center;min-block-size:36px;padding:4px;text-align:center}.editor-point-icon-option:hover{border-color:var(--tld-fg)}.editor-point-icon-option.active{background:#f9ebe6;border-color:var(--tld-accent)}.editor-control-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panorama-annotation-style-panel{display:grid;gap:14px;min-inline-size:0}.panorama-annotation-style-panel .editor-field,.panorama-annotation-style-panel .editor-point-style-group,.panorama-annotation-style-panel>*{min-inline-size:0}.panorama-annotation-style-panel .editor-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panorama-annotation-style-panel .editor-point-icon-list{grid-template-columns:repeat(auto-fit,minmax(36px,1fr));max-block-size:196px}.editor-line-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-segmented{display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr))}.editor-segmented button{background:var(--tld-surface);border:1px solid var(--tld-border);color:var(--tld-muted);min-block-size:30px;padding:0 6px}.editor-segmented button+button{margin-inline-start:-1px}.editor-segmented button.active{background:#f8eae4;border-color:var(--tld-accent);color:var(--tld-fg);position:relative}.editor-segmented--compact button{font-size:12px;min-block-size:28px}.size-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) max-content}.size-row,.size-row .n-slider,.size-slider{min-inline-size:0}.size-slider{height:6px;inline-size:100%}.size-value{color:var(--tld-muted);font:12px/1 var(--tld-font-mono);min-inline-size:0;text-align:end;white-space:nowrap}.field-divider{border-block-start:1px solid var(--tld-border);margin-block:4px 0}.editor-input--compact{min-block-size:28px;padding-inline:8px}.editor-text-background-controls{border-block-start:1px solid hsla(37,17%,85%,.78);display:grid;gap:10px;padding-block-start:10px}.editor-color-field .editor-color-picker{inline-size:150px;justify-self:start;max-inline-size:150px;min-inline-size:0}.editor-control-grid .editor-color-field .editor-color-picker{inline-size:100%;justify-self:stretch;max-inline-size:100%}.editor-color-picker{display:flex;inline-size:100%;max-inline-size:100%;min-inline-size:0}.editor-color-picker .n-color-picker{block-size:28px;inline-size:100%;max-inline-size:100%;min-inline-size:0}.editor-color-picker .n-color-picker__fill{inset:3px}.editor-color-picker .n-color-picker__value{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-modal{background:#1d140d57;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:50}.editor-share-qr-panel{align-items:center;background:var(--tld-bg);border:1px solid var(--tld-border);display:grid;gap:10px;justify-items:center;margin-block-start:12px;padding:14px}.editor-share-qr{aspect-ratio:1;background:var(--tld-surface);border:1px solid var(--tld-border);display:block;inline-size:184px;max-inline-size:100%;padding:8px}.editor-toast{background:var(--tld-surface);border:1px solid var(--tld-fg);inset-block-end:24px;inset-inline-start:50%;opacity:0;padding:10px 14px;pointer-events:none;position:fixed;transform:translate(-50%) translateY(20px);transition:opacity .18s,transform .18s;z-index:60}.editor-toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:1240px){.image-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-workbench{padding:10px}.style-token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.page.admin-page,.page.image-page--map-view{max-inline-size:100%;padding:0}.admin-metrics{padding:5px 10px 0}.admin-workbench{box-shadow:none;padding:0}.admin-panel{gap:0}.admin-workbench .n-tabs-nav{padding-inline:10px}.admin-tabs-pane{padding:0!important}.admin-filters{display:grid!important;gap:4px 6px;grid-template-columns:1fr 130px;padding:8px 10px}.admin-filters .n-form-item,.admin-filters .n-form-item:first-child{display:block;margin-bottom:0;min-inline-size:0;width:100%}.admin-filters .n-form-item:first-child{grid-column:1;grid-row:1}.admin-filters .n-form-item:nth-child(2){grid-column:2;grid-row:1}.admin-filters .n-form-item:nth-child(3):not(:last-child){grid-column:1;grid-row:2}.admin-filters .n-form-item:last-child{grid-column:2;grid-row:2;justify-self:end}.admin-filter-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px}.admin-filter-actions .n-button{flex:0 0 auto}.admin-page .n-button{font-size:12px;height:24px;padding:0 7px}.admin-page .n-button .n-icon{font-size:14px}.admin-pagination{padding:4px 10px}.auth-page{grid-template-columns:1fr}.brand-panel{border-bottom:1px solid var(--tld-border);border-inline-end:0;gap:36px;min-block-size:58vh;padding:34px 24px}.hero h1{font-size:52px}.form-wrap{padding:24px}.auth-code-row{grid-template-columns:1fr}.auth-code-button{inline-size:100%}.login-card--compact .auth-code-row .auth-code-button{inline-size:auto}.app-top,.page{padding-inline:20px}.page-head,.page-heading{align-items:flex-start;flex-direction:column}.page-heading{gap:6px}.page-desc{margin-block-end:0}.style-section__head{align-items:flex-start;flex-direction:column}.head-actions{justify-content:flex-end}.app-shell--map-view{block-size:100dvh;flex-direction:column}.app-shell--map-view,.image-page--map-view{display:flex;min-block-size:0;overflow:hidden}.image-page--map-view{flex:1 1 auto;flex-direction:column;inline-size:100%;max-inline-size:100%;padding:0}.image-page--map-view .page-head{flex:0 0 auto;margin-block-end:0;padding:16px 20px 12px}.image-page--map-view .page-error,.image-page--map-view .upload-blocking-alert{flex:0 0 auto;margin:0 20px 8px}.image-page--map-view .image-map-browser{block-size:100%;border-bottom:0;border-inline:0;border-radius:0;flex:1 1 auto;min-block-size:0}.card-grid{grid-template-columns:1fr}.image-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-top,.editor-workspace,.profile-grid,.style-preview,.style-token-grid,.upload-grid,.upload-meta,.upload-step{grid-template-columns:1fr}.editor-shell,.editor-workspace{block-size:auto;overflow:visible}.editor-shell--edit{block-size:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);min-block-size:100dvh;overflow:hidden}.editor-top{align-items:stretch;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));min-block-size:auto;padding:10px 12px}.editor-shell--share .editor-top--readonly{display:none}.editor-top .editor-title{grid-column:1/-1;grid-row:2;min-inline-size:0}.editor-shell--edit .editor-top .editor-title-meta{display:none}.editor-shell--edit .editor-top .editor-name-action,.editor-shell--edit .editor-top .editor-name-edit{flex:1 1 auto;max-inline-size:100%}.editor-back-link,.editor-save-action,.editor-share-action{font-size:13px;min-block-size:30px;padding-inline:8px}.editor-back-link{grid-column:1;grid-row:1}.editor-save-action{grid-column:2;grid-row:1}.editor-share-action{grid-column:3;grid-row:1}.editor-name-action{padding-block:0}.editor-name-text,.editor-title strong{font-size:16px;line-height:1.25}.editor-title-meta{flex-wrap:nowrap;font-size:12px;gap:0;line-height:1.45;min-inline-size:0;overflow:hidden;white-space:nowrap}.editor-title-meta span{flex:0 1 auto;min-inline-size:0}.editor-title-meta span+span:before{color:var(--tld-muted);content:"·";display:inline-block;padding-inline:6px}.editor-remark-toggle:before{color:var(--tld-muted);content:"·";display:inline-block;padding-inline:6px 0}.editor-save-status,.editor-title-center--desktop{display:none}.editor-title-center--mobile{display:inline}.editor-shell--edit .editor-workspace{--share-mobile-tabs-height:44px;block-size:100%;grid-template-rows:minmax(0,1fr);min-block-size:0;overflow:hidden;position:relative}.public-share-page{block-size:100dvh;color:var(--share-h5-fg)}.public-share-page .editor-shell{block-size:100%;min-block-size:0;overflow:hidden}.editor-workspace--share{--share-mobile-tabs-height:44px;background:var(--share-h5-bg);block-size:100vh;color:var(--share-h5-fg);grid-template-rows:minmax(0,1fr);inline-size:100vw;min-block-size:0;overflow:hidden;position:relative}.editor-properties,.editor-side{border:0;border-bottom:1px solid var(--tld-border)}.editor-properties{box-shadow:none;inline-size:auto;inset:auto;position:static}.editor-side{display:block;overflow:visible}.editor-annotation-list{max-block-size:min(420px,60vh)}.editor-map,.editor-map__canvas{min-block-size:680px}.editor-workspace--share .share-mobile-top{align-items:center;background:var(--share-h5-panel);border-bottom:1px solid var(--share-h5-border);box-shadow:0 10px 30px #00000047;color:var(--share-h5-fg);display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;inset-block-start:0;inset-inline:0;min-block-size:44px;order:1;padding:10px 14px;position:absolute;z-index:4}.editor-workspace--share .share-mobile-top>div{align-items:center;display:flex;gap:10px;min-inline-size:0;overflow:hidden}.share-mobile-top strong{flex:0 1 auto;font-size:15px;line-height:1.3;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-mobile-top .editor-title-meta{flex:0 0 auto;font-size:12px;min-inline-size:-moz-max-content;min-inline-size:max-content}.share-mobile-remark-toggle,.share-mobile-top .editor-title-meta{color:var(--share-h5-muted);display:inline-flex;white-space:nowrap}.share-mobile-remark-toggle{align-items:center;align-self:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;font:inherit;font-size:13px;justify-self:end;line-height:1;min-block-size:28px;padding:0 2px;text-shadow:none}.share-mobile-remark-toggle.active{color:var(--share-h5-fg)}.editor-workspace--share .editor-view-mode-switch{background:var(--share-h5-panel);border:1px solid var(--share-h5-border);box-shadow:0 8px 24px #00000038;gap:4px;inline-size:-moz-max-content;inline-size:max-content;inset-block-start:56px;inset-inline-end:auto;inset-inline-start:14px;padding:3px}.editor-workspace--share .editor-view-mode-switch button{background:var(--share-h5-panel);block-size:30px;border-color:var(--share-h5-border);color:var(--share-h5-muted);inline-size:30px}.editor-workspace--share .editor-view-mode-switch button.active{background:var(--share-h5-active);border-color:var(--share-h5-active-border);color:var(--share-h5-fg)}.editor-workspace--share .editor-view-mode-switch svg{block-size:18px;inline-size:18px}.editor-workspace--share .share-mobile-remark-box{background:var(--share-h5-panel);border:1px solid hsla(0,0%,100%,.14);box-shadow:0 8px 24px #00000038;color:var(--share-h5-fg);display:block;font-size:12px;inline-size:-moz-max-content;inline-size:max-content;inset-block-start:98px;inset-inline-start:14px;line-height:1.55;max-inline-size:calc(33.33333vw - 9.33333px);overflow-wrap:anywhere;padding:8px 10px;position:absolute;z-index:5}.editor-workspace--share .editor-map{block-size:100vh;inline-size:100vw;min-block-size:0;order:1}.editor-workspace--share .editor-map .ol-zoom{display:none}.editor-workspace--share .editor-map__canvas{block-size:100vh;inline-size:100vw;min-block-size:0}.editor-workspace--share .editor-panorama-stage{block-size:100vh;inline-size:100vw}.editor-workspace--share .editor-map-status{display:none}.editor-workspace--share .editor-map-actions{display:flex;inset-block:55px auto;inset-inline:auto 12px}.editor-workspace--share .editor-side{align-content:start;background:var(--share-h5-panel-strong);border:0;border-top:1px solid var(--share-h5-border);box-shadow:0 -18px 36px #0000004d;color:var(--share-h5-fg);display:grid;gap:0;inset-block-end:var(--share-mobile-tabs-height);inset-inline:0;max-block-size:min(32dvh,260px);order:3;overflow:hidden;padding:0;position:absolute;z-index:4}.editor-workspace--share.editor-workspace--share-panel-closed .editor-side{display:none}.editor-workspace--share .editor-share-panel{display:none;margin:0;min-block-size:0;padding:8px 0}.editor-workspace--share .editor-share-panel.active{display:grid;gap:0}.editor-workspace--share .editor-group h2{font-size:16px;margin-block-end:8px}.editor-workspace--share .editor-info-row{font-size:12px}.editor-workspace--share .editor-share-panel--info .editor-info-row{border-bottom:0}.editor-workspace--share .editor-annotation-list{max-block-size:none;min-block-size:0}.editor-workspace--share .editor-share-panel--annotations h2,.editor-workspace--share .editor-share-panel--layers h2{display:none}.editor-workspace--share .editor-share-panel--layers.active{gap:0}.editor-workspace--share .editor-share-panel--layers .editor-switch-row{border-bottom:1px solid var(--share-h5-border);color:var(--share-h5-fg);font-size:13px;min-block-size:36px;padding:0 12px}.editor-workspace--share .editor-share-panel--layers .editor-switch-row:last-child{border-bottom:0}.editor-workspace--share .editor-toggle{background:#ffffff24;block-size:16px;border-color:#efe6d247;flex:0 0 auto;inline-size:28px}.editor-workspace--share .editor-toggle:after{background:#f7efe3e0;block-size:10px;inline-size:10px;inset-block-start:2px;inset-inline-start:2px}.editor-workspace--share .editor-toggle.active:after{inset-inline-start:14px}.editor-workspace--share .editor-toggle.active{background:#c64e31;border-color:#f5b6718f}.editor-workspace--share .editor-share-panel--annotations.active{gap:0;min-block-size:0;overflow:hidden}.editor-workspace--share .editor-share-panel--annotations{padding:0}.editor-workspace--share .editor-share-panel--annotations .editor-annotation-list{margin-block-start:0;max-block-size:none;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.editor-workspace--share .editor-annotation-item{background:transparent;border:0;border-bottom:1px solid var(--share-h5-border);margin-block-end:0;min-block-size:36px}.editor-workspace--share .editor-annotation-item.active{background:var(--share-h5-active)}.editor-workspace--share .editor-annotation-item+.editor-annotation-item{margin-block-start:0}.editor-workspace--share .editor-annotation-item:last-child{border-bottom:0}.editor-workspace--share .editor-annotation-select{gap:8px;grid-template-columns:20px minmax(0,1fr);min-block-size:36px;padding:0 12px}.editor-workspace--share .editor-symbol{block-size:18px;border-color:#f7efe3bd;color:var(--share-h5-fg);font-size:11px;inline-size:18px}.editor-workspace--share .editor-symbol.area,.editor-workspace--share .editor-symbol.point{background:#c64e313d}.editor-workspace--share .editor-symbol.line{background:var(--share-h5-fg);block-size:3px;margin-block-start:7px}.editor-workspace--share .editor-annotation-copy{gap:0}.editor-workspace--share .editor-annotation-copy strong{font-size:13px;font-weight:400}.editor-workspace--share .editor-annotation-copy small{color:var(--share-h5-muted);font-size:11px}.editor-workspace--edit .editor-map{min-block-size:0;order:1}.editor-workspace--edit .editor-map__canvas{min-block-size:0}.editor-workspace--edit .editor-map-tools{flex-direction:column;inset-block-start:12px;inset-inline-start:12px;max-inline-size:48px}.editor-workspace--edit .editor-map-tools .annotation-tool{inline-size:38px}.editor-workspace--edit .editor-map-actions{inset-block-start:12px;inset-inline-end:12px;inset-inline-start:auto}.editor-workspace--edit .editor-view-mode-switch{inset-block-start:12px;inset-inline-end:auto;inset-inline-start:74px;max-inline-size:calc(100% - 86px)}.editor-workspace--edit .editor-import-export-tool{inset-block-start:212px;inset-inline-start:12px;max-inline-size:88px}.editor-workspace--edit .editor-import-menu{inset-block-start:0;inset-inline-start:calc(100% + 4px)}.editor-workspace--edit .editor-remark-panel{inline-size:min(340px,calc(100% - 24px));inset-block-start:72px;inset-inline-start:12px}.editor-workspace--edit .editor-view-mode-switch button{block-size:40px;inline-size:40px}.editor-workspace--edit .editor-map-status{inset-block-end:calc(var(--share-mobile-tabs-height) + 12px);inset-inline-start:12px;max-inline-size:calc(100% - 24px)}.editor-workspace--edit .editor-side{align-content:start;background:#fefbf8f5;border:0;border-top:1px solid var(--tld-border);box-shadow:0 -18px 38px #1d140d14;display:grid;gap:0;inset-block-end:var(--share-mobile-tabs-height);inset-inline:0;max-block-size:min(32dvh,260px);order:2;overflow:hidden;padding:0;position:absolute;z-index:4}.editor-workspace--edit.editor-workspace--share-panel-closed .editor-side{display:none}.editor-workspace--edit .editor-share-panel{display:none;margin:0;min-block-size:0;padding:14px}.editor-workspace--edit .editor-share-panel.active{display:grid;gap:12px}.editor-workspace--edit .editor-share-panel--annotations h2,.editor-workspace--edit .editor-share-panel--layers h2{display:none}.editor-workspace--edit .editor-share-panel--layers.active{gap:6px}.editor-workspace--edit .editor-share-panel--layers .editor-switch-row{border-bottom:0;min-block-size:38px;padding:0 10px}.editor-workspace--edit .editor-share-panel--annotations{padding:0}.editor-workspace--edit .editor-share-panel--annotations.active{gap:0;min-block-size:0;overflow:hidden}.editor-workspace--edit .editor-share-panel--annotations .editor-annotation-list{margin-block-start:0;max-block-size:none;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.editor-workspace--edit .editor-annotation-item{border:0;margin-block-end:0;min-block-size:30px}.editor-workspace--edit .editor-annotation-item+.editor-annotation-item{margin-block-start:0}.editor-workspace--edit .editor-annotation-select{gap:4px;grid-template-columns:18px minmax(0,1fr);min-block-size:30px;padding:0 34px 0 7px}.editor-workspace--edit .editor-annotation-delete{block-size:30px;inline-size:30px}.editor-workspace--edit .editor-symbol{block-size:18px;font-size:11px;inline-size:18px}.editor-workspace--edit .editor-symbol.line{block-size:3px;margin-block-start:7px}.editor-workspace--edit .editor-annotation-copy{gap:0}.editor-workspace--edit .editor-annotation-copy strong{font-size:12px}.editor-workspace--edit .share-mobile-tabs{background:#fefbf8fa;block-size:var(--share-mobile-tabs-height);border-top:1px solid var(--tld-border);display:grid;grid-template-columns:minmax(0,1fr);inset-block-end:0;inset-inline:0;min-block-size:var(--share-mobile-tabs-height);order:3;position:absolute;z-index:5}.editor-workspace--edit .editor-properties{background:#fefbf8fa;border:0;border-top:1px solid var(--tld-border);box-shadow:0 -18px 42px #1d140d24;inline-size:auto;inset-block:auto var(--share-mobile-tabs-height);inset-inline:0;max-block-size:min(46dvh,360px);overflow-y:auto;padding:12px 14px 16px;position:absolute;z-index:7}.editor-workspace--edit .editor-property-header{margin-block-end:10px}.share-mobile-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-inline-end:1px solid var(--tld-border);color:var(--tld-muted);font-weight:700;min-block-size:44px;padding:0 8px;position:relative;touch-action:manipulation;z-index:1}.share-mobile-tabs button:last-child{border-inline-end:0}.share-mobile-tabs button.active{background:#f8eae4;color:var(--tld-fg)}}@media(max-width:560px){.auth-page--login{align-content:start;background-color:var(--tld-bg);background-image:linear-gradient(90deg,#fefbf8f5,#fefbf8b8 58%,#fefbf838),linear-gradient(180deg,#fefbf8c7,#fefbf83d 46%,#fefbf8f2),url(../images/auth-orthophoto-bg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-rows:auto auto auto;min-block-size:100svh;padding:0;position:relative}.auth-page--login:before{background:linear-gradient(90deg,#fefbf8f5,#fefbf8b8 58%,#fefbf838),linear-gradient(180deg,#fefbf8c7,#fefbf83d 46%,#fefbf8f2);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.auth-page--login .brand-panel{background:transparent;border:0;display:grid;grid-template-rows:auto 1fr;min-block-size:22vh;padding:22px 20px 0}.auth-page--login .form-wrap,.auth-page--login .hero,.auth-page--login .mark{position:relative;z-index:1}.auth-page--login .mark{padding:0}.auth-page--login .brand-wordmark{font-size:28px}.auth-page--login .hero{align-self:start;justify-content:end;margin-block-start:0;max-inline-size:330px;padding:0}.auth-page--login .kicker{margin-block-end:8px}.auth-page--login .hero h1{font-size:24px;line-height:1.15;max-inline-size:100%}.auth-page--login .hero p,.auth-page--login .hero-features{display:none}.auth-page--login .form-wrap{background:transparent;border-block-start:0;padding:16px 20px 40px;place-items:stretch}.auth-page--login .login-card--compact{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffdfadb;border:1px solid hsla(0,0%,100%,.6);border-radius:20px;box-shadow:0 16px 36px #1d140d14;inline-size:100%;padding:28px 20px 36px}.app-top{align-items:center;flex-direction:row;gap:8px;padding:10px 16px}.app-nav{display:none}.app-nav-hamburger{align-items:center;background:var(--tld-surface);border:1px solid var(--tld-border);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:38px;justify-content:center;margin-inline-start:auto;padding:0;transition:border-color .15s,background .15s;width:38px}.app-nav-hamburger:hover{border-color:var(--tld-fg)}.app-nav-hamburger .hamburger-bar{background:var(--tld-fg);border-radius:2px;display:block;height:2px;transition:transform .2s,opacity .2s;width:18px}.page{padding-block:16px 32px}.page.admin-page,.page.image-page--map-view{padding:0}.admin-pagination,.image-pagination{flex-wrap:nowrap;gap:4px;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}.admin-pagination::-webkit-scrollbar,.image-pagination::-webkit-scrollbar{display:none}.admin-pagination-total,.image-pagination-total{flex-shrink:0;font-size:12px}.n-pagination{flex-shrink:1;flex-wrap:nowrap;min-inline-size:0}.n-pagination .n-pagination-item{font-size:12px;min-inline-size:26px;padding:0 4px}.n-pagination .n-pagination-size-picker .n-base-selection{--n-size:26px!important}.page-head{align-items:stretch;gap:8px;margin-block-end:12px}.page-heading{align-items:flex-start;flex-direction:column;gap:2px}.page-title{font:700 20px/1.2 var(--tld-font-display)}.page-desc{font-size:12px;line-height:1.5;margin:0}.head-actions{align-items:center;inline-size:100%;justify-content:flex-end}.image-view-switch{flex:0 0 auto}.image-view-switch button{block-size:38px;inline-size:38px}.image-page--map-view .page-head{margin-block-end:0;padding:16px 20px 12px}.image-page--map-view .page-error,.image-page--map-view .upload-blocking-alert{margin:0 20px 12px}.image-map-browser__summary{inset-block-start:10px;inset-inline-end:10px}.image-map-browser__legend{gap:6px;inset-block-end:10px;inset-inline:10px}.admin-metric .admin-metric__value{font-size:16px}.admin-workbench{margin-inline:0;padding:0}.hero h1{font-size:42px}.card-grid:not(.image-card-grid) .card-row{flex-direction:column}.image-card-grid{grid-template-columns:1fr}.image-card-grid .image-card{border-radius:8px;box-shadow:0 2px 6px #1d140d0a}.style-preview,.style-token-grid{grid-template-columns:1fr}.editor-workspace--edit .editor-map,.editor-workspace--edit .editor-map__canvas,.editor-workspace--share .editor-map,.editor-workspace--share .editor-map__canvas,.editor-workspace--share .editor-panorama-stage{min-block-size:0}.editor-workspace--edit .editor-side,.editor-workspace--share .editor-side{max-block-size:min(34dvh,240px)}.editor-workspace--edit .editor-map-status,.editor-workspace--share .editor-map-status{align-items:flex-end;gap:8px;inset-block-end:12px;inset-inline-start:12px;max-inline-size:calc(100% - 24px)}.editor-workspace--edit .editor-map-status{inset-block-end:calc(var(--share-mobile-tabs-height) + 12px)}.editor-workspace--share .psv-compass{block-size:56px!important;inline-size:56px!important;inset:55px auto auto 8px!important}.editor-workspace--share .ol-rotate{inset:55px 8px auto auto!important}.editor-workspace--share .ol-rotate button{background:#181818bf!important;border-color:#ffffff1f!important;color:#000!important}.editor-workspace--share .ol-rotate button span,.editor-workspace--share .ol-rotate button:after,.editor-workspace--share .ol-rotate button:before{filter:invert(1)}.editor-workspace--share .ol-rotate button:hover{background:#242424d9!important;border-color:#ffffff40!important;color:#fff!important}.app-shell--images .head-actions{gap:8px;inline-size:100%;justify-content:space-between}.app-shell--images .image-view-switch{background:var(--tld-surface);border:1px solid var(--tld-border);border-radius:6px;flex:0 0 auto;gap:2px;padding:2px}.app-shell--images .image-view-switch button{background:transparent;block-size:34px;border:1px solid transparent;border-radius:4px;inline-size:34px;transition:background .15s,color .15s}.app-shell--images .image-view-switch button.active{background:var(--tld-fg);border-color:var(--tld-fg);color:#fff}.app-shell--images .image-view-switch svg{block-size:18px;inline-size:18px}.app-shell--images .head-actions .tld-button{font-size:13px;min-block-size:40px;padding-inline:12px}.app-shell--images .point-group-toolbar{gap:6px;margin-block:0 12px}.app-shell--images .point-group-switch{border-radius:15px;font-size:12px;gap:5px;padding:5px 8px}.app-shell--images .point-group-switch-track{block-size:16px;border-radius:8px;inline-size:28px}.app-shell--images .point-group-switch-track:after{block-size:12px;inline-size:12px;top:2px}.app-shell--images .point-group-switch.on .point-group-switch-track:after{left:14px}.app-shell--images .point-group-radius-select--long,.app-shell--images .point-group-switch-label-full{display:none}.app-shell--images .point-group-switch-label-short{display:inline}.app-shell--images .point-group-radius-select--short{display:inline-block}.app-shell--images .point-group-radius-select{border-radius:15px;font-size:12px;padding:6px 10px}.app-shell--images .point-group-stat{flex-basis:100%;font-size:12px;margin-left:0}.upload-page{padding-inline:14px}.upload-steps{gap:12px}.upload-step{gap:10px;padding:14px}.upload-step,.upload-step>div{min-inline-size:0}.upload-step h2{font-size:20px}.step-no{font-size:18px;inline-size:34px;min-block-size:34px}.upload-dropzone-card{gap:10px;overflow-wrap:anywhere;padding:20px 14px}.upload-dropzone-icon-wrap{block-size:48px;inline-size:48px}.upload-dropzone-icon-wrap svg{block-size:24px;inline-size:24px}.upload-dropzone-text{min-inline-size:0}.upload-dropzone-title{font-size:14px}.upload-dropzone-sub{font-size:12px}.upload-file-table{font-size:12px;inline-size:-moz-max-content;inline-size:max-content;min-inline-size:100%}.upload-file-table td,.upload-file-table th{padding:6px 8px}.upload-file-table .file-name-cell{max-inline-size:120px}.upload-table-header h3{font-size:13px}.upload-table-header{flex-wrap:wrap;gap:6px}.upload-panel{padding:10px 12px}.upload-number-field{display:flex;inline-size:100%}.upload-number-field .editor-input{flex:1 1 auto;inline-size:auto;min-inline-size:0;width:100%}.upload-progress{margin-block-start:10px}.upload-error{font-size:12px;overflow-wrap:anywhere}.side-actions{gap:10px}.side-actions .tld-button{inline-size:100%}.upload-modal{padding:12px}.upload-modal .dialog{inline-size:100%;padding:16px}.upload-modal .dialog h2{font-size:22px}.upload-modal .dialog-actions{flex-wrap:wrap;justify-content:stretch}.upload-modal .dialog-actions .btn-sm{flex:1 1 auto;justify-content:center;min-block-size:40px;text-align:center}.upload-blocking-alert{font-size:13px;overflow-wrap:anywhere}}@media(max-width:980px){.project-share-heading{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0009;border-block-start:0;border-inline-end:0;border-inline-start:0;inset-block-start:0;inset-inline:0;max-inline-size:none;min-block-size:44px;padding:10px 14px}.project-share-actions{gap:6px;inset-block:55px auto;inset-inline:auto 12px}.project-share-mode-entry{border-radius:6px;font-size:12px;min-block-size:28px;min-inline-size:64px;padding-inline:10px}.project-share-fullscreen-btn{border-radius:6px;inline-size:28px;min-block-size:28px}.project-share-thumbnails{gap:6px;inset-block-end:max(8px,env(safe-area-inset-bottom));max-inline-size:calc(100vw - 16px);padding:6px 8px}.project-share-thumbnails__track{gap:6px;margin-inline:40px;max-width:calc(100vw - 80px)}.project-share-thumbnails__arrow{height:32px;width:32px}.project-share-thumbnails__arrow--left{inset-inline-start:6px}.project-share-thumbnails__arrow--right{inset-inline-end:6px}.project-share-thumbnails__arrow svg{height:14px;width:14px}.project-share-thumbnail{flex-basis:76px;grid-template-rows:42px 22px;inline-size:76px;min-block-size:64px}.project-share-thumbnail img,.project-share-thumbnail__placeholder{block-size:42px}.project-share-thumbnail strong{font-size:11px}.project-share-workspace .psv-compass{block-size:56px!important;inline-size:56px!important;inset:55px auto auto 8px!important}.admin-page .btn-sm,.admin-page button,.admin-tab,.app-shell:not(.app-shell--editor) .account-actions button,.app-shell:not(.app-shell--editor) .action-btn,.app-shell:not(.app-shell--editor) .batch-action-bar button,.app-shell:not(.app-shell--editor) .btn-sm,.app-shell:not(.app-shell--editor) .btn-table-action,.app-shell:not(.app-shell--editor) .dialog-actions .btn-sm,.app-shell:not(.app-shell--editor) .dialog-actions a,.app-shell:not(.app-shell--editor) .dialog-actions button,.app-shell:not(.app-shell--editor) .head-actions .btn-sm,.app-shell:not(.app-shell--editor) .head-actions a,.app-shell:not(.app-shell--editor) .head-actions button,.app-shell:not(.app-shell--editor) .image-card-actions .btn-sm,.app-shell:not(.app-shell--editor) .image-card-more-button,.app-shell:not(.app-shell--editor) .tld-button,.auth-page .btn-sm,.auth-page .tld-button,.auth-page button,.dialog-actions .btn-sm,.dialog-actions a,.dialog-actions button,.order-page button,.pricing-page button,.project-actions .btn-sm,.project-actions button,.project-card-actions .btn-sm,.style-page .btn-sm,.style-page button,.upgrade-page button,.upload-modal .btn-sm,.upload-modal button,.upload-page .btn-sm,.upload-page .btn-table-action,.upload-page .tld-button{border-radius:6px}.app-shell--editor .btn-sm,.app-shell--editor button,.project-editor-shell .btn-sm,.project-editor-shell button{border-radius:0}}.psv-navbar--open{bottom:18px!important}.app-nav .nav-link-disabled{cursor:not-allowed;opacity:.45}.app-nav .nav-link-disabled:hover{background:var(--tld-surface);border-color:var(--tld-border);color:var(--tld-fg)}.annotation-detail-popup{background:#000c;border:1px solid hsla(0,0%,100%,.15);border-radius:8px;color:#fff;max-width:280px;padding:10px 28px 10px 12px;position:fixed;transform:translate(-50%,calc(-100% - 14px));z-index:200}.annotation-detail-popup__close{align-items:center;background:transparent;border:0;color:#fff9;cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;position:absolute;right:6px;top:6px;width:20px}.annotation-detail-popup__close:hover{color:#fff}.annotation-detail-popup__close svg{fill:none;height:14px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:14px}.annotation-detail-popup__title{display:block;font-size:14px;font-weight:600;line-height:1.4;word-break:break-word}.annotation-detail-popup__description{font-size:13px;line-height:1.5;margin-block-start:4px;opacity:.85;word-break:break-word}.annotation-detail-popup:after{border:6px solid transparent;border-top-color:#000c;bottom:-12px;content:"";left:50%;position:absolute;transform:translate(-50%)}
