/* =========================================================
   ISHAURA DOSN GRAND ATRIUM v8.2
   Visual language: sacred civil service / celestial government hall
   Server-rendered office states remain unchanged.
   No local theme toggle. Follows the page theme.
========================================================= */
#dosn-grand-atrium-v8,
#dosn-grand-atrium-v8 *{box-sizing:border-box}

#dosn-grand-atrium-v8{
  --page:#050914;
  --page-2:#08111f;
  --paper:#0b1423;
  --paper-2:#101c2c;
  --paper-3:#162438;
  --ink:#f4f8ff;
  --soft:#c4d2e3;
  --muted:#8fa4bb;
  --line:rgba(126,170,211,.16);
  --line-strong:rgba(126,170,211,.30);
  --brass:#d8b65f;
  --brass-deep:#b99131;
  --blue:#78c7ec;
  --green:#55d6a7;
  --green-deep:#087a58;
  --amber:#e0b35e;
  --violet:#aa98e8;
  --shadow:0 24px 64px rgba(0,0,0,.38);
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 50% -6%,rgba(76,178,229,.13),transparent 30%),
    radial-gradient(circle at 13% 18%,rgba(131,112,221,.07),transparent 25%),
    linear-gradient(180deg,var(--page),var(--page-2))!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding:36px 16px 84px;
  position:relative;
  overflow:hidden;
  color-scheme:dark;
}

/* Explicit page-controlled light mode hooks. */
#dosn-grand-atrium-v8.dosn-v8-light,
.cosmic-light #dosn-grand-atrium-v8,
html.light #dosn-grand-atrium-v8,
body.light #dosn-grand-atrium-v8,
html.light-mode #dosn-grand-atrium-v8,
body.light-mode #dosn-grand-atrium-v8,
html.is-light #dosn-grand-atrium-v8,
body.is-light #dosn-grand-atrium-v8,
html[data-theme="light"] #dosn-grand-atrium-v8,
body[data-theme="light"] #dosn-grand-atrium-v8,
html[data-color-scheme="light"] #dosn-grand-atrium-v8,
body[data-color-scheme="light"] #dosn-grand-atrium-v8,
html[data-color-mode="light"] #dosn-grand-atrium-v8,
body[data-color-mode="light"] #dosn-grand-atrium-v8,
html[data-mode="light"] #dosn-grand-atrium-v8,
body[data-mode="light"] #dosn-grand-atrium-v8,
html[data-bs-theme="light"] #dosn-grand-atrium-v8,
body[data-bs-theme="light"] #dosn-grand-atrium-v8{
  --page:#e8eff6;
  --page-2:#dfe8f1;
  --paper:#f8fbfe;
  --paper-2:#edf3f8;
  --paper-3:#e2ebf3;
  --ink:#102033;
  --soft:#344b63;
  --muted:#5b7188;
  --line:rgba(37,72,105,.16);
  --line-strong:rgba(37,72,105,.30);
  --brass:#755615;
  --brass-deep:#62470d;
  --blue:#075985;
  --green:#087452;
  --green-deep:#066146;
  --amber:#805415;
  --violet:#60478d;
  --shadow:0 18px 46px rgba(26,48,73,.12);
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 50% -5%,rgba(2,132,199,.10),transparent 30%),
    linear-gradient(180deg,var(--page),var(--page-2))!important;
  color-scheme:light;
}

#dosn-grand-atrium-v8:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    linear-gradient(90deg,transparent 0 7%,var(--line) 7% 7.08%,transparent 7.08% 92.92%,var(--line) 92.92% 93%,transparent 93%),
    radial-gradient(ellipse at 50% 0,transparent 0 43%,var(--line) 43.15% 43.35%,transparent 43.5%);
}

.dosn-v8-shell{max-width:1240px;margin:auto;position:relative;z-index:1}
.dosn-v8-surface{
  border:1px solid var(--line-strong);
  border-radius:22px;
  background:var(--paper);
  box-shadow:var(--shadow);
}

/* Labels read like registry headings, not terminal code. */
.dosn-v8-kicker,
.dosn-v8-section-head>span,
.dosn-v8-access-head>div>span,
.dosn-v8-scroll-hunt>span,
.dosn-v8-compass span,
.dosn-v8-reveal-copy>span,
.dosn-v8-door-intro>span{
  font:800 .68rem/1.4 Inter,system-ui,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--brass);
}

/* =========================================================
   HERO / CENTRAL REGISTRY SEAL
========================================================= */
.dosn-v8-hero{padding:48px clamp(20px,4vw,50px) 36px;text-align:center}
.dosn-v8-seal-wrap{
  width:146px;
  height:146px;
  margin:2px auto 38px;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid var(--line-strong);
  border-radius:50%;
  background:var(--paper-2);
  box-shadow:inset 0 0 0 8px var(--paper),inset 0 0 0 9px var(--line-strong),0 12px 30px rgba(0,0,0,.12);
}
.dosn-v8-seal-wrap:before,
.dosn-v8-seal-wrap:after{content:"✦";position:absolute;color:var(--brass);font-size:.75rem;top:21px;left:50%;transform:translateX(-50%)}
.dosn-v8-seal-wrap:after{top:auto;bottom:21px}
.dosn-v8-seal{width:88px;height:88px;border:1px solid var(--brass);border-radius:50%;display:grid;place-items:center;align-content:center;background:var(--paper)}
.dosn-v8-seal span{color:var(--brass);font-size:1.25rem;line-height:1}
.dosn-v8-seal b{margin-top:6px;color:var(--ink);font:700 .82rem/1 Georgia,serif;letter-spacing:.16em}
.dosn-v8-seal-wrap>span{position:absolute;bottom:-25px;white-space:nowrap;color:var(--soft);font:800 .59rem/1 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}

