/* Generated from styles/. Do not edit. */
/* tokens.css */
:root{
  color-scheme:light;
  --font-sans:Inter,"Segoe UI Variable",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-display:"Iowan Old Style","Palatino Linotype",Georgia,serif;
  --canvas:#f5f5f3;--canvas-raised:#fafaf8;--paper:#ffffff;--paper-2:#f1f1ef;--paper-3:#e7e7e4;
  --ink:#181817;--ink-2:#464744;--ink-3:#70716d;--line:#ddddda;--line-strong:#c5c6c1;
  --moss:#315b3d;--moss-2:#557b5d;--moss-soft:#e9eae7;--on-moss:#ffffff;--copper:#965b26;--copper-soft:#f5e6d5;
  --scope-accent:#315b3d;--scope-identity-accent:#557b5d;--scope-on-accent:#ffffff;
  --control-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --blue:#426474;--blue-soft:#e1ebef;--red:#984c45;--red-soft:#f4dfdc;--gold:#8b6b2b;
  --overlay-backdrop:rgba(15,16,13,.48);--focus-ring:color-mix(in srgb,var(--scope-accent) 46%,transparent);
  --map-canvas:#ffffff;--map-source-matte:#171814;--map-stage-filter:none;--element-glyph-filter:none;
  --map-hud-bg:rgba(244,244,242,.94);--map-hud-bg-strong:rgba(255,255,255,.97);--map-hud-hover:rgba(42,43,40,.08);
  --map-hud-text:#272825;--map-hud-muted:#70716d;--map-hud-line:rgba(48,49,46,.18);--map-hud-shadow:0 8px 24px rgba(28,29,27,.13);
  --terrain-preview-minor:rgba(24,24,23,.72);--terrain-preview-major:#111110;
  --map-cluster-bg:#ffffff;--map-cluster-glow:#9eb7a5;--map-cluster-glow-edge:#ffffff;--map-cluster-orbit:#617268;--map-cluster-node-stroke:rgba(28,42,33,.34);
  --shadow-sm:0 1px 2px rgba(34,31,23,.04),0 8px 22px rgba(34,31,23,.05);
  --shadow-md:0 18px 55px rgba(34,31,23,.12);--shadow-lg:0 28px 90px rgba(20,18,14,.18);
  --radius-sm:9px;--radius-md:15px;--radius-lg:22px;--radius-xl:30px;
  --topbar-h:68px;--nav-w:236px;--nav-rail-w:58px;--content-max:1180px;
  --ease:cubic-bezier(.2,.8,.2,1);--fast:150ms;--normal:260ms;--slow:420ms;
}
html[data-resolved-theme="dark"]{
  color-scheme:dark;
  --canvas:#101111;--canvas-raised:#151616;--paper:#1c1d1d;--paper-2:#252727;--paper-3:#303232;
  --ink:#f4f4f1;--ink-2:#c9cac6;--ink-3:#979995;--line:#3a3c3c;--line-strong:#515454;
  --moss:#9bd1a7;--moss-2:#76aa82;--moss-soft:#2a2c2b;--on-moss:#102017;--copper:#efb06c;--copper-soft:#3b2c20;
  --scope-accent:#9bd1a7;--scope-identity-accent:#718a78;--scope-on-accent:#102017;
  --control-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-7' fill='none' stroke='%23102017' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --blue:#a8c8d5;--blue-soft:#263940;--red:#eda29b;--red-soft:#482e2b;--gold:#e0bd70;
  --overlay-backdrop:rgba(4,7,5,.66);--focus-ring:color-mix(in srgb,var(--scope-accent) 52%,transparent);
  --map-canvas:#000000;--map-source-matte:#000000;--map-stage-filter:saturate(.72) brightness(.72);--element-glyph-filter:invert(1);
  --map-hud-bg:rgba(24,25,25,.86);--map-hud-bg-strong:rgba(18,19,19,.94);--map-hud-hover:rgba(255,255,255,.09);
  --map-hud-text:#f5f5f2;--map-hud-muted:rgba(245,245,242,.62);--map-hud-line:rgba(245,245,242,.16);--map-hud-shadow:0 8px 24px rgba(0,0,0,.28);
  --terrain-preview-minor:rgba(255,255,255,.72);--terrain-preview-major:#ffffff;
  --map-cluster-bg:#000000;--map-cluster-glow:#718a78;--map-cluster-glow-edge:#000000;--map-cluster-orbit:#718a78;--map-cluster-node-stroke:rgba(255,255,255,.78);
  --shadow-sm:0 1px 2px rgba(0,0,0,.22),0 10px 28px rgba(0,0,0,.18);
  --shadow-md:0 22px 62px rgba(0,0,0,.34);--shadow-lg:0 32px 100px rgba(0,0,0,.48);
}


/* base.css */
*{box-sizing:border-box}
html{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--canvas)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.34;background-image:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--copper) 5%,transparent),transparent 28%),radial-gradient(circle at 92% 10%,color-mix(in srgb,var(--scope-accent) 4%,transparent),transparent 27%);z-index:-1}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block}img{max-width:100%}
::selection{background:color-mix(in srgb,var(--moss) 24%,transparent)}
:focus-visible{outline:2px solid var(--scope-accent);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.muted{color:var(--ink-3)}.secondary{color:var(--ink-2)}.nowrap{white-space:nowrap}.hidden{display:none!important}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* forms.css */
/* Shared form-control foundation. Component styles may refine layout, never reset control behavior. */
:where(button,input,select,textarea){font:inherit;color:inherit}
:where(button,input,select,textarea){box-sizing:border-box}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),select,textarea){min-width:0;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink);padding:8px 10px;line-height:1.35;transition:border-color var(--fast),background var(--fast),box-shadow var(--fast)}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),select){min-height:38px}
:where(textarea){min-height:72px;resize:vertical}
:where(select){appearance:none;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
:where(input,select,textarea):focus{outline:0;border-color:var(--scope-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--scope-accent) 17%,transparent)}
:where(input,select,textarea):disabled{cursor:not-allowed;opacity:.48}
:where(input[type="checkbox"],input[type="radio"]){appearance:none;flex:0 0 auto;width:18px!important;height:18px!important;margin:0;border:1px solid var(--line-strong);background:var(--paper);display:inline-grid;place-content:center;transition:border-color var(--fast),background var(--fast),box-shadow var(--fast)}
:where(input[type="checkbox"]){border-radius:5px}
:where(input[type="radio"]){border-radius:50%}
:where(input[type="checkbox"]:checked,input[type="radio"]:checked){border-color:var(--moss);background-color:var(--moss)}
:where(input[type="checkbox"]:checked){background-image:var(--control-checkmark);background-position:center;background-size:14px;background-repeat:no-repeat}
:where(input[type="radio"]:checked){box-shadow:inset 0 0 0 4px var(--paper)}
:where(input[type="color"]){appearance:none;min-width:50px;width:100%;height:38px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);cursor:pointer}
:where(input[type="color"]::-webkit-color-swatch-wrapper){padding:0}
:where(input[type="color"]::-webkit-color-swatch){border:0;border-radius:6px}
:where(input[type="range"]){width:100%;accent-color:var(--scope-accent)}
:where(button){min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);cursor:pointer;transition:background var(--fast),border-color var(--fast),color var(--fast),transform var(--fast),opacity var(--fast)}
:where(button):hover:not(:disabled){border-color:var(--line-strong);background:var(--paper-3)}
:where(button):disabled{cursor:not-allowed;opacity:.42}
/* Icon-only controls own their square hit area. Generic button padding/min-height
   must not shrink or offset the grid in which their icon is centered. */
:where(button[aria-label]:has(>svg:only-child),a[aria-label]:has(>svg:only-child),button.scope-fab-trigger){min-height:0;padding:0;display:grid;place-items:center;line-height:0}
:where(button)>svg,:where(a)>svg{flex:0 0 auto;align-self:center}
:where(.editor-check){min-width:0;display:flex!important;align-items:center;gap:9px!important}
:where(.inspector-field){min-width:0;display:grid;align-content:start;gap:6px;color:var(--ink-2);font-size:.64rem;font-weight:750}
:where(.inspector-field>small){color:var(--ink-3);font-size:.57rem;font-weight:500;line-height:1.4}
.editor-conditional-content{display:contents}
.editor-conditional-content[hidden]{display:none!important}


/* shell.css */
.app-frame{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(calc(100vh - var(--topbar-h)),auto);min-height:100vh;transition:grid-template-columns var(--normal) var(--ease)}
.topbar{grid-column:1/-1;grid-row:1;position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:14px;height:var(--topbar-h);padding:9px 16px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:color-mix(in srgb,var(--canvas-raised) 90%,transparent);backdrop-filter:blur(22px) saturate(1.15)}
.nav-toggle,.icon-button{width:40px;height:40px;min-height:0;padding:0;flex:0 0 40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink-2);line-height:0;transition:background var(--fast),color var(--fast),transform var(--fast)}
.nav-toggle:hover,.icon-button:hover{background:var(--paper-3);color:var(--ink);transform:translateY(-1px)}
.brand{display:flex;align-items:center;gap:11px;min-width:242px}.brand-sigil{position:relative;flex:0 0 auto;width:41px;height:41px;padding:0;border:0;border-radius:50% 50% 45% 55%/54% 42% 58% 46%;display:grid;place-items:center;background:var(--moss);color:#fffefa;font-family:var(--font-display);font-size:1.18rem;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 8px 24px color-mix(in srgb,var(--moss) 22%,transparent);transition:transform var(--fast),box-shadow var(--fast)}.brand-sigil:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 10px 28px color-mix(in srgb,var(--moss) 30%,transparent)}.brand-sigil.authenticated{background:var(--scope-accent);color:var(--scope-on-accent)}.account-presence{position:absolute;right:-1px;bottom:0;width:10px;height:10px;border:2px solid var(--canvas-raised);border-radius:50%;background:#69c987}.brand-home{color:inherit;min-width:0}
.brand-copy strong,.brand-copy span{display:block}.brand-copy strong{font-family:var(--font-display);font-size:.99rem;line-height:1;letter-spacing:.005em}.brand-copy .brand-subtitle{font-size:.57rem;line-height:1.15;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.brand-copy .brand-present{font-size:.52rem;line-height:1.1;letter-spacing:.035em;color:var(--scope-accent);margin-top:2px}
.global-search{position:relative;flex:1;max-width:680px}.global-search input{width:100%;height:42px;padding:0 78px 0 40px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper) 82%,transparent);color:var(--ink);outline:none;transition:border var(--fast),box-shadow var(--fast),background var(--fast)}.global-search input:focus{background:var(--paper);border-color:color-mix(in srgb,var(--moss) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--moss) 10%,transparent)}.global-search>svg{position:absolute;left:13px;top:12px;color:var(--ink-3)}.global-search kbd{position:absolute;right:10px;top:9px;border:1px solid var(--line);border-bottom-width:2px;border-radius:7px;padding:3px 7px;color:var(--ink-3);background:var(--paper-2);font-size:.66rem}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.scope-pill{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink-2);display:flex;align-items:center;gap:8px;font-size:.78rem}.scope-dot{width:8px;height:8px;border-radius:50%;background:var(--copper)}
.context-nav{grid-column:1;grid-row:2;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow:auto;overscroll-behavior:contain;padding:18px 12px 30px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--canvas-raised) 74%,transparent);transition:opacity var(--fast),transform var(--normal) var(--ease);scrollbar-width:thin}
.nav-group{margin:3px 0}.nav-primary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px}.nav-primary{min-width:0;display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:12px;color:var(--ink-2);transition:background var(--fast),color var(--fast),transform var(--fast)}.nav-primary:hover{background:var(--paper-2);color:var(--ink);transform:translateX(2px)}.nav-primary.active{background:var(--moss-soft);color:var(--moss);font-weight:750}.nav-primary span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-primary svg{flex:0 0 auto}.nav-primary-actions{display:flex;align-items:center;gap:2px}.nav-edit{width:32px;height:32px;border-radius:9px;color:var(--ink-3);display:grid;place-items:center;transition:background var(--fast),color var(--fast),transform var(--fast)}.nav-edit:hover{background:color-mix(in srgb,var(--scope-accent) 12%,var(--paper-2));color:var(--scope-accent);transform:translateY(-1px)}.nav-edit.active{background:var(--scope-accent);color:var(--scope-on-accent)}
.nav-disclosure{width:34px;height:34px;min-height:0;padding:0;border:0;border-radius:10px;background:transparent;color:var(--ink-3);display:grid;place-items:center;line-height:0;transition:background var(--fast),transform var(--normal)}.nav-disclosure:hover{background:var(--paper-3);color:var(--ink)}.nav-group.expanded .nav-disclosure{transform:rotate(180deg)}
.nav-children{display:none;margin:2px 0 8px 21px;padding:3px 0 3px 15px;border-left:1px solid var(--line)}.nav-group.expanded .nav-children{display:grid;animation:fade var(--fast)}.nav-child{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;color:var(--ink-3);font-size:.75rem;line-height:1.25}.nav-child:hover{background:var(--paper-2);color:var(--ink)}.nav-child.active{background:var(--paper);color:var(--moss);font-weight:720;box-shadow:var(--shadow-sm)}.nav-child-badge{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;padding:3px 5px;border-radius:5px;background:var(--paper-3);color:var(--ink-3)}
.nav-footer{margin:22px 9px 0;padding-top:15px;border-top:1px solid var(--line);font-size:.68rem;color:var(--ink-3);line-height:1.5}.nav-footer a{color:var(--moss);font-weight:700}
.main-content{grid-column:2;grid-row:2;min-width:0;width:100%;max-width:var(--content-max);margin:0 auto;padding:clamp(24px,3.2vw,48px) clamp(22px,3.5vw,56px) 100px;animation:rise var(--normal) var(--ease)}.main-content:focus{outline:none}
.context-label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:820;color:var(--ink-3);margin-bottom:10px}.context-copy{font-size:.77rem;line-height:1.55;color:var(--ink-2);margin:0}.context-stat{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:.76rem;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.context-stat span{color:var(--ink-3)}
.nav-collapsed .app-frame{grid-template-columns:var(--nav-rail-w) minmax(0,1fr)}.nav-collapsed .context-nav{opacity:1;pointer-events:auto;transform:none;overflow-x:hidden;padding:14px 8px 26px;border-right:1px solid var(--line)}.nav-collapsed .nav-primary-row{display:block}.nav-collapsed .nav-primary{width:42px;height:42px;justify-content:center;margin:0 auto;padding:0}.nav-collapsed .nav-primary>span,.nav-collapsed .nav-primary-actions,.nav-collapsed .nav-group .nav-children,.nav-collapsed .nav-footer{display:none}
@media(max-width:840px){.app-frame,.nav-collapsed .app-frame{display:block}.topbar{position:sticky}.brand{min-width:auto}.brand-copy{display:none}.scope-pill{display:none}.context-nav{position:fixed;z-index:90;left:0;top:var(--topbar-h);width:min(var(--nav-w),88vw);height:calc(100vh - var(--topbar-h));background:var(--canvas-raised);box-shadow:var(--shadow-lg);transform:translateX(-106%);opacity:1;pointer-events:auto}.mobile-nav-open .context-nav{transform:none}.nav-collapsed .context-nav{opacity:1;pointer-events:auto;transform:translateX(-106%);padding:18px 12px 30px;border-right:1px solid var(--line)}.nav-collapsed.mobile-nav-open .context-nav{transform:none}.main-content{padding:28px 18px 80px}.global-search kbd{display:none}.global-search input{padding-right:12px}}
@media(max-width:540px){.topbar{gap:8px;padding:8px}.brand-sigil{width:38px;height:38px}.global-search input::placeholder{color:transparent}}

.app-frame>*{min-width:0}

.map-route .main-content{width:100%;max-width:none;height:calc(100vh - var(--topbar-h));margin:0;padding:0;overflow:hidden;animation:none;container-type:normal}
.brand{min-width:210px}
.brand-sigil{color:var(--on-moss)}
.global-search{max-width:620px}
.main-content{max-width:var(--content-max);padding:clamp(28px,3vw,48px) clamp(24px,3.2vw,52px) 100px;container-type:inline-size;container-name:atlas-main}

@media(max-width:940px){
  .app-frame,.nav-collapsed .app-frame{display:block}
  .brand{min-width:auto}.brand-copy{display:none}.scope-pill{display:none}
  .context-nav{position:fixed;z-index:90;left:0;top:var(--topbar-h);width:min(var(--nav-w),88vw);height:calc(100vh - var(--topbar-h));background:var(--canvas-raised);box-shadow:var(--shadow-lg);transform:translateX(-106%);opacity:1;pointer-events:auto}
  .mobile-nav-open .context-nav{transform:none}
  .nav-collapsed .context-nav{opacity:1;pointer-events:auto;transform:translateX(-106%);padding:18px 12px 30px;border-right:1px solid var(--line)}
  .nav-collapsed.mobile-nav-open .context-nav{transform:none}
  .nav-collapsed .nav-primary-row{display:grid;grid-template-columns:minmax(0,1fr) auto}
  .nav-collapsed .nav-primary{width:auto;height:auto;justify-content:flex-start;margin:0;padding:10px 11px}
  .nav-collapsed .nav-primary>span,.nav-collapsed .nav-primary-actions,.nav-collapsed .nav-footer{display:flex}
  .nav-collapsed .nav-footer{display:block}
  .nav-collapsed .nav-group.expanded .nav-children{display:grid}
  .main-content{max-width:none;padding:28px 20px 80px}
  .global-search kbd{display:none}.global-search input{padding-right:12px}
}


/* components.css */
.button,.button-quiet,.button-primary{min-height:39px;padding:0 13px;border:1px solid var(--line);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--paper);color:var(--ink);font-weight:680;font-size:.78rem;transition:background var(--fast),border var(--fast),transform var(--fast),box-shadow var(--fast)}.button:hover,.button-quiet:hover{background:var(--paper-3);transform:translateY(-1px)}.button-primary{background:var(--moss);border-color:var(--moss);color:var(--on-moss);box-shadow:0 8px 22px color-mix(in srgb,var(--moss) 20%,transparent)}.button-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px color-mix(in srgb,var(--moss) 26%,transparent)}.button-quiet{background:transparent}
.page-header{margin-bottom:28px}.page-header.has-mark{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:22px}.page-header-copy{max-width:940px}.page-header-mark{width:96px;height:96px;display:grid;place-items:center;color:var(--scope-accent)}.page-header-mark .element-glyph{width:88px;height:88px}.page-kicker{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:var(--copper);margin-bottom:10px}.page-title{font-family:var(--font-display);font-weight:570;font-size:clamp(2.25rem,5vw,4.6rem);line-height:.98;letter-spacing:-.045em;margin:0;max-width:890px;text-wrap:balance}.page-summary{max-width:760px;color:var(--ink-2);font-size:.98rem;line-height:1.7;margin:15px 0 0}
.surface{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-sm)}.surface-pad{padding:20px}.subtle-surface{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-2)}
.grid{display:grid;gap:15px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric{padding:17px}.metric-label{color:var(--ink-3);font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:780}.metric-value{font-family:var(--font-display);font-size:2rem;line-height:1;margin:8px 0 5px}.metric-note{color:var(--ink-2);font-size:.7rem;line-height:1.45}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 14px}.section-heading h2{font-family:var(--font-display);font-size:1.36rem;font-weight:600;margin:0}.section-heading p{font-size:.74rem;color:var(--ink-3);margin:0}.text-link{color:var(--moss);font-size:.76rem;font-weight:750}.text-link:hover{text-decoration:underline}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.category-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--paper);transition:transform var(--normal) var(--ease),border var(--fast),box-shadow var(--normal)}.category-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--moss) 34%,var(--line));box-shadow:var(--shadow-md)}.category-index{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--moss-soft);color:var(--moss);font-family:var(--font-display);font-size:1rem}.category-card h3{margin:1px 0 6px;font-family:var(--font-display);font-size:1.04rem}.category-card p{margin:0;color:var(--ink-2);font-size:.76rem;line-height:1.5}.category-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;color:var(--ink-3);font-size:.65rem}.category-arrow{color:var(--ink-3);margin-top:10px}
.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:13px}.entity-card{position:relative;display:flex;flex-direction:column;min-height:190px;overflow:hidden;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--paper);transition:transform var(--normal) var(--ease),border var(--fast),box-shadow var(--normal)}.entity-card.has-element-icon{padding-right:86px}.entity-element-icon{position:absolute;z-index:0;right:15px;top:16px;width:58px;height:58px;display:grid;place-items:center;opacity:.34}.entity-element-icon .element-glyph{width:58px;height:58px}.entity-card.has-element-icon>*:not(.entity-element-icon){position:relative;z-index:1}.entity-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--copper) 38%,var(--line));box-shadow:var(--shadow-md)}.entity-type{font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper);font-weight:850}.entity-card h3{font-family:var(--font-display);font-weight:620;font-size:1.16rem;margin:9px 0 7px}.entity-card p{font-size:.75rem;line-height:1.55;color:var(--ink-2);margin:0}.entity-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;color:var(--ink-3);font-size:.66rem}
.badge,.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:var(--paper-2);color:var(--ink-2);font-size:.66rem}.badge.positive{background:var(--moss-soft);color:var(--moss);border-color:transparent}.badge.warning{background:var(--copper-soft);color:var(--copper);border-color:transparent}.badge.danger{background:var(--red-soft);color:var(--red);border-color:transparent}.chip{padding:7px 10px;cursor:pointer}.chip.active{background:var(--moss);color:var(--on-moss);border-color:var(--moss)}.chip-row{display:flex;gap:7px;flex-wrap:wrap}
.filter-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:11px;margin:0 0 18px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.filter-input,.filter-select{height:39px;min-width:160px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);outline:none}.filter-input{flex:1;min-width:220px}.filter-input:focus,.filter-select:focus{border-color:var(--moss);box-shadow:0 0 0 3px color-mix(in srgb,var(--moss) 10%,transparent)}
.empty-state{display:grid;place-items:center;min-height:220px;text-align:center;padding:34px;border:1px dashed var(--line-strong);border-radius:18px;color:var(--ink-3)}.empty-state strong{display:block;color:var(--ink);font-family:var(--font-display);font-size:1.1rem}.empty-state p{max-width:440px;margin:8px 0 0;font-size:.76rem;line-height:1.55}
.data-list{display:grid}.data-row{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:13px;align-items:start;padding:13px 2px;border-bottom:1px solid var(--line)}.data-row:last-child{border:0}.data-date{font-family:var(--font-display);color:var(--copper);font-size:.95rem}.data-main strong{display:block;font-family:var(--font-display);font-size:.94rem}.data-main span{display:block;color:var(--ink-2);font-size:.72rem;line-height:1.45;margin-top:4px}.data-tail{color:var(--ink-3);font-size:.65rem}
.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:start center;padding:10vh 18px 30px;background:var(--overlay-backdrop);backdrop-filter:blur(8px);animation:fade var(--fast)}.modal{width:min(720px,100%);max-height:82vh;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-header h2{font-family:var(--font-display);font-size:1.3rem;margin:0}.result-list{display:grid;gap:4px}.search-result{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px;border-radius:12px}.search-result:hover{background:var(--paper-2)}.result-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--moss-soft);color:var(--moss)}.search-result strong{display:block;font-size:.82rem}.search-result span{display:block;font-size:.67rem;color:var(--ink-3);margin-top:2px}.search-result>small{color:var(--ink-3)}
.account-modal{width:min(520px,100%)}.account-form{display:grid;gap:13px}.account-form label{display:grid;gap:6px}.account-form label>span{font-size:.7rem;font-weight:760;color:var(--ink-2)}.account-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2);color:var(--ink);font:inherit;outline:none}.account-form input:focus{border-color:var(--moss);box-shadow:0 0 0 3px color-mix(in srgb,var(--moss) 12%,transparent)}.account-password-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.account-hint,.account-error{min-height:1.2em;margin:0;font-size:.68rem;line-height:1.45}.account-hint{color:var(--ink-3)}.account-error{color:var(--red);font-weight:680}.account-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.account-static-note{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}.account-static-note strong{font-family:var(--font-display)}.account-static-note p{margin:7px 0 0;color:var(--ink-2);font-size:.75rem;line-height:1.55}.account-form button:disabled{opacity:.55;cursor:wait}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:1200;display:grid;gap:8px}.toast{min-width:250px;max-width:390px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow-md);font-size:.76rem;animation:rise var(--normal)}
@media(max-width:760px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:1fr}}
@media(max-width:520px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.category-card{grid-template-columns:40px minmax(0,1fr)}.category-index{width:40px;height:40px}.category-arrow{display:none}.data-row{grid-template-columns:65px minmax(0,1fr)}.data-tail{display:none}}
@media(max-width:520px){.account-password-grid{grid-template-columns:1fr}.account-actions{align-items:stretch;flex-direction:column}.account-actions>*{width:100%}}

