/* ════════════════════════════════════════════════════════════════════
   SymposiON · Curator's Console (Ἱεροφάντης) — the Realm admin tab.
   Ported from the design-handoff admin.css; every selector scoped under
   #admin-tab-realm so the cur-* vocabulary stays contained. Built on the
   same --sym-* tokens the player uses, so RT.apply(realmTheme) re-tints
   the whole console with one call.
   ════════════════════════════════════════════════════════════════════ */
#admin-tab-realm{
  --t-display:'Cinzel','Cormorant Garamond',serif;
  --t-serif:'Cormorant Garamond',Georgia,serif;
  --t-sans:'Inter',system-ui,sans-serif;
  --t-mono:'JetBrains Mono',ui-monospace,monospace;
  padding:0 !important;
}
#admin-tab-realm *{ box-sizing:border-box; }

#admin-tab-realm .cur-root{
  --sym-bg:#0A0907; --sym-bg-card:#15120D; --sym-bg-raise:#1d1812;
  --sym-fg:#F1E9D6; --sym-fg-muted:#897A5A; --sym-ink:#0A0907;
  --sym-gold:#D2A24A; --sym-gold-lt:#F2CD78; --sym-gold-dk:#9E7322;
  --sym-terra:#E07A3C; --sym-accent:#D2A24A; --sym-accent2:#E07A3C;
  --sym-hairline:color-mix(in srgb,#D2A24A 18%,transparent);
  --hair:var(--sym-hairline);
  --gold-grad:linear-gradient(135deg,var(--sym-gold-lt) 0%,var(--sym-gold) 46%,var(--sym-gold-dk) 100%);
  position:relative; width:100%; height:calc(100vh - 60px); min-height:560px;
  display:grid; grid-template-columns:248px 1fr;
  background:var(--sym-bg); color:var(--sym-fg); overflow:hidden;
  font-family:var(--t-sans); border:1px solid var(--hair);
}
#admin-tab-realm .cur-root.is-light{ --hair:color-mix(in srgb,var(--sym-accent) 16%,transparent); }

/* NAV */
#admin-tab-realm .cur-nav{ border-right:1px solid var(--hair); display:flex; flex-direction:column;
  background:color-mix(in srgb,var(--sym-bg-card) 55%,var(--sym-bg)); position:relative; z-index:2; }
#admin-tab-realm .cur-brand{ display:flex; align-items:center; gap:13px; padding:20px 18px 16px; border-bottom:1px solid var(--hair); }
#admin-tab-realm .cur-brand .crest{ flex:none; color:var(--sym-accent); filter:drop-shadow(0 0 8px color-mix(in srgb,var(--sym-accent) 30%,transparent)); }
#admin-tab-realm .cur-brand h1{ margin:0; font-family:var(--t-display); font-weight:700; font-size:17px; letter-spacing:.4px; }
#admin-tab-realm .cur-brand-en{ font-family:var(--t-mono); font-size:8px; letter-spacing:1.8px; text-transform:uppercase; color:var(--sym-fg-muted); }
#admin-tab-realm .cur-nav-list{ flex:1; display:flex; flex-direction:column; padding:10px 0; overflow-y:auto; }
#admin-tab-realm .cur-nav-b{ appearance:none; border:0; background:transparent; cursor:pointer; text-align:left; color:var(--sym-fg-muted);
  display:flex; align-items:center; gap:12px; padding:11px 18px; position:relative; transition:color .2s,background .2s; }
#admin-tab-realm .cur-nav-ic{ width:18px; height:18px; flex:none; opacity:.72; }
#admin-tab-realm .cur-nav-ic .t-glyph{ width:100%; height:100%; }
#admin-tab-realm .cur-nav-l{ display:flex; flex-direction:column; gap:1px; }
#admin-tab-realm .cur-nav-l b{ font-family:var(--t-display); font-weight:600; font-size:14px; letter-spacing:.3px; color:inherit; }
#admin-tab-realm .cur-nav-l span{ font-family:var(--t-mono); font-size:7.5px; letter-spacing:1.5px; text-transform:uppercase; opacity:.7; }
#admin-tab-realm .cur-nav-b:hover{ color:var(--sym-fg); background:color-mix(in srgb,var(--sym-accent) 5%,transparent); }
#admin-tab-realm .cur-nav-b.on{ color:var(--sym-accent); background:color-mix(in srgb,var(--sym-accent) 10%,transparent); }
#admin-tab-realm .cur-nav-b.on .cur-nav-ic{ opacity:1; }
#admin-tab-realm .cur-nav-b.on::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--sym-accent); }
#admin-tab-realm .cur-nav-foot{ padding:14px 14px; border-top:1px solid var(--hair); display:flex; flex-direction:column; gap:8px; }