.dosn-v8-hero h1{margin:17px 0 0;color:var(--ink);font:700 clamp(2.25rem,5vw,4.55rem)/1.03 Georgia,serif}
.dosn-v8-hero h1 span{display:block;color:var(--blue)}
.dosn-v8-lead{max-width:920px;margin:18px auto 0;color:var(--soft)!important;font-size:clamp(1rem,1.5vw,1.14rem);line-height:1.82}
.dosn-v8-lead strong{color:var(--ink)!important}

/* Incarnation arrival is experienced as a Department-wide broadcast rather than explained from outside the lore. */
.dosn-v8-broadcast{
  max-width:960px;
  margin:52px auto 0;
  padding:clamp(22px,3.2vw,34px);
  position:relative;
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:18px;
  background:linear-gradient(180deg,var(--paper-2),var(--paper));
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.dosn-v8-broadcast:before,.dosn-v8-broadcast:after{content:"";position:absolute;left:7%;right:7%;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.dosn-v8-broadcast:before{top:13px}.dosn-v8-broadcast:after{bottom:13px}
.dosn-v8-broadcast-signal{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;color:var(--blue);font:800 .8rem/1 Inter,system-ui,sans-serif;letter-spacing:.18em}
.dosn-v8-broadcast-signal i{font-style:normal;color:var(--brass);letter-spacing:.22em}
.dosn-v8-broadcast-kicker{color:var(--brass);font:800 .65rem/1.35 Inter,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.dosn-v8-broadcast-stage{margin:12px auto 0;max-width:760px;color:var(--soft)!important;font:400 1rem/1.7 Georgia,serif}
.dosn-v8-broadcast-stage em{color:var(--soft)!important}
.dosn-v8-broadcast-message{max-width:800px;margin:18px auto 0;padding:19px clamp(15px,3vw,28px);border-left:3px solid var(--brass);border-right:3px solid var(--brass);background:color-mix(in srgb,var(--blue) 5%,transparent)}
.dosn-v8-broadcast-message p{margin:9px 0;color:var(--ink)!important;font:400 clamp(1rem,1.7vw,1.12rem)/1.72 Georgia,serif}
.dosn-v8-broadcast-message strong{color:var(--ink)!important}
.dosn-v8-broadcast-tone{display:block;width:34px;height:34px;margin:13px auto;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;color:var(--brass);background:var(--paper)}

.dosn-v8-arrival{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;margin-top:32px;text-align:left}
.dosn-v8-arrival-single{grid-template-columns:1fr;max-width:960px;margin-left:auto;margin-right:auto}
.dosn-v8-scene,.dosn-v8-voice{padding:23px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}
.dosn-v8-scene>b,.dosn-v8-voice>b{display:block;color:var(--brass);font:800 .64rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.dosn-v8-scene p,.dosn-v8-voice p{margin:10px 0 0;color:var(--soft)!important;font:400 1rem/1.72 Georgia,serif}
.dosn-v8-voice{border-left:4px solid var(--brass)}
.dosn-v8-voice p{color:var(--ink)!important;font-style:italic}

.dosn-v8-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;text-align:left}
.dosn-v8-ledger>div{min-height:88px;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 3px 0 rgba(209,173,103,.08)}
.dosn-v8-ledger span{color:var(--brass);font:800 .57rem/1.35 Inter,system-ui,sans-serif;letter-spacing:.095em;text-transform:uppercase}
.dosn-v8-ledger strong{margin-top:7px;color:var(--ink)!important;line-height:1.35;overflow-wrap:anywhere}

.dosn-v8-origin{display:grid;grid-template-columns:78px 1fr;gap:16px;align-items:center;margin-top:13px;padding:17px;border:1px solid rgba(132,99,35,.28);border-radius:14px;background:var(--paper-2);text-align:left}
.dosn-v8-origin>div{width:78px;height:78px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);font-size:2.2rem}
.dosn-v8-origin p{margin:0;color:var(--soft)!important;line-height:1.63}
.dosn-v8-origin b{display:block;margin-bottom:6px;color:var(--brass);font:800 .61rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}

/* =========================================================
   DEPARTMENT DIRECTORY / REGISTRY BOARD
========================================================= */
.dosn-v8-access{margin-top:26px;padding:clamp(22px,3vw,32px)}
.dosn-v8-access-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.dosn-v8-access-head h2,.dosn-v8-section-head h2{margin:7px 0 0;color:var(--ink);font:700 clamp(1.65rem,3vw,2.35rem)/1.12 Georgia,serif}
.dosn-v8-access-head p,.dosn-v8-section-head p{max-width:850px;margin:10px 0 0;color:var(--soft)!important;line-height:1.7}
.dosn-v8-count{min-width:155px;padding:17px;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper-2);text-align:center}
.dosn-v8-count strong{display:block;color:var(--ink);font:700 1.65rem/1 Georgia,serif}
.dosn-v8-count span{display:block;margin-top:8px;color:var(--brass);font:800 .58rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}

.dosn-v8-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:21px}
.dosn-v8-board-room{appearance:none;width:100%;min-height:112px;padding:14px 15px;text-align:left;color:var(--ink)!important;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);cursor:pointer;box-shadow:inset 0 3px 0 rgba(209,173,103,.06)}
.dosn-v8-board-room:hover{border-color:var(--line-strong);background:var(--paper-3)}
.dosn-v8-board-room span{display:block;color:var(--brass);font:800 .57rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em}
.dosn-v8-board-room b{display:block;margin-top:8px;color:var(--ink);font:700 .98rem/1.25 Georgia,serif}
.dosn-v8-board-room em{display:block;margin-top:9px;font:800 .59rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.07em;font-style:normal;text-transform:uppercase}
.dosn-v8-board-room.open{border-color:rgba(36,106,75,.48);background:color-mix(in srgb,var(--green) 7%,var(--paper-2))}
.dosn-v8-board-room.open em{color:var(--green)}
.dosn-v8-board-room.waiting{border-color:rgba(143,92,31,.38)}
.dosn-v8-board-room.waiting em{color:var(--amber)}
.dosn-v8-board-room.checking em{color:var(--blue)}
.dosn-v8-registry-line{margin:16px 0 0;color:var(--soft)!important;font-size:.91rem;line-height:1.6}

