:root{--blue-50:#e6f4ff;--blue-100:#bae0ff;--blue-200:#91caff;--blue-300:#69b1ff;--blue-400:#4096ff;--blue-500:#1677ff;--blue-600:#1668dc;--blue-700:#0958d9;--blue-800:#003eb3;--blue-900:#002c8c;--blue-950:#001d66;--sky-50:#f0f9ff;--sky-100:#d8f3ff;--sky-300:#7ecfff;--sky-400:#47bfff;--sky-600:#0f7ec4;--sky-700:#0c6a9e;--sky-900:#0d1f28;--slate-0:#fff;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-850:#151f32;--slate-900:#0f172a;--slate-950:#0b1120;--slate-1000:#060a14;--green-50:#f6ffed;--green-100:#d9f7be;--green-300:#95de64;--green-400:#73d13d;--green-500:#52c41a;--green-600:#389e0d;--green-700:#237804;--green-900:#162312;--gold-50:#fffbe6;--gold-100:#fff1b8;--gold-300:#ffd666;--gold-400:#ffc53d;--gold-500:#faad14;--gold-600:#d48806;--gold-700:#ad6800;--gold-900:#2b2111;--orange-50:#fff7e6;--orange-300:#ffc069;--orange-500:#fa8c16;--orange-600:#d46b08;--orange-700:#ad4e00;--red-50:#fff1f0;--red-100:#ffccc7;--red-300:#ff7875;--red-500:#ff4d4f;--red-600:#cf1322;--red-700:#a8071a;--red-900:#2c1618;--cyan-50:#e6fffb;--cyan-400:#36cfc9;--cyan-500:#13c2c2;--cyan-600:#08979c;--cyan-700:#006d75;--purple-50:#f9f0ff;--purple-300:#b37feb;--purple-500:#722ed1;--purple-700:#391085;--indigo-50:#f0f5ff;--indigo-300:#85a5ff;--indigo-500:#2f54eb;--indigo-700:#10239e;--font-family-base:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-heading:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs:.6875rem;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-base:1.5;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:999px;--control-height-sm:28px;--control-height:32px;--control-height-lg:40px;--touch-target:44px;--z-raised:1;--z-map-loading:50;--z-map-3d:100;--z-sticky:100;--z-map-control:101;--z-map-bindings:105;--z-map-chrome:110;--z-map-chrome-raised:120;--z-map-popover:150;--z-panel:200;--z-panel-toggle:210;--z-panel-overlay:220;--z-modal:1000;--z-modal-nested:1100;--z-dialog:1200;--z-dialog-raised:1300;--z-toast:2000;--z-banner:2100;--z-top:2200;--duration-instant:80ms;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:var(--blue-600);--color-primary-hover:#3c89e8;--color-primary-active:#1554ad;--color-primary-text:var(--blue-600);--color-primary-bg:var(--blue-50);--color-primary-bg-hover:var(--blue-100);--color-primary-border:var(--blue-200);--color-on-primary:#fff;--color-accent:var(--sky-600);--color-accent-strong:var(--sky-700);--color-accent-bg:var(--sky-50);--color-bg-base:var(--slate-50);--color-bg-container:var(--slate-0);--color-bg-elevated:var(--slate-0);--color-bg-subtle:var(--slate-100);--color-bg-muted:var(--slate-200);--color-bg-inverse:var(--slate-900);--color-text:var(--slate-900);--color-text-secondary:var(--slate-600);--color-text-tertiary:var(--slate-500);--color-text-disabled:var(--slate-400);--color-text-inverse:var(--slate-50);--color-border:var(--slate-200);--color-border-strong:var(--slate-300);--color-success:var(--green-600);--color-success-solid:var(--green-500);--color-success-bg:var(--green-50);--color-warning:var(--gold-700);--color-warning-solid:var(--gold-500);--color-warning-bg:var(--gold-50);--color-danger:var(--red-600);--color-danger-solid:var(--red-500);--color-danger-hover:var(--red-700);--color-danger-bg:var(--red-50);--color-shadow:var(--slate-900);--color-scrim:var(--slate-1000);--color-overlay:color-mix(in srgb, var(--color-scrim) 45%, transparent);--color-focus-ring:color-mix(in srgb, var(--color-primary) 45%, transparent);--shadow-xs:0 1px 2px color-mix(in srgb, var(--color-shadow) 6%, transparent);--shadow-sm:0 1px 2px color-mix(in srgb, var(--color-shadow) 6%, transparent), 0 2px 8px color-mix(in srgb, var(--color-shadow) 8%, transparent);--shadow-md:0 6px 20px color-mix(in srgb, var(--color-shadow) 12%, transparent);--shadow-lg:0 12px 32px color-mix(in srgb, var(--color-shadow) 16%, transparent);--shadow-xl:0 24px 64px color-mix(in srgb, var(--color-shadow) 22%, transparent);--shadow-primary:0 6px 20px color-mix(in srgb, var(--color-primary) 30%, transparent);--shadow-focus:0 0 0 3px var(--color-focus-ring);--hero-glow-1:color-mix(in srgb, var(--blue-500) 14%, transparent);--hero-glow-2:color-mix(in srgb, var(--sky-400) 12%, transparent);--hero-grid-line:color-mix(in srgb, var(--color-primary) 5%, transparent)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:var(--blue-600);--color-primary-hover:#3c89e8;--color-primary-active:#1554ad;--color-primary-text:var(--blue-400);--color-primary-bg:color-mix(in srgb, var(--blue-500) 16%, transparent);--color-primary-bg-hover:color-mix(in srgb, var(--blue-500) 24%, transparent);--color-primary-border:color-mix(in srgb, var(--blue-400) 40%, transparent);--color-accent:var(--sky-400);--color-accent-strong:var(--sky-300);--color-accent-bg:color-mix(in srgb, var(--sky-400) 14%, transparent);--color-bg-base:var(--slate-1000);--color-bg-container:var(--slate-950);--color-bg-elevated:var(--slate-900);--color-bg-subtle:var(--slate-850);--color-bg-muted:var(--slate-800);--color-bg-inverse:var(--slate-100);--color-text:var(--slate-100);--color-text-secondary:var(--slate-300);--color-text-tertiary:var(--slate-400);--color-text-disabled:var(--slate-500);--color-text-inverse:var(--slate-900);--color-border:color-mix(in srgb, var(--slate-200) 12%, transparent);--color-border-strong:color-mix(in srgb, var(--slate-200) 22%, transparent);--color-success:var(--green-400);--color-success-bg:var(--green-900);--color-warning:var(--gold-400);--color-warning-bg:var(--gold-900);--color-danger:var(--red-300);--color-danger-bg:var(--red-900);--color-danger-hover:var(--red-500);--color-shadow:#000;--color-overlay:color-mix(in srgb, var(--color-scrim) 72%, transparent);--shadow-xs:0 1px 2px color-mix(in srgb, var(--color-shadow) 30%, transparent);--shadow-sm:0 2px 8px color-mix(in srgb, var(--color-shadow) 35%, transparent);--shadow-md:0 6px 20px color-mix(in srgb, var(--color-shadow) 40%, transparent);--shadow-lg:0 12px 32px color-mix(in srgb, var(--color-shadow) 50%, transparent);--shadow-xl:0 24px 64px color-mix(in srgb, var(--color-shadow) 60%, transparent);--hero-glow-1:color-mix(in srgb, var(--blue-500) 30%, transparent);--hero-glow-2:color-mix(in srgb, var(--sky-400) 16%, transparent);--hero-grid-line:color-mix(in srgb, var(--blue-400) 7%, transparent)}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background:var(--color-bg-base);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible),:where(input:not([type=checkbox],[type=radio],[type=range]),textarea,select,[contenteditable]):focus-visible{outline:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{overflow:hidden}.map-nav-kbd{border:1px solid color-mix(in srgb, var(--color-bg-container) 45%, transparent);border-radius:var(--radius-xs);text-align:center;min-width:18px;margin-left:4px;padding:0 4px;font:600 11px/16px system-ui,sans-serif;display:inline-block}.viewer-layer-panel{--viewer-layer-panel-duration:.18s;z-index:var(--z-panel-overlay);background:var(--color-bg-container);border-right:1px solid var(--color-border);box-shadow:var(--shadow-md);visibility:hidden;transition:transform var(--viewer-layer-panel-duration) ease, visibility 0s linear var(--viewer-layer-panel-duration);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.viewer-layer-panel--open{visibility:visible;transition:transform var(--viewer-layer-panel-duration) ease;transform:translate(0)}.viewer-layer-panel--resizing{transition:none}.viewer-layer-panel:focus{outline:none}.viewer-content .map-navigation-panel,.viewer-content .measure-toolbar,.viewer-content .map-tool-hint-overlay,.viewer-content .map-indicator-cluster,.viewer-content .buildings-map-notice{transition:margin-left .18s}.viewer-content--layer-panel-open .map-navigation-panel,.viewer-content--layer-panel-open .measure-toolbar,.viewer-content--layer-panel-open .map-tool-hint-overlay,.viewer-content--layer-panel-open .map-indicator-cluster,.viewer-content--layer-panel-open .buildings-map-notice{margin-left:var(--viewer-layer-panel-width)}.viewer-content--resizing .map-navigation-panel,.viewer-content--resizing .measure-toolbar,.viewer-content--resizing .map-tool-hint-overlay,.viewer-content--resizing .map-indicator-cluster,.viewer-content--resizing .buildings-map-notice{transition:none}@media (prefers-reduced-motion:reduce){.viewer-layer-panel,.viewer-layer-panel--open{--viewer-layer-panel-duration:0s}.viewer-content .map-navigation-panel,.viewer-content .measure-toolbar,.viewer-content .map-tool-hint-overlay,.viewer-content .map-indicator-cluster,.viewer-content .buildings-map-notice{transition:none}}.viewer-sider__layers{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.viewer-sider__footer{border-top:1px solid var(--color-border);background:var(--color-bg-subtle);flex-shrink:0;margin-top:auto}.viewer-sider__resize-handle{z-index:20;cursor:ew-resize;touch-action:none;background:0 0;width:6px;height:100%;position:absolute;top:0;right:0}.viewer-sider__resize-handle:after{content:"";border-radius:var(--radius-xs);background:var(--color-bg-muted);opacity:0;width:3px;height:48px;transition:opacity .15s,background .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-sider__resize-handle:hover:after,.viewer-sider__resize-handle:focus-visible:after,.viewer-layer-panel--resizing .viewer-sider__resize-handle:after{opacity:1;background:var(--color-primary)}.viewer-sider__resize-handle:focus-visible{outline:none}body.viewer-sider-resizing{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}body.viewer-sider-resizing iframe{pointer-events:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.94)}}@keyframes geometry-save-pop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes geometry-edit-pulse{0%,to{box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--color-primary) 95%, transparent)}50%{box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--color-primary) 45%, transparent)}}.auth-session-loading{--asl-primary:var(--color-primary);--asl-accent:var(--color-accent);--asl-bg:var(--color-bg-base);--asl-glow:color-mix(in srgb, var(--color-primary) 35%, transparent);background:var(--asl-bg);min-height:100vh;position:relative;overflow:hidden}.auth-session-loading .loading-overlay__backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.auth-session-loading__grid-bg{background-image:linear-gradient(color-mix(in srgb, var(--color-primary) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 6%, transparent) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 20%,#0000 70%);mask-image:radial-gradient(80% 60% at 50% 0,#000 20%,#0000 70%)}.auth-session-loading__glow{background:radial-gradient(closest-side, var(--asl-glow), transparent);opacity:.4;pointer-events:none;border-radius:50%;width:420px;height:420px;position:fixed;top:-120px;left:50%;transform:translate(-50%)}.env-banner{--env-banner-accent:var(--color-warning-solid);--env-banner-accent-soft:color-mix(in srgb, var(--color-warning-solid) 16%, transparent);--env-banner-surface:color-mix(in srgb, var(--color-text) 90%, transparent);--env-banner-text:var(--color-on-primary);--env-banner-text-muted:color-mix(in srgb, var(--color-bg-container) 72%, transparent);display:contents}.env-banner__frame{z-index:calc(var(--z-banner) - 10);pointer-events:none;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--color-warning-solid) 50%, transparent);position:fixed;inset:0}.env-banner__frame:before{content:"";background:linear-gradient(90deg, var(--color-warning-solid), var(--color-warning-solid) 45%, var(--color-warning-solid));height:3px;position:absolute;inset:0 0 auto}.env-banner__tab,.env-banner__panel{z-index:var(--z-banner);border:1px solid color-mix(in srgb, var(--color-warning-solid) 45%, transparent);background:var(--env-banner-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg);color:var(--env-banner-text);font-size:var(--font-size-2xs);border-right:none;animation:.22s ease-out env-banner-enter;position:fixed;top:50%;right:0;transform:translateY(-50%)}.env-banner__tab{border-radius:var(--radius-md) 0 0 var(--radius-md);border-left:3px solid var(--env-banner-accent);color:var(--color-warning);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;font-weight:700;transition:padding-right .2s,background .2s;display:flex}.env-banner__tab:hover{background:color-mix(in srgb, var(--color-text) 94%, transparent);padding-right:10px}.env-banner__tab-label{writing-mode:vertical-rl;line-height:1}.env-banner__dot{background:var(--env-banner-accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--env-banner-accent-soft);border-radius:50%;flex-shrink:0}.env-banner__panel{border-radius:var(--radius-md) 0 0 var(--radius-md);text-align:left;align-items:flex-start;gap:10px;width:min(320px,100vw - 24px);padding:12px 14px;display:flex}.env-banner__icon{color:var(--env-banner-accent);font-size:var(--font-size-xl);flex-shrink:0;margin-top:1px}.env-banner__body{flex:auto;min-width:0}.env-banner__title{font-size:var(--font-size-sm);letter-spacing:.02em;margin:0 0 3px;font-weight:700;line-height:1.3}.env-banner__detail{font-size:var(--font-size-xs);color:var(--env-banner-text-muted);margin:0;line-height:1.45}.env-banner__collapse{color:var(--env-banner-text-muted);font-size:var(--font-size-md);cursor:pointer;background:0 0;border:0;flex-shrink:0;margin:-4px -6px 0 0;padding:2px 4px;line-height:1}.env-banner__collapse:hover{color:var(--env-banner-text)}.env-banner__tab:focus-visible,.env-banner__collapse:focus-visible{outline:2px solid var(--env-banner-accent);outline-offset:2px}@keyframes env-banner-enter{0%{opacity:0;transform:translate(12px,-50%)}to{opacity:1;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.env-banner__tab,.env-banner__panel{animation:none}}@media (width<=768px){.env-banner__frame{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-warning-solid) 50%, transparent)}.env-banner__panel{width:min(280px,100vw - 16px);padding:10px 12px}}.instance-brand-banner{z-index:20;background:var(--color-primary-bg);border-bottom:1px solid var(--color-primary-bg-hover);height:36px;color:var(--color-primary-text);font-size:var(--font-size-sm);text-align:center;justify-content:center;align-items:center;gap:10px;padding:0 16px;line-height:1;display:flex;position:relative}.instance-brand-banner__logo{width:auto;height:22px;display:block}.instance-brand-banner__text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=480px){.instance-brand-banner{font-size:var(--font-size-xs)}.instance-brand-banner__logo{height:18px}}.private-map-denied{--pmd-primary:var(--color-primary);--pmd-accent:var(--color-accent);--pmd-bg:var(--color-bg-base);--pmd-text:var(--color-text);--pmd-muted:var(--color-text-tertiary);--pmd-border:color-mix(in srgb, var(--color-text) 12%, transparent);background:var(--pmd-bg);min-height:100vh;color:var(--pmd-text);font-family:var(--font-family-base);justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex;position:relative;overflow:hidden}.private-map-denied__grid-bg{background-image:linear-gradient(color-mix(in srgb, var(--color-primary) 6%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 6%, transparent) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 20%,#0000 70%);mask-image:radial-gradient(80% 60% at 50% 0,#000 20%,#0000 70%)}.private-map-denied__glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--color-primary) 22%, transparent), transparent);pointer-events:none;border-radius:50%;width:520px;height:520px;position:fixed;top:-180px;left:50%;transform:translate(-50%)}.private-map-denied__card{z-index:1;border-radius:var(--radius-xl);background:radial-gradient(ellipse 80% 120% at 0% 0%, color-mix(in srgb, var(--color-accent) 10%, transparent), transparent 55%), radial-gradient(ellipse 60% 100% at 100% 0%, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent 50%), color-mix(in srgb, var(--color-bg-container) 92%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);width:min(520px,100%);box-shadow:0 24px 80px color-mix(in srgb, var(--color-shadow) 45%, transparent), 0 0 0 1px color-mix(in srgb, var(--color-primary) 8%, transparent) inset;text-align:center;padding:2rem 2rem 1.75rem;position:relative}.private-map-denied__icon{border-radius:var(--radius-lg);width:64px;height:64px;font-size:var(--font-size-3xl);color:var(--color-on-primary);background:linear-gradient(135deg, var(--pmd-primary) 0%, var(--pmd-accent) 100%);box-shadow:var(--shadow-primary);justify-content:center;align-items:center;margin:0 auto 1.25rem;display:flex}.private-map-denied__eyebrow{font-size:var(--font-size-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--pmd-accent);margin-bottom:.5rem;font-weight:600;display:block}.private-map-denied__title{letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(1.5rem,4vw,1.875rem);font-weight:700;line-height:1.15}.private-map-denied__desc{max-width:420px;font-size:var(--font-size-md);color:var(--pmd-muted);margin:0 auto 1.5rem;line-height:1.6}.private-map-denied__actions{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.private-map-denied__btn{border-radius:var(--radius-md);font-size:var(--font-size-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:.75rem 1.125rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex}.private-map-denied__btn:active{transform:scale(.98)}.private-map-denied__btn--primary{color:var(--color-on-primary);background:linear-gradient(135deg, var(--pmd-primary) 0%, var(--color-primary) 100%);box-shadow:var(--shadow-primary)}.private-map-denied__btn--primary:hover{color:var(--color-on-primary);box-shadow:var(--shadow-primary)}.private-map-denied__btn--ghost{color:var(--pmd-muted);background:color-mix(in srgb, var(--color-text) 5%, transparent);border:1px solid var(--pmd-border)}.private-map-denied__btn--ghost:hover{color:var(--pmd-text);background:color-mix(in srgb, var(--color-text) 8%, transparent)}.private-map-denied__hint{font-size:var(--font-size-sm);color:color-mix(in srgb, var(--color-text) 85%, transparent);margin:1.25rem 0 0;line-height:1.5}.viewer-feedback{z-index:var(--z-toast);pointer-events:none;flex-direction:column;align-items:center;gap:10px;width:max-content;max-width:min(480px,100vw - 48px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-feedback__toast{border-radius:var(--radius-md);background:var(--color-bg-container);max-width:min(480px,100vw - 48px);box-shadow:var(--shadow-lg);border:1px solid color-mix(in srgb, var(--color-text) 8%, transparent);color:color-mix(in srgb, var(--color-text) 88%, transparent);font-size:var(--font-size-base);pointer-events:auto;align-items:flex-start;gap:12px;padding:14px 16px;line-height:1.45;animation:.18s ease-out viewer-feedback-enter;display:flex}.viewer-feedback__toast--rich{border-left-style:solid;border-left-width:4px;min-width:min(360px,100vw - 48px);padding:16px 18px 14px}.viewer-feedback__toast--accent-file{border-left-color:var(--indigo-300);background:linear-gradient(135deg, var(--color-bg-container) 0%, var(--color-bg-subtle) 100%)}.viewer-feedback__toast--accent-qgis{border-left-color:var(--color-success-solid);background:linear-gradient(135deg, var(--color-bg-container) 0%, var(--color-bg-subtle) 100%)}.viewer-feedback__body{flex:auto;min-width:0}.viewer-feedback__title{font-size:var(--font-size-md);color:var(--color-text);margin:0 0 4px;font-weight:700;line-height:1.35}.viewer-feedback__description{font-size:var(--font-size-sm);color:var(--color-primary-text);margin:0 0 10px;line-height:1.45}.viewer-feedback__details{flex-wrap:wrap;gap:6px;margin:0;display:flex}.viewer-feedback__detail{border-radius:var(--radius-full);background:color-mix(in srgb, var(--color-text) 5%, transparent);max-width:100%;font-size:var(--font-size-2xs);align-items:baseline;gap:6px;margin:0;padding:4px 8px;line-height:1.3;display:inline-flex}.viewer-feedback__detail dt{color:var(--color-primary-text);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.viewer-feedback__detail dd{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin:0;overflow:hidden}.viewer-feedback__icon{font-size:var(--font-size-lg);flex:none;margin-top:1px}.viewer-feedback__text{word-break:break-word;flex:auto;min-width:0}.viewer-feedback__close{color:color-mix(in srgb, var(--color-text) 45%, transparent);font-size:var(--font-size-lg);cursor:pointer;background:0 0;border:0;flex:none;margin:-2px -4px 0 0;padding:0 4px;line-height:1}.viewer-feedback__close:hover{color:color-mix(in srgb, var(--color-text) 75%, transparent)}.viewer-feedback__toast--success .viewer-feedback__icon{color:var(--color-success)}.viewer-feedback__toast--accent-file.viewer-feedback__toast--success .viewer-feedback__icon{color:var(--indigo-300)}.viewer-feedback__toast--accent-qgis.viewer-feedback__toast--success .viewer-feedback__icon{color:var(--color-success)}.viewer-feedback__toast--accent-file .viewer-feedback__detail{background:color-mix(in srgb, var(--indigo-300) 10%, transparent)}.viewer-feedback__toast--accent-qgis .viewer-feedback__detail{background:color-mix(in srgb, var(--color-success-solid) 12%, transparent)}.viewer-feedback__toast--error .viewer-feedback__icon{color:var(--color-danger)}.viewer-feedback__toast--warning .viewer-feedback__icon{color:var(--color-warning)}.viewer-feedback__toast--info .viewer-feedback__icon{color:var(--color-primary-text)}@keyframes viewer-feedback-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.viewer-feedback__action{border:1px solid color-mix(in srgb, var(--color-primary) 40%, transparent);border-radius:var(--radius-sm);background:var(--color-bg-container);color:var(--color-primary-text);font-size:var(--font-size-sm);cursor:pointer;flex:none;align-self:center;padding:4px 12px;font-weight:600;line-height:1.4}.viewer-feedback__action:hover{background:var(--color-primary-bg)}.viewer-feedback__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