/* MAIN */
#admin-tab-realm .cur-main{ display:grid; grid-template-columns:1fr minmax(340px,440px); min-width:0; overflow:hidden; }
#admin-tab-realm .cur-editor{ overflow-y:auto; padding:24px 28px 60px; position:relative; }
#admin-tab-realm .cur-editor::-webkit-scrollbar{ width:8px; }
#admin-tab-realm .cur-editor::-webkit-scrollbar-thumb{ background:var(--hair); }

#admin-tab-realm .cur-section{ max-width:660px; }
#admin-tab-realm .cur-sec-head{ margin-bottom:18px; }
#admin-tab-realm .cur-sec-head h2{ margin:0; font-family:var(--t-display); font-weight:700; font-size:24px; letter-spacing:.5px; }
#admin-tab-realm .cur-sec-en{ font-family:var(--t-mono); font-size:9px; letter-spacing:2.4px; text-transform:uppercase; color:var(--sym-fg-muted); }
#admin-tab-realm .cur-sec-head p{ margin:10px 0 0; font-family:var(--t-serif); font-style:italic; font-size:14px; line-height:1.5;
  color:color-mix(in srgb,var(--sym-fg) 64%,transparent); max-width:60ch; }
#admin-tab-realm .cur-sub{ font-family:var(--t-display); font-weight:600; font-size:13px; letter-spacing:.6px; text-transform:uppercase;
  color:color-mix(in srgb,var(--sym-accent) 80%,var(--sym-fg)); margin:0 0 12px; display:flex; align-items:baseline; gap:8px; }
#admin-tab-realm .cur-sub-gk{ font-family:var(--t-display); text-transform:none; font-size:16px; color:var(--sym-fg); }
#admin-tab-realm .cur-slotgroup{ margin-bottom:24px; }
#admin-tab-realm .cur-grid2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }

/* COLLECTION EDITOR */
#admin-tab-realm .coll-note{ font-family:var(--t-serif); font-style:italic; font-size:13px; color:var(--sym-fg-muted); margin:0 0 12px; }
#admin-tab-realm .coll-list{ display:flex; flex-direction:column; gap:7px; }
#admin-tab-realm .coll-row{ border:1px solid var(--hair); background:var(--sym-bg-card); transition:border-color .2s; }
#admin-tab-realm .coll-row.open{ border-color:color-mix(in srgb,var(--sym-accent) 42%,transparent); }
#admin-tab-realm .coll-head{ display:flex; align-items:center; gap:12px; padding:11px 13px; cursor:pointer; }
#admin-tab-realm .coll-glyph{ width:30px; height:30px; flex:none; color:var(--sym-accent); border:1px solid color-mix(in srgb,var(--sym-accent) 28%,transparent);
  display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--sym-accent) 8%,transparent); }
#admin-tab-realm .coll-glyph .t-glyph{ width:56%; height:56%; }
#admin-tab-realm .coll-titles{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
#admin-tab-realm .coll-titles b{ font-family:var(--t-display); font-weight:600; font-size:14.5px; line-height:1.1; }
#admin-tab-realm .coll-titles span{ font-family:var(--t-mono); font-size:8.5px; letter-spacing:1px; text-transform:uppercase; color:var(--sym-fg-muted); }
#admin-tab-realm .coll-tools{ display:flex; align-items:center; gap:4px; }
#admin-tab-realm .coll-mini{ appearance:none; cursor:pointer; width:24px; height:24px; border:1px solid var(--hair); background:transparent;
  color:var(--sym-fg-muted); font-size:12px; display:flex; align-items:center; justify-content:center; transition:color .2s,border-color .2s,background .2s; }