/* =========================================================
   FIRST TOOLS / FIELD KIT / SCROLL HUNT
========================================================= */
.dosn-v8-tools{margin-top:26px;padding:clamp(22px,3vw,32px)}
.dosn-v8-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.dosn-v8-tool-grid details{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);overflow:hidden}
.dosn-v8-tool-grid details[open]{border-color:rgba(132,99,35,.42);background:var(--paper)}
.dosn-v8-tool-grid summary{list-style:none;display:grid;grid-template-columns:52px 1fr auto;gap:13px;align-items:center;min-height:86px;padding:15px 17px;cursor:pointer;color:var(--ink)}
.dosn-v8-tool-grid summary::-webkit-details-marker{display:none}
.dosn-v8-tool-grid summary i{font-style:normal;font-size:1.65rem}
.dosn-v8-tool-grid summary span b{display:block;color:var(--ink)}
.dosn-v8-tool-grid summary span em{display:block;margin-top:4px;color:var(--brass);font:800 .58rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.1em;font-style:normal}
.dosn-v8-tool-grid summary u{text-decoration:none;color:var(--blue);font:800 .59rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.06em}
.dosn-v8-tool-grid details>div{padding:0 18px 19px;border-top:1px solid var(--line)}
.dosn-v8-tool-grid details>div h3{margin:15px 0 0;color:var(--ink);font:700 1.12rem/1.2 Georgia,serif}
.dosn-v8-tool-grid details>div p{margin:8px 0 0;color:var(--soft)!important;line-height:1.6}

.dosn-v8-field-kit{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}
.dosn-v8-field-kit>div:first-child{display:flex;flex-direction:column}
.dosn-v8-field-kit>div:first-child span{color:var(--brass);font:800 .58rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.dosn-v8-field-kit>div:first-child strong{margin-top:5px;color:var(--ink)}
.dosn-v8-field-kit>b{display:inline-block;margin-top:10px;color:var(--blue);font:800 .58rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.09em}
.dosn-v8-kit-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.dosn-v8-kit-slots i{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-style:normal;text-align:center;color:var(--muted);opacity:.62}
.dosn-v8-kit-slots i.recovered{opacity:1;border-color:rgba(36,106,75,.4);color:var(--green)}
.dosn-v8-field-kit p{margin:11px 0 0;color:var(--soft)!important;font-size:.86rem}

.dosn-v8-scroll-hunt{margin-top:16px;padding:20px;border:1px solid rgba(132,99,35,.30);border-radius:12px;background:linear-gradient(135deg,var(--paper-2),var(--paper));opacity:.76;position:relative}
.dosn-v8-scroll-hunt:before{content:"ARCHIVED QUEST BRIEF";position:absolute;right:18px;top:17px;color:var(--muted);font:800 .54rem/1 Inter,system-ui,sans-serif;letter-spacing:.12em}
.dosn-v8-scroll-hunt.armed{opacity:1;border-color:rgba(36,106,75,.48);box-shadow:inset 5px 0 0 var(--green)}
.dosn-v8-scroll-hunt h3{margin:7px 0 0;color:var(--ink);font:700 1.3rem/1.2 Georgia,serif}
.dosn-v8-scroll-hunt p{max-width:880px;margin:9px 0 0;color:var(--soft)!important;line-height:1.62}
.dosn-v8-scroll-hunt>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}
.dosn-v8-scroll-hunt>div b{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-align:center;color:var(--ink);font-size:.78rem}
.dosn-v8-scroll-hunt>strong{display:block;margin-top:12px;color:var(--brass);font:800 .63rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.08em}
.dosn-v8-scroll-hunt.armed>strong{color:var(--green)}

