:root{--background:#a8aaaf;--foreground:#ededed;--surface:#fff;--surface-raised:#fff;--surface-hover:#f8fafc;--surface-active:#f1f5f9;--field-bg:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#6b7280;--text-inverse:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--accent:#6366f1;--accent-hover:#4f46e5;--focus-ring:#60a5fa;--btn-primary-bg:#0f172a;--btn-primary-bg-hover:#1e293b;--btn-primary-fg:#fff;--danger:#d00011;--danger-bg:#fef2f2;--danger-border:#fecaca;--success:#15803d;--success-bg:#f0fdf4;--success-border:#bbf7d0;--preview-bg-top:#d4dae4;--preview-bg-bottom:#bcc7d4;--preview-glow:hsla(0,0%,100%,.36);--preview-grid:rgba(71,85,105,.1);--canvas-bg:#a8aaaf}body,html{max-width:100vw;overflow:hidden;overscroll-behavior:none;height:100%;width:100%}html{background:#a8aaaf}body{color:var(--foreground);background:var(--background);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}:root{--surface:#2c2c2c;--surface-raised:#383838;--surface-hover:#383838;--surface-active:#454545;--field-bg:#1f1f1f;--text-primary:#e6e6e6;--text-secondary:#b3b3b3;--text-muted:#8a8a8a;--text-inverse:#fff;--border:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.16);--accent:#0d99ff;--accent-hover:#3aacff;--focus-ring:#0d99ff;--btn-primary-bg:#0d99ff;--btn-primary-bg-hover:#3aacff;--btn-primary-fg:#fff;--danger:#ff5a5f;--danger-bg:rgba(255,90,95,.12);--danger-border:rgba(255,90,95,.32);--success:#34d058;--success-bg:rgba(52,208,88,.12);--success-border:rgba(52,208,88,.32);--preview-bg-top:#2a2a2a;--preview-bg-bottom:#1c1c1c;--preview-glow:hsla(0,0%,100%,.05);--preview-grid:hsla(0,0%,100%,.05)}}:root{--left-sidebar-width:308px;--right-sidebar-width:332px;--edge-pad:40px}.full-bleed-fixed{position:fixed;inset:0;background-color:var(--canvas-bg)}.map-region{left:var(--left-sidebar-width);right:var(--right-sidebar-width)}.left-sidebar,.map-region{position:absolute;top:0;bottom:0}.left-sidebar{left:0;width:var(--left-sidebar-width);z-index:30}.controls-container{position:absolute;top:0;right:0;bottom:0;width:var(--right-sidebar-width);background:var(--surface);color:var(--text-primary);border-left:1px solid var(--border);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;padding:calc(16px + env(safe-area-inset-top, 0px)) calc(16px + env(safe-area-inset-right, 0px)) 16px 16px;display:flex;flex-direction:column;gap:12px;z-index:25}.controls-container::-webkit-scrollbar{width:6px}.controls-container::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05)}.controls-container::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:3px}.controls-container::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}@media (max-width:768px){:root{--right-sidebar-width:0px}.controls-container{display:none}}.map-canvas{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:block;outline:none;touch-action:none;-webkit-touch-callout:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.ios-scroll-shim{position:absolute;bottom:0;height:1px;width:1px}@media (max-width:900px){:root{--left-sidebar-width:0px}.left-sidebar{display:none}}.presentation .map-region{left:0!important;right:0!important}.presentation .controls-container,.presentation .left-sidebar{display:none!important}.presentation .presentation-exit{position:absolute;top:var(--edge-pad);right:var(--edge-pad);z-index:50;width:32px;height:32px;padding:0;border-radius:999px;background:hsla(0,0%,100%,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#1a1a1a;border:1px solid hsla(0,0%,100%,.32);display:inline-grid;place-items:center;font-size:18px;line-height:1;cursor:pointer;box-shadow:0 4px 4px rgba(0,0,0,.12);opacity:.34;transition:opacity .12s ease-out,background-color .12s ease-out}.presentation .presentation-exit:focus-visible,.presentation .presentation-exit:hover{opacity:1;background:hsla(0,0%,100%,.55)}.presentation .presentation-exit:focus-visible{outline:2px solid rgba(26,26,26,.35);outline-offset:2px}