/* Solid accent surfaces need their own foreground in both themes. */
.button-primary,.chip.active{color:var(--on-moss)}

@container atlas-main (max-width:760px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-grid{grid-template-columns:1fr}
}
@container atlas-main (max-width:480px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

@media(max-width:600px){
  .page-header.has-mark{grid-template-columns:64px minmax(0,1fr);gap:14px}
  .page-header-mark{width:64px;height:64px}
  .page-header-mark .element-glyph{width:58px;height:58px}
}




/* components/reality-scope.css */
/* Persistent global Reality Scope: a body-level dial, quick hover switcher and full detail dialog. */
.scope-fab{position:fixed;z-index:850;right:24px;bottom:24px;display:grid;justify-items:end;isolation:isolate}
.scope-fab-trigger{position:relative;z-index:21;width:74px;height:74px;min-height:0;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--realm-accent) 62%,var(--line-strong));border-radius:50%;background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink);line-height:0;box-shadow:0 18px 48px rgba(10,15,11,.28),inset 0 0 0 6px color-mix(in srgb,var(--realm-accent) 10%,transparent);backdrop-filter:blur(18px);transition:transform var(--fast),box-shadow var(--fast)}
.scope-fab-trigger::before{content:"";position:absolute;inset:6px;border:1px dashed color-mix(in srgb,var(--realm-accent) 58%,transparent);border-radius:50%;transform-origin:center;animation:scopeDialBreathe 5.8s cubic-bezier(.45,0,.55,1) infinite}
.scope-fab-trigger::after{content:"";position:absolute;right:5px;top:11px;width:10px;height:10px;border:3px solid var(--paper);border-radius:50%;background:var(--realm-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--realm-accent) 55%,var(--line))}
.scope-fab-trigger:hover,.scope-fab-trigger:focus-visible{transform:translateY(-2px);box-shadow:0 24px 58px rgba(10,15,11,.34),inset 0 0 0 6px color-mix(in srgb,var(--realm-accent) 14%,transparent)}
.scope-fab-trigger:hover::before,.scope-fab-trigger:focus-visible::before,.scope-fab.quick-open .scope-fab-trigger::before{animation-play-state:paused}
.scope-fab-mark{position:relative;z-index:2;width:64px;height:50px;display:flex;align-items:center;justify-content:center}.scope-fab-icons{display:flex;align-items:center;justify-content:center;gap:5px}.scope-fab-icons .element-glyph,.element-glyph.scope-fab-icons{width:28px;height:28px}.scope-fab-mark>.scope-globe{width:36px;height:36px}.scope-fab-mark>.scope-globe svg{width:32px;height:32px}.scope-globe{display:grid;place-items:center;color:var(--realm-accent)}
.scope-quick-menu{position:absolute;z-index:20;right:-10px;bottom:-10px;width:408px;padding:14px 14px 82px;border:1px solid color-mix(in srgb,var(--realm-accent) 26%,var(--line));border-radius:26px 26px 88px 26px;background:radial-gradient(circle at calc(100% - 37px) calc(100% - 37px),transparent 0 48px,color-mix(in srgb,var(--realm-accent) 17%,transparent) 49px 50px,transparent 51px 64px,color-mix(in srgb,var(--realm-accent) 9%,transparent) 65px 66px,transparent 67px),linear-gradient(145deg,color-mix(in srgb,var(--paper) 98%,var(--realm-accent) 2%),color-mix(in srgb,var(--paper) 92%,transparent));box-shadow:0 26px 70px rgba(5,9,7,.3),inset 0 1px 0 color-mix(in srgb,#fff 7%,transparent);backdrop-filter:blur(24px) saturate(115%);opacity:0;visibility:hidden;pointer-events:none;transform:translate(10px,12px) scale(.965);transform-origin:bottom right;transition:opacity var(--normal),visibility var(--normal),transform 320ms var(--ease)}
.scope-quick-menu::before{content:"";position:absolute;right:28px;bottom:28px;width:16px;height:16px;border:1px solid color-mix(in srgb,var(--realm-accent) 55%,var(--line));border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--realm-accent) 7%,transparent);pointer-events:none}
.scope-quick-menu::after{content:"";position:absolute;right:45px;bottom:45px;width:75px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--realm-accent) 46%,transparent));transform:rotate(-45deg);transform-origin:right center;pointer-events:none}
.scope-fab.quick-open .scope-quick-menu,.scope-fab-trigger:focus-visible~.scope-quick-menu,.scope-quick-menu:focus-within{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.scope-quick-heading{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(110px,auto);align-items:center;gap:10px;padding:2px 4px 12px;border-bottom:1px solid color-mix(in srgb,var(--realm-accent) 18%,var(--line))}
.scope-quick-heading-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--realm-accent) 38%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--realm-accent) 7%,var(--paper));color:var(--realm-accent);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--realm-accent) 5%,transparent)}
.scope-quick-heading-icons{display:flex;align-items:center;justify-content:center;gap:2px}.scope-quick-heading-icons .element-glyph,.element-glyph.scope-quick-heading-icons{width:20px;height:20px}.scope-quick-heading-mark>.scope-globe svg{width:22px;height:22px}
.scope-quick-heading-copy,.scope-quick-heading-time{min-width:0}.scope-quick-heading-copy small,.scope-quick-heading-copy strong,.scope-quick-heading-time small,.scope-quick-heading-time strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-quick-heading-copy small,.scope-quick-heading-time small{color:var(--ink-3);font-size:.48rem;font-weight:760;letter-spacing:.11em;text-transform:uppercase}.scope-quick-heading-copy strong{margin-top:2px;font-family:var(--font-display);font-size:.92rem}.scope-quick-heading-time{text-align:right}.scope-quick-heading-time strong{margin-top:3px;color:var(--ink-2);font-size:.58rem;font-weight:720}
.scope-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;margin-top:7px}
.scope-quick-option{position:relative;min-width:0;min-height:52px;display:grid;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:7px;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:26px 12px 12px 26px;background:transparent;color:var(--ink);text-align:left;transition:background var(--fast),border-color var(--fast),transform var(--fast),box-shadow var(--fast)}
.scope-quick-option::after{content:"";position:absolute;right:8px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--line-strong);transform:translateY(-50%);transition:background var(--fast),box-shadow var(--fast)}
.scope-quick-option:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--realm-accent) 25%,var(--line));background:color-mix(in srgb,var(--realm-accent) 7%,var(--paper))}.scope-quick-option:hover::after{background:var(--realm-accent)}
.scope-quick-option.selected{border-color:color-mix(in srgb,var(--realm-accent) 52%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--realm-accent) 13%,var(--paper)),color-mix(in srgb,var(--realm-accent) 3%,transparent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--realm-accent) 8%,transparent)}.scope-quick-option.selected::after{background:var(--realm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--realm-accent) 15%,transparent)}
.scope-time-dial{position:absolute;z-index:4;right:-49px;bottom:-5px;width:172px;height:120px;pointer-events:none;color:var(--ink)}.scope-time-dial-face{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.scope-time-arc{fill:none;stroke:color-mix(in srgb,var(--realm-accent) 82%,var(--line-strong));stroke-width:1.9}.scope-time-ticks{stroke:color-mix(in srgb,var(--realm-accent) 76%,var(--ink-3));stroke-width:1.4}.scope-time-ticks line:nth-child(2n + 1){stroke-width:2}.scope-time-label{fill:var(--ink);stroke:color-mix(in srgb,var(--paper) 88%,transparent);stroke-width:2.4px;paint-order:stroke fill;font-family:var(--font-display);font-size:10px;font-weight:820;letter-spacing:.045em}.scope-time-dial-control{position:absolute;width:24px;height:24px;min-height:0;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--realm-accent) 54%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--paper) 97%,transparent);color:var(--ink-2);box-shadow:var(--shadow-sm);pointer-events:auto;line-height:0;transition:color var(--fast),border-color var(--fast),background var(--fast),transform var(--fast)}.scope-time-dial-control:hover:not(:disabled),.scope-time-dial-control:focus-visible{border-color:var(--realm-accent);background:var(--paper);color:var(--realm-accent);transform:scale(1.08)}.scope-time-dial-control:disabled{opacity:.28}.scope-time-dial-control.is-known.is-previous{left:6px;top:84px}.scope-time-dial-control.is-known.is-next{left:92px;top:-2px}.scope-time-dial-control.is-known.is-previous svg{transform:rotate(-105deg)}.scope-time-dial-control.is-known.is-next svg{transform:rotate(15deg)}
.scope-time-dial-control.is-known.is-previous{left:29px;top:98px}.scope-time-dial-control.is-known.is-next{left:106px;top:21px}.scope-time-dial-control.is-known.is-previous svg{transform:rotate(-125deg)}.scope-time-dial-control.is-known.is-next svg{transform:rotate(35deg)}
.scope-time-quick{position:relative;display:grid;grid-template-columns:30px 30px minmax(0,1fr) auto 30px 30px;align-items:stretch;gap:3px;margin:9px 0 5px;padding:5px;border:1px solid color-mix(in srgb,var(--realm-accent) 30%,var(--line));border-radius:24px;background:linear-gradient(90deg,color-mix(in srgb,var(--realm-accent) 8%,var(--paper-2)),color-mix(in srgb,var(--paper-2) 92%,transparent));box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--paper) 38%,transparent)}
.scope-time-quick::before{content:"";position:absolute;left:38px;right:38px;top:50%;height:1px;background:color-mix(in srgb,var(--realm-accent) 14%,var(--line));pointer-events:none}
.scope-time-step,.scope-time-present,.scope-time-current{position:relative;z-index:1;min-height:40px;border:1px solid transparent;border-radius:18px;background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--ink)}.scope-time-step{display:grid;place-items:center;padding:0}.scope-time-step.is-unit.is-previous svg{transform:rotate(90deg)}.scope-time-step.is-unit.is-next svg{transform:rotate(-90deg)}.scope-time-step:disabled{opacity:.28}.scope-time-step:not(:disabled):hover,.scope-time-present:hover{border-color:color-mix(in srgb,var(--realm-accent) 50%,var(--line-strong));background:var(--paper);color:var(--realm-accent)}.scope-time-current{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:4px 10px;text-align:left}.scope-time-current small,.scope-time-current strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-time-current small{color:var(--ink-3);font-size:.46rem;letter-spacing:.1em;text-transform:uppercase}.scope-time-current strong{margin-top:1px;font-family:var(--font-display);font-size:.76rem}.scope-time-present{padding:0 9px;color:var(--ink-2);font-size:.52rem;font-weight:820;text-transform:uppercase}.scope-time-present.active{border-color:color-mix(in srgb,var(--realm-accent) 48%,var(--line));background:color-mix(in srgb,var(--realm-accent) 12%,var(--paper));color:var(--realm-accent)}
.global-time-modal{width:min(620px,100%)}.global-time-modal .modal-header p{max-width:470px;margin:5px 0 0;color:var(--ink-2);font-size:.68rem}.global-time-picker-body{display:grid;gap:12px}.global-time-picker-body .time-picker-popover{position:static;width:auto;margin-top:8px;box-shadow:none}.global-time-known{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}.global-time-known>*{justify-content:center}.global-time-known>*:last-child{justify-self:stretch}

@keyframes scopeDialBreathe{0%,100%{opacity:.58;transform:scale(.975) rotate(-1deg)}50%{opacity:1;transform:scale(1.035) rotate(1deg)}}
.scope-quick-mark{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--realm-accent) 24%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--realm-accent) 5%,var(--paper-2));color:var(--realm-accent);transition:border-color var(--fast),background var(--fast)}.scope-quick-option:hover .scope-quick-mark,.scope-quick-option.selected .scope-quick-mark{border-color:color-mix(in srgb,var(--realm-accent) 58%,var(--line));background:color-mix(in srgb,var(--realm-accent) 11%,var(--paper))}.scope-quick-icons{display:flex;align-items:center;justify-content:center;gap:2px}.scope-quick-icons .element-glyph,.element-glyph.scope-quick-icons{width:21px;height:21px}.scope-quick-mark>.scope-globe svg{width:23px;height:23px}.scope-quick-copy{min-width:0;padding-right:7px}.scope-quick-copy strong,.scope-quick-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-quick-copy strong{font-family:var(--font-display);font-size:.72rem}.scope-quick-copy small{margin-top:2px;color:var(--ink-3);font-size:.45rem;text-transform:capitalize}
.scope-modal{width:min(980px,100%)}.scope-modal-header{align-items:flex-start}.scope-modal-header>div>h2{margin:2px 0 5px}.scope-modal-header>div>p{max-width:560px;margin:0;color:var(--ink-2);font-size:.72rem;line-height:1.5}
.scope-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scope-picker-card{position:relative;min-height:210px;display:flex;flex-direction:column;gap:9px;overflow:hidden;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--paper-2);color:var(--ink);text-align:left;transition:transform var(--fast),border-color var(--fast),background var(--fast)}.scope-picker-card::before{content:"";position:absolute;right:-27px;top:-31px;width:105px;height:105px;border:1px solid color-mix(in srgb,var(--realm-identity-accent) 32%,transparent);border-radius:50%;background:color-mix(in srgb,var(--realm-identity-accent) 13%,transparent)}.scope-picker-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--realm-accent) 54%,var(--line));background:var(--paper)}.scope-picker-card.selected{border-color:var(--realm-accent);box-shadow:inset 0 4px 0 var(--realm-accent);background:color-mix(in srgb,var(--realm-accent) 8%,var(--paper))}.scope-card-watermark{position:absolute;z-index:0;right:8px;top:12px;width:144px;height:104px;opacity:.105;transform:rotate(-7deg);pointer-events:none}.scope-card-watermark-icons:not(.element-glyph){position:relative;display:block;width:100%;height:100%}.scope-card-watermark-icons:not(.element-glyph) .element-glyph{position:absolute;width:78px;height:78px}.scope-card-watermark-icons:not(.element-glyph) .element-glyph:first-child{left:0;top:0}.scope-card-watermark-icons:not(.element-glyph) .element-glyph:last-child{right:0;bottom:0}.element-glyph.scope-card-watermark-icons{position:absolute;right:4px;top:0;width:88px;height:88px}.scope-card-watermark>.scope-globe{position:absolute;right:4px;top:0;width:88px;height:88px}.scope-card-watermark>.scope-globe svg{width:78px;height:78px}.scope-picker-card.has-element-pair .scope-card-watermark{inset:0;width:auto;height:auto;opacity:1;transform:none}.scope-picker-card.has-element-pair .scope-card-watermark::before,.scope-picker-card.has-element-pair .scope-card-watermark::after{content:"";position:absolute;z-index:3;width:5px;height:5px;border-radius:50%;background:var(--realm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--realm-accent) 18%,transparent);opacity:.88}.scope-picker-card.has-element-pair .scope-card-watermark::before{right:66px;top:49px}.scope-picker-card.has-element-pair .scope-card-watermark::after{right:45px;top:66px}.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph){position:absolute;inset:0;width:auto;height:auto}.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph) .element-glyph{position:absolute;width:78px;height:78px;opacity:.14;transform:rotate(-7deg)}.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph) .element-glyph:first-child{left:auto;right:86px;top:54px}.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph) .element-glyph:last-child{right:22px;top:86px;bottom:auto}.scope-picker-copy{position:relative;z-index:1;min-width:0;max-width:76%}.scope-picker-card.has-element-pair .scope-picker-copy{max-width:calc(100% - 126px)}.scope-picker-copy strong,.scope-picker-copy small{display:block}.scope-picker-copy strong{font-family:var(--font-display);font-size:1rem}.scope-picker-copy small{display:-webkit-box;margin-top:8px;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical;color:var(--ink-2);font-size:.64rem;line-height:1.48}.scope-picker-status{position:relative;z-index:1;align-self:flex-start;margin-top:auto;color:var(--realm-accent);font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

.scope-picker-card.has-element-pair .scope-card-watermark::before{right:75px;top:19px}
.scope-picker-card.has-element-pair .scope-card-watermark::after{right:23px;top:72px}
.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph) .element-glyph:first-child{right:64px;top:14px}
.scope-picker-card.has-element-pair .scope-card-watermark-icons:not(.element-glyph) .element-glyph:last-child{right:4px;top:75px}
.scope-picker-card.has-element-pair .scope-picker-copy{max-width:calc(100% - 140px)}
.scope-picker-card.scope-template-card{gap:0;min-height:210px;padding:16px;border-radius:16px;background:var(--paper)}
.scope-modal .scope-picker-card.scope-template-card{height:176px;min-height:176px;padding:14px}
.scope-modal .scope-template-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.38}
.scope-modal .scope-template-card .realm-card-footer{position:absolute;z-index:2;left:14px;bottom:14px;margin:0}
.scope-picker-card.scope-template-card::before{right:-22px;top:-25px;width:80px;height:80px;border-color:color-mix(in srgb,var(--realm-accent) 32%,transparent);background:color-mix(in srgb,var(--realm-accent) 14%,transparent)}
.scope-picker-card.scope-template-card:hover{background:var(--paper)}
.scope-picker-card.scope-template-card.selected{background:color-mix(in srgb,var(--realm-accent) 8%,var(--paper))}
.scope-template-card .scope-generic-glyph{display:grid;place-items:center}
.scope-template-card .scope-generic-glyph svg{width:100%;height:100%;stroke-width:1.35}