.dosn-v8-compass{display:grid;grid-template-columns:118px 1fr;gap:20px;align-items:center;margin-top:16px;padding:20px;border:1px solid var(--line-strong);border-radius:14px;background:var(--paper-2)}
.dosn-v8-star{width:110px;height:110px;display:grid;place-items:center;border:1px solid var(--brass);border-radius:50%;background:var(--paper);font-size:2.3rem;color:var(--brass);box-shadow:inset 0 0 0 7px var(--paper-2)}
.dosn-v8-compass h3{margin:7px 0 0;color:var(--ink);font:700 1.3rem/1.2 Georgia,serif}
.dosn-v8-compass p{margin:7px 0 0;color:var(--soft)!important;line-height:1.62}
.dosn-v8-compass button{margin-top:12px;padding:11px 15px;border:1px solid rgba(132,99,35,.42);border-radius:8px;background:var(--paper);color:var(--ink);font-weight:800;cursor:pointer}

/* =========================================================
   FIRST STAR / ATRIUM REVEAL
========================================================= */
.dosn-v8-reveal{margin:64px auto 34px;max-width:1180px;min-height:680px;position:relative;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:72px clamp(24px,6vw,74px);border:1px solid var(--line-strong);border-radius:30px;background:linear-gradient(180deg,var(--paper),var(--paper-2));overflow:hidden;box-shadow:var(--shadow)}
.dosn-v8-reveal:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(209,173,103,.10),transparent 22%),linear-gradient(90deg,transparent 0 12%,var(--line) 12% 12.08%,transparent 12.08% 87.92%,var(--line) 87.92% 88%,transparent 88%)}
.dosn-v8-reveal:after{content:"";position:absolute;left:50%;bottom:-80px;transform:translateX(-50%);width:72%;height:220px;border:1px solid var(--line);border-radius:50%;opacity:.55}
.dosn-v8-reveal-copy,.dosn-v8-star-stage,.dosn-v8-door-intro{position:relative;z-index:1}
.dosn-v8-reveal-copy{max-width:850px;margin:auto}
.dosn-v8-reveal h2{margin:11px 0 0;color:var(--ink);font:700 clamp(2.55rem,5.5vw,4.6rem)/1.02 Georgia,serif}
.dosn-v8-reveal-copy p{margin:17px auto 0;color:var(--soft)!important;font:400 clamp(1rem,1.5vw,1.13rem)/1.84 Georgia,serif}
.dosn-v8-reveal-copy strong{color:var(--ink)!important}
.dosn-v8-star-stage{height:230px;margin:34px auto 20px;width:min(100%,960px)}
.dosn-v8-center-star{position:absolute;left:50%;top:28px;transform:translateX(-50%);width:78px;height:78px;display:grid;place-items:center;border:1px solid var(--brass);border-radius:50%;background:var(--paper);font-size:2.05rem;color:var(--brass);box-shadow:0 10px 34px rgba(0,0,0,.10),inset 0 0 0 7px var(--paper-2)}
.dosn-v8-horizon{position:absolute;left:0;right:0;bottom:0;height:112px;display:grid;grid-template-columns:repeat(8,1fr);gap:12px;align-items:end;border-bottom:1px solid var(--line-strong)}
.dosn-v8-horizon span{display:block;height:66px;border:1px solid var(--line-strong);border-bottom:0;border-radius:34px 34px 0 0;background:var(--paper-2);position:relative;box-shadow:inset 0 0 0 5px var(--paper)}
.dosn-v8-horizon span:nth-child(2),.dosn-v8-horizon span:nth-child(7){height:76px}
.dosn-v8-horizon span:nth-child(3),.dosn-v8-horizon span:nth-child(6){height:88px}
.dosn-v8-horizon span:nth-child(4),.dosn-v8-horizon span:nth-child(5){height:100px}
.dosn-v8-horizon span.open{border-color:rgba(36,106,75,.52);box-shadow:inset 0 0 0 5px var(--paper),inset 0 -8px 0 rgba(36,106,75,.09)}
.dosn-v8-horizon span.waiting{border-color:rgba(143,92,31,.45);box-shadow:inset 0 0 0 5px var(--paper),inset 0 -8px 0 rgba(143,92,31,.07)}
.dosn-v8-horizon span i{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font-style:normal;color:var(--ink);font:800 .59rem/1 Inter,system-ui,sans-serif}
.dosn-v8-door-intro{max-width:780px;margin:10px auto 0}
.dosn-v8-door-intro h3{margin:8px 0 0;color:var(--ink);font:700 clamp(1.7rem,3vw,2.45rem)/1.12 Georgia,serif}
.dosn-v8-door-intro p{margin:11px 0 0;color:var(--soft)!important;line-height:1.7}

