/* Approved Olympus/Pantheon reference lock.
   Domain view = one classical column per functional type.
   Sanctuary view = the same visual language, replacing type columns with the agents in that type. */

.pantheon-domain-view .domain-chamber,
.sanctuary-open .council-chamber{
  height:560px;
  overflow:hidden;
  perspective:1400px;
  background:
    radial-gradient(ellipse at 50% 24%,rgba(39,52,82,.26),transparent 37%),
    linear-gradient(180deg,#070b14 0%,#060913 52%,#03050a 100%);
  border:1px solid rgba(184,145,72,.12);
  border-top-color:rgba(214,175,98,.2);
  box-shadow:inset 0 0 90px rgba(0,0,0,.42);
}

.pantheon-domain-view .domain-chamber::before,
.sanctuary-open .council-chamber::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.45),transparent 10%,transparent 90%,rgba(0,0,0,.45)),
    radial-gradient(ellipse at 50% 100%,rgba(171,126,53,.08),transparent 60%);
  z-index:1;
}

/* Background temple rhythm, intentionally subtle like the approved reference. */
.pantheon-domain-view .temple-columns,
.sanctuary-open .temple-columns{
  inset:20px 0 84px;
  opacity:.11;
  filter:brightness(.58) saturate(.35);
}
.pantheon-domain-view .temple-columns i,
.sanctuary-open .temple-columns i{width:72px}

/* ---------- Domain/type columns ---------- */
.pantheon-domain-view .domain-columns{
  position:absolute;
  inset:26px 3.2% 74px;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:start;
  gap:clamp(26px,2.9vw,58px);
  pointer-events:none;
}

.pantheon-domain-view .domain-column{
  position:relative;
  left:auto;
  top:auto;
  width:100%;
  max-width:190px;
  height:432px;
  justify-self:center;
  transform:none!important;
  z-index:8!important;
  pointer-events:auto;
  color:#d9d4c9;
}

.pantheon-domain-view .domain-column:hover,
.pantheon-domain-view .domain-column:focus-visible{
  transform:translateY(-10px) scale(1.035)!important;
  filter:brightness(1.12);
}

.pantheon-domain-view .domain-aura{
  top:44px;
  width:130px;
  height:280px;
  opacity:.09;
  filter:blur(22px);
}
.pantheon-domain-view .domain-column.live .domain-aura,
.pantheon-domain-view .domain-column.licensed_active .domain-aura{opacity:.38}

.pantheon-domain-view .domain-monument{
  height:315px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}

/* Classical capital + fluted marble shaft. */
.pantheon-domain-view .domain-symbol{
  order:3;
  position:absolute;
  top:117px;
  z-index:8;
  width:58px;
  height:58px;
  margin:0;
  border:2px solid color-mix(in srgb,var(--domain),#d7bd84 44%);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(237,226,199,.2),rgba(8,10,15,.94) 68%);
  color:#e3d2ac;
  font:700 24px 'Cormorant Garamond',serif;
  box-shadow:0 0 0 4px rgba(5,7,12,.9),0 0 0 5px color-mix(in srgb,var(--domain),transparent 36%),0 0 24px color-mix(in srgb,var(--domain),transparent 62%);
  text-shadow:0 0 8px color-mix(in srgb,var(--domain),transparent 20%);
}

.pantheon-domain-view .domain-capital{
  order:1;
  width:112px;
  height:42px;
  clip-path:polygon(8% 0,92% 0,100% 14%,93% 32%,100% 46%,91% 63%,96% 100%,4% 100%,9% 63%,0 46%,7% 32%,0 14%);
  background:
    linear-gradient(180deg,rgba(255,248,228,.2),transparent 34%),
    linear-gradient(90deg,#302a22 0%,#d9c9a3 15%,#f3ead4 48%,#cbb98f 80%,#241f19 100%);
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.7));
}

.pantheon-domain-view .domain-shaft{
  order:2;
  width:76px;
  height:205px;
  clip-path:polygon(8% 0,92% 0,86% 100%,14% 100%);
  background:
    repeating-linear-gradient(90deg,rgba(39,34,27,.24) 0 5px,rgba(255,247,226,.34) 6px 9px,rgba(108,94,70,.22) 10px 13px),
    linear-gradient(90deg,#29251f 0%,#cabb99 19%,#f3ead4 49%,#b9a884 79%,#242019 100%);
  box-shadow:inset 12px 0 18px rgba(0,0,0,.42),inset -12px 0 18px rgba(0,0,0,.38),0 0 15px rgba(226,207,164,.08);
}
.pantheon-domain-view .domain-shaft::before{opacity:.3}
.pantheon-domain-view .domain-shaft i{display:none}

.pantheon-domain-view .domain-base{
  order:4;
  width:118px;
  height:43px;
  margin-top:-1px;
  clip-path:polygon(8% 0,92% 0,96% 18%,100% 36%,93% 58%,97% 100%,3% 100%,7% 58%,0 36%,4% 18%);
  background:
    linear-gradient(180deg,rgba(255,247,223,.16),transparent 38%),
    linear-gradient(90deg,#28231c 0%,#c9b78e 18%,#eee3ca 50%,#b6a37b 80%,#211d18 100%);
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.68));
}