@media(max-width:720px){.scope-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-fab{right:15px;bottom:15px}.scope-fab-trigger{width:68px;height:68px}.scope-quick-menu{display:none}}
@media(min-width:721px) and (min-height:720px){.modal-backdrop:has(.scope-modal){place-items:center;padding:20px 18px}.scope-modal{max-height:calc(100vh - 40px);overflow:hidden}}
@media(max-width:460px){.scope-picker-grid{grid-template-columns:1fr}.scope-picker-card{min-height:188px}.scope-picker-copy{max-width:82%}.scope-picker-card.has-element-pair .scope-picker-copy{max-width:calc(100% - 118px)}.scope-fab-trigger{width:62px;height:62px}.scope-fab-mark{transform:scale(.9)}.empty-map-watermark .element-glyph{width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){.scope-fab-trigger::before{animation:none}}


/* views.css */
.hero{position:relative;overflow:hidden;min-height:420px;padding:clamp(28px,5vw,70px);border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(122deg,var(--paper) 0%,var(--paper) 57%,var(--paper-2) 100%);box-shadow:var(--shadow-sm)}.hero::after{content:"";position:absolute;width:440px;height:440px;right:-125px;top:-110px;border:1px solid color-mix(in srgb,var(--scope-accent) 22%,transparent);border-radius:43% 57% 58% 42%/46% 39% 61% 54%;box-shadow:inset 0 0 0 34px color-mix(in srgb,var(--scope-accent) 4%,transparent),inset 0 0 0 68px color-mix(in srgb,var(--copper) 4%,transparent);transform:rotate(17deg)}.hero-content{position:relative;z-index:1;max-width:760px}.hero h1{font-family:var(--font-display);font-size:clamp(3rem,7vw,6.9rem);font-weight:520;line-height:.88;letter-spacing:-.055em;margin:0}.hero p{max-width:650px;color:var(--ink-2);font-size:1rem;line-height:1.7;margin:20px 0 0}.hero-note{position:absolute;z-index:2;right:35px;bottom:30px;width:205px;padding:15px;border-left:2px solid var(--copper);color:var(--ink-2);font-size:.7rem;line-height:1.55}
.module-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:14px}.module-link{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);transition:transform var(--normal),background var(--fast)}.module-link:hover{transform:translateY(-2px);background:var(--paper-2)}.module-link svg{color:var(--moss);margin-bottom:12px}.module-link strong{display:block;font-family:var(--font-display);font-size:.94rem}.module-link span{display:block;margin-top:3px;color:var(--ink-3);font-size:.64rem;line-height:1.4}
.realm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px}.realm-card{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:210px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.realm-card::before{content:"";position:absolute;right:-22px;top:-25px;width:80px;height:80px;border:1px solid color-mix(in srgb,var(--realm-accent,var(--moss)) 32%,transparent);border-radius:50%;background:color-mix(in srgb,var(--realm-accent,var(--moss)) 14%,transparent)}.realm-card strong{font-family:var(--font-display);display:block;position:relative;max-width:calc(100% - 110px)}.realm-card p{max-width:calc(100% - 132px);font-size:.7rem;line-height:1.5;color:var(--ink-2);margin:8px 0 0}.realm-card:hover{border-color:color-mix(in srgb,var(--realm-accent,var(--moss)) 48%,var(--line));box-shadow:var(--shadow-sm)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.article-prose{font-size:.95rem;line-height:1.78}.article-prose>p{color:var(--ink-2);font-size:1.02rem}.preserve-lines{white-space:pre-line}.article-prose h2{font-family:var(--font-display);font-size:1.52rem;font-weight:620;margin:34px 0 9px}.article-prose h2::before{content:"";display:inline-block;width:23px;height:1px;background:var(--copper);vertical-align:middle;margin-right:10px}.article-aside{align-self:start;position:sticky;top:calc(var(--topbar-h) + 20px);display:grid;gap:13px}.fact-list{margin:0}.fact-row{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.2fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.72rem}.fact-row dt{color:var(--ink-3)}.fact-row dd{margin:0;color:var(--ink);font-weight:650;overflow-wrap:anywhere}.relation-group{padding:13px}.relation-group+.relation-group{border-top:1px solid var(--line)}.relation-group-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:8px}.relation-links{display:flex;gap:6px;flex-wrap:wrap}.source-record{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.source-record:last-child{border-bottom:0}.source-record strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.source-record span{font-size:.7rem;color:var(--ink-2)}.source-record small{font-size:.62rem;color:var(--ink-3)}
.timeline-shell{position:relative}.timeline-periods{display:flex;gap:6px;overflow:auto;padding-bottom:4px}.timeline-track{position:relative;margin-top:18px;padding-left:128px}.timeline-track::before{content:"";position:absolute;left:109px;top:0;bottom:0;width:1px;background:var(--line-strong)}.timeline-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px 16px;margin:0 0 10px;border:1px solid var(--line);border-radius:15px;background:var(--paper);transition:transform var(--fast),border var(--fast)}.timeline-event::before{content:"";position:absolute;left:-25px;top:23px;width:9px;height:9px;border:3px solid var(--canvas);border-radius:50%;background:var(--copper);box-shadow:0 0 0 1px var(--copper)}.timeline-date{position:absolute;left:-125px;top:18px;width:88px;text-align:right;font-family:var(--font-display);font-size:.9rem;color:var(--copper)}.timeline-event:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--copper) 38%,var(--line))}.timeline-event h3{font-family:var(--font-display);margin:0;font-size:1.02rem}.timeline-event p{margin:5px 0 0;color:var(--ink-2);font-size:.72rem;line-height:1.45}.timeline-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.map-workspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px}.map-stage{position:relative;min-height:620px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--paper-3),var(--paper-2) 55%,var(--canvas));box-shadow:var(--shadow-sm);filter:var(--map-stage-filter)}.map-stage svg{position:absolute;inset:0;width:100%;height:100%}.legacy-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--map-source-matte)}.map-source-thumbnail{display:block;width:100%;margin-top:14px;border:1px solid var(--line);border-radius:10px;background:var(--map-source-matte)}.map-watermark{position:absolute;z-index:2;left:24px;top:20px;color:var(--map-hud-muted);font-family:var(--font-display);font-size:1.4rem;text-shadow:0 1px 7px color-mix(in srgb,var(--map-canvas) 70%,transparent)}.map-toolbar{position:absolute;z-index:2;left:14px;bottom:14px;display:flex;gap:6px;padding:6px;border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.map-legend{padding:17px}.layer-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.73rem}.layer-row input{accent-color:var(--moss)}.layer-swatch{width:10px;height:10px;border-radius:3px}.map-feature{cursor:pointer;transition:opacity var(--fast),filter var(--fast)}.map-feature:hover{filter:brightness(1.08);opacity:.9}.map-marker{cursor:pointer;filter:drop-shadow(0 2px 2px color-mix(in srgb,var(--ink) 25%,transparent))}
.dictionary-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px}.language-list{padding:8px}.language-option{display:block;width:100%;padding:11px;border:0;border-radius:11px;background:transparent;text-align:left;color:var(--ink-2)}.language-option:hover{background:var(--paper-2)}.language-option.active{background:var(--moss-soft);color:var(--moss);font-weight:760}.language-option small{display:block;color:var(--ink-3);margin-top:3px}.lexeme-table{width:100%;border-collapse:collapse}.lexeme-table th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line-strong);font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.lexeme-table td{padding:12px 10px;border-bottom:1px solid var(--line);font-size:.73rem;vertical-align:top}.lexeme-form{font-family:var(--font-display);font-size:1rem}.lexeme-meaning{color:var(--ink-2);line-height:1.45}
.story-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.story-card{display:flex;flex-direction:column;min-height:300px;padding:19px;border:1px solid var(--line);border-radius:19px;background:var(--paper);transition:transform var(--normal),box-shadow var(--normal),border var(--fast)}.story-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--copper) 32%,var(--line))}.story-meta{display:flex;align-items:center;justify-content:space-between;gap:9px}.story-card h3{font-family:var(--font-display);font-size:1.28rem;line-height:1.1;margin:18px 0 11px}.story-excerpt{font-family:var(--font-display);font-size:.93rem;line-height:1.55;color:var(--ink-2);font-style:italic;margin:0}.story-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;color:var(--ink-3);font-size:.66rem}
.insight-chart{height:170px;display:flex;align-items:end;gap:12px;padding:22px 14px 8px;border-bottom:1px solid var(--line)}.chart-bar-group{flex:1;display:flex;align-items:end;justify-content:center;gap:4px;height:100%}.chart-bar{width:min(32px,42%);min-height:3px;border-radius:6px 6px 2px 2px;background:var(--moss)}.chart-bar.capacity{background:var(--copper-soft);border:1px solid var(--copper)}.chart-labels{display:flex;justify-content:space-around;padding:8px 14px 15px;color:var(--ink-3);font-size:.63rem}
@media(max-width:960px){.module-strip{grid-template-columns:repeat(3,1fr)}.hero-note{display:none}.article-layout,.map-workspace{grid-template-columns:1fr}.article-aside{position:static}.map-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.dictionary-layout{grid-template-columns:1fr}.language-list{display:flex;overflow:auto}}
@media(max-width:620px){.hero{min-height:390px;padding:28px 23px}.module-strip{grid-template-columns:repeat(2,1fr)}.module-link:last-child{grid-column:1/-1}.timeline-track{padding-left:70px}.timeline-track::before{left:58px}.timeline-date{left:-70px;width:48px;font-size:.73rem}.timeline-event::before{left:-18px}.map-stage{min-height:470px}.map-legend{grid-template-columns:1fr}.lexeme-table th:nth-child(3),.lexeme-table td:nth-child(3){display:none}}

/* Home adapts to the article column, not to the outer browser width. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(185px,220px);align-items:end;gap:34px;min-height:430px}
.hero-content{grid-column:1;max-width:720px}
.hero-note{position:relative;right:auto;bottom:auto;width:auto;padding:16px 0 2px 16px;background:color-mix(in srgb,var(--paper) 72%,transparent)}
.module-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

.map-area-type-swatch{background:color-mix(in srgb,var(--geometry-color) 22%,transparent)}

@container atlas-main (max-width:800px){
  .hero{grid-template-columns:1fr;align-items:start;gap:22px;min-height:auto}
  .hero-note{max-width:520px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--copper);border-radius:12px}
  .module-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .article-layout,.map-workspace,.dictionary-layout{grid-template-columns:1fr}
  .article-aside{position:static}
  .map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .language-list{display:flex;overflow:auto}
}
@container atlas-main (max-width:540px){
  .hero{padding:28px 23px}.hero h1{font-size:clamp(2.8rem,14vw,4.5rem)}
  .module-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.module-link:last-child{grid-column:1/-1}
  .timeline-track{padding-left:70px}.timeline-track::before{left:58px}.timeline-date{left:-70px;width:48px;font-size:.73rem}.timeline-event::before{left:-18px}
  .timeline-event{grid-template-columns:1fr}.timeline-event>.badge{justify-self:start}
  .map-legend{grid-template-columns:1fr}
}

/* Element assets are transparent artwork. They stay unboxed and become quiet identity marks. */
.element-glyph{display:block;width:1em;height:1em;flex:0 0 auto;background:transparent;border:0;border-radius:0;padding:0;overflow:visible}
.element-glyph img{display:block;width:100%;height:100%;object-fit:contain}
.element-glyph img{filter:var(--element-glyph-filter)}
.realm-glyphs{display:flex;align-items:center;justify-content:center;gap:4px}
.realm-card{transition:transform var(--fast),border-color var(--fast),box-shadow var(--fast)}
.realm-card:hover{transform:translateY(-2px)}
.realm-card-decoration{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.realm-card-decoration::before,.realm-card-decoration::after{content:"";position:absolute;z-index:3;width:5px;height:5px;border-radius:50%;background:var(--realm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--realm-accent) 18%,transparent);opacity:.88}
.realm-card-decoration::before{right:55px;top:16px}
.realm-card-decoration::after{right:16px;top:52px}
.realm-card-watermark{position:absolute;inset:0;opacity:1}
.realm-card-watermark .element-glyph{position:absolute;width:66px;height:66px;opacity:.14;transform:rotate(-7deg)}
.realm-card-watermark .element-glyph:first-child{right:62px;top:6px}
.realm-card-watermark .element-glyph:last-child{right:4px;top:60px}
.realm-card strong,.realm-card p,.realm-card-footer{position:relative;z-index:2}
.realm-card-footer{display:flex;align-items:flex-end;margin-top:auto;padding-top:16px}
.realm-card .badge{position:static;align-self:center;flex:0 0 auto}