/* =========================================================
   OFFICE DOORS — CEREMONIAL GOVERNMENT CORRIDOR
========================================================= */
.dosn-v8-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1160px;margin:0 auto}
.dosn-v8-door{position:relative;min-height:455px;padding:32px 30px 25px;border:1px solid var(--line-strong);border-radius:18px;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);transition:.22s ease;color:var(--ink)}
.dosn-v8-door:hover{transform:translateY(-3px);box-shadow:0 25px 60px rgba(0,0,0,.16)}
.dosn-v8-door-arch{position:absolute;inset:18px 18px 16px;border:1px solid var(--line);border-top:2px solid var(--line-strong);border-radius:125px 125px 12px 12px;pointer-events:none;box-shadow:inset 0 0 0 6px var(--paper-2)}
.dosn-v8-door.open{border-color:rgba(36,106,75,.48);box-shadow:var(--shadow),inset 0 5px 0 rgba(36,106,75,.12)}
.dosn-v8-door.waiting{border-color:rgba(143,92,31,.38);box-shadow:var(--shadow),inset 0 5px 0 rgba(143,92,31,.10)}
.dosn-v8-door-status{position:absolute;right:22px;top:22px;z-index:2;padding:7px 10px;border:1px solid var(--line-strong);border-radius:5px;background:var(--paper-2);color:var(--soft);font:800 .58rem/1.1 Inter,system-ui,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.dosn-v8-door.open .dosn-v8-door-status{color:var(--green);border-color:rgba(36,106,75,.42)}
.dosn-v8-door.waiting .dosn-v8-door-status{color:var(--amber);border-color:rgba(143,92,31,.40)}
.dosn-v8-door-number{position:relative;z-index:1;width:max-content;padding:7px 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper-2);color:var(--brass);font:800 .61rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.085em;text-transform:uppercase}
.dosn-v8-door-icon{position:relative;z-index:1;margin-top:48px;font-size:2.55rem}
.dosn-v8-door h3{position:relative;z-index:1;margin:12px 0 0;color:var(--ink);font:700 clamp(1.48rem,2.4vw,1.95rem)/1.13 Georgia,serif}
.dosn-v8-door>p{position:relative;z-index:1;margin:10px 0 0;color:var(--soft)!important;line-height:1.66}
.dosn-v8-door ul{position:relative;z-index:1;margin:19px 0 22px;padding:17px 0 0 20px;border-top:1px solid var(--line);color:var(--blue);line-height:1.62}
.dosn-v8-door-foot{position:relative;z-index:1;margin-top:auto}
.dosn-v8-door-log{display:block;min-height:29px;color:var(--muted);font:800 .58rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.065em;text-transform:uppercase}
.dosn-v8-door.open .dosn-v8-door-log{color:var(--green)}
.dosn-v8-door a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 15px;border:1px solid var(--line-strong);border-radius:7px;background:var(--paper-2);color:var(--ink)!important;text-decoration:none;font-weight:800}
.dosn-v8-door.open a{background:var(--green-deep);color:#fff!important;border-color:transparent}
.dosn-v8-door.waiting a{color:var(--amber)!important;border-color:rgba(143,92,31,.35)}
.dosn-v8-door.bearing{outline:2px solid var(--brass);outline-offset:5px}

.dosn-v8-final{max-width:930px;margin:44px auto 0;padding:22px 12px;text-align:center;border-top:1px solid var(--line);color:var(--soft)!important;font:400 .98rem/1.72 Georgia,serif}
.dosn-v8-final strong{color:var(--ink)!important}

.dosn-v8-toast{position:fixed;right:20px;bottom:20px;z-index:999999;width:min(380px,calc(100% - 40px));padding:15px 16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.2);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}
.dosn-v8-toast.show{opacity:1;transform:none}
.dosn-v8-toast b{display:block;color:var(--brass);font:800 .62rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.dosn-v8-toast span{display:block;margin-top:5px;color:var(--soft);font-size:.85rem;line-height:1.45}


/* =========================================================
   GREATER RITE — SEPARATE ASSIGNMENT DOCKET
========================================================= */
.dosn-v8-rite{margin-top:34px;padding:clamp(24px,3.6vw,38px);position:relative;overflow:hidden;border-color:rgba(170,152,232,.32)}
.dosn-v8-rite:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 92% 5%,rgba(170,152,232,.08),transparent 30%),linear-gradient(90deg,rgba(216,182,95,.05),transparent 18%)}
.dosn-v8-rite>*{position:relative;z-index:1}
.dosn-v8-rite-stamp{width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(170,152,232,.34);border-radius:7px;background:var(--paper-2);color:var(--violet);font:800 .6rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.dosn-v8-rite-locked,.dosn-v8-rite-open{margin-top:17px}
.dosn-v8-rite-locked>span,.dosn-v8-rite-open>span,.dosn-v8-clue-file>div>span{color:var(--brass);font:800 .66rem/1.35 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.dosn-v8-rite h2{margin:8px 0 0;color:var(--ink);font:700 clamp(1.8rem,3.5vw,2.8rem)/1.1 Georgia,serif}
.dosn-v8-rite-locked>p,.dosn-v8-rite-open>p{max-width:900px;margin:12px 0 0;color:var(--soft)!important;line-height:1.72}
.dosn-v8-rite.armed{border-color:rgba(85,214,167,.42);box-shadow:var(--shadow),inset 5px 0 0 rgba(85,214,167,.58)}
.dosn-v8-rite.armed .dosn-v8-rite-stamp{color:var(--green);border-color:rgba(85,214,167,.38)}
.dosn-v8-rite-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.dosn-v8-rite-phases article{padding:19px;border:1px solid var(--line-strong);border-radius:14px;background:var(--paper-2)}
.dosn-v8-rite-phases article>span{display:block;color:var(--brass);font:800 .58rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.11em}
.dosn-v8-rite-phases article>b{display:block;margin-top:8px;color:var(--ink);font:700 1.14rem/1.25 Georgia,serif}
.dosn-v8-rite-phases article>p{margin:8px 0 0;color:var(--soft)!important;line-height:1.58;font-size:.9rem}
.dosn-v8-clue-file{margin-top:18px;padding:18px;border:1px dashed var(--line-strong);border-radius:14px;background:var(--paper-2)}
.dosn-v8-clue-file>div>b{display:block;margin-top:5px;color:var(--ink);font:700 1rem/1.3 Georgia,serif}
.dosn-v8-clue-file details{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}
.dosn-v8-clue-file summary{padding:13px 15px;cursor:pointer;color:var(--blue);font-weight:800}
.dosn-v8-clue-file details p{margin:0;padding:0 15px 15px;color:var(--soft)!important;line-height:1.58}
.dosn-v8-rite-note{font-size:.82rem;color:var(--muted)!important}

/* Passage Compass is intentionally its own chamber. */
.dosn-v8-compass-panel{margin-top:26px;padding:20px}
.dosn-v8-compass-panel .dosn-v8-compass{margin-top:0;border:0;background:transparent}

/* =========================================================
   SPIRAL JUNCTION / EXTERNAL PORTALS
========================================================= */
.dosn-v8-junction{max-width:1160px;margin:34px auto 0;padding:clamp(24px,3.5vw,38px)}
.dosn-v8-junction-head>span,.dosn-v8-external-head>span,.dosn-v8-junction-bearing span{color:var(--brass);font:800 .66rem/1.35 Inter,system-ui,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.dosn-v8-junction-head h2{margin:8px 0 0;color:var(--ink);font:700 clamp(1.9rem,3.7vw,2.9rem)/1.08 Georgia,serif}
.dosn-v8-junction-head p,.dosn-v8-external-head p{max-width:930px;margin:11px 0 0;color:var(--soft)!important;line-height:1.7}
.dosn-v8-visit-record{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2)}
.dosn-v8-visit-record b{display:block;color:var(--ink);font:700 1rem/1.25 Georgia,serif}
.dosn-v8-visit-record span{display:block;margin-top:5px;color:var(--muted);font-size:.83rem}
.dosn-v8-visit-record strong{padding:9px 11px;border:1px solid rgba(85,214,167,.30);border-radius:7px;color:var(--green);font:800 .64rem/1.2 Inter,system-ui,sans-serif;letter-spacing:.07em;white-space:nowrap}
.dosn-v8-visit-progress{height:7px;margin:10px 0 0;border-radius:999px;background:var(--paper-3);overflow:hidden}
.dosn-v8-visit-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .25s ease}
.dosn-v8-junction-bearing{display:grid;grid-template-columns:62px 1fr auto;gap:16px;align-items:center;margin-top:18px;padding:17px;border:1px solid var(--line-strong);border-radius:14px;background:var(--paper-2)}
.dosn-v8-junction-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);font-size:1.6rem}
.dosn-v8-junction-bearing b{display:block;margin-top:5px;color:var(--ink);font:700 1.05rem/1.3 Georgia,serif}
.dosn-v8-junction-bearing p{margin:4px 0 0;color:var(--muted)!important;font-size:.84rem}
.dosn-v8-junction-bearing button{min-height:44px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);font-weight:800;cursor:pointer}
.dosn-v8-external-head{margin-top:30px;padding-top:27px;border-top:1px solid var(--line)}
.dosn-v8-external-head h3{margin:7px 0 0;color:var(--ink);font:700 clamp(1.55rem,2.8vw,2.1rem)/1.15 Georgia,serif}
.dosn-v8-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:18px}
.dosn-v8-portal{min-height:245px;padding:19px;border:1px solid var(--line-strong);border-radius:15px;background:var(--paper-2);color:var(--ink)!important;text-decoration:none;display:flex;flex-direction:column;transition:.2s ease}
.dosn-v8-portal:hover{transform:translateY(-3px);background:var(--paper-3)}
.dosn-v8-portal>span{color:var(--brass);font:800 .55rem/1.25 Inter,system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}
.dosn-v8-portal>i{margin-top:19px;font-style:normal;font-size:2rem}
.dosn-v8-portal>b{margin-top:8px;color:var(--ink);font:700 1.18rem/1.22 Georgia,serif}
.dosn-v8-portal>p{margin:8px 0 0;color:var(--soft)!important;line-height:1.55;font-size:.89rem}
.dosn-v8-portal>em{margin-top:auto;padding-top:16px;color:var(--blue);font-style:normal;font-weight:800;font-size:.82rem}
.dosn-v8-portal.station{grid-column:2;border-color:rgba(120,199,236,.32)}
.dosn-v8-portal.initiation{border-color:rgba(170,152,232,.32)}
.dosn-v8-portal.census{border-color:rgba(216,182,95,.30)}
.dosn-v8-junction-law{margin:19px 0 0;padding:14px 16px;border-left:3px solid var(--blue);background:var(--paper-2);color:var(--soft)!important;line-height:1.62;font-size:.88rem}