#admin-tab-realm .coll-mini:hover{ color:var(--sym-fg); border-color:color-mix(in srgb,var(--sym-accent) 40%,transparent); }
#admin-tab-realm .coll-mini:disabled{ opacity:.3; cursor:not-allowed; }
#admin-tab-realm .coll-mini.danger:hover{ color:#fff; background:var(--sym-terra); border-color:var(--sym-terra); }
#admin-tab-realm .coll-caret{ font-size:10px; color:var(--sym-fg-muted); width:16px; text-align:center; }
#admin-tab-realm .coll-form{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; padding:14px; border-top:1px solid var(--hair);
  background:color-mix(in srgb,var(--sym-bg) 40%,transparent); }
#admin-tab-realm .coll-add{ appearance:none; cursor:pointer; margin-top:10px; width:100%; padding:11px; border:1px dashed color-mix(in srgb,var(--sym-accent) 34%,transparent);
  background:transparent; color:var(--sym-accent); font-family:var(--t-mono); font-size:9.5px; letter-spacing:1.6px; text-transform:uppercase;
  font-weight:600; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .2s,border-color .2s; }
#admin-tab-realm .coll-add:hover{ background:color-mix(in srgb,var(--sym-accent) 9%,transparent); border-color:var(--sym-accent); }
#admin-tab-realm .coll-add span{ font-size:14px; }
#admin-tab-realm .coll-add.lg{ margin-top:14px; padding:14px; }

/* FIELDS */
#admin-tab-realm .af{ display:flex; flex-direction:column; gap:5px; min-width:0; }
#admin-tab-realm .af.full{ grid-column:1 / -1; }
#admin-tab-realm .af-l{ font-family:var(--t-mono); font-size:8px; letter-spacing:1.4px; text-transform:uppercase; color:var(--sym-fg-muted); display:flex; gap:6px; align-items:baseline; }
#admin-tab-realm .af-l em{ font-style:normal; opacity:.6; text-transform:none; letter-spacing:.4px; }
#admin-tab-realm .af-in{ width:100%; font-family:var(--t-sans); font-size:13px; color:var(--sym-fg); background:var(--sym-bg);
  border:1px solid var(--hair); padding:8px 10px; transition:border-color .2s; }
#admin-tab-realm .af-in:focus{ outline:none; border-color:color-mix(in srgb,var(--sym-accent) 55%,transparent); }
#admin-tab-realm .af-in.mono{ font-family:var(--t-mono); font-size:12px; }
#admin-tab-realm .af-sel-wrap{ position:relative; }
#admin-tab-realm .af-sel{ appearance:none; cursor:pointer; padding-right:26px; }
#admin-tab-realm .af-sel-wrap::after{ content:"▾"; position:absolute; right:9px; top:50%; transform:translateY(-50%); color:var(--sym-fg-muted); font-size:10px; pointer-events:none; }
#admin-tab-realm .af-in option{ background:var(--sym-bg-card); color:var(--sym-fg); }

/* icon picker */
#admin-tab-realm .af-icon-btn{ appearance:none; cursor:pointer; display:flex; align-items:center; gap:8px; width:100%;
  font-family:var(--t-mono); font-size:11px; color:var(--sym-fg); background:var(--sym-bg); border:1px solid var(--hair); padding:6px 9px; }
#admin-tab-realm .af-icon-cur{ width:20px; height:20px; color:var(--sym-accent); flex:none; }
#admin-tab-realm .af-icon-cur .t-glyph{ width:100%; height:100%; }
#admin-tab-realm .af-caret{ margin-left:auto; color:var(--sym-fg-muted); font-size:10px; }
#admin-tab-realm .af-icon-pop{ display:grid; grid-template-columns:repeat(6,1fr); gap:4px; margin-top:6px; padding:8px; border:1px solid var(--hair);
  background:var(--sym-bg-raise); max-height:170px; overflow-y:auto; }
#admin-tab-realm .af-icon-cell{ appearance:none; cursor:pointer; aspect-ratio:1; border:1px solid transparent; background:color-mix(in srgb,var(--sym-fg) 5%,transparent);
  color:var(--sym-fg); padding:6px; transition:border-color .15s,color .15s; }