/* Timeline axis selection and synchronized UT comparison. */
.timeline-controls{display:grid;gap:12px;padding:14px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-sm)}
.timeline-presets,.timeline-periods{display:flex;align-items:center;gap:7px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
.timeline-control-label{flex:0 0 auto;margin-right:4px;color:var(--ink-3);font-size:.61rem;font-weight:820;letter-spacing:.12em;text-transform:uppercase}
.timeline-axis-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px}
.timeline-axis-toggle{position:relative;min-width:0;min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:9px;overflow:hidden;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2);color:var(--ink-2);transition:transform var(--fast),border-color var(--fast),background var(--fast)}
.timeline-axis-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--realm-accent) 48%,var(--line));background:var(--paper)}
.timeline-axis-toggle.active{border-color:color-mix(in srgb,var(--realm-accent) 58%,var(--line));background:color-mix(in srgb,var(--realm-accent) 10%,var(--paper));box-shadow:inset 0 3px 0 color-mix(in srgb,var(--realm-accent) 82%,transparent)}
.timeline-axis-copy{position:relative;z-index:2;min-width:0}.timeline-axis-toggle strong,.timeline-axis-toggle small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-axis-toggle strong{font-family:var(--font-display);font-size:.84rem;color:var(--ink)}.timeline-axis-toggle small{margin-top:2px;font-size:.59rem;color:var(--ink-3)}
.timeline-axis-watermark{position:absolute;right:25px;top:50%;display:flex;align-items:center;gap:7px;transform:translateY(-50%) rotate(-6deg);opacity:.075;pointer-events:none}.timeline-axis-watermark .element-glyph,.timeline-axis-watermark.element-glyph{width:46px;height:46px}.axis-check{position:relative;z-index:3;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--realm-accent);font-size:.68rem;font-weight:900}
.timeline-periods{margin:0 0 18px;padding:5px 2px}
.local-timeline{padding:16px 18px 20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--realm-accent) 7%,var(--paper)),var(--paper) 180px);box-shadow:var(--shadow-sm)}
.local-timeline-header{position:relative;display:flex;align-items:center;min-height:76px;overflow:hidden;padding:2px 3px 15px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.local-timeline-copy{position:relative;z-index:2}.local-timeline-copy>span,.local-timeline-header strong,.local-timeline-header small{display:block}.local-timeline-copy>span{font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;color:var(--realm-accent);font-weight:830}.local-timeline-header strong{margin:2px 0;font-family:var(--font-display);font-size:1.18rem}.local-timeline-header small{color:var(--ink-3);font-size:.66rem}
.local-timeline-watermark{position:absolute;right:0;top:50%;display:flex;align-items:center;gap:10px;transform:translateY(-50%) rotate(-7deg);opacity:.065}.local-timeline-watermark .element-glyph,.local-timeline-watermark.element-glyph{width:72px;height:72px}
.local-timeline .timeline-track::before{background:color-mix(in srgb,var(--realm-accent) 48%,var(--line))}.local-timeline .timeline-event::before{background:var(--realm-accent);box-shadow:0 0 0 1px var(--realm-accent)}.local-timeline .timeline-date{color:var(--realm-accent)}
.timeline-event.selected,.timeline-mini-event.selected{border-color:var(--realm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--realm-accent) 14%,transparent)}
.timeline-matrix-shell{border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}
.timeline-matrix-note{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);font-size:.69rem}
.timeline-matrix-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.timeline-matrix{display:grid;grid-template-columns:104px repeat(var(--lane-count),minmax(250px,1fr));align-items:stretch;background:var(--line);gap:1px}
.timeline-matrix-corner,.timeline-lane-head,.timeline-matrix-time,.timeline-matrix-cell{background:var(--paper)}
.timeline-matrix-corner{position:sticky;z-index:4;left:0;top:0;display:flex;flex-direction:column;justify-content:center;padding:13px;background:var(--paper-2)}
.timeline-matrix-corner strong{font-family:var(--font-display);font-size:1rem}.timeline-matrix-corner span{font-size:.57rem;color:var(--ink-3)}
.timeline-lane-head{position:sticky;z-index:3;top:0;display:flex;align-items:center;min-height:68px;overflow:hidden;padding:10px 12px;background:color-mix(in srgb,var(--realm-accent) 8%,var(--paper));box-shadow:inset 0 3px 0 var(--realm-accent)}
.timeline-lane-copy{position:relative;z-index:2}.timeline-lane-copy>strong,.timeline-lane-copy>small{display:block}.timeline-lane-copy>strong{font-family:var(--font-display);font-size:.91rem}.timeline-lane-copy>small{margin-top:3px;color:var(--ink-3);font-size:.59rem}.timeline-lane-watermark{position:absolute;right:8px;top:50%;display:flex;align-items:center;gap:7px;transform:translateY(-50%) rotate(-7deg);opacity:.07}.timeline-lane-watermark .element-glyph,.timeline-lane-watermark.element-glyph{width:50px;height:50px}
.timeline-matrix-time{position:sticky;z-index:2;left:0;min-height:108px;padding:14px 10px;text-align:right;background:var(--paper-2)}.timeline-matrix-time strong,.timeline-matrix-time span{display:block}.timeline-matrix-time strong{font-family:var(--font-display);font-size:.92rem;color:var(--copper)}.timeline-matrix-time span{margin-top:3px;color:var(--ink-3);font-size:.56rem}
.timeline-matrix-cell{min-height:108px;padding:8px;background:var(--canvas-raised)}
.timeline-mini-event{position:relative;padding:10px;margin-bottom:6px;border:1px solid color-mix(in srgb,var(--realm-accent) 27%,var(--line));border-radius:12px;background:var(--paper);box-shadow:inset 3px 0 0 color-mix(in srgb,var(--realm-accent) 78%,transparent)}.timeline-mini-event:last-child{margin-bottom:0}.timeline-mini-time{display:block;margin-bottom:5px;color:var(--realm-accent);font-size:.57rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.timeline-mini-event h3{margin:0;font-family:var(--font-display);font-size:.8rem;line-height:1.2}.timeline-mini-event h3 a:hover{text-decoration:underline}.timeline-mini-event p{margin:5px 0 0;color:var(--ink-2);font-size:.62rem;line-height:1.4}.timeline-shared{display:flex;align-items:center;gap:4px;margin-top:8px;color:var(--ink-3);font-size:.56rem}

/* Usable map viewport: transformable canvas plus controls separated from the artwork. */
.map-workspace{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:16px}
.map-viewer{position:relative;min-height:clamp(520px,68vh,720px);overflow:hidden;border:1px solid var(--line-strong);border-radius:22px;background:var(--map-canvas);box-shadow:var(--shadow-md);touch-action:none;cursor:grab;isolation:isolate}
.map-viewer.is-dragging{cursor:grabbing}.map-viewer:focus-visible{outline-offset:4px}
.map-canvas{position:absolute;inset:0;transform-origin:center center}.map-canvas svg{position:absolute;inset:0;width:100%;height:100%}
.map-canvas .legacy-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;pointer-events:none;user-select:none}
.map-viewer-bar{position:absolute;z-index:5;left:13px;right:13px;top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.map-viewer-identity,.map-zoom-readout{border:1px solid var(--map-hud-line);background:var(--map-hud-bg);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(12px)}
.map-viewer-identity{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 11px;border-radius:13px}.map-viewer-identity strong,.map-viewer-identity small{display:block}.map-viewer-identity strong{font-family:var(--font-display);font-size:.95rem}.map-viewer-identity small{margin-top:2px;color:var(--map-hud-muted);font-size:.58rem;text-transform:capitalize}.map-realm-icons{display:flex;gap:2px}.map-realm-icons .element-glyph{width:20px;height:27px;filter:brightness(1.5)}
.map-zoom-readout{flex:0 0 auto;padding:8px 10px;border-radius:10px;font-size:.69rem;font-weight:800}
.map-help{position:absolute;z-index:5;left:50%;bottom:74px;transform:translateX(-50%);padding:7px 10px;border:1px solid var(--map-hud-line);border-radius:9px;background:var(--map-hud-bg);color:var(--map-hud-muted);font-size:.6rem;white-space:nowrap;pointer-events:none;backdrop-filter:blur(10px)}
.map-toolbar{left:50%;bottom:15px;transform:translateX(-50%);gap:4px;padding:5px;border:1px solid var(--map-hud-line);border-radius:14px;background:var(--map-hud-bg)}
.map-tool{min-width:66px;height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:transparent;color:var(--map-hud-text);font-size:.65rem;font-weight:780}.map-tool:hover{background:var(--map-hud-hover)}.map-tool:active{transform:scale(.97)}
.map-toolbar-divider{align-self:stretch;width:1px;margin:4px;background:var(--map-hud-line)}.map-toolbar-mode{display:flex;align-items:center;padding:0 8px;color:var(--map-hud-muted);font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.map-viewer-actions{display:flex;align-items:center;gap:7px;pointer-events:auto}.map-edit-map{min-height:35px;padding:0 10px;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);color:var(--map-hud-text);display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:800;backdrop-filter:blur(12px)}.map-edit-map:hover{background:var(--map-hud-hover)}
.map-time-control{display:grid;gap:7px;margin-top:10px;color:var(--ink-2);font-size:.65rem;font-weight:750}.map-time-control select{min-width:0;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);font:inherit}.map-marker-icon-object{overflow:visible;pointer-events:auto}.map-marker-icon{width:100%;height:100%;display:grid;place-items:center;color:var(--marker-color);filter:drop-shadow(0 1px 1px rgba(255,255,255,.7)) drop-shadow(0 2px 2px rgba(0,0,0,.72))}.map-marker-icon>svg{width:84%;height:84%}.map-marker-icon>.registered-asset-icon{width:84%!important;height:84%!important;background-color:currentColor;filter:none}.map-line-feature[data-area-part="label"]{font-family:var(--font-display);font-weight:750;stroke:#111713;stroke-width:5px;paint-order:stroke fill;stroke-linejoin:round}.map-feature.selected{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px var(--scope-accent))}
.map-workspace.is-map-windowed{position:fixed;z-index:950;inset:var(--topbar-h) 0 0 0;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:0;padding:12px;background:var(--canvas)}.map-workspace.is-map-windowed .map-viewer{min-height:0;height:calc(100vh - var(--topbar-h) - 24px);border-radius:16px}.map-workspace.is-map-windowed .map-panel{height:calc(100vh - var(--topbar-h) - 24px);overflow:auto;position:static;border-radius:16px}.map-workspace:fullscreen{padding:12px;background:var(--canvas);grid-template-columns:minmax(0,1fr) minmax(250px,320px)}.map-workspace:fullscreen .map-viewer{height:calc(100vh - 24px);min-height:0}.map-workspace:fullscreen .map-panel{height:calc(100vh - 24px);overflow:auto;position:static}.map-window-open{overflow:hidden}
.map-workspace.is-map-fullscreen-fallback{position:fixed;z-index:1200;inset:0;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:0;padding:12px;background:var(--canvas)}.map-workspace.is-map-fullscreen-fallback .map-viewer{min-height:0;height:calc(100vh - 24px);border-radius:16px}.map-workspace.is-map-fullscreen-fallback .map-panel{height:calc(100vh - 24px);overflow:auto;position:static;border-radius:16px}
.map-panel{position:sticky;top:calc(var(--topbar-h) + 16px);overflow:hidden}
.map-panel-section{padding:16px;border-bottom:1px solid var(--line)}.map-panel-section:last-child{border-bottom:0}.map-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-panel-heading .context-label{margin-bottom:3px}.map-panel-heading strong{font-family:var(--font-display);font-size:.94rem}.map-panel-reset{min-height:32px;padding:0 9px;font-size:.65rem}
.map-zoom-control{display:grid;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;gap:9px;margin-top:14px;color:var(--ink-2);font-size:.68rem}.map-zoom-control input{width:100%;accent-color:var(--moss)}.map-zoom-control output{text-align:right;font-weight:780;color:var(--ink)}.map-panel-hint{margin:10px 0 0;color:var(--ink-3);font-size:.62rem;line-height:1.45}
.map-panel .layer-row{align-items:center;cursor:pointer}.map-panel .layer-row>span:last-child{min-width:0}.map-panel .layer-row strong,.map-panel .layer-row small{display:block}.map-panel .layer-row strong{font-size:.72rem}.map-panel .layer-row small{margin-top:2px;color:var(--ink-3);font-size:.58rem}.map-panel .layer-swatch{flex:0 0 11px;width:11px;height:11px}.map-source-thumbnail{margin-top:12px;max-height:165px;object-fit:cover;object-position:center;border-radius:12px}
.map-feature-overlay{z-index:1}.map-marker-visibility .map-panel-heading{align-items:flex-start}.map-marker-filter-groups{display:grid;gap:7px;margin-top:12px}.map-marker-filter-group{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.map-marker-filter-head{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:4px;padding:7px}.map-marker-filter-head>label{min-width:0;display:grid;grid-template-columns:17px 11px minmax(0,1fr);align-items:center;gap:8px;cursor:pointer}.map-marker-filter-head input,.map-marker-type-row input,.map-marker-instance-list input{width:15px;height:15px;accent-color:var(--scope-accent)}.map-marker-filter-head strong,.map-marker-filter-head small,.map-marker-type-row strong,.map-marker-type-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-marker-filter-head strong{font-family:var(--font-display);font-size:.73rem}.map-marker-filter-head small{margin-top:2px;color:var(--ink-3);font-size:.52rem}.map-marker-group-swatch{width:10px;height:30px;border-radius:999px;background:var(--marker-group-color)}.map-marker-expand{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-3);display:grid;place-items:center;transition:transform var(--fast),background var(--fast)}.map-marker-expand:hover{background:var(--paper)}.map-marker-expand[aria-expanded="true"]{transform:rotate(180deg)}.map-marker-filter-body{padding:0 7px 7px}.map-marker-type-block{border-top:1px solid var(--line)}.map-marker-type-row{min-height:46px;display:grid;grid-template-columns:17px 34px minmax(0,1fr);align-items:center;gap:8px;cursor:pointer}.map-marker-type-icon{width:31px;height:31px;border:1px solid color-mix(in srgb,var(--marker-type-color) 40%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--marker-type-color) 14%,var(--paper));color:var(--marker-type-color);display:grid;place-items:center}.map-marker-type-icon>.registered-asset-icon{width:21px!important;height:21px!important;filter:drop-shadow(0 0 1px var(--ink))}.map-marker-type-row strong{font-size:.65rem}.map-marker-type-row small{margin-top:2px;color:var(--ink-3);font-size:.5rem}.map-marker-instance-list{display:grid;gap:3px;padding:0 0 7px 59px}.map-marker-instance-list label{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-size:.57rem;cursor:pointer}.map-marker-instance-list input:disabled+span{opacity:.45}
.map-geometry-visibility .map-panel-heading{align-items:flex-start}.map-geometry-block{margin-top:13px}.map-geometry-block+.map-geometry-block{padding-top:13px;border-top:1px solid var(--line)}.map-geometry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.map-geometry-heading strong{font-family:var(--font-display);font-size:.77rem}.map-geometry-heading small{color:var(--ink-3);font-size:.51rem}.map-geometry-list{display:grid;gap:5px}.map-geometry-row{min-width:0;min-height:43px;display:grid;grid-template-columns:16px 36px minmax(0,1fr);align-items:center;gap:8px;padding:5px 7px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);cursor:pointer}.map-geometry-row input,.map-area-modes input{width:15px;height:15px;accent-color:var(--scope-accent)}.map-geometry-row strong,.map-geometry-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-geometry-row strong{font-size:.65rem}.map-geometry-row small{margin-top:2px;color:var(--ink-3);font-size:.5rem}.map-line-type-swatch{width:33px;border-top:var(--geometry-width) var(--geometry-style) var(--geometry-color)}.map-area-type-swatch{width:31px;height:27px;border:2px solid var(--geometry-border);border-radius:8px;background:color-mix(in srgb,var(--geometry-color) calc(var(--geometry-opacity) * 100%),transparent)}.map-area-type-swatch.fill-none{background:transparent}.map-area-type-swatch.fill-lines{background:repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--geometry-color) 42%,transparent) 5px 7px)}.map-area-type-swatch.fill-crosshatch{background:repeating-linear-gradient(45deg,transparent 0 5px,color-mix(in srgb,var(--geometry-color) 38%,transparent) 5px 7px),repeating-linear-gradient(135deg,transparent 0 5px,color-mix(in srgb,var(--geometry-color) 38%,transparent) 5px 7px)}.map-area-type-swatch.fill-dots{background:radial-gradient(circle,var(--geometry-color) 1.5px,transparent 2px) 0 0/8px 8px}.map-area-type-swatch.fill-image{background:linear-gradient(135deg,color-mix(in srgb,var(--geometry-color) 14%,var(--paper)),color-mix(in srgb,var(--geometry-color) 55%,var(--paper)))}.map-area-type-row{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.map-area-type-row .map-geometry-row{border:0;border-radius:0;background:transparent}.map-area-modes{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.map-area-modes label{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;color:var(--ink-2);font-size:.55rem;font-weight:750;cursor:pointer}.map-area-modes label+label{border-left:1px solid var(--line)}.map-area-modes label:has(input:checked){background:color-mix(in srgb,var(--scope-accent) 10%,var(--paper));color:var(--scope-accent)}.map-area-modes input:disabled+span{opacity:.4}.map-area-feature{transition:opacity var(--fast)}.map-area-feature.map-label-feature,.map-area-feature[data-area-part="label"]{font-family:var(--font-display);font-size:30px;font-weight:700;fill:var(--ink);stroke:var(--paper);stroke-width:7px;paint-order:stroke fill;stroke-linejoin:round;pointer-events:none}.map-line-feature{filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.map-marker-feature text{fill:var(--ink);stroke:var(--paper);stroke-width:5px;paint-order:stroke fill;font-size:27px;font-weight:700;stroke-linejoin:round}
.map-contour-visibility-list{display:grid;gap:6px;margin-top:12px}.map-contour-visibility-row{min-width:0;display:grid;grid-template-columns:16px 38px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);cursor:pointer}.map-contour-visibility-row input{width:15px;height:15px;accent-color:var(--scope-accent)}.map-contour-visibility-row strong,.map-contour-visibility-row small{display:block}.map-contour-visibility-row strong{font-size:.65rem}.map-contour-visibility-row small{margin-top:2px;color:var(--ink-3);font-size:.5rem;line-height:1.35}.map-contour-visibility-swatch{width:36px;border-top:1px solid var(--contour-visibility-color)}.map-contour-visibility-swatch.is-major{border-top-width:2px}

@container atlas-main (max-width:800px){
  .timeline-axis-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-panel-section:last-child{grid-column:1/-1}.map-viewer{min-height:570px}
}
@container atlas-main (max-width:540px){
  .timeline-axis-picker{display:flex;overflow:auto;padding-bottom:3px}.timeline-axis-toggle{flex:0 0 148px}
  .local-timeline{padding:12px 10px 17px}.timeline-matrix{grid-template-columns:88px repeat(var(--lane-count),minmax(220px,1fr))}.timeline-matrix-corner,.timeline-matrix-time{width:88px}.timeline-matrix-note{align-items:flex-start}
  .map-viewer{min-height:480px;border-radius:17px}.map-panel{display:block}.map-help{display:none}.map-tool{min-width:54px}.map-tool span{display:none}.map-viewer-identity small{display:none}
}

/* Global scope color replaces the fixed yellow/green UI accents. */
.page-kicker,.entity-type,.data-date,.timeline-matrix-time strong{color:var(--scope-accent)}
.article-prose h2::before{background:var(--scope-accent)}
.text-link,.nav-footer a{color:var(--scope-accent)}
.brand-sigil,.button-primary,.chip.active{background:var(--scope-accent);border-color:var(--scope-accent);color:var(--scope-on-accent)}
.brand-sigil{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--scope-on-accent) 24%,transparent),0 8px 24px color-mix(in srgb,var(--scope-accent) 24%,transparent)}
.nav-primary.active{background:color-mix(in srgb,var(--scope-accent) 13%,var(--paper-2));color:var(--scope-accent)}.nav-child.active{color:var(--scope-accent);box-shadow:inset 3px 0 0 var(--scope-accent),var(--shadow-sm)}
.category-index,.result-icon{background:color-mix(in srgb,var(--scope-accent) 13%,var(--paper-2));color:var(--scope-accent)}.category-card:hover,.entity-card:hover{border-color:color-mix(in srgb,var(--scope-accent) 48%,var(--line))}.global-search input:focus,.filter-input:focus,.filter-select:focus{border-color:var(--scope-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--scope-accent) 11%,transparent)}
.module-link svg{color:var(--scope-accent)}.hero-note{border-left-color:var(--scope-accent)}

.timeline-event-tail{display:flex;align-items:flex-start;gap:7px}.timeline-event-edit{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3);cursor:pointer}.timeline-event-edit:hover{border-color:var(--realm-accent,var(--scope-accent));color:var(--realm-accent,var(--scope-accent));background:color-mix(in srgb,var(--realm-accent,var(--scope-accent)) 10%,var(--paper))}.timeline-mini-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.timeline-mini-heading .timeline-event-edit{width:25px;height:25px;border-radius:7px}.timeline-mini-heading .timeline-event-edit svg{width:12px;height:12px}
.atlas-empty-onboarding{max-width:820px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;margin-top:22px;padding:22px}.atlas-empty-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--scope-accent) 42%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--scope-accent) 9%,var(--paper-2));color:var(--scope-accent)}.atlas-empty-onboarding h2{margin:0;font-size:1.05rem}.atlas-empty-onboarding p{max-width:650px;margin:7px 0 12px;color:var(--ink-2);line-height:1.55}.atlas-empty-onboarding ol{display:grid;gap:6px;margin:0 0 16px;padding-left:20px;color:var(--ink-2);font-size:.68rem}.atlas-empty-onboarding .button-primary{display:inline-flex}@media(max-width:600px){.atlas-empty-onboarding{grid-template-columns:1fr}.atlas-empty-mark{width:50px;height:50px}}


/* views/realm-cluster.css */
/* Realm Cluster map generated from realm registry positions. */
.cluster-map-viewer{background:var(--map-cluster-bg)}.cluster-map-svg{position:absolute;inset:0;width:100%;height:100%;user-select:none}.cluster-realm-node{cursor:pointer;transition:opacity var(--fast),filter var(--fast)}.cluster-realm-node:hover,.cluster-realm-node:focus{filter:brightness(1.12) drop-shadow(0 10px 15px rgba(0,0,0,.32));outline:none}.cluster-element-mark{pointer-events:none}.cluster-realm-list{display:grid;gap:6px}.cluster-realm-option{width:100%;display:grid;grid-template-columns:6px minmax(0,1fr);align-items:center;gap:11px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2);color:var(--ink);text-align:left}.cluster-realm-option:hover{border-color:var(--realm-accent);background:color-mix(in srgb,var(--realm-accent) 8%,var(--paper))}.cluster-realm-swatch{align-self:stretch;width:5px;min-height:34px;border-radius:999px;background:var(--realm-accent)}.cluster-realm-option strong,.cluster-realm-option small{display:block}.cluster-realm-option strong{font-family:var(--font-display);font-size:.77rem}.cluster-realm-option small{margin-top:2px;color:var(--ink-3);font-size:.55rem;text-transform:capitalize}.empty-map-scope{position:relative;overflow:hidden;min-height:250px;padding:18px;border:1px solid color-mix(in srgb,var(--realm-accent) 38%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--realm-accent) 7%,var(--paper))}.empty-map-scope>div{position:relative;z-index:2}.empty-map-watermark{position:absolute;z-index:0;right:-24px;top:50%;display:flex;align-items:center;gap:14px;transform:translateY(-50%) rotate(-8deg);opacity:.065}.empty-map-watermark .element-glyph{width:146px;height:146px}

.cluster-map-viewer,.map-cluster-workspace .map-canvas{background:var(--map-cluster-bg)!important}