/* =========================================================
   v8.6 DARK MODE POLISH — OBSIDIAN CELESTIAL SURFACES
   Blue is atmosphere, not the box color. Light mode is unchanged.
========================================================= */
#dosn-grand-atrium-v8:not(.dosn-v8-light){
  --paper:#08111e;
  --paper-2:#0a1525;
  --paper-3:#101e31;
  --line:rgba(137,190,230,.13);
  --line-strong:rgba(137,190,230,.24);
  --shadow:0 28px 72px rgba(0,0,0,.48),0 1px 0 rgba(180,220,255,.025) inset;
}

#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-surface{
  border-color:rgba(129,184,226,.18);
  background:
    radial-gradient(circle at 88% 2%,rgba(120,199,236,.055),transparent 27%),
    radial-gradient(circle at 9% 100%,rgba(170,152,232,.035),transparent 28%),
    linear-gradient(145deg,rgba(10,20,35,.975),rgba(4,10,20,.985));
  box-shadow:
    0 26px 70px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(190,225,255,.055),
    inset 0 -1px 0 rgba(0,0,0,.42);
}

#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-broadcast{
  border-color:rgba(120,199,236,.20);
  background:
    radial-gradient(circle at 50% -22%,rgba(120,199,236,.09),transparent 43%),
    linear-gradient(180deg,rgba(10,22,39,.94),rgba(5,11,21,.97));
  box-shadow:inset 0 1px 0 rgba(215,236,255,.055),0 18px 46px rgba(0,0,0,.24);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-broadcast-message{
  background:linear-gradient(90deg,rgba(120,199,236,.018),rgba(170,152,232,.035),rgba(120,199,236,.018));
}