#admin-tab-realm .af-icon-cell:hover{ border-color:color-mix(in srgb,var(--sym-accent) 50%,transparent); color:var(--sym-accent); }
#admin-tab-realm .af-icon-cell.on{ border-color:var(--sym-accent); color:var(--sym-accent); background:color-mix(in srgb,var(--sym-accent) 12%,transparent); }
#admin-tab-realm .af-icon-cell .t-glyph{ width:100%; height:100%; }

/* theme picker */
#admin-tab-realm .af-theme-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:7px; }
#admin-tab-realm .af-theme{ appearance:none; cursor:pointer; border:1px solid var(--hair); background:var(--sym-bg-card); padding:0; overflow:hidden;
  display:flex; flex-direction:column; transition:border-color .2s,transform .2s; }
#admin-tab-realm .af-theme:hover{ transform:translateY(-2px); border-color:color-mix(in srgb,var(--sym-accent) 45%,transparent); }
#admin-tab-realm .af-theme.on{ border-color:var(--sym-accent); box-shadow:inset 0 0 0 1px var(--sym-accent); }
#admin-tab-realm .af-theme-sw{ height:32px; width:100%; }
#admin-tab-realm .af-theme-nm{ font-family:var(--t-display); font-size:11px; padding:5px 7px; color:var(--sym-fg); text-align:left; line-height:1.1; }

/* CUSTOM PILLAR BLOCK */
#admin-tab-realm .cur-pillar{ border:1px solid color-mix(in srgb,var(--sym-accent) 26%,transparent); background:color-mix(in srgb,var(--sym-accent) 4%,var(--sym-bg-card));
  margin-bottom:12px; }
#admin-tab-realm .cur-pillar-head{ display:flex; align-items:center; gap:12px; padding:12px 13px; border-bottom:1px solid var(--hair); }
#admin-tab-realm .cur-pillar .coll-form{ background:transparent; border-top:0; }
#admin-tab-realm .cur-offerings{ padding:0 14px 16px; }
#admin-tab-realm .cur-offerings-l{ font-family:var(--t-mono); font-size:8px; letter-spacing:1.6px; text-transform:uppercase; color:var(--sym-fg-muted); margin:4px 0 8px; }

/* BUTTONS */
#admin-tab-realm .cur-btn{ appearance:none; cursor:pointer; font-family:var(--t-mono); font-size:9px; letter-spacing:1.5px; text-transform:uppercase;
  font-weight:600; padding:10px 13px; border:1px solid color-mix(in srgb,var(--sym-accent) 36%,transparent); background:transparent;
  color:var(--sym-accent); display:inline-flex; align-items:center; justify-content:center; gap:8px; transition:background .2s,border-color .2s; }
#admin-tab-realm .cur-btn .t-glyph{ width:13px; height:13px; }
#admin-tab-realm .cur-btn:hover{ background:color-mix(in srgb,var(--sym-accent) 12%,transparent); }
#admin-tab-realm .cur-btn.solid{ background:var(--gold-grad); color:var(--sym-ink); border-color:transparent; }
#admin-tab-realm .cur-btn.solid:hover{ filter:brightness(1.06); }
#admin-tab-realm .cur-btn.ghost{ border-color:var(--hair); color:var(--sym-fg-muted); }
#admin-tab-realm .cur-btn.ghost:hover{ color:var(--sym-fg); border-color:color-mix(in srgb,var(--sym-accent) 36%,transparent); }
#admin-tab-realm .cur-btn.full{ width:100%; }
#admin-tab-realm .cur-roll{ margin-top:14px; display:flex; flex-direction:column; gap:8px; }
#admin-tab-realm .cur-roll-out{ display:flex; flex-direction:column; gap:4px; font-family:var(--t-serif); font-size:13.5px; font-style:italic;
  color:color-mix(in srgb,var(--sym-fg) 70%,transparent); border-left:2px solid color-mix(in srgb,var(--sym-accent) 40%,transparent); padding:6px 0 6px 12px; }