/* editors.css */
.global-editor-view{max-width:1180px;margin:0 auto}.editor-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:18px;border-left:3px solid var(--scope-accent)}.editor-intro h2{font-family:var(--font-display);font-size:1.28rem;margin:5px 0 6px}.editor-intro p{max-width:720px;color:var(--ink-2);margin:0;line-height:1.55}.editor-access-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--scope-accent) 35%,var(--line));border-radius:999px;color:var(--scope-accent);font-size:.68rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.global-editor-form{display:grid;gap:14px}.global-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 2px}.global-editor-toolbar>div:first-child{display:grid;gap:3px}.global-editor-toolbar strong{font-family:var(--font-display);font-size:1.05rem}.global-editor-toolbar span{color:var(--ink-3);font-size:.76rem}.editor-toolbar-actions{display:flex!important;grid-auto-flow:column;align-items:center;gap:9px}.global-editor-list{display:grid;gap:12px}.global-editor-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow-sm)}.global-editor-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:15px}.global-editor-card-head>div{display:grid;gap:2px}.global-editor-card-head strong{font-family:var(--font-display);font-size:1.02rem}.global-editor-card-head small{color:var(--ink-3);font-size:.67rem}.editor-row-number{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--scope-accent) 11%,var(--paper-2));color:var(--scope-accent);font-size:.68rem;font-weight:850}.editor-remove{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--ink-3);display:grid;place-items:center}.editor-remove:hover{background:var(--red-soft);color:var(--red)}
.editor-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editor-field-grid label{display:grid;gap:6px;color:var(--ink-2);font-size:.72rem;font-weight:750}.editor-field-grid input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),.editor-field-grid textarea,.editor-field-grid select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);padding:9px 11px;font:inherit;line-height:1.4}.editor-field-grid textarea{resize:vertical;min-height:72px}.editor-field-grid input:focus,.editor-field-grid textarea:focus,.editor-field-grid select:focus{outline:2px solid color-mix(in srgb,var(--scope-accent) 44%,transparent);border-color:var(--scope-accent)}.editor-field-wide{grid-column:1/-1}.editor-check{display:flex!important;grid-column:1/-1;align-items:center;gap:9px!important;padding:4px 0}.editor-check input{width:18px;height:18px;accent-color:var(--scope-accent)}.editor-message{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:12px;padding:12px 14px;margin-bottom:14px}.editor-message.danger{background:var(--red-soft);color:var(--red)}.editor-empty{min-height:140px;border:1px dashed var(--line-strong);border-radius:16px;display:grid;place-items:center;color:var(--ink-3)}
.editor-settings-panel{padding:18px}.editor-settings-panel .section-heading{margin:0 0 14px}.editor-settings-grid{grid-template-columns:180px repeat(2,minmax(0,1fr));align-items:end}.editor-settings-grid .editor-check{grid-column:auto;padding:10px 0}.map-editor-list{grid-template-columns:repeat(2,minmax(0,1fr))}.map-type-preview{width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--type-color) 20%,var(--paper-2));color:var(--type-color);display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--type-color) 45%,var(--line))}.line-type-preview{width:58px;height:34px;display:block;overflow:visible}.area-type-preview{width:58px;height:40px;display:block;overflow:visible}.editor-field-grid label>small{color:var(--ink-3);font-size:.62rem;font-weight:500;line-height:1.4}.editor-save-dock{position:sticky;bottom:14px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 104px 13px 15px;border:1px solid color-mix(in srgb,var(--scope-accent) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:var(--shadow-lg);backdrop-filter:blur(14px)}.editor-save-dock span{color:var(--ink-3);font-size:.75rem}.timeline-editor-reserved{min-height:300px;padding:32px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:22px}.reserved-mark{width:68px;height:68px;border-radius:19px;background:color-mix(in srgb,var(--scope-accent) 14%,var(--paper-2));color:var(--scope-accent);display:grid;place-items:center}.timeline-editor-reserved h2{font-family:var(--font-display);font-size:1.5rem;margin:8px 0}.timeline-editor-reserved p{max-width:720px;color:var(--ink-2);line-height:1.6}
.time-editor-divider{display:flex;align-items:center;gap:12px;margin:28px 0 14px;color:var(--ink-3);font-size:.65rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.time-editor-divider::before,.time-editor-divider::after{content:"";height:1px;flex:1;background:var(--line)}.time-systems-form{margin-bottom:40px}.time-systems-form>.editor-settings-panel .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.time-registry-settings{grid-template-columns:minmax(0,1fr) minmax(180px,.45fr)}.time-system-list{display:grid;gap:11px}.time-system-record{border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}.time-system-record>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;cursor:pointer}.time-system-record>summary::-webkit-details-marker{display:none}.time-system-record>summary:hover{background:color-mix(in srgb,var(--scope-accent) 6%,var(--paper))}.time-system-record[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper))}.time-system-record[open] .map-type-expand{transform:rotate(180deg)}.time-system-record>summary>span:nth-child(2){min-width:0;display:grid;gap:2px}.time-system-record>summary strong{font-family:var(--font-display);font-size:.98rem}.time-system-record>summary small{color:var(--ink-3);font-size:.62rem}.time-system-symbol{width:42px;height:42px;border:1px solid color-mix(in srgb,var(--scope-accent) 42%,var(--line));border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--scope-accent) 12%,var(--paper-2));color:var(--scope-accent);font-size:.66rem;font-weight:900}.time-system-editor-body{display:grid;gap:15px;padding:17px}.time-system-editor-body>.editor-field-grid{padding-bottom:15px;border-bottom:1px solid var(--line)}.time-origin-fields,.time-era-fields,.time-conversion{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--paper-2) 58%,transparent)}.time-origin-fields legend,.time-era-fields legend,.time-conversion legend{padding:0 7px;color:var(--ink-2);font-family:var(--font-display);font-size:.83rem}.time-conversion>.inspector-field{display:grid;gap:6px;margin-bottom:12px}.time-conversion-fields,.time-keyframe-settings{margin-top:4px}.time-keyframe-settings{grid-template-columns:repeat(3,minmax(0,1fr))}.time-keypoint-editor{display:grid;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.time-keypoint-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.time-keypoint-heading>div{display:grid;gap:2px}.time-keypoint-heading strong{font-family:var(--font-display);font-size:.85rem}.time-keypoint-heading span{color:var(--ink-3);font-size:.62rem}.time-keypoint-list{display:grid;gap:7px}.time-keypoint-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 34px;align-items:end;gap:8px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.time-keypoint-row>span:first-child{align-self:center;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:var(--paper-3);color:var(--ink-3);font-size:.58rem;font-weight:850}.time-system-actions{display:flex;justify-content:flex-end;padding-top:13px;border-top:1px solid var(--line)}.time-system-actions .button-danger{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--red) 38%,var(--line));border-radius:9px;background:var(--red-soft);color:var(--red);font:inherit;font-size:.66rem;font-weight:800}.time-system-actions .button-danger:disabled{opacity:.38;cursor:not-allowed}.time-systems-form .inspector-field{position:relative;display:grid;gap:6px;color:var(--ink-2);font-size:.72rem;font-weight:750}.time-systems-form .inspector-field-tooltip{width:min(280px,80vw)}
.poi-icon-field{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2) 68%,transparent)}.poi-icon-field legend{padding:0 5px;color:var(--ink-2);font-size:.72rem;font-weight:800}.poi-icon-field p{margin:0 0 10px;color:var(--ink-3);font-size:.69rem;line-height:1.45}.poi-icon-library{border:1px solid var(--line);border-radius:11px;background:var(--paper);overflow:hidden}.poi-icon-library summary{list-style:none;min-height:52px;padding:8px 10px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;color:var(--ink);cursor:pointer}.poi-icon-library summary::-webkit-details-marker{display:none}.poi-icon-library summary:hover{background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper))}.poi-icon-current{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--scope-accent) 12%,var(--paper-2));color:var(--scope-accent)}.poi-icon-current-copy{display:grid;gap:1px}.poi-icon-current-copy strong{font-size:.75rem}.poi-icon-current-copy small{color:var(--ink-3);font-size:.62rem}.poi-icon-choose{color:var(--scope-accent);font-size:.66rem;font-weight:800}.poi-icon-library[open] summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper))}.poi-icon-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:7px;padding:10px;max-height:310px;overflow:auto}.poi-icon-option{min-width:0;min-height:66px;padding:8px 6px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink-2);display:grid;place-items:center;align-content:center;gap:5px;font:inherit;font-size:.64rem;font-weight:750;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.poi-icon-option:hover{border-color:color-mix(in srgb,var(--scope-accent) 55%,var(--line));color:var(--ink);transform:translateY(-1px)}.poi-icon-option:focus-visible{outline:2px solid var(--scope-accent);outline-offset:2px}.poi-icon-option.selected{border-color:var(--scope-accent);background:color-mix(in srgb,var(--scope-accent) 15%,var(--paper));color:var(--scope-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--scope-accent) 40%,transparent)}.poi-icon-glyph{width:30px;height:28px;display:grid;place-items:center}.poi-icon-option.selected .poi-icon-glyph{transform:scale(1.08)}
.poi-icon-options{grid-template-columns:1fr;gap:12px}.poi-icon-group{display:grid;gap:7px}.poi-icon-group h4{display:flex;align-items:center;justify-content:space-between;margin:0;color:var(--ink-2);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.poi-icon-group h4 span{color:var(--ink-3);font-size:.6rem}.poi-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:7px}.registered-asset-icon{display:block;flex:0 0 auto;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.map-type-preview>.registered-asset-icon{width:27px!important;height:27px!important;filter:drop-shadow(0 0 1px var(--ink))}.poi-icon-current>.registered-asset-icon{width:25px!important;height:25px!important}.poi-icon-glyph>.registered-asset-icon{width:28px!important;height:28px!important}
.map-type-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,330px) auto}.editor-compact-search{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink-3)}.editor-compact-search:focus-within{border-color:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 18%,transparent)}.editor-compact-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.72rem}.map-type-groups{display:grid;gap:18px}.map-type-group{display:grid;gap:8px}.map-type-group-heading{display:flex;align-items:center;gap:9px;padding:0 3px}.map-type-group-heading h3{margin:0;font-family:var(--font-display);font-size:.9rem}.map-type-group-heading>span:last-child{min-width:23px;padding:3px 6px;border-radius:999px;background:var(--paper-2);color:var(--ink-3);font-size:.58rem;text-align:center}.map-type-group-dot{width:10px;height:10px;border:2px solid color-mix(in srgb,var(--group-color) 40%,var(--line));border-radius:50%;background:var(--group-color)}.map-type-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-type-record{min-width:0;align-self:start;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}.map-type-record[open]{grid-column:1/-1;border-color:color-mix(in srgb,var(--scope-accent) 32%,var(--line));box-shadow:var(--shadow-md)}.map-type-summary{list-style:none;min-height:66px;display:grid;grid-template-columns:auto minmax(0,1fr) auto 20px;align-items:center;gap:11px;padding:11px 13px;cursor:pointer;transition:background var(--fast),border-color var(--fast)}.map-type-summary::-webkit-details-marker{display:none}.map-type-summary:hover{background:color-mix(in srgb,var(--scope-accent) 6%,var(--paper))}.map-type-summary-copy{min-width:0;display:grid;gap:2px}.map-type-summary-copy strong,.map-type-summary-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-type-summary-copy strong{font-family:var(--font-display);font-size:.92rem}.map-type-summary-copy small{color:var(--ink-3);font-size:.61rem}.map-type-summary-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.map-type-summary-meta>span{padding:4px 7px;border:1px solid var(--line);border-radius:999px;color:var(--ink-3);font-size:.57rem;line-height:1;white-space:nowrap}.map-type-summary-meta .map-type-state.enabled{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--green-soft);color:var(--green)}.map-type-summary-meta .map-type-state.disabled{background:var(--paper-2)}.map-type-expand{display:grid;place-items:center;color:var(--ink-3);transition:transform var(--fast)}.map-type-record[open]>.map-type-summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper))}.map-type-record[open]>.map-type-summary .map-type-expand{transform:rotate(180deg)}.map-type-editor{padding:16px}.map-type-actions{display:flex;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.map-type-actions .editor-remove{width:auto;height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));background:var(--red-soft);color:var(--red);font-size:.66rem;font-weight:800}.map-type-actions .editor-remove:disabled{cursor:not-allowed;filter:saturate(0);opacity:.43}.map-type-record .line-type-preview{margin:4px 0}.marker-group-preview{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--group-color) 22%,var(--paper-2));border:1px solid color-mix(in srgb,var(--group-color) 55%,var(--line));box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--group-color) 14%,transparent)}.marker-group-record[open]>.map-type-summary{box-shadow:inset 3px 0 0 var(--group-color)}.editor-field-grid input[readonly]{cursor:not-allowed;color:var(--ink-3);background:color-mix(in srgb,var(--paper-2) 72%,var(--canvas))}
@media(max-width:900px){.map-editor-list{grid-template-columns:1fr}.editor-settings-grid,.time-registry-settings,.time-keyframe-settings{grid-template-columns:1fr}.editor-settings-grid .editor-check{grid-column:1/-1}}
@media(max-width:760px){.map-type-toolbar{grid-template-columns:1fr auto}.map-type-toolbar .editor-compact-search{grid-column:1/-1;grid-row:2}.map-type-catalog{grid-template-columns:1fr}.map-type-record[open]{grid-column:auto}.map-type-summary-meta{display:none}}
@media(max-width:640px){.editor-intro,.global-editor-toolbar,.editor-save-dock,.time-systems-form>.editor-settings-panel .section-heading,.time-keypoint-heading{align-items:stretch;flex-direction:column}.editor-toolbar-actions{display:grid!important;grid-auto-flow:row}.editor-field-grid{grid-template-columns:1fr}.editor-field-wide{grid-column:auto}.timeline-editor-reserved{grid-template-columns:1fr;padding:22px}.editor-access-badge{align-self:flex-start}.map-type-toolbar{display:grid;grid-template-columns:1fr}.map-type-toolbar .editor-compact-search{grid-column:auto;grid-row:auto}.map-type-summary{grid-template-columns:auto minmax(0,1fr) 20px}.map-type-editor{padding:13px}.time-keypoint-row{grid-template-columns:24px minmax(0,1fr) 32px}.time-keypoint-row>.inspector-field:nth-of-type(2){grid-column:2}.time-keypoint-row>.editor-remove{grid-column:3;grid-row:1/3}}

/* Per-map spatial editor. Reader and editor share map rendering and viewport controls. */
.map-editor-page{width:min(1600px,100%);margin:0 auto}.map-editor-timebar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,.6fr) minmax(470px,1.5fr);align-items:end;gap:12px;padding:13px 15px;margin-bottom:13px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-sm)}.map-editor-timebar label,.map-change-create label{min-width:0;display:grid;gap:5px;color:var(--ink-3);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.map-editor-timebar input,.map-editor-timebar select{min-width:0;width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:.7rem;text-transform:none;letter-spacing:0}.map-change-summary{display:grid;gap:3px;padding:0 3px 5px}.map-change-summary strong{font-family:var(--font-display);font-size:.86rem}.map-change-summary span{color:var(--ink-3);font-size:.6rem}.map-change-create{display:grid;grid-template-columns:90px 125px minmax(150px,1fr) auto;align-items:end;gap:7px}.map-change-create .button{height:38px;min-height:38px}
.map-editor-experience{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr) 320px;grid-template-rows:minmax(600px,72vh) auto;gap:12px}.map-editor-tools{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:6px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-sm)}.map-editor-tool{min-height:62px;padding:6px 4px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink-2);display:grid;place-items:center;align-content:center;gap:5px;font:inherit;font-size:.58rem;font-weight:800;cursor:pointer}.map-editor-tool:hover{background:var(--paper-2);color:var(--ink)}.map-editor-tool.active{border-color:color-mix(in srgb,var(--scope-accent) 45%,var(--line));background:color-mix(in srgb,var(--scope-accent) 13%,var(--paper));color:var(--scope-accent)}.map-editor-tool.emphasized{margin-top:auto;background:var(--moss);color:var(--on-moss)}.map-editor-tool:disabled{opacity:.35;cursor:not-allowed}.map-tool-separator{height:1px;margin:3px;background:var(--line)}.map-editor-stage{grid-column:2;grid-row:1;min-height:600px;height:100%;cursor:crosshair}.map-editor-stage.is-dragging{cursor:grabbing}.map-editor-instruction{position:absolute;z-index:5;left:50%;top:15px;transform:translateX(-50%);padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(13,18,15,.78);color:#eef4ef;font-size:.63rem;pointer-events:none;backdrop-filter:blur(10px)}
.map-editor-inspector{grid-column:3;grid-row:1;min-width:0;overflow:auto}.map-editor-inspector>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:17px;border-bottom:1px solid var(--line)}.map-editor-inspector h2{margin:4px 0;font-family:var(--font-display);font-size:1.05rem}.map-editor-inspector p{margin:0;color:var(--ink-3);font-size:.61rem;line-height:1.45}.map-feature-inspector-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px}.map-feature-inspector-form>label{min-width:0;display:grid;gap:5px;color:var(--ink-2);font-size:.64rem;font-weight:750}.map-feature-inspector-form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),.map-feature-inspector-form select{min-width:0;width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:.68rem}.map-feature-inspector-form .editor-check{display:flex;grid-column:1/-1}.map-feature-inspector-form .editor-field-wide{grid-column:1/-1}.map-editor-record-list{display:grid;gap:6px;padding:12px}.map-editor-record-list button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);text-align:left}.map-record-kind{grid-row:1/3;align-self:center;padding:4px 6px;border-radius:7px;background:var(--paper-3);color:var(--scope-accent);font-size:.52rem;font-weight:850;text-transform:uppercase}.map-editor-record-list strong{font-size:.68rem}.map-editor-record-list small{color:var(--ink-3);font-size:.55rem}.map-editor-help,.map-area-scale-controls{padding:13px 15px;border-top:1px solid var(--line)}.map-editor-help strong{font-family:var(--font-display);font-size:.78rem}.map-editor-help p{margin-top:5px}.map-area-scale-controls{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;color:var(--ink-2);font-size:.6rem}.map-area-scale-controls .button-quiet{min-height:32px;padding:0 8px;font-size:.6rem}
.map-editor-savebar{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);box-shadow:var(--shadow-md)}.map-editor-savebar>div{display:grid;gap:2px}.map-editor-savebar strong{font-family:var(--font-display);font-size:.85rem}.map-editor-savebar span{color:var(--ink-3);font-size:.6rem}.map-editor-overlay .editor-feature{cursor:pointer}.map-editor-overlay .editor-feature[data-area-part="label"]{pointer-events:auto;cursor:move}.map-foundation-boundary{pointer-events:none}.map-foundation-boundary>*{fill:none;stroke:color-mix(in srgb,var(--scope-accent) 72%,#fff);stroke-width:1.5;stroke-dasharray:8 7;vector-effect:non-scaling-stroke}.map-editor-handle{fill:var(--scope-accent);stroke:var(--paper);stroke-width:2.5;vector-effect:non-scaling-stroke;cursor:move}.map-editor-marker-handle{pointer-events:none}.map-editor-draft{fill:none;stroke:#fff;stroke-width:4;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.map-editor-draft[data-area-draft]{fill:rgba(142,183,155,.16)}.map-editor-draft-point{fill:var(--scope-accent);stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}.map-editor-experience.is-map-windowed{position:fixed;z-index:950;inset:var(--topbar-h) 0 0 0;grid-template-rows:minmax(0,1fr) auto;padding:10px;background:var(--canvas)}.map-editor-experience.is-map-windowed .map-editor-stage{min-height:0}.map-editor-experience.is-map-windowed .map-editor-inspector,.map-editor-experience.is-map-windowed .map-editor-tools{min-height:0}.map-editor-experience:fullscreen{padding:10px;background:var(--canvas);grid-template-rows:minmax(0,1fr) auto}.map-editor-experience:fullscreen .map-editor-stage{min-height:0}
@media(max-width:1100px){.map-editor-timebar{grid-template-columns:1fr 1fr}.map-change-create{grid-column:1/-1}.map-editor-experience{grid-template-columns:74px minmax(0,1fr);grid-template-rows:minmax(560px,68vh) auto auto}.map-editor-inspector{grid-column:1/-1;grid-row:2;max-height:none}.map-editor-savebar{grid-row:3}.map-feature-inspector-form{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.map-editor-timebar{grid-template-columns:1fr}.map-change-create{grid-template-columns:1fr 1fr}.map-change-create label:nth-child(3),.map-change-create .button{grid-column:1/-1}.map-editor-experience{display:block}.map-editor-tools{position:relative;z-index:7;display:flex;flex-direction:row;overflow:auto;margin-bottom:8px}.map-editor-tool{min-width:66px;min-height:56px}.map-editor-stage{min-height:520px}.map-editor-inspector{margin-top:8px}.map-editor-savebar{position:sticky;bottom:8px;margin-top:8px;grid-template-columns:1fr auto}.map-editor-savebar .button-quiet{display:none}.map-feature-inspector-form{grid-template-columns:1fr 1fr}}

.timeline-periods-form{margin-bottom:40px}.timeline-period-record .editor-field-grid{padding-bottom:0;border-bottom:0}.period-axis-field,.timeline-entry-axes,.timeline-entry-periods{min-width:0;margin:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2) 58%,transparent)}.period-axis-field>legend,.timeline-entry-axes>legend,.timeline-entry-periods>legend{padding:0 7px;font-family:var(--font-display);font-size:.82rem}.period-axis-field>p,.timeline-entry-axes>p,.timeline-entry-periods>p{margin:0 0 10px;color:var(--ink-3);font-size:.62rem;line-height:1.45}.period-axis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.period-axis-grid .editor-check{min-width:0;grid-column:auto!important;padding:8px 9px!important;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.period-axis-grid .inspector-field-caption{min-width:0}.period-boundary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.period-boundary{min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.period-boundary .time-picker{margin-top:7px}.editor-empty.compact{min-height:54px;margin:7px 0 0;font-size:.62rem}.timeline-entry-modal{width:min(880px,100%)}.timeline-entry-form{gap:16px}.timeline-entry-form .modal-actions{position:sticky;bottom:-18px;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:8px -18px -18px;padding:12px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(12px)}
@media(max-width:720px){.period-axis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.period-boundary-grid{grid-template-columns:1fr}}

.icon-picker .poi-icon-current,.icon-picker .poi-icon-glyph{color:var(--icon-picker-color)}.icon-picker-body{display:grid;grid-template-columns:minmax(0,1fr) 126px;gap:8px;padding:10px}.icon-picker-search{height:38px;display:flex!important;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3)}.icon-picker-search:focus-within{border-color:var(--scope-accent)}.icon-picker-search input{min-width:0;width:100%;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}.icon-picker-color{display:grid!important;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:7px;padding:0 7px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-2);font-size:.62rem;font-weight:750}.icon-picker-color input{width:34px!important;height:28px!important;padding:2px!important}.icon-picker-body>.poi-icon-options{grid-column:1/-1;padding:0;max-height:330px}.icon-picker-body>.map-entity-empty{grid-column:1/-1}.poi-icon-option[hidden],.poi-icon-group[hidden]{display:none!important}
.line-width-curve{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);align-items:end;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.line-width-curve>svg{width:100%;height:82px;overflow:visible}.line-width-curve>svg path{fill:none;stroke:var(--line-strong);stroke-width:1}.line-width-curve>svg polyline{fill:none;stroke:var(--scope-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-width-curve>svg circle{fill:var(--paper);stroke:var(--scope-accent);stroke-width:2}.line-width-curve>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.line-width-curve label{display:grid;gap:4px;color:var(--ink-3);font-size:.56rem}.line-width-curve input{min-width:0;width:100%}.editor-compact-select{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:.61rem}.editor-compact-select select{min-width:140px}.map-type-toolbar{flex-wrap:wrap}
.object-template-editor{border:1px solid var(--line);border-radius:14px;background:var(--paper-2);overflow:hidden}.object-template-editor>summary{list-style:none;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px 13px;cursor:pointer}.object-template-editor>summary::-webkit-details-marker{display:none}.object-template-editor>summary>span:first-child{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--scope-accent)}.object-template-editor>summary>span:nth-child(2){display:grid;gap:2px}.object-template-editor>summary strong{font-family:var(--font-display);font-size:.79rem}.object-template-editor>summary small{color:var(--ink-3);font-size:.58rem}.object-template-editor>summary>span:last-child{display:grid;place-items:center;transition:transform var(--fast)}.object-template-editor[open]>summary>span:last-child{transform:rotate(180deg)}.object-template-body{display:grid;gap:10px;padding:10px;border-top:1px solid var(--line)}.object-template-body>section{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.object-template-body>section>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.object-template-body>section>header>div{display:grid;gap:3px}.object-template-body>section>header strong{font-family:var(--font-display);font-size:.76rem}.object-template-body>section>header small{max-width:680px;color:var(--ink-3);font-size:.59rem;line-height:1.45}.object-template-list{display:grid;gap:8px}.object-template-row{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 46px 12px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.object-statistic-row{grid-template-columns:repeat(5,minmax(0,1fr))}.object-section-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto auto auto}.object-template-row>.editor-remove{position:absolute;top:10px;right:10px;width:30px;height:30px}.object-template-empty{margin:0;padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--ink-3);font-size:.65rem;text-align:center}.object-history-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.object-history-capabilities .editor-check{min-height:40px}@media(max-width:980px){.object-statistic-row,.object-template-row{grid-template-columns:repeat(2,minmax(0,1fr))}.object-section-row{grid-template-columns:1fr 1fr}.object-history-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.object-template-row,.object-statistic-row,.object-section-row,.object-history-capabilities{grid-template-columns:1fr}.object-template-body>section>header{align-items:stretch;flex-direction:column}}
.canonical-object-modal{width:min(1040px,100%);max-height:min(92vh,980px);overflow:auto}.canonical-object-modal>.modal-header{position:sticky;z-index:30;top:-22px;margin:-22px -22px 12px;padding:20px 22px 14px;background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(16px)}.canonical-object-form{display:grid;gap:10px}.canonical-object-section{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}.canonical-object-section>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.canonical-object-section>header>div{display:grid;gap:3px}.canonical-object-section>header strong{font-family:var(--font-display);font-size:.84rem}.canonical-object-section>header small{max-width:720px;color:var(--ink-3);font-size:.61rem;line-height:1.45}.canonical-property{min-width:0;display:grid;gap:4px}.canonical-property>label{height:100%}.canonical-property>small{color:var(--ink-3);font-size:.54rem}.canonical-object-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.canonical-object-subheading>span{font-family:var(--font-display);font-size:.72rem}.canonical-object-subheading>label{display:flex;align-items:center;gap:6px}.canonical-object-list,.canonical-statistics{display:grid;gap:8px}.canonical-object-article-row,.statistic-observation{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.object-section-time-fields{grid-column:1/-1}.object-section-time-summary{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:var(--ink-3);font-size:.58rem}.canonical-statistic,.object-change-row{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.canonical-statistic>summary,.object-change-row>summary{list-style:none;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer}.canonical-statistic>summary::-webkit-details-marker,.object-change-row>summary::-webkit-details-marker{display:none}.canonical-statistic>summary>span:first-child,.object-change-row>summary>span:first-child{display:grid;gap:2px}.canonical-statistic>summary small,.object-change-row>summary small{color:var(--ink-3);font-size:.57rem}.canonical-statistic>summary>span:last-child{color:var(--ink-3);font-size:.58rem}.canonical-statistic-body{display:grid;gap:10px;padding:12px;border-top:1px solid var(--line)}.canonical-progression-summary{display:grid;gap:2px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.canonical-progression-summary>span,.canonical-progression-summary>small{color:var(--ink-3);font-size:.56rem}.statistic-observation{grid-template-columns:minmax(240px,1.3fr) minmax(100px,.5fr) minmax(180px,1fr) 34px;align-items:end}.statistic-observation>.editor-remove{width:32px;height:32px}.canonical-object-capability-summary{margin:0;color:var(--ink-3);font-size:.58rem}.object-change-row>summary>span:last-child{display:grid;place-items:center;transition:transform var(--fast)}.object-change-row[open]>summary>span:last-child{transform:rotate(180deg)}.object-change-row>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;border-top:1px solid var(--line)}.object-change-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.57rem}.object-change-actions code{color:var(--ink-2)}.canonical-object-savebar{position:sticky;z-index:25;bottom:-22px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px -22px -22px;padding:13px 22px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);backdrop-filter:blur(16px)}.canonical-object-savebar>span{color:var(--ink-3);font-size:.6rem}@media(max-width:760px){.statistic-observation,.canonical-object-article-row,.object-change-row>div{grid-template-columns:1fr}.object-section-time-fields,.object-section-time-summary,.object-change-actions{grid-column:auto}.object-change-actions{align-items:stretch;flex-direction:column}.canonical-object-section>header,.canonical-object-subheading,.canonical-object-savebar{align-items:stretch;flex-direction:column}}
.map-canonical-object-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 12px;padding:12px;border:1px solid color-mix(in srgb,var(--scope-accent) 38%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper-2))}.map-canonical-object-card>div{min-width:0;display:grid;gap:3px}.map-canonical-object-card strong,.map-canonical-object-card small{overflow:hidden;text-overflow:ellipsis}.map-canonical-object-card strong{font-family:var(--font-display);font-size:.78rem}.map-canonical-object-card small{color:var(--ink-3);font-size:.57rem;line-height:1.4}.map-canonical-object-card .button-primary{flex:0 0 auto;white-space:nowrap}
.map-settings-navigation{position:sticky;z-index:40;top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:7px;background:color-mix(in srgb,var(--paper) 95%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(18px)}.map-settings-navigation button{min-width:0;min-height:58px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:9px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);text-align:left}.map-settings-navigation button:hover{border-color:var(--line);background:var(--paper-2)}.map-settings-navigation button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--scope-accent) 45%,var(--line));background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper-2));box-shadow:inset 3px 0 0 var(--scope-accent)}.map-settings-navigation strong,.map-settings-navigation span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-settings-navigation strong{font-family:var(--font-display);font-size:.72rem}.map-settings-navigation span{color:var(--ink-3);font-size:.54rem}@media(max-width:720px){.map-settings-navigation{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
.global-editor-form>[hidden]{display:none!important}
.terrain-modifier-editor{min-width:0;margin:5px 0 0;padding:11px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2) 72%,transparent)}.terrain-modifier-editor>legend{padding:0 5px;color:var(--ink-2);font-size:.68rem;font-weight:850}.terrain-modifier-editor>.editor-check{margin:0}.terrain-modifier-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:9px}.terrain-modifier-fields>label{display:grid;gap:6px;color:var(--ink-2);font-size:.72rem;font-weight:750}.terrain-modifier-fields :is(input,select){width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);padding:9px 11px;font:inherit}@media(max-width:640px){.terrain-modifier-fields{grid-template-columns:1fr}}


