:root{--bg:#f4f5f7;--panel:#fff;--panel-soft:#f8fafb;--ink:#1c2430;--muted:#657180;--line:#d7dde4;--accent:#17a2b8;--accent-dark:#0f7382;--danger:#c83d4f;--shadow:0 10px 30px rgba(22,34,51,.08)}*{box-sizing:border-box}#__nuxt,body,html{width:100%;min-width:0;height:100%;margin:0}body{overflow:auto;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{min-height:34px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff}input,select{height:34px;padding:0 9px}input[type=color]{padding:3px}textarea{min-height:170px;resize:vertical;padding:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5}a{color:inherit}.auth-page,.public-page{display:grid;min-height:100vh;padding:32px}.public-page{align-items:center}.public-shell{width:min(100%,760px);margin:0 auto}.public-shell h1{margin-top:8px;font-size:56px;line-height:1}.public-copy{max-width:520px;margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.55}.public-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button-link,.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;text-decoration:none}.button-link:hover,.primary-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}.button-link.primary,.primary-button{border-color:var(--accent);color:#fff;background:var(--accent);font-weight:700}.button-link.primary:hover,.primary-button:hover:not(:disabled){color:#fff;background:var(--accent-dark)}.auth-page{place-items:center}.auth-panel{display:grid;gap:16px;width:min(100%,380px);padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.auth-panel label{display:grid;gap:6px}.auth-panel label span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.error-message{margin:0;color:var(--danger);font-size:13px}.subtle-link{color:var(--muted);font-size:13px;text-decoration:none}.subtle-link:hover{color:var(--accent-dark)}.private-editor-page{height:100vh;overflow:hidden}.private-list-page{min-height:100vh}.private-topbar{justify-content:flex-end;height:44px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--panel)}.private-topbar,.private-topbar-context{display:flex;align-items:center;gap:12px}.private-topbar-context{margin-right:auto}.private-topbar span{color:var(--muted);font-size:13px}.private-home-shell{display:grid;gap:22px;width:min(100%,760px);margin:0 auto;padding:28px}.private-home-shell h1{margin:8px 0 0;font-size:42px;line-height:1.1}.private-home-copy{max-width:520px;margin:14px 0 0;color:var(--muted);font-size:17px;line-height:1.5}.private-home-actions{display:flex;flex-wrap:wrap;gap:10px}.maps-shell{width:min(100%,1120px);margin:0 auto;padding:28px}.maps-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.maps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.maps-list{grid-template-columns:1fr}.map-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);text-decoration:none;transition:border-color .16s ease,transform .16s ease}.map-card:hover{border-color:var(--accent);transform:translateY(-1px)}.maps-list .map-card{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch}.map-card h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-title-block{min-width:0}.map-order{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:700}.map-card-body{display:grid;gap:12px;padding:12px}.maps-list .map-card-body{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px}.map-card-body>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.publication-badge{padding:3px 8px;border-radius:999px;color:#92400e;background:#fef3c7;font-size:11px;font-weight:700}.publication-badge.published{color:#166534;background:#dcfce7}.catalog-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;padding:18px;margin-bottom:22px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.dialog-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a94}.popup-dialog{width:min(100%,620px);max-height:calc(100vh - 40px);overflow:auto;border-radius:10px;background:var(--panel);box-shadow:0 24px 70px #0f172a4d}.popup-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.popup-dialog>header button{width:34px;font-size:20px}.popup-dialog .catalog-form{grid-template-columns:1fr;margin:0;border:0;box-shadow:none}.catalog-form.compact{margin-bottom:0;background:var(--panel-soft)}.catalog-form h2{grid-column:1/-1}.catalog-form label{display:grid;gap:6px}.catalog-form label>span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.catalog-form input[type=file]{height:auto;min-height:34px;padding:5px}.catalog-form textarea{min-height:96px;resize:vertical}.map-details-shell{width:min(100%,1120px);margin:0 auto;padding:28px}.map-details-shell .maps-heading h1{margin-top:8px}.group-editor-list{display:grid;gap:18px;margin-top:24px}.group-editor{display:grid;gap:16px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.group-editor-heading{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;align-items:center;gap:12px}.group-editor-heading img{width:56px;height:56px;-o-object-fit:contain;object-fit:contain}.group-editor-heading small,.group-prompt,.object-editor-meta small{color:var(--muted)}.group-prompt{margin:6px 0 0;font-size:13px;line-height:1.4}.object-editor-list{display:grid;gap:8px}.object-editor-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-soft)}.object-editor-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;min-width:0}.object-editor-asset{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;min-width:0}.object-editor-asset img{width:56px;height:56px;-o-object-fit:contain;object-fit:contain}.object-editor-meta{display:grid;gap:2px;min-width:0}.object-editor-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-editor-row>.error-message{grid-column:1/-1}@media(max-width:720px){.catalog-form,.object-editor-row{grid-template-columns:1fr}.object-editor-row{align-items:stretch}.object-editor-assets{grid-template-columns:1fr}.object-editor-row>.publication-badge,.object-editor-row>button{justify-self:start}}.map-thumb{display:grid;aspect-ratio:1;place-items:center;overflow:hidden;color:var(--muted);background:var(--panel-soft);font-size:13px}.map-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.editor-app{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;width:100%;height:calc(100vh - 44px)}.builder-state{display:grid;place-items:center;gap:12px;min-height:calc(100vh - 44px);padding:28px}.workspace{display:grid;grid-template-rows:minmax(0,1fr) 260px;min-width:0;min-height:0;border-right:1px solid var(--line);border-left:1px solid var(--line)}.sidebar{min-width:0;overflow:auto;background:var(--panel)}.sidebar-left,.sidebar-right{padding:18px}.button-row,.icon-actions,.panel-heading,.section-title,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading{margin-bottom:18px}.eyebrow{margin:0 0 4px;color:var(--accent-dark);font-size:11px;font-weight:800;text-transform:uppercase}.eyebrow,h1,h2{letter-spacing:0}h1,h2{margin:0}h1{font-size:24px;line-height:1.1}h2{font-size:15px}.asset-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;border-radius:999px;color:#fff;background:var(--accent);font-size:13px;font-weight:700}.asset-group,.asset-groups,.asset-list{display:grid;gap:10px}.asset-group+.asset-group{padding-top:14px;border-top:1px solid var(--line)}.asset-group-heading{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px}.asset-group-heading img{width:42px;height:42px;-o-object-fit:contain;object-fit:contain}.asset-group-heading small,.asset-group-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-group-heading strong{font-size:13px}.asset-group-heading small{color:var(--muted);font-size:12px}.asset-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:8px;text-align:left;background:var(--panel-soft)}.asset-item.placed{border-color:#16a34a73;background:#effaf3}.asset-item.placed:after{content:"Placed";justify-self:end;padding:2px 7px;border-radius:999px;color:#166534;background:#dcfce7;font-size:11px;font-weight:700}.asset-item img{width:56px;height:56px;-o-object-fit:contain;object-fit:contain}.asset-item small,.asset-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-item strong{font-size:13px}.asset-item small,.empty-state,.status-line,.toolbar-meta{color:var(--muted);font-size:12px}.canvas-shell{display:grid;grid-template-rows:48px minmax(0,1fr);min-width:0;min-height:0}.toolbar{padding:7px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.toolbar-group{display:flex;align-items:center;gap:8px}.icon-actions button,.toolbar-group button{min-width:34px;padding:0 10px}.toolbar-group button.active{color:#7c2d12;border-color:#f59e0b8c;background:#fef3c7}.toolbar-group span{min-width:48px;text-align:center;font-size:13px;font-weight:700}.stage-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(45deg,#dfe4ea 25%,transparent 0),linear-gradient(-45deg,#dfe4ea 25%,transparent 0),linear-gradient(45deg,transparent 75%,#dfe4ea 0),linear-gradient(-45deg,transparent 75%,#dfe4ea 0);background-color:#eef1f4;background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;cursor:grab}.canvas-error{position:absolute;z-index:2;top:12px;left:12px;max-width:calc(100% - 24px);padding:8px 10px;margin:0;border-radius:6px;color:#fff;background:var(--danger);font-size:12px}.stage-wrap:active{cursor:grabbing}.stage-wrap.selecting,.stage-wrap.selecting:active{cursor:crosshair}.ai-image-form{display:grid;gap:14px;padding:18px}.ai-image-gallery{display:flex;gap:12px;max-width:100%;overflow-x:auto;padding-bottom:4px}.ai-original-image{max-width:220px}.ai-group-picker{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.ai-group-picker h3{margin:0;font-size:14px}.ai-image-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-image-card,.ai-image-preview-grid figure{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;margin:0}.ai-image-card{flex:0 0 220px;min-width:220px}.ai-image-card figcaption,.ai-image-preview-grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.ai-image-card figcaption span,.ai-image-preview-grid figcaption span{text-transform:none}.ai-image-card img,.ai-image-preview-grid img,.image-placeholder{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft)}.image-placeholder{aspect-ratio:1}.ai-image-card img,.ai-image-preview-grid img{height:auto;max-height:360px;-o-object-fit:contain;object-fit:contain}.image-progress{position:absolute;inset:27px 0 42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:#fff;background:#0f172aa3;font-size:13px;font-weight:700}.ai-image-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-image-card-actions .primary-button{grid-column:1/-1}.image-placeholder{display:grid;place-items:center;color:var(--muted);font-size:13px}.ai-image-form label{display:grid;gap:6px}.ai-image-form label>span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.ai-image-form textarea{min-height:96px;resize:vertical}.trim-image-form{display:grid;gap:14px;padding:18px}.ai-image-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.panel-section{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.panel-section:last-child{margin-bottom:0;border-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.form-grid label{display:grid;gap:5px;min-width:0}.form-grid label:first-child,.form-grid label:has(select),.form-grid label:nth-child(2),.form-grid label:nth-child(5){grid-column:1/-1}.form-grid span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.check-row{display:flex!important;grid-column:1/-1;align-items:center;gap:8px!important}.check-row input{width:16px;height:16px}.json-dock{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;overflow:auto;padding:14px;border-top:1px solid var(--line);background:var(--panel)}.json-column,.json-dock{display:grid;min-width:0;min-height:0}.json-column{grid-template-rows:auto minmax(0,1fr) auto;gap:9px}.status-line{min-height:18px;margin:0}.sync-result{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.sync-result a{color:var(--accent)}@media(max-width:1100px){.editor-app{grid-template-columns:220px minmax(520px,1fr);min-height:calc(100vh - 44px);height:auto}.sidebar-right{grid-column:1/-1;border-top:1px solid var(--line)}}@media(max-width:760px){.auth-page,.map-details-shell,.maps-shell,.private-home-shell,.public-page{padding:20px}.public-shell h1{font-size:40px}.maps-heading{align-items:flex-start;flex-direction:column}.maps-list .map-card{grid-template-columns:112px minmax(0,1fr)}.maps-list .map-card-body{grid-template-columns:1fr}.maps-list .map-card-body>div:first-child{align-items:flex-start;flex-direction:column}.maps-list .button-row{justify-content:flex-start}.group-editor-heading{grid-template-columns:56px minmax(0,1fr)}.group-editor-heading>.button-row,.group-editor-heading>.publication-badge{grid-column:1/-1;justify-self:start}.editor-app,.json-dock,.workspace{display:block}.canvas-shell{height:540px}}