#admin-tab-realm .cur-roll-out b{ font-style:normal; font-family:var(--t-mono); font-size:9px; letter-spacing:1.2px; text-transform:uppercase; color:var(--sym-accent); }

/* PREVIEW PANE */
#admin-tab-realm .cur-preview{ border-left:1px solid var(--hair); display:flex; flex-direction:column; min-width:0;
  background:color-mix(in srgb,var(--sym-bg) 60%,#000); }
#admin-tab-realm .cur-preview-bar{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid var(--hair); flex:none; }
#admin-tab-realm .cur-preview-l{ font-family:var(--t-mono); font-size:9px; letter-spacing:1.6px; text-transform:uppercase; color:var(--sym-fg-muted);
  display:flex; align-items:center; gap:7px; }
#admin-tab-realm .cur-preview-l .t-glyph{ width:14px; height:14px; color:var(--sym-accent); }
#admin-tab-realm .cur-open{ margin-left:auto; font-family:var(--t-mono); font-size:8.5px; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--sym-accent); text-decoration:none; cursor:pointer; border-bottom:1px solid transparent; }
#admin-tab-realm .cur-open:hover{ border-bottom-color:var(--sym-accent); }
#admin-tab-realm .cur-preview-stage{ flex:1; min-height:0; display:flex; align-items:flex-start; justify-content:center; padding:16px; overflow:hidden;
  background:repeating-linear-gradient(45deg,transparent 0 12px,color-mix(in srgb,var(--sym-fg) 2%,transparent) 12px 13px); }
#admin-tab-realm .cur-preview-frame{ flex:none; width:1180px; height:760px; transform-origin:top center; box-shadow:0 24px 60px rgba(0,0,0,.5); border:1px solid var(--hair); overflow:hidden; }
#admin-tab-realm .cur-preview-foot{ flex:none; padding:10px 14px; border-top:1px solid var(--hair); font-family:var(--t-serif); font-style:italic;
  font-size:12.5px; color:var(--sym-fg-muted); text-align:center; }

/* DATA DRAWER */
#admin-tab-realm .cur-drawer-scrim{ position:fixed; inset:0; z-index:60; background:color-mix(in srgb,#000 62%,transparent); display:flex; align-items:center; justify-content:center; padding:40px; }
#admin-tab-realm .cur-drawer{ width:min(720px,100%); max-height:84vh; display:flex; flex-direction:column; background:var(--sym-bg-card);
  border:1px solid color-mix(in srgb,var(--sym-accent) 40%,transparent); box-shadow:0 30px 80px rgba(0,0,0,.6); }
#admin-tab-realm .cur-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--hair); }
#admin-tab-realm .cur-drawer-head h3{ margin:0; font-family:var(--t-display); font-weight:700; font-size:18px; }
#admin-tab-realm .cur-drawer .coll-note{ padding:12px 18px 0; margin:0; }
#admin-tab-realm .cur-json{ flex:1; min-height:300px; margin:12px 18px; font-family:var(--t-mono); font-size:11px; line-height:1.5; color:var(--sym-fg);
  background:var(--sym-bg); border:1px solid var(--hair); padding:12px; resize:none; }
#admin-tab-realm .cur-json:focus{ outline:none; border-color:color-mix(in srgb,var(--sym-accent) 50%,transparent); }
#admin-tab-realm .cur-drawer-foot{ display:flex; align-items:center; gap:10px; justify-content:flex-end; padding:14px 18px; border-top:1px solid var(--hair); }
#admin-tab-realm .cur-msg{ margin-right:auto; font-family:var(--t-mono); font-size:10px; letter-spacing:.8px; color:var(--sym-accent); }

/* responsive: stack preview under editor on narrow viewports */
@media (max-width:1100px){
  #admin-tab-realm .cur-main{ grid-template-columns:1fr; grid-template-rows:1fr auto; }
  #admin-tab-realm .cur-preview{ border-left:0; border-top:1px solid var(--hair); height:380px; }
}
@media (max-width:720px){
  #admin-tab-realm .cur-root{ grid-template-columns:1fr; grid-template-rows:auto 1fr; height:auto; }
  #admin-tab-realm .cur-nav{ flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid var(--hair); }
}