/* time.css */
.atlas-present{display:flex;align-items:center;gap:6px;margin:9px 0 0;color:var(--scope-accent);font-size:.68rem;font-weight:780;letter-spacing:.035em}.atlas-present::before{content:"";width:18px;height:1px;background:currentColor;opacity:.55}
.time-picker{position:relative;min-width:0}.time-picker-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper-2);color:var(--ink);text-align:left}.time-picker-trigger:hover,.time-picker-trigger[aria-expanded="true"]{border-color:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 14%,transparent)}.time-picker-trigger>span{display:grid;gap:2px;min-width:0}.time-picker-trigger small{color:var(--ink-3);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}.time-picker-trigger strong{overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);font-size:.88rem}.time-picker-trigger>svg{flex:0 0 auto;color:var(--scope-accent)}
.time-picker-popover{position:relative;z-index:8;display:grid;gap:11px;margin-top:7px;padding:13px;border:1px solid color-mix(in srgb,var(--scope-accent) 30%,var(--line));border-radius:13px;background:var(--paper);box-shadow:var(--shadow-lg)}.time-picker-popover[hidden],.time-picker-popover>[data-time-picker-error][hidden]{display:none!important}.time-picker-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.time-picker-heading>div{display:grid;gap:2px}.time-picker-heading small,.time-picker-preview span{font-size:.52rem;color:var(--ink-3);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.time-picker-heading strong{font-family:var(--font-display)}.time-picker-heading .icon-button{width:28px;height:28px}.time-picker-popover label{display:grid;gap:5px}.time-picker-popover label>span{font-size:.58rem;font-weight:750;color:var(--ink-2)}.time-picker-popover input,.time-picker-popover select{width:100%;height:36px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink);padding:0 9px}.time-picker-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(90px,.75fr);gap:8px}.time-picker-preview{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px;border-radius:9px;background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper-2))}.time-picker-preview strong{color:var(--scope-accent);font-family:var(--font-display)}.time-picker-preview small{grid-column:1/-1;color:var(--ink-3);font-size:.58rem}.time-picker-limit{margin:0;color:var(--ink-3);font-size:.59rem;line-height:1.45}.time-picker-popover>.button{justify-content:center}
.timeline-filter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.timeline-filter-row .timeline-periods{margin:0;flex:1}.timeline-time-translator{height:38px;display:flex;align-items:center;gap:7px;padding:0 8px 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);white-space:nowrap}.timeline-time-translator>span{font-size:.57rem;color:var(--ink-3);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.timeline-time-translator select{height:28px;border:0;background:var(--paper-2);color:var(--ink);border-radius:7px;padding:0 7px;font-size:.65rem}
.map-time-translate{height:44px;display:grid;grid-template-columns:auto minmax(54px,1fr);align-items:center;gap:5px;padding:0 7px;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);backdrop-filter:blur(14px)}.map-time-translate>span{font-size:.46rem;color:var(--map-hud-muted);text-transform:uppercase;font-weight:850}.map-time-translate select{min-width:0;height:29px;border:0;border-radius:7px;background:var(--map-hud-bg-strong);color:var(--map-hud-text);font-size:.58rem;padding:0 5px}
.map-atlas-present{display:block;margin-top:4px;color:var(--scope-accent);font-size:.49rem;font-weight:760;letter-spacing:.035em}
.time-picker-popover{z-index:80}.time-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.time-picker-actions>*{justify-content:center}
@media(max-width:760px){.timeline-filter-row{display:grid}.timeline-time-translator{justify-self:start}.map-time-translate{display:none}}


/* map-editor.css */
/* Per-map editor overrides kept separate for the future editing subsystem. */
.map-editor-page:has(.map-editor-experience.is-map-windowed) .map-editor-timebar{
  position:fixed;z-index:952;top:calc(var(--topbar-h) + 8px);left:10px;right:10px;
  margin:0;padding:8px 12px;border-radius:13px;
}
.map-editor-page .map-editor-experience.is-map-windowed{inset:calc(var(--topbar-h) + 76px) 0 0 0}
.map-editor-experience.is-map-fullscreen-fallback{position:fixed;z-index:1200;inset:0;grid-template-rows:minmax(0,1fr) auto;padding:10px;background:var(--canvas)}
.map-editor-experience.is-map-fullscreen-fallback .map-editor-stage{min-height:0}
.map-editor-experience.is-map-fullscreen-fallback .map-editor-inspector,.map-editor-experience.is-map-fullscreen-fallback .map-editor-tools{min-height:0}

.map-feature-inspector-form label>span>small{margin-left:4px;color:var(--ink-3);font-size:.55rem;font-weight:600}
.map-feature-inspector-form .editor-field-hint{color:var(--ink-3);font-size:.56rem;font-weight:500;line-height:1.4}
.map-label-scale-note{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:2px;padding-top:11px;border-top:1px solid var(--line);color:var(--ink-2);font-size:.59rem}.map-label-scale-note strong{color:var(--ink);font-family:var(--font-display);font-size:.73rem}.map-label-scale-note span{max-width:245px;color:var(--ink-3);line-height:1.45;text-align:right}
.map-entity-picker{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2) 68%,transparent)}
.map-entity-picker>legend{padding:0 5px;color:var(--ink-2);font-size:.64rem;font-weight:800}
.map-entity-current{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.map-entity-current.has-selection{border-color:color-mix(in srgb,var(--scope-accent) 42%,var(--line));background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper))}
.map-entity-current-mark,.map-entity-option-mark{display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--scope-accent) 13%,var(--paper-2));color:var(--scope-accent)}
.map-entity-current-mark{width:34px;height:34px}.map-entity-current>span:nth-child(2){min-width:0}.map-entity-current strong,.map-entity-current small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-entity-current strong{font-family:var(--font-display);font-size:.72rem}.map-entity-current small{margin-top:2px;color:var(--ink-3);font-size:.52rem}
.map-entity-current button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--ink-3);display:grid;place-items:center}.map-entity-current button:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.map-entity-current button:disabled{visibility:hidden}
.map-entity-browser{margin-top:7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}.map-entity-browser>summary{list-style:none;min-height:37px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer}.map-entity-browser>summary::-webkit-details-marker{display:none}.map-entity-browser>summary>span{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:.61rem;font-weight:800}.map-entity-browser>summary>small{color:var(--ink-3);font-size:.52rem}.map-entity-browser[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--scope-accent) 6%,var(--paper))}
.map-entity-browser-body{padding:8px}.map-entity-search{height:36px;display:flex!important;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3)}.map-entity-search:focus-within{border-color:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 15%,transparent)}.map-entity-search input{height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}
.map-entity-results{max-height:230px;overflow:auto;display:grid;gap:4px;margin-top:7px;padding-right:2px}.map-entity-option{min-width:0;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);text-align:left}.map-entity-option:hover,.map-entity-option.selected{border-color:color-mix(in srgb,var(--scope-accent) 35%,var(--line));background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper-2))}.map-entity-option-mark{grid-row:1/3;width:30px;height:30px}.map-entity-option>span:nth-child(2){min-width:0}.map-entity-option strong,.map-entity-option small,.map-entity-option code{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-entity-option strong{font-size:.62rem}.map-entity-option small{margin-top:2px;color:var(--ink-3);font-size:.5rem}.map-entity-option code{grid-column:2;color:var(--scope-accent);font-size:.48rem}.map-entity-empty{margin:8px 0 0!important;padding:10px;text-align:center}
.map-entity-option[hidden],.map-record-row[hidden],.map-entity-empty[hidden]{display:none!important}

.editor-close{width:32px;height:32px;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.editor-close:hover{border-color:var(--line-strong);color:var(--ink);background:var(--paper-3)}
.map-new-feature-callout{display:flex;align-items:center;gap:9px;margin:12px 15px 0;padding:10px 11px;border:1px solid color-mix(in srgb,var(--scope-accent) 42%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--scope-accent) 10%,var(--paper));color:var(--scope-accent)}.map-new-feature-callout>span{display:grid;gap:2px}.map-new-feature-callout strong{font-size:.68rem}.map-new-feature-callout span span,.map-new-feature-callout small{font-size:.56rem}

.map-feature-type-picker,.map-feature-color,.map-base-image-fields{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2) 68%,transparent)}
.map-feature-type-picker>legend,.map-feature-color>legend,.map-base-image-fields>legend{padding:0 5px;color:var(--ink-2);font-size:.64rem;font-weight:800}.map-feature-type-picker.is-required{border-color:color-mix(in srgb,var(--scope-accent) 58%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 10%,transparent)}
.map-feature-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:270px;overflow:auto;padding-right:2px}.map-feature-type-choice{min-width:0;min-height:54px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:7px;text-align:left;cursor:pointer}.map-feature-type-choice:hover{border-color:color-mix(in srgb,var(--scope-accent) 38%,var(--line));background:var(--paper-2)}.map-feature-type-choice.selected{border-color:var(--scope-accent);background:color-mix(in srgb,var(--scope-accent) 10%,var(--paper));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--scope-accent) 24%,transparent)}.map-feature-type-choice>span:last-child{min-width:0}.map-feature-type-choice strong,.map-feature-type-choice small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-feature-type-choice strong{font-size:.61rem}.map-feature-type-choice small{margin-top:2px;color:var(--ink-3);font-size:.49rem}.map-type-choice-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--choice-color) 17%,var(--paper-2));border:1px solid color-mix(in srgb,var(--choice-color) 45%,var(--line));color:var(--choice-color)}.map-type-choice-line{width:42px;height:30px;overflow:visible}.map-type-choice-area{width:40px;height:32px;border:2px solid var(--choice-border);border-radius:8px;background:color-mix(in srgb,var(--choice-color) calc(var(--choice-opacity) * 100%),transparent)}

.map-feature-color{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:end;gap:8px}.map-feature-color>label{display:grid;gap:5px;color:var(--ink-2);font-size:.62rem;font-weight:750}.map-feature-color input[type=color]{height:34px;padding:3px}.map-feature-color .editor-check{align-self:center;margin:0}.map-feature-color input:disabled{opacity:.42}

.map-change-records{border-bottom:1px solid var(--line)}.map-editor-record-list{align-content:start}.map-editor-record-list .map-record-row{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink);text-align:left}.map-editor-record-list button.map-record-row{cursor:pointer}.map-editor-record-list button.map-record-row:hover{border-color:color-mix(in srgb,var(--scope-accent) 42%,var(--line));background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper-2))}.map-record-row>span:nth-child(2){min-width:0}.map-record-row strong,.map-record-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-record-row em{grid-column:2/-1;color:var(--ink-3);font-size:.49rem;font-style:normal}.map-record-row.is-removed{opacity:.64;background:color-mix(in srgb,var(--red) 4%,var(--paper-2))}.map-record-operation{padding:4px 6px;border-radius:999px;background:var(--paper-3);color:var(--ink-3);font-size:.48rem;font-weight:850;text-transform:uppercase}.map-record-operation.is-add{background:color-mix(in srgb,var(--scope-accent) 15%,var(--paper));color:var(--scope-accent)}.map-record-operation.is-update{background:color-mix(in srgb,var(--gold) 16%,var(--paper));color:var(--gold)}.map-record-operation.is-remove{background:var(--red-soft);color:var(--red)}
.map-all-records{border-bottom:1px solid var(--line)}.map-all-records>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 15px;color:var(--ink-2);font-size:.64rem;font-weight:800;cursor:pointer}.map-all-records>summary::-webkit-details-marker{display:none}.map-all-records>summary small{min-width:26px;padding:3px 6px;border-radius:999px;background:var(--paper-3);color:var(--ink-3);text-align:center}.map-all-records[open]>summary{border-bottom:1px solid var(--line);background:var(--paper-2)}.map-all-records-body{padding:9px}.map-all-records-body .map-editor-record-list{max-height:440px;overflow:auto;padding:7px 0 0}.map-record-search{height:36px;display:flex!important;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3)}.map-record-search input{height:auto!important;padding:0!important;border:0!important;background:transparent!important;outline:0!important}.editor-empty.compact{min-height:78px}

.map-setup-form textarea{width:100%;min-height:68px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:.68rem;resize:vertical}.map-base-image-fields{display:grid;gap:9px}.map-base-image-fields img{width:100%;max-height:128px;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:#080b09}.map-base-image-fields label{display:grid;gap:5px;color:var(--ink-2);font-size:.62rem;font-weight:750}.map-base-image-fields small{color:var(--ink-3);font-size:.54rem;font-weight:500;line-height:1.4}
.map-feature-danger{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 15px 18px;padding:13px 0 0;border-top:1px solid var(--line)}.map-feature-danger p{margin:0;color:var(--ink-3);font-size:.56rem}.map-feature-danger .button-danger{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 40%,var(--line));border-radius:9px;background:var(--red-soft);color:var(--red);font:inherit;font-size:.59rem;font-weight:800;cursor:pointer}.map-feature-danger .button-danger[data-armed=true]{background:var(--red);color:var(--paper)}

.map-editor-stage[data-editor-tool=pan]{cursor:grab}.map-editor-stage[data-editor-tool=pan].is-dragging{cursor:grabbing}.map-editor-stage[data-editor-tool=pan] .map-feature,.map-editor-stage[data-editor-tool=pan] .map-editor-handle{pointer-events:none!important}.map-line-feature-group.is-live-dragging [data-map-label]{visibility:hidden!important}

@media(max-width:900px){
  .map-editor-page:has(.map-editor-experience.is-map-windowed) .map-editor-timebar{display:none}
  .map-editor-page .map-editor-experience.is-map-windowed{inset:var(--topbar-h) 0 0 0}
}

@media(max-width:520px){.map-feature-type-grid{grid-template-columns:1fr}.map-feature-color{grid-template-columns:1fr}}

.map-entity-current-mark,.map-entity-option-mark{color:var(--article-color,var(--scope-accent));border:1px solid color-mix(in srgb,var(--article-color,var(--scope-accent)) 36%,var(--line));background:color-mix(in srgb,var(--article-color,var(--scope-accent)) 13%,var(--paper-2))}.map-entity-current-mark>.registered-asset-icon,.map-entity-option-mark>.registered-asset-icon{background-color:currentColor}.entity-picker-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:7px 0}.entity-picker-filters label{min-width:0;display:grid;gap:3px;color:var(--ink-3);font-size:.49rem;font-weight:800}.entity-picker-filters select{min-width:0;height:31px;padding:4px 22px 4px 7px;font-size:.54rem}.map-entity-current-mark{place-self:center}.map-entity-current-mark>svg,.map-entity-option-mark>svg{display:block;margin:auto}.map-entity-current-mark>.registered-asset-icon,.map-entity-option-mark>.registered-asset-icon{margin:auto}
.map-settings-fieldset-note{grid-column:1/-1;margin:0 0 9px;color:var(--ink-3);font-size:.57rem;line-height:1.45}


/* map-workspace.css */
:root{--map-panel-width:440px}

.map-page-workspace,.map-editor-page{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--map-canvas);isolation:isolate}
.map-page-workspace>.map-viewer,.map-editor-page>.map-editor-experience>.map-editor-stage{position:absolute;z-index:0;inset:0;min-height:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:inherit}
.map-page-workspace .map-canvas,.map-editor-page .map-canvas{inset:0;background:inherit}
.map-page-workspace .legacy-map-image,.map-editor-page .legacy-map-image{background:inherit}
:is(.map-viewer,.map-editor-stage) .legacy-map-image{filter:var(--map-stage-filter)}
.map-page-workspace .map-zoom-readout,.map-editor-page .map-zoom-readout{position:absolute;z-index:7;right:14px;top:62px;padding:6px 8px;border:1px solid var(--map-hud-line);border-radius:9px;background:var(--map-hud-bg);color:var(--map-hud-text);font-size:.58rem;font-weight:800;backdrop-filter:blur(12px)}
.map-page-workspace .map-area-feature[data-area-part="label"],.map-page-workspace .map-line-feature[data-area-part="label"]{pointer-events:auto;cursor:pointer}

.map-page-title{position:absolute;z-index:8;top:14px;left:14px;max-width:min(380px,calc(100% - 150px));padding:9px 11px;border:1px solid var(--map-hud-line);border-radius:11px;background:var(--map-hud-bg);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px);pointer-events:none}
.map-page-title small{display:block;color:var(--map-hud-muted);font-size:.49rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.map-page-title h1{margin:2px 0 0;font-family:var(--font-display);font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1}.map-page-title p{margin:4px 0 0;color:var(--map-hud-muted);font-size:.52rem;line-height:1.3}
.map-page-actions{position:absolute;z-index:9;top:14px;right:14px;display:flex;align-items:center;gap:6px}.map-page-edit,.map-page-layers,.map-page-export,.map-panel-reopen{position:static;width:38px;height:38px;border:1px solid var(--map-hud-line);border-radius:11px;background:var(--map-hud-bg);color:var(--map-hud-text);display:grid;place-items:center;box-shadow:var(--map-hud-shadow);backdrop-filter:blur(12px);cursor:pointer}.map-page-edit:hover,.map-page-layers:hover,.map-page-export:hover,.map-page-layers.active,.map-page-export.active,.map-panel-reopen:hover{background:color-mix(in srgb,var(--scope-accent) 24%,var(--map-hud-bg-strong));color:var(--map-hud-text)}
.map-export-menu{display:grid;gap:14px;padding:16px}.map-export-menu header h2{margin:2px 0;font-family:var(--font-display)}.map-export-menu header p{margin:4px 0 0;color:var(--ink-3)}.map-export-menu form{display:grid;gap:10px}.map-export-menu output{min-height:1.2em;color:var(--ink-3);font-size:.58rem}
.map-page-workspace:has(.map-workspace-panel) .map-page-actions{right:calc(var(--map-panel-width) + 14px)}

.map-workspace-panel,.map-editor-page .map-editor-inspector{position:absolute;z-index:13;top:0;right:0;bottom:0;width:var(--map-panel-width);height:auto;min-width:0;overflow:auto;border:0;border-left:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--paper) 96%,transparent);box-shadow:-12px 0 35px color-mix(in srgb,var(--ink) 18%,transparent);backdrop-filter:blur(18px);scrollbar-width:thin}
.map-workspace-panel,.map-editor-page .map-editor-inspector{box-sizing:border-box;padding-bottom:124px;scroll-padding-bottom:124px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 124px),rgba(0,0,0,.72) calc(100% - 96px),rgba(0,0,0,.12) calc(100% - 68px),transparent calc(100% - 50px));mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 124px),rgba(0,0,0,.72) calc(100% - 96px),rgba(0,0,0,.12) calc(100% - 68px),transparent calc(100% - 50px))}
.map-panel-rollup{position:sticky;z-index:5;top:9px;float:right;width:31px;height:31px;margin:9px 9px -40px 0;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer}.map-panel-rollup svg{transform:rotate(-90deg)}
.map-panel-mode{padding:18px 52px 14px 17px;border-bottom:1px solid var(--line)}.map-panel-mode h2{margin:4px 0;font-family:var(--font-display);font-size:1rem}.map-panel-mode p{margin:0;color:var(--ink-3);font-size:.59rem;line-height:1.48}
.map-selected-detail>header{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:start;gap:9px;padding:18px 48px 15px 16px;border-bottom:1px solid var(--line)}.map-selected-detail h2{margin:3px 0;font-family:var(--font-display);font-size:1.02rem}.map-selected-detail header p{margin:0;color:var(--ink-3);font-size:.56rem}.map-selected-symbol{width:40px;height:40px;border:1px solid color-mix(in srgb,var(--selected-color) 44%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--selected-color) 13%,var(--paper-2));color:var(--selected-color);display:grid;place-items:center}.map-selected-symbol .registered-asset-icon{background-color:currentColor}.map-selected-article{display:grid;gap:9px;padding:17px}.map-selected-article strong{font-family:var(--font-display);font-size:.86rem}.map-selected-article p{margin:0;color:var(--ink-2);font-size:.64rem;line-height:1.55}.map-selected-article .button-primary{justify-self:start}