/* Recessed records and drawers: nearly black centers with cool reflected edges. */
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-scene,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-ledger>div,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-origin,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-count,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-board-room,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-tool-grid details,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-field-kit,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-rite-phases article,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-clue-file,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-visit-record,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-junction-bearing,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-portal,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-junction-law{
  border-color:rgba(124,179,222,.15);
  background:
    linear-gradient(135deg,rgba(13,25,42,.80),rgba(5,12,23,.92));
  box-shadow:
    inset 0 1px 0 rgba(203,232,255,.045),
    inset 0 -1px 0 rgba(0,0,0,.34),
    0 12px 30px rgba(0,0,0,.12);
}

#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-board-room:hover,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-tool-grid details[open],
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-portal:hover{
  border-color:rgba(120,199,236,.30);
  background:
    radial-gradient(circle at 92% 4%,rgba(120,199,236,.075),transparent 32%),
    linear-gradient(135deg,rgba(15,29,49,.90),rgba(6,14,26,.96));
  box-shadow:
    inset 0 1px 0 rgba(205,235,255,.07),
    0 18px 38px rgba(0,0,0,.20);
}

/* OPEN records glow from within rather than turning into blue/green cards. */
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-board-room.open{
  border-color:rgba(85,214,167,.30);
  background:
    radial-gradient(circle at 96% 0%,rgba(85,214,167,.09),transparent 34%),
    linear-gradient(135deg,rgba(11,28,37,.90),rgba(5,13,23,.96));
  box-shadow:inset 3px 0 0 rgba(85,214,167,.34),inset 0 1px 0 rgba(190,240,220,.05);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-board-room.waiting{
  border-color:rgba(224,179,94,.25);
  background:
    radial-gradient(circle at 96% 0%,rgba(224,179,94,.06),transparent 32%),
    linear-gradient(135deg,rgba(20,22,28,.90),rgba(7,13,22,.96));
}

/* The ceremonial doors should feel like dark architecture, not cards. */
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door{
  border-color:rgba(126,184,228,.18);
  background:
    radial-gradient(circle at 50% -8%,rgba(120,199,236,.075),transparent 34%),
    linear-gradient(155deg,rgba(9,20,35,.985),rgba(3,9,18,.99));
  box-shadow:
    0 30px 76px rgba(0,0,0,.52),
    inset 0 1px 0 rgba(201,233,255,.05),
    inset 0 -1px 0 rgba(0,0,0,.58);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door-arch{
  border-color:rgba(126,184,228,.12);
  border-top-color:rgba(126,184,228,.28);
  box-shadow:inset 0 0 0 6px rgba(8,18,31,.56),inset 0 22px 46px rgba(120,199,236,.018);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door.open{
  border-color:rgba(85,214,167,.31);
  box-shadow:
    0 30px 76px rgba(0,0,0,.52),
    inset 0 3px 0 rgba(85,214,167,.22),
    inset 0 0 46px rgba(85,214,167,.018);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door.waiting{
  border-color:rgba(224,179,94,.25);
  box-shadow:
    0 30px 76px rgba(0,0,0,.52),
    inset 0 3px 0 rgba(224,179,94,.16);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door-status,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door-number,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door a:not([aria-disabled="true"]),
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-junction-bearing button,
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-compass button{
  background:linear-gradient(180deg,rgba(17,31,50,.90),rgba(7,15,27,.96));
  box-shadow:inset 0 1px 0 rgba(203,232,255,.055);
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-door.open a{
  background:linear-gradient(180deg,#0b8a67,#06684e);
  box-shadow:0 10px 25px rgba(4,120,87,.15),inset 0 1px 0 rgba(210,255,239,.16);
}

/* External portals get individual celestial reflections without becoming colored boxes. */
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-portal.station{
  background:radial-gradient(circle at 90% 5%,rgba(120,199,236,.10),transparent 34%),linear-gradient(145deg,rgba(10,23,39,.92),rgba(4,11,21,.97));
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-portal.initiation{
  background:radial-gradient(circle at 90% 5%,rgba(170,152,232,.10),transparent 34%),linear-gradient(145deg,rgba(14,20,39,.92),rgba(5,10,22,.97));
}
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-portal.census{
  background:radial-gradient(circle at 90% 5%,rgba(216,182,95,.08),transparent 34%),linear-gradient(145deg,rgba(19,20,27,.92),rgba(6,11,20,.97));
}

/* First Star chamber gains depth without returning to a tech-dashboard aesthetic. */
#dosn-grand-atrium-v8:not(.dosn-v8-light) .dosn-v8-reveal{
  border-color:rgba(132,188,230,.17);
  background:
    radial-gradient(circle at 50% 44%,rgba(120,199,236,.035),transparent 24%),
    radial-gradient(circle at 50% 18%,rgba(170,152,232,.035),transparent 30%),
    linear-gradient(180deg,rgba(8,18,32,.99),rgba(3,9,18,.995));
  box-shadow:0 34px 90px rgba(0,0,0,.52),inset 0 1px 0 rgba(210,238,255,.045);
}

@media(max-width:940px){.dosn-v8-rite-phases,.dosn-v8-portal-grid{grid-template-columns:1fr}.dosn-v8-portal.station{grid-column:auto}.dosn-v8-junction-bearing{grid-template-columns:62px 1fr}.dosn-v8-junction-bearing button{grid-column:1/-1;width:100%}
  .dosn-v8-arrival,.dosn-v8-access-head{grid-template-columns:1fr}
  .dosn-v8-count{width:100%}
  .dosn-v8-board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dosn-v8-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dosn-v8-doors{grid-template-columns:1fr}
  .dosn-v8-reveal{min-height:620px}
  .dosn-v8-compass{grid-template-columns:1fr}
  .dosn-v8-star{margin:auto}
  .dosn-v8-compass{text-align:center}
}

@media(max-width:620px){.dosn-v8-visit-record{grid-template-columns:1fr}.dosn-v8-visit-record strong{width:max-content}.dosn-v8-junction-bearing{grid-template-columns:1fr;text-align:center}.dosn-v8-junction-icon{margin:auto}
  #dosn-grand-atrium-v8{padding:18px 10px 60px}
  .dosn-v8-hero{padding:42px 15px 27px}
  .dosn-v8-broadcast{margin-top:40px}
  .dosn-v8-seal-wrap{width:126px;height:126px}
  .dosn-v8-ledger,.dosn-v8-board,.dosn-v8-tool-grid,.dosn-v8-kit-slots,.dosn-v8-scroll-hunt>div{grid-template-columns:1fr}
  .dosn-v8-origin{grid-template-columns:1fr;text-align:center}
  .dosn-v8-origin>div{margin:auto}
  .dosn-v8-scroll-hunt:before{position:static;display:block;margin-bottom:9px}
  .dosn-v8-reveal{margin-top:38px;min-height:650px;padding:52px 15px}
  .dosn-v8-star-stage{height:220px}
  .dosn-v8-horizon{gap:5px}
  .dosn-v8-horizon span{border-radius:18px 18px 0 0;box-shadow:none}
  .dosn-v8-door{padding:27px 19px 21px}
  .dosn-v8-door-status{position:relative;right:auto;top:auto;width:max-content;margin:12px 0 0}
  .dosn-v8-door-icon{margin-top:32px}
}


/* =========================================================
   v8.9 — GRAND ATRIUM TITLE / SPEAKER BREATHING ROOM
   Give the title its own ceremonial beat before the broadcast frame begins.
   ========================================================= */
#dosn-grand-atrium-v8 .dosn-v8-hero > h1 + .dosn-v8-broadcast{
  margin-top:84px !important;
}

@media(max-width:620px){
  #dosn-grand-atrium-v8 .dosn-v8-hero > h1 + .dosn-v8-broadcast{
    margin-top:64px !important;
  }
}