/* State treatment mirrors the reference: active glows, available is ivory, unavailable is black marble. */
.pantheon-domain-view .domain-column.licensed_active .domain-capital,
.pantheon-domain-view .domain-column.licensed_active .domain-shaft,
.pantheon-domain-view .domain-column.licensed_active .domain-base{
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--domain),transparent 68%),transparent 42%),
    linear-gradient(90deg,color-mix(in srgb,var(--domain),#21170e 58%),color-mix(in srgb,var(--domain),#efc879 24%) 48%,color-mix(in srgb,var(--domain),#21170e 55%));
  box-shadow:0 0 24px color-mix(in srgb,var(--domain),transparent 66%),inset 10px 0 16px rgba(0,0,0,.25),inset -10px 0 16px rgba(0,0,0,.25);
}
.pantheon-domain-view .domain-column.available_unlicensed .domain-monument{filter:saturate(.72) brightness(1.04)}
.pantheon-domain-view .domain-column.unavailable .domain-capital,
.pantheon-domain-view .domain-column.unavailable .domain-shaft,
.pantheon-domain-view .domain-column.unavailable .domain-base{
  background:linear-gradient(90deg,#08090c,#282b31 48%,#0a0b0e 100%);
  box-shadow:inset 10px 0 15px rgba(0,0,0,.55),inset -10px 0 15px rgba(0,0,0,.55);
}
.pantheon-domain-view .domain-column.unavailable .domain-monument{filter:none;opacity:.78}
.pantheon-domain-view .domain-column.unavailable .domain-symbol{border-color:#4e5057;color:#777a83;box-shadow:0 0 0 4px #06070a,0 0 0 5px #25272d}

.pantheon-domain-view .domain-label{margin-top:5px;text-shadow:0 2px 7px #000}
.pantheon-domain-view .domain-label strong{
  font:600 17px 'Cormorant Garamond',serif;
  letter-spacing:.03em;
  text-transform:none;
  color:#e5ddcc;
}
.pantheon-domain-view .domain-label small{margin-top:4px;font-size:8px;color:#aaa28f;letter-spacing:.03em}
.pantheon-domain-view .domain-label em{display:none}

/* ---------- Reference floor: black marble with ornate but thin gold inlay ---------- */
.pantheon-domain-view .council-floor,
.sanctuary-open .council-floor{
  left:1.7%;
  right:1.7%;
  bottom:-2px;
  height:245px;
  border:1px solid rgba(190,143,57,.72);
  border-radius:50%;
  overflow:hidden;
  background:
    linear-gradient(115deg,transparent 0 21%,rgba(175,180,188,.08) 21.2%,transparent 21.55% 47%,rgba(207,210,216,.06) 47.2%,transparent 47.45% 75%,rgba(138,143,152,.07) 75.2%,transparent 75.5%),
    linear-gradient(23deg,transparent 0 28%,rgba(171,176,184,.06) 28.2%,transparent 28.5% 62%,rgba(221,224,229,.05) 62.2%,transparent 62.5%),
    radial-gradient(ellipse at 50% 48%,#171b25 0%,#0d1017 48%,#06080d 78%,#030407 100%);
  box-shadow:0 38px 55px rgba(0,0,0,.78),0 0 32px rgba(187,137,48,.12),inset 0 0 90px rgba(0,0,0,.44);
}
.pantheon-domain-view .council-floor::before,
.sanctuary-open .council-floor::before{
  content:"";
  position:absolute;
  inset:7% 7%;
  border-radius:50%;
  border:1px solid rgba(190,143,57,.48);
  box-shadow:0 0 0 37px rgba(190,143,57,.025),0 0 0 38px rgba(190,143,57,.35),0 0 0 78px rgba(190,143,57,.018),0 0 0 79px rgba(190,143,57,.19);
}
.pantheon-domain-view .council-floor::after,
.sanctuary-open .council-floor::after{
  content:"✦";
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:96px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border:1px solid rgba(190,143,57,.5);
  border-radius:50%;
  color:#c7953e;
  font-size:32px;
  text-shadow:0 0 9px rgba(205,154,60,.28);
  box-shadow:0 0 0 22px rgba(190,143,57,.02),0 0 0 23px rgba(190,143,57,.23);
}
.pantheon-domain-view .floor-sigil,
.sanctuary-open .floor-sigil{display:none}
.pantheon-domain-view .domain-throne{display:none}

/* ---------- Sanctuary: swap domain columns for agent columns, same approved aesthetics ---------- */
.sanctuary-open .sanctuary-header{position:relative;z-index:15}
.sanctuary-open .celestial-vault{opacity:.18}
.sanctuary-open .hera-throne{display:none}
.sanctuary-open .council-agents{
  position:absolute;
  inset:26px 10% 74px;
  z-index:9;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:clamp(34px,5vw,86px);
  align-items:start;
  justify-items:center;
}
.sanctuary-open .council-agent{
  position:relative;
  left:auto;
  top:auto;
  width:170px;
  height:430px;
  transform:none!important;
  opacity:1!important;
  filter:none!important;
}
.sanctuary-open .council-agent:hover,
.sanctuary-open .council-agent.focused{transform:translateY(-10px) scale(1.035)!important}
.sanctuary-open .agent-aura{top:46px;height:280px;width:132px;opacity:.12}
.sanctuary-open .council-agent.live .agent-aura,
.sanctuary-open .council-agent.focused .agent-aura{opacity:.42}
.sanctuary-open .agent-monument{height:315px;display:flex;flex-direction:column;align-items:center;position:relative}
.sanctuary-open .agent-monument .persona-medallion{
  position:absolute;
  top:116px;
  z-index:10;
  transform:scale(.88);
  box-shadow:0 0 0 4px #06080d,0 0 0 5px color-mix(in srgb,var(--agent),transparent 28%),0 0 22px color-mix(in srgb,var(--agent),transparent 64%);
}
.sanctuary-open .monument-capital{width:112px;height:42px;background:linear-gradient(90deg,#2b261f,#d2c39f 16%,#efe5cf 50%,#b7a67f 82%,#231f19);clip-path:polygon(8% 0,92% 0,100% 14%,93% 32%,100% 46%,91% 63%,96% 100%,4% 100%,9% 63%,0 46%,7% 32%,0 14%)}
.sanctuary-open .monument-shaft{width:76px;height:205px;background:repeating-linear-gradient(90deg,rgba(39,34,27,.24) 0 5px,rgba(255,247,226,.34) 6px 9px,rgba(108,94,70,.22) 10px 13px),linear-gradient(90deg,#29251f,#cab994 20%,#f1e7d0 49%,#b4a27d 79%,#221e18);clip-path:polygon(8% 0,92% 0,86% 100%,14% 100%);box-shadow:inset 12px 0 18px rgba(0,0,0,.42),inset -12px 0 18px rgba(0,0,0,.38)}
.sanctuary-open .monument-base{width:118px;height:43px;background:linear-gradient(90deg,#28231c,#c9b78e 18%,#eee3ca 50%,#b6a37b 80%,#211d18);clip-path:polygon(8% 0,92% 0,96% 18%,100% 36%,93% 58%,97% 100%,3% 100%,7% 58%,0 36%,4% 18%)}
.sanctuary-open .council-agent.licensed_active .monument-capital,
.sanctuary-open .council-agent.licensed_active .monument-shaft,
.sanctuary-open .council-agent.licensed_active .monument-base{background:linear-gradient(90deg,color-mix(in srgb,var(--agent),#1d1710 60%),color-mix(in srgb,var(--agent),#edc778 24%) 48%,color-mix(in srgb,var(--agent),#1d1710 58%));box-shadow:0 0 22px color-mix(in srgb,var(--agent),transparent 70%)}
.sanctuary-open .council-agent.unavailable .monument-capital,
.sanctuary-open .council-agent.unavailable .monument-shaft,
.sanctuary-open .council-agent.unavailable .monument-base{background:linear-gradient(90deg,#08090c,#282b31 48%,#0a0b0e 100%)}
.sanctuary-open .council-label{margin-top:5px}
.sanctuary-open .council-label strong{font-size:17px;letter-spacing:.02em;color:#e7dfce}
.sanctuary-open .council-label small{font-size:9px;color:#aaa28f;margin-top:3px}
.sanctuary-open .council-label em{font-size:8px;color:#777d8a;max-width:150px;margin-top:4px}
.sanctuary-open .agent-rail{display:none}

@media(max-width:1320px){
  .pantheon-domain-view .domain-columns{gap:18px;left:2%;right:2%}
  .pantheon-domain-view .domain-column{max-width:160px}
  .pantheon-domain-view .domain-capital,.sanctuary-open .monument-capital{width:100px}
  .pantheon-domain-view .domain-shaft,.sanctuary-open .monument-shaft{width:68px}
  .pantheon-domain-view .domain-base,.sanctuary-open .monument-base{width:105px}
}
@media(max-width:1000px){
  .pantheon-domain-view .domain-columns{grid-template-columns:repeat(3,minmax(0,1fr));overflow-y:auto;align-content:start}
  .pantheon-domain-view .domain-chamber{height:820px}
  .sanctuary-open .council-agents{grid-template-columns:repeat(2,minmax(150px,1fr));inset-left:6%;inset-right:6%;overflow-y:auto}
  .sanctuary-open .council-chamber{height:800px}
}
@media(max-width:680px){
  .pantheon-domain-view .domain-columns{grid-template-columns:repeat(2,minmax(0,1fr));inset:24px 2% 54px}
  .pantheon-domain-view .domain-chamber{height:1140px}
  .pantheon-domain-view .domain-column{max-width:145px}
  .sanctuary-open .council-agents{grid-template-columns:1fr;inset:22px 3% 60px}
  .sanctuary-open .council-chamber{height:1260px}
}