.map-toolbar{position:absolute!important;z-index:12!important;left:18px!important;bottom:16px!important;transform:none!important;display:flex!important;gap:2px!important;padding:3px!important;border:1px solid var(--map-hud-line)!important;border-radius:10px!important;background:var(--map-hud-bg)!important;box-shadow:var(--map-hud-shadow)!important;backdrop-filter:blur(12px)}.map-toolbar .map-tool{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--map-hud-text)!important;display:grid!important;place-items:center!important}.map-toolbar .map-tool:hover{background:var(--map-hud-hover)!important}.map-help{left:18px!important;bottom:55px!important;transform:none!important;padding:4px 7px!important;font-size:.48rem!important;opacity:.7}
.map-cluster-workspace .map-toolbar{bottom:12px!important}.map-cluster-workspace .map-help{bottom:49px!important}

.map-editor-page>.map-editor-experience{position:absolute;inset:0;display:block;min-height:0}.map-editor-page .map-editor-tools{position:absolute;z-index:12;top:50%;left:10px;transform:translateY(-50%);display:grid;gap:3px;width:48px;max-height:calc(100% - 160px);padding:4px;border:1px solid var(--map-hud-line);border-radius:11px;background:var(--map-hud-bg);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px)}
.map-editor-page .map-editor-tool{min-width:0;min-height:38px;height:38px;padding:0;color:var(--map-hud-muted);display:grid;place-items:center}.map-editor-page .map-editor-tool>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.map-editor-page .map-editor-tool:hover{background:var(--map-hud-hover);color:var(--map-hud-text)}.map-editor-page .map-editor-tool.active{background:color-mix(in srgb,var(--scope-accent) 24%,var(--map-hud-bg-strong));color:var(--map-hud-text)}.map-editor-page .map-tool-separator{background:color-mix(in srgb,var(--map-hud-text) 12%,transparent)}.map-editor-page .map-editor-instruction{top:14px;left:50%;max-width:300px;padding:6px 9px;font-size:.53rem}.map-editor-page .map-editor-savebar{position:absolute;z-index:14;right:58px;top:14px;display:flex;align-items:center;gap:5px;padding:3px;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px)}.map-editor-page .map-editor-savebar>div{display:none}.map-editor-page .map-editor-savebar .button-quiet,.map-editor-page .map-editor-savebar .button-primary{min-height:32px;padding-inline:8px;font-size:.57rem}.map-editor-page .map-feature-inspector-form{padding-bottom:28px}
.map-editor-save-error{position:absolute;z-index:15;top:58px;right:58px;max-width:min(420px,calc(100% - 120px));padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 48%,var(--map-hud-line));border-radius:9px;background:color-mix(in srgb,var(--red-soft) 90%,var(--map-hud-bg));color:var(--red);box-shadow:var(--map-hud-shadow);font-size:.58rem;font-weight:760}
.map-editor-inspector-reopen{position:absolute!important;z-index:14;right:14px!important;top:14px!important}.map-editor-page .map-editor-inspector{--map-panel-control-inset:14px}.map-editor-page .map-panel-rollup{position:absolute;z-index:7;top:var(--map-panel-control-inset);left:var(--map-panel-control-inset);float:none;width:32px;height:32px;margin:0}.map-editor-page .map-editor-inspector>header{min-height:78px;padding:17px 58px}.map-editor-page .map-editor-inspector>header>.editor-close{position:absolute;z-index:7;top:var(--map-panel-control-inset);right:var(--map-panel-control-inset)}.map-editor-experience:has(.map-editor-inspector) .map-editor-savebar,.map-editor-experience:has(.map-editor-inspector) .map-editor-save-error{right:calc(var(--map-panel-width) + 14px)}.map-editor-experience:has(.map-editor-inspector) .map-zoom-readout{right:calc(var(--map-panel-width) + 14px)}
.map-record-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 31px;gap:5px;align-items:stretch}.map-record-delete{border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.map-record-delete:hover{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:var(--red-soft);color:var(--red)}
.map-feature-inspector-form input,.map-feature-inspector-form select,.map-feature-inspector-form textarea{transition:border-color var(--fast),box-shadow var(--fast)}.map-feature-inspector-form :is(input,select,textarea):focus{border-color:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 13%,transparent)}.map-auto-save-note{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:8px 9px;border-radius:9px;background:color-mix(in srgb,var(--scope-accent) 9%,var(--paper-2));color:var(--scope-accent);font-size:.57rem;font-weight:750}
.map-event-picker{position:relative;display:grid;gap:6px}.map-event-picker>input{width:100%}.map-event-results{position:absolute;z-index:32;left:0;right:0;top:54px;max-height:210px;overflow:auto;display:none;gap:4px;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--paper);box-shadow:var(--shadow-lg)}.map-event-picker:focus-within .map-event-results{display:grid}.map-event-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-align:left}.map-event-option[hidden]{display:none}.map-event-option>span{min-width:0;display:grid;gap:3px}.map-event-option strong,.map-event-option small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.map-event-option strong{white-space:normal;line-height:1.25}.map-event-option small{color:var(--ink-3);white-space:nowrap}.map-event-option code{align-self:start;margin-top:1px;color:var(--scope-accent);font-size:.5rem}

.inspector-field{position:relative}.inspector-field-caption{position:relative;display:inline-flex;align-items:center;min-width:0;width:max-content;max-width:100%;cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 38%,transparent)}.inspector-field-caption:focus-visible{outline:1px solid var(--scope-accent);outline-offset:3px;border-radius:3px}.inspector-field-help,.inspector-field-tooltip{display:none!important}

.map-feature-type-picker,.map-entity-picker{position:relative}.map-feature-type-browser,.map-entity-browser{position:relative;margin:0!important;overflow:visible!important}.map-feature-type-browser>summary,.map-entity-browser>summary{list-style:none;min-height:48px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--paper);cursor:pointer}.map-feature-type-browser>summary::-webkit-details-marker,.map-entity-browser>summary::-webkit-details-marker{display:none}.map-feature-type-browser>summary>span:last-child,.map-entity-current>span:nth-child(2){min-width:0}.map-feature-type-browser>summary strong,.map-feature-type-browser>summary small,.map-entity-current strong,.map-entity-current small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-feature-type-browser>summary small,.map-entity-current em{margin-top:2px;color:var(--scope-accent);font-size:.5rem;font-style:normal}.map-feature-type-popover,.map-entity-browser-body{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;max-height:330px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-lg);overflow:auto}.map-feature-type-grid{grid-template-columns:1fr!important;max-height:300px!important}.map-entity-browser-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.map-entity-browser-tools>button{min-width:58px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink-2);font-size:.54rem}.map-entity-current{border:0!important;border-radius:0!important}.map-entity-current>em{justify-self:end}

.map-page-workspace.is-map-windowed,.map-editor-experience.is-map-windowed{position:fixed!important;z-index:950!important;inset:var(--topbar-h) 0 0 0!important;width:auto!important;height:auto!important;padding:0!important}.map-page-workspace.is-map-fullscreen-fallback,.map-editor-experience.is-map-fullscreen-fallback{position:fixed!important;z-index:1200!important;inset:0!important;width:100vw!important;height:100vh!important;padding:0!important}.map-page-workspace:fullscreen,.map-editor-experience:fullscreen{width:100vw;height:100vh;padding:0!important;background:inherit}

@media(max-width:760px){:root{--map-panel-width:min(88vw,340px)}.map-route .main-content{height:calc(100vh - var(--topbar-h));padding:0}.map-page-title{top:9px;left:9px;max-width:calc(100% - 110px);padding:8px 10px}.map-page-title p{display:none}.map-page-actions{top:9px;right:9px}.map-workspace-panel,.map-editor-page .map-editor-inspector{width:min(90vw,340px)}.map-toolbar{left:10px!important;bottom:12px!important}.map-help{display:none!important}.map-editor-page .map-editor-tools{left:6px;width:44px}.map-editor-page .map-editor-savebar{right:51px;top:9px}.map-editor-page .map-editor-savebar .button-quiet{display:none}}

.field-help-enhanced .inspector-field-tooltip{display:none!important}.field-help-portal{position:fixed;z-index:10000;box-sizing:border-box;padding:9px 10px;border:1px solid color-mix(in srgb,var(--scope-accent) 42%,var(--line));border-radius:9px;background:var(--paper);color:var(--ink-2);box-shadow:0 15px 40px rgba(0,0,0,.38),0 0 0 1px color-mix(in srgb,var(--paper) 80%,transparent);font-size:.65rem;font-weight:600;line-height:1.45;pointer-events:none}.field-help-portal[hidden]{display:none!important}

/* Light map chrome: pale neutral glass with readable ink. Dark mode keeps the original deep overlays. */
.cluster-map-background{fill:var(--map-cluster-bg)}.cluster-glow-core{stop-color:var(--map-cluster-glow)}.cluster-glow-edge{stop-color:var(--map-cluster-glow-edge)}.cluster-orbit{stroke:var(--map-cluster-orbit)}.cluster-orbit-outer{stroke-opacity:.3}.cluster-orbit-inner{stroke-opacity:.2}.cluster-node-core{stroke:var(--map-cluster-node-stroke)}


.timeline-event-picker{min-width:0}.event-picker-search{height:36px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3)}.event-picker-search:focus-within{border-color:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 15%,transparent)}.event-picker-search input{min-width:0;width:100%;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:var(--ink)}.timeline-event-picker .map-event-results{top:calc(100% - 34px);z-index:80;max-height:390px}.event-picker-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:6px}.event-picker-filters label{display:grid;gap:3px;color:var(--ink-3);font-size:.49rem;font-weight:800}.event-picker-filters select{min-width:0;height:30px;padding:4px 22px 4px 7px;font-size:.55rem}.event-picker-options{display:grid;gap:4px;margin-top:5px}.map-event-option.selected{border-color:color-mix(in srgb,var(--scope-accent) 55%,var(--line));background:color-mix(in srgb,var(--scope-accent) 10%,var(--paper))}.event-picker-selection{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 7px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-3);font-size:.55rem}.event-picker-selection.has-selection{border-color:color-mix(in srgb,var(--scope-accent) 32%,var(--line));color:var(--ink-2)}.event-picker-selection>span{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden}.event-picker-selection strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-picker-selection button{flex:0 0 auto;min-height:26px;padding:4px 7px;font-size:.52rem}.event-picker-selection button[hidden]{display:none!important}
.map-feature-type-filter{display:grid;grid-template-columns:minmax(120px,.65fr) minmax(150px,1fr);gap:8px;padding:10px;border-bottom:1px solid var(--line);background:var(--paper-2)}.map-feature-type-filter label{display:grid;gap:4px;color:var(--ink-3);font-size:.58rem}.map-feature-type-filter :is(select,input){min-width:0;width:100%}.map-editor-snap-control,.map-line-mode{position:relative}.map-editor-snap-control>summary,.map-line-mode>summary{list-style:none}.map-editor-snap-control>summary::-webkit-details-marker,.map-line-mode>summary::-webkit-details-marker{display:none}.map-editor-snap-control>div,.map-line-mode>div{position:absolute;z-index:30;left:calc(100% + 7px);bottom:0;width:220px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-lg);display:grid;gap:9px}.map-editor-snap-control>div label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;color:var(--ink-2);font-size:.63rem}.map-editor-snap-control>div label:first-child{grid-template-columns:auto 1fr}.map-editor-snap-control output{font-weight:800}.map-line-mode>div label{display:grid;gap:6px;color:var(--ink-2);font-size:.63rem}.map-line-mode select{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink);font:inherit}.map-snap-anchor{fill:color-mix(in srgb,var(--scope-accent) 22%,transparent);stroke:color-mix(in srgb,var(--scope-accent) 72%,#fff);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.map-editor-marker-handle{fill:var(--scope-accent);stroke:#fff;stroke-width:2}.map-layer-manager{display:grid;gap:12px}.map-layer-editor-list{display:grid;gap:9px}.map-layer-editor-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.map-layer-editor-heading{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.map-layer-editor-heading small{color:var(--ink-3);font-size:.57rem}.map-layer-editor-row>.inspector-field:nth-of-type(1),.map-layer-editor-row>.editor-check,.map-layer-editor-row>.button-danger{grid-column:1/-1}.map-layer-editor-row>.button-danger{justify-self:end}.map-geometry-category{border:1px solid var(--line);border-radius:10px;overflow:hidden}.map-geometry-category+.map-geometry-category{margin-top:7px}.map-geometry-category>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:8px;cursor:pointer;background:var(--paper-2);font-size:.64rem}.map-geometry-category>.map-geometry-list{padding:5px 8px 8px}
[data-map-cullable][data-map-culled="true"]{display:none!important}


/* map-scale.css */
.map-scale-control{position:absolute;z-index:12;left:208px;bottom:18px;min-width:78px;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:8px;color:var(--map-hud-text);pointer-events:none;text-shadow:0 1px 2px var(--map-canvas)}
.map-scale-control output{grid-column:1;font-family:var(--font-mono);font-size:.56rem;font-weight:850;white-space:nowrap}
.map-scale-control small{grid-column:2;grid-row:1;color:var(--map-hud-muted);font-size:.44rem;white-space:nowrap}
.map-scale-rule{grid-column:1/-1;display:block;height:7px;margin-top:3px;border:1px solid currentColor;border-top:0;background:linear-gradient(90deg,currentColor 0 1px,transparent 1px calc(50% - .5px),currentColor calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px) calc(100% - 1px),currentColor calc(100% - 1px));filter:drop-shadow(0 1px 1px var(--map-canvas))}
@media(max-width:760px){.map-scale-control small{display:none}}


/* map-distance.css */
.map-tool.active{border-color:color-mix(in srgb,var(--scope-accent) 48%,var(--map-hud-line));background:color-mix(in srgb,var(--scope-accent) 22%,var(--map-hud-bg-strong));color:var(--map-hud-text)}
.is-map-measuring .map-viewer,.is-map-measuring .map-editor-stage{cursor:crosshair}
.map-distance-overlay{pointer-events:none}.map-distance-overlay.is-active .map-distance-point{pointer-events:all;cursor:grab;touch-action:none}.map-distance-overlay.is-active .map-distance-point:active{cursor:grabbing}.map-distance-route,.map-distance-direct{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.map-distance-route{stroke:var(--scope-accent);stroke-width:3;filter:drop-shadow(0 1px 2px var(--map-canvas))}.map-distance-direct{stroke:var(--map-hud-text);stroke-width:1.25;stroke-dasharray:5 5;opacity:.66}.map-distance-point circle{fill:var(--map-hud-bg-strong);stroke:var(--scope-accent);stroke-width:3;vector-effect:non-scaling-stroke}.map-distance-point.is-snapped circle{fill:var(--scope-accent);stroke:var(--map-hud-text)}.map-distance-point text{pointer-events:none;fill:var(--map-hud-text);stroke:var(--map-canvas);stroke-width:3px;paint-order:stroke fill;font-family:var(--font-mono);font-weight:900;user-select:none}
.map-distance-panel{position:absolute;z-index:14;left:14px;bottom:68px;width:min(292px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--map-hud-line);border-radius:15px;background:color-mix(in srgb,var(--map-hud-bg-strong) 94%,transparent);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(16px);pointer-events:auto}.map-editor-page .map-distance-panel{left:70px}.map-distance-panel header{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 8px 13px;border-bottom:1px solid var(--map-hud-line)}.map-distance-panel header>span{display:grid;gap:1px}.map-distance-panel header small{color:var(--map-hud-muted);font-size:.47rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.map-distance-panel header strong{font-family:var(--font-display);font-size:.8rem}.map-distance-panel header button{width:30px;height:30px;border:1px solid var(--map-hud-line);border-radius:9px;background:transparent;color:var(--map-hud-muted);font-size:1rem;cursor:pointer}.map-distance-panel header button:hover{background:var(--map-hud-hover);color:var(--map-hud-text)}
.map-distance-values{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--map-hud-line)}.map-distance-values>span{display:grid;gap:2px;padding:9px 12px;background:var(--map-hud-bg-strong)}.map-distance-values small{color:var(--map-hud-muted);font-size:.48rem;text-transform:uppercase;letter-spacing:.08em}.map-distance-values strong{font-family:var(--font-mono);font-size:.78rem}
.map-distance-profile{padding:10px 12px;border-bottom:1px solid var(--map-hud-line)}.map-distance-profile>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.map-distance-profile strong{font-size:.56rem}.map-distance-profile small{color:var(--map-hud-muted);font-size:.48rem}.map-distance-profile-chart{display:block;width:100%;height:66px;margin-top:7px;overflow:visible}.map-distance-profile-grid{fill:none;stroke:var(--map-hud-line);stroke-width:1;vector-effect:non-scaling-stroke}.map-distance-profile-line{fill:none;stroke:var(--scope-accent);stroke-width:2.3;vector-effect:non-scaling-stroke}.map-distance-profile-range{display:flex!important;justify-content:space-between;color:var(--map-hud-muted);font-family:var(--font-mono);font-size:.44rem}.map-distance-profile-empty{margin-top:7px;padding:13px;border:1px dashed var(--map-hud-line);border-radius:9px;color:var(--map-hud-muted);font-size:.51rem;text-align:center}
.map-distance-snap{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;padding:9px 12px;cursor:pointer}.map-distance-snap input{width:15px;height:15px;accent-color:var(--scope-accent)}.map-distance-snap strong,.map-distance-snap small{display:block}.map-distance-snap strong{font-size:.55rem}.map-distance-snap small{margin-top:2px;color:var(--map-hud-muted);font-size:.47rem}.map-distance-panel footer{display:flex;gap:6px;padding:0 12px 9px}.map-distance-panel footer button{flex:1;min-height:30px;border:1px solid var(--map-hud-line);border-radius:8px;background:transparent;color:var(--map-hud-text);font:inherit;font-size:.5rem;font-weight:800;cursor:pointer}.map-distance-panel footer button:hover:not(:disabled){background:var(--map-hud-hover)}.map-distance-panel footer button:disabled{opacity:.35}.map-distance-panel>p{margin:0;padding:7px 12px;border-top:1px solid var(--map-hud-line);color:var(--map-hud-muted);font-size:.47rem;text-align:center}
@media(max-width:760px){.map-distance-panel,.map-editor-page .map-distance-panel{left:8px;bottom:62px;width:min(270px,calc(100vw - 16px))}.map-distance-profile{display:none}}


/* map-editing.css */
/* Map editor modules and the shared reader layer control. */
.map-editor-page .map-editor-tool{position:relative}
.map-editor-page .map-editor-tool.is-enabled:not(.active)::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--scope-accent);box-shadow:0 0 7px var(--scope-accent)}
.map-editor-page .map-tool-separator-strong{height:5px;margin:5px 3px;border-top:1px solid var(--map-hud-line);border-bottom:1px solid color-mix(in srgb,var(--map-hud-line) 40%,transparent);background:transparent}

.map-workspace-panel .layer-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;cursor:pointer}
.map-workspace-panel .layer-row-copy{min-width:0;display:grid;gap:2px}
.map-workspace-panel .layer-row strong,.map-workspace-panel .layer-row small{display:block;overflow:hidden;text-overflow:ellipsis}
.map-workspace-panel .layer-row strong{font-size:.72rem;white-space:normal}
.map-workspace-panel .layer-row small{color:var(--ink-3);font-size:.58rem}
.map-workspace-panel .layer-swatch{flex:0 0 11px;width:11px;height:11px}

.map-layer-manager{padding:14px}
.map-layer-editor-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.map-layer-editor-heading{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important}
.map-layer-editor-heading>span:last-child{min-width:0;display:grid;gap:2px}
.map-layer-fields{display:grid;grid-template-columns:76px 112px minmax(0,1fr);align-items:end;gap:9px}
.map-layer-fields>.map-layer-title-field{grid-column:1/-1}
.map-layer-fields>.map-layer-color-field{grid-column:1}
.map-layer-fields>.map-layer-order-field{grid-column:2}
.map-layer-fields>.map-layer-visible-field{grid-column:3;min-height:38px;padding:0 2px;align-self:end}
.map-layer-fields>.map-layer-visible-field .inspector-field-caption{white-space:normal;text-decoration:none;cursor:help}
.map-layer-delete{justify-self:end;display:inline-flex;align-items:center;gap:6px;max-width:100%}
.map-layer-add{width:100%}

.map-drawing-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);font-size:.6rem}
.map-drawing-progress span{color:var(--ink-3)}
.map-drawing-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.map-feature-inspector-form[data-map-snap-form] output{display:block;margin-top:5px;color:var(--scope-accent);font-weight:800}

.map-inspector-section-title{margin-top:7px;padding-top:11px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.56rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.map-feature-inspector-form>.map-inspector-section-title:first-child{margin-top:0;padding-top:0;border-top:0}
.map-line-endpoints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--paper-2) 66%,transparent)}
.map-line-endpoints>legend{padding:0 6px;color:var(--ink-2);font-family:var(--font-display);font-size:.76rem}
.map-line-endpoint-icon{grid-column:1/-1;min-width:0}
.map-line-endpoint-icon[hidden]{display:none!important}
.map-line-endpoint-icon .poi-icon-field{margin:0}
.map-line-endpoint-symbol{width:100%;height:100%;display:grid;place-items:center;color:var(--marker-color)}
.map-line-endpoint-symbol .registered-asset-icon{background-color:currentColor}
.map-editor-stage[data-editor-tool="select"] .map-feature.selected[data-map-feature-kind="line"][data-area-part="feature"],.map-editor-stage[data-editor-tool="select"] .map-feature.selected[data-map-feature-kind="area"][data-area-part="shape"]{cursor:move}
.map-editor-stage .map-editor-handle{cursor:grab}
.map-editor-stage[data-editor-tool="select"] .map-feature.selected,.map-editor-stage[data-editor-tool="select"] .map-editor-handle{touch-action:none;user-select:none}
.map-editor-stage[data-editor-tool="select"] .map-feature.selected .map-marker-icon-object{cursor:grab}
.map-editor-stage[data-editor-tool="select"] .map-feature.selected .map-marker-icon-object:active{cursor:grabbing}
.map-editor-stage[data-editor-tool="select"] [data-map-drag-surface]{cursor:grab}
.map-editor-stage[data-editor-tool="select"] [data-map-drag-surface]:active{cursor:grabbing}
.map-editor-stage .map-editor-handle:active,.map-editor-stage[data-editor-tool="select"] .map-feature.selected:active{cursor:grabbing}

.line-width-curve{grid-template-columns:1fr!important;align-items:stretch!important;gap:9px!important}
.line-width-curve>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.line-width-curve>header strong{font-size:.66rem}
.line-width-curve>header span{color:var(--ink-3);font-size:.54rem}
.line-width-curve>svg{height:68px!important}
.line-width-curve>div{display:grid;grid-template-columns:1fr!important;gap:7px!important}
.line-width-curve label{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center}
.line-width-curve output{text-align:right;color:var(--scope-accent);font-size:.55rem;font-weight:800}

.map-type-toolbar{grid-template-columns:minmax(190px,1fr) auto minmax(220px,320px) auto!important;align-items:center;gap:10px}
.map-type-toolbar>div:first-child{display:grid;gap:2px}
.map-type-toolbar>div:first-child>span{color:var(--ink-3);font-size:.62rem}
.map-type-toolbar>.button{min-width:150px;width:auto}

@media(max-width:900px){.map-type-toolbar{grid-template-columns:1fr 1fr!important}.map-type-toolbar>div:first-child{grid-column:1/-1}.map-type-toolbar .editor-compact-search{grid-column:1/-1}}
@media(max-width:520px){.map-layer-fields{grid-template-columns:72px minmax(0,1fr)}.map-layer-fields>.map-layer-order-field{grid-column:2}.map-layer-fields>.map-layer-visible-field{grid-column:1/-1}.map-line-endpoints{grid-template-columns:1fr}}


/* map-history.css */
/* Independent temporal-map controls. Component selectors consume semantic tokens only. */
.map-time-control{position:absolute;z-index:12;left:18px;right:118px;bottom:16px;min-width:0;display:grid;grid-template-columns:minmax(150px,220px) auto minmax(220px,1fr);align-items:center;gap:7px;color:var(--map-hud-text);pointer-events:none}
.map-time-control>*{pointer-events:auto}.map-time-exact{min-width:0}.map-time-exact .time-picker-trigger{height:44px;border-color:var(--map-hud-line);background:var(--map-hud-bg);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px)}.map-time-exact .time-picker-trigger small{color:var(--map-hud-muted)}
.map-time-snap-toggle{height:44px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);color:var(--map-hud-muted);font-size:.52rem;font-weight:800;backdrop-filter:blur(14px)}.map-time-snap-toggle input{margin:0}
.map-time-track{position:relative;min-width:0;height:44px;padding:23px 12px 0;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px)}
.map-time-readout{position:absolute;top:5px;left:10px;right:10px;display:flex;align-items:baseline;justify-content:center;gap:7px;min-width:0;pointer-events:none}.map-time-readout strong,.map-time-readout small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-time-readout strong{font-family:var(--font-display);font-size:.59rem}.map-time-readout small{color:var(--map-hud-muted);font-size:.46rem}
.map-time-track>[type=range]{position:relative;z-index:2;width:100%;height:14px;margin:0;accent-color:var(--scope-accent);cursor:ew-resize}.map-time-ticks{position:absolute;z-index:3;left:17px;right:17px;bottom:4px;height:10px;pointer-events:none}.map-time-tick{position:absolute;left:var(--map-time-position);bottom:0;width:12px;height:12px;padding:0;transform:translateX(-6px);border:0;background:transparent;pointer-events:auto;cursor:pointer}.map-time-tick>span{position:absolute;left:5px;bottom:0;width:2px;height:6px;border-radius:2px;background:color-mix(in srgb,var(--map-hud-text) 32%,transparent)}.map-time-tick:hover>span,.map-time-tick.active>span{height:9px;background:var(--scope-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 16%,transparent)}
.map-time-control.is-compact{grid-template-columns:minmax(132px,190px) minmax(180px,1fr)}.map-time-control.is-compact .map-time-snap-toggle{position:absolute;right:7px;top:6px;height:30px;border:0;background:transparent}.map-time-control.is-compact .map-time-track{padding-right:66px}

.map-object-history-menu{display:grid;align-content:start;gap:10px;padding:14px 15px 28px}.map-object-history-menu>header{min-height:64px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 43px 11px;border-bottom:1px solid var(--line)}.map-object-history-menu>header>div{min-width:0}.map-object-history-menu>header>.editor-close{position:absolute;z-index:7;top:var(--map-panel-control-inset,14px);right:var(--map-panel-control-inset,14px)}.map-object-history-menu>header small{color:var(--ink-3);font-size:.51rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.map-object-history-menu>header h3{margin:3px 0 0;font-family:var(--font-display);font-size:.9rem}.map-object-history-menu>header p{margin:4px 0 0;color:var(--ink-3);font-size:.53rem}.map-object-history-menu.is-empty{min-height:120px;place-items:center;color:var(--ink-3)}
.map-history-mode{display:grid;grid-template-columns:minmax(0,1fr) minmax(122px,auto);align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}.map-history-mode>span{min-width:0}.map-history-mode strong,.map-history-mode small{display:block}.map-history-mode strong{font-size:.64rem}.map-history-mode small{margin-top:2px;color:var(--ink-3);font-size:.5rem;line-height:1.35}.map-history-mode select{min-width:0}
.map-history-create{border:1px solid var(--line);border-radius:11px;background:var(--paper-2);overflow:visible}.map-history-create>summary{list-style:none;display:flex;align-items:center;gap:7px;padding:10px;color:var(--ink-2);font-size:.62rem;font-weight:850;cursor:pointer}.map-history-create>summary::-webkit-details-marker{display:none}.map-history-create[open]>summary{border-bottom:1px solid var(--line);color:var(--scope-accent)}.map-history-create>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.map-history-create .time-picker,.map-history-create .timeline-event-picker,.map-history-create .editor-field-wide,.map-history-create>form>.button{grid-column:1/-1}
.map-history-create .map-history-create-guide,.map-history-create>form>.button-primary{grid-column:1/-1}.map-history-create-guide{margin:0;padding:8px 9px;border-left:3px solid var(--scope-accent);background:color-mix(in srgb,var(--scope-accent) 7%,var(--paper));color:var(--ink-2);font-size:.53rem;line-height:1.5}
.map-history-field{min-width:0;display:grid;gap:5px;color:var(--ink-2);font-size:.59rem;font-weight:750}.map-history-field :is(input,select){min-width:0;width:100%}
.map-object-revision-list{display:grid;gap:7px}.map-object-revision{border:1px solid var(--line);border-radius:11px;background:var(--paper-2);overflow:visible}.map-object-revision>summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px;cursor:pointer}.map-object-revision>summary::-webkit-details-marker{display:none}.map-object-revision>summary>span:nth-child(2){min-width:0}.map-object-revision>summary strong,.map-object-revision>summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-object-revision>summary strong{font-size:.62rem}.map-object-revision>summary small{margin-top:2px;color:var(--ink-3);font-size:.49rem}.map-object-revision[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--scope-accent) 6%,var(--paper-2))}.map-object-revision.is-current{border-color:color-mix(in srgb,var(--scope-accent) 48%,var(--line))}
.map-revision-operation{padding:4px 6px;border-radius:999px;background:var(--paper-3);color:var(--ink-3);font-size:.46rem;font-weight:850;text-transform:uppercase}.map-revision-operation.is-create{background:color-mix(in srgb,var(--scope-accent) 14%,var(--paper));color:var(--scope-accent)}.map-revision-operation.is-update{background:color-mix(in srgb,var(--gold) 14%,var(--paper));color:var(--gold)}.map-revision-operation.is-remove{background:var(--red-soft);color:var(--red)}
.map-revision-jump{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.map-revision-jump:hover{border-color:color-mix(in srgb,var(--scope-accent) 42%,var(--line));color:var(--scope-accent)}
.map-object-revision-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.map-object-revision-form>.time-picker,.map-object-revision-form>.timeline-event-picker,.map-object-revision-form>.editor-field-wide,.map-object-revision-form>.map-history-path,.map-object-revision-form>.map-revision-state,.map-object-revision-form>.map-history-movement,.map-object-revision-form>.map-revision-actions{grid-column:1/-1}.map-history-path{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.map-history-path[hidden]{display:none}.map-history-path strong,.map-history-path small{display:block}.map-history-path strong{font-size:.59rem}.map-history-path small{margin-top:2px;color:var(--ink-3);font-size:.49rem}.map-history-path .button-quiet{display:flex;align-items:center;gap:5px}
.map-revision-state,.map-history-movement{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--scope-accent) 30%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--scope-accent) 5%,var(--paper))}.map-revision-state>div>span,.map-history-movement>div:first-child>span{display:block;color:var(--ink-3);font-size:.46rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.map-revision-state strong,.map-revision-state small,.map-history-movement strong,.map-history-movement small{display:block}.map-revision-state strong,.map-history-movement strong{margin-top:3px;font-size:.62rem}.map-revision-state small,.map-history-movement small{margin-top:3px;color:var(--ink-3);font-size:.5rem;line-height:1.4}.map-revision-state.is-empty{border-style:dashed}.map-revision-state .button-primary{justify-self:start;display:flex;align-items:center;gap:5px}.map-history-movement>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.map-history-movement .button-quiet{display:flex;align-items:center;gap:5px}.map-history-movement.needs-destination{border-color:color-mix(in srgb,var(--gold) 35%,var(--line));background:color-mix(in srgb,var(--gold) 6%,var(--paper))}
.map-history-shortcuts{display:grid;gap:9px;padding:13px 15px;border-top:1px solid var(--line)}.map-history-shortcuts>div:first-child>strong{font-family:var(--font-display);font-size:.78rem}.map-history-shortcuts>div:first-child>p{margin:5px 0 0;color:var(--ink-3);font-size:.61rem;line-height:1.45}.map-history-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.map-history-quick-actions :is(.button-primary,.button,.button-quiet){min-width:0;min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center}.map-history-quick-actions .map-history-full-button{grid-column:1/-1}.map-revision-editing-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px 15px;border-block:1px solid color-mix(in srgb,var(--scope-accent) 35%,var(--line));background:color-mix(in srgb,var(--scope-accent) 8%,var(--paper))}.map-revision-editing-banner>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--scope-accent) 14%,var(--paper));color:var(--scope-accent)}.map-revision-editing-banner strong,.map-revision-editing-banner small{display:block}.map-revision-editing-banner strong{font-size:.61rem}.map-revision-editing-banner small{margin-top:3px;color:var(--ink-3);font-size:.49rem;line-height:1.4}.map-revision-editing-banner .button-quiet{grid-column:2;justify-self:start}
.map-revision-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.map-revision-actions :is(.button,.button-danger){min-width:0;min-height:36px;justify-content:center}.map-revision-actions .button-danger{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--red) 38%,var(--line));border-radius:8px;background:var(--red-soft);color:var(--red);font:inherit;font-size:.55rem;font-weight:800;cursor:pointer}
.map-revision-delete-modal{width:min(560px,100%)}.map-revision-delete-warning{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;margin:4px 0 14px;padding:14px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--line));border-radius:13px;background:var(--red-soft)}.map-revision-delete-warning>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--red);color:var(--paper)}.map-revision-delete-warning strong{display:block;font-family:var(--font-mono);font-size:.66rem;overflow-wrap:anywhere}.map-revision-delete-warning p{margin:5px 0 0;color:var(--ink-2);font-size:.62rem;line-height:1.5}.map-revision-delete-error{display:block;min-height:1.2em;margin-bottom:10px;color:var(--red);font-size:.62rem}.map-revision-delete-header .context-label{color:var(--red)}.map-revision-delete-modal .button-danger{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--red) 50%,var(--line));border-radius:9px;background:var(--red);color:var(--paper);font:inherit;font-size:.62rem;font-weight:850;cursor:pointer}.map-revision-delete-modal .button-danger:disabled{opacity:.55;cursor:wait}
.map-object-purge-zone{display:grid;gap:9px;margin-top:5px;padding:12px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--red-soft) 55%,var(--paper))}.map-object-purge-zone strong{display:block;color:var(--red);font-size:.65rem}.map-object-purge-zone p{margin:4px 0 0;color:var(--ink-2);font-size:.52rem;line-height:1.45}.map-object-purge-zone .button-danger,.map-purge-form .button-danger{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 50%,var(--line));border-radius:9px;background:var(--red);color:var(--paper);font:inherit;font-size:.58rem;font-weight:850;cursor:pointer}.map-object-purge-zone .button-danger{justify-self:start}.map-object-purge-zone .button-danger:hover,.map-purge-form .button-danger:hover{filter:brightness(1.06)}.map-purge-form .button-danger:disabled{opacity:.55;cursor:wait}
.map-purge-modal{width:min(580px,100%)}.map-purge-modal-header .context-label{color:var(--red)}.map-purge-warning{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;margin-bottom:16px;padding:14px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--line));border-radius:13px;background:var(--red-soft)}.map-purge-warning>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--red);color:var(--paper)}.map-purge-warning strong{display:block;font-family:var(--font-display);font-size:1rem}.map-purge-warning p{margin:5px 0 0;color:var(--ink-2);font-size:.7rem;line-height:1.55}.map-purge-warning code{padding:1px 4px;border-radius:4px;background:color-mix(in srgb,var(--paper) 55%,transparent);color:var(--ink);font-size:.64rem}.map-purge-form .account-actions{justify-content:flex-end}
.map-motion-path-route{pointer-events:none;fill:none;stroke:color-mix(in srgb,var(--scope-accent) 82%,#fff);stroke-width:4;stroke-dasharray:12 7;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--ink) 55%,transparent))}.map-motion-path-endpoint{pointer-events:none;fill:var(--paper);stroke:var(--scope-accent);stroke-width:3;vector-effect:non-scaling-stroke}.map-motion-path-endpoint.is-target{fill:var(--scope-accent);stroke:var(--paper)}.map-motion-path-control{pointer-events:auto;fill:var(--scope-accent);stroke:var(--paper);stroke-width:3;vector-effect:non-scaling-stroke;cursor:move}.map-motion-path-control:hover{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--scope-accent) 65%,transparent))}
.map-motion-path-actions{position:absolute;z-index:15;top:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--map-hud-line);border-radius:10px;background:var(--map-hud-bg);color:var(--map-hud-text);box-shadow:var(--map-hud-shadow);backdrop-filter:blur(14px)}.map-motion-path-actions>span{padding:0 6px;color:var(--map-hud-muted);font-size:.52rem;font-weight:750}.map-motion-path-actions .button-quiet,.map-motion-path-actions .button-primary{min-height:30px;padding:5px 8px;font-size:.54rem}

@media(max-width:760px){.map-time-control{left:10px;right:88px;bottom:10px;grid-template-columns:minmax(126px,176px) minmax(150px,1fr)}.map-time-snap-toggle{display:none}.map-time-readout small{display:none}.map-history-create>form,.map-object-revision-form{grid-template-columns:1fr}.map-history-field{grid-column:1/-1}}


/* map-terrain.css */
.terrain-inspector-form{display:grid;gap:12px;padding:14px 15px 150px}
.terrain-brush-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:0;border:0}
.terrain-brush-modes>legend{grid-column:1/-1;margin-bottom:2px;color:var(--ink-3);font-size:.56rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.terrain-brush-modes>button{min-width:0;min-height:36px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-2);font:inherit;font-size:.58rem;font-weight:760;cursor:pointer}
.terrain-brush-modes>button:hover{border-color:color-mix(in srgb,var(--scope-accent) 38%,var(--line));color:var(--ink)}
.terrain-brush-modes>button.active,.terrain-brush-modes>button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--scope-accent) 62%,var(--line));background:color-mix(in srgb,var(--scope-accent) 14%,var(--paper-2));color:var(--scope-accent)}
.terrain-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.terrain-field{display:grid;gap:5px;min-width:0;color:var(--ink-2);font-size:.58rem;font-weight:760}
.terrain-field-wide{grid-column:1/-1}
.terrain-field :is(input,select){min-width:0;width:100%;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink);font:inherit}
.terrain-field :is(input,select):focus{border-color:var(--scope-accent);outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--scope-accent) 14%,transparent)}
.terrain-inspector-section{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--paper-2)}
.terrain-inspector-section>summary{padding:10px 11px;color:var(--ink-2);font-size:.62rem;font-weight:790;cursor:pointer}
.terrain-inspector-section[open]>summary{border-bottom:1px solid var(--line);color:var(--ink)}
.terrain-inspector-section>.terrain-field-grid{padding:10px}
.terrain-section-body{display:grid;gap:9px;padding:10px;border-top:1px solid var(--line)}
.terrain-inspector-section>summary+.terrain-section-body{border-top:0}
.terrain-toggle{display:flex;align-items:center;gap:8px;padding:0 10px 9px;color:var(--ink-2);font-size:.58rem;font-weight:730;cursor:pointer}
.terrain-section-body>.terrain-toggle{padding:0}
.terrain-section-note{margin:0;padding:8px 9px;border-left:2px solid color-mix(in srgb,var(--scope-accent) 42%,var(--line));background:color-mix(in srgb,var(--scope-accent) 5%,var(--paper));color:var(--ink-3);font-size:.54rem;line-height:1.5}
.terrain-toggle input{flex:0 0 auto}
.terrain-history-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:2px}
.terrain-history-actions>button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);color:var(--ink-2);font:inherit;font-size:.58rem;font-weight:760;cursor:pointer}
.terrain-history-actions>button:hover:not(:disabled){border-color:color-mix(in srgb,var(--scope-accent) 42%,var(--line));color:var(--ink)}
.terrain-history-actions>button:disabled{opacity:.42;cursor:default}
[data-terrain-flatten-fields][hidden],[data-terrain-lod-fields][hidden],[data-terrain-sea-fields][hidden],[data-terrain-smooth-fields][hidden]{display:none!important}
.terrain-contour-layer{pointer-events:none}
.terrain-layer,.terrain-sea-level-layer{pointer-events:none}
.terrain-contour-path{shape-rendering:geometricPrecision}
.terrain-sea-level-layer path{shape-rendering:geometricPrecision}
.terrain-contour-label{font-family:var(--font-display);letter-spacing:.14em;pointer-events:none}
.terrain-brush-preview{fill:none!important;stroke:var(--map-hud-text);vector-effect:none;pointer-events:none;filter:none!important;shape-rendering:geometricPrecision}
[data-terrain-live-preview]{pointer-events:none}
[data-terrain-live-preview][hidden]{display:none!important}
.terrain-live-preview-path{shape-rendering:geometricPrecision;filter:drop-shadow(0 0 1px var(--canvas))}
.terrain-live-preview-path.is-minor{stroke:var(--terrain-preview-minor)}
.terrain-live-preview-path.is-major{stroke:var(--terrain-preview-major)}
.terrain-editor-error{display:none;padding:9px 10px;border:1px solid color-mix(in srgb,var(--red) 55%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--red) 10%,var(--paper-2));color:var(--red);font-size:.62rem;line-height:1.45}
.terrain-editor-error:not(:empty){display:block}
.terrain-blocking-error{margin:14px;padding:12px;border:1px solid color-mix(in srgb,var(--red) 55%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--red) 10%,var(--paper-2));color:var(--ink-2);font-size:.65rem;line-height:1.5}
.terrain-section-body>.button,.terrain-section-body>.button-danger{width:100%;justify-content:center}
@media(max-width:520px){.terrain-brush-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-field-grid{grid-template-columns:1fr}}
