/* Shared finishing details for every room, beyond the long-form story reader. */
body.music-mounted { padding-bottom:125px; }
body.music-expanded { padding-bottom:230px; }
body.music-mounted:has(.omnia-music-error:not([hidden])) { padding-bottom:300px; }
.page-heading {
  position:relative;
  background:
    linear-gradient(90deg,#ffffff65 1px,transparent 1px) 0 0 / 8px 8px,
    linear-gradient(125deg,#fff7dc,#def5ff 58%,#f5dfff);
}
.page-heading>div { min-width:0; }
.page-heading h1 { text-wrap:balance; overflow-wrap:anywhere; }
.page-heading p { font:24px/1.45 var(--body); color:#503969; max-width:65ch; }
.page-heading .eyebrow { color:#745197; line-height:1.8; }
.mentorship-intro h1 {
  font:clamp(18px,2.5vw,28px)/1.75 var(--pixel); color:#21418a;
  text-shadow:2px 2px #fff,4px 4px #b6dcff; text-wrap:balance;
}
.page-heading::after,
.great-powers::after,
.historical-writing::after {
  content:""; pointer-events:none; position:absolute; right:25px; top:-4px;
  width:4px; height:4px; background:#fff2ac;
  box-shadow:4px 0 #fff2ac,-4px 0 #fff2ac,0 4px #fff2ac,0 -4px #fff2ac,15px 8px #ffbde2;
  animation:omnia-reading-glimmer 8s steps(3,end) infinite;
}

/* No explanatory copy should disappear into the landscape. */
.great-powers {
  position:relative;
  margin-top:32px; padding:25px;
  background:linear-gradient(145deg,#fff7dd,#edf6ff 55%,#f5e7ff);
  border:3px solid #392858;
  box-shadow:inset 3px 3px #fff,5px 5px #392858;
}
.great-powers>.section-title { margin:0 0 22px; }
.great-powers>p,
#main>p,
.board-caption {
  padding:16px 20px;
  color:#493264;
  font:24px/1.45 var(--body);
  background:#fff9e8;
  border:2px solid #bf9dce;
  border-left:5px solid #a271c4;
  box-shadow:inset 2px 2px #fff;
  overflow-wrap:anywhere;
}
.great-powers>p { margin-bottom:24px; }
.great-powers .powers-grid { gap:20px; }
.power-slot {
  position:relative;
  padding:22px;
  background:linear-gradient(130deg,#fffae3,#f0e7ff);
  border:2px solid #a17bbb;
  box-shadow:inset 2px 2px #fff,3px 3px #533b74;
}
.power-slot:nth-child(2n) { background:linear-gradient(130deg,#fffae3,#dcf4ff); }
.power-slot:nth-child(3n) { background:linear-gradient(130deg,#fffae3,#ffe4ef); }
.power-slot .power-number {
  display:grid; place-items:center; width:51px; height:51px; flex-shrink:0;
  background:linear-gradient(#fff5bd,#ffe083);
  border:2px solid #9971b4;
  box-shadow:inset 2px 2px #fff,3px 3px #b79aca;
  color:#543476; font:14px/1 var(--pixel);
}
.power-slot h3 { color:#3d3378; font:10px/1.9 var(--pixel); margin:0 0 8px; }
.power-slot p { color:#715280; font:23px/1.35 var(--body); }
.staff-surface .great-powers { margin-top:0; }

.paper-card>p,
.feature-banner p,
.mentorship-intro p,
.mentorship-card p,
.staff-section-heading p,
.staff-note,
.staff-response p {
  color:#503b6c; font:23px/1.45 var(--body); overflow-wrap:anywhere;
}
.paper-card>p:last-child { margin-bottom:0; }
.historical-writing { position:relative; background:linear-gradient(130deg,#fff8e3,#f0e5ff); }
.historical-writing>h2,
.community-grid .paper-card>h2 {
  color:#23458d; font:13px/1.85 var(--pixel); text-wrap:balance;
  padding-bottom:16px; border-bottom:2px dashed #c3a6d8;
}
.historical-writing>p:first-of-type {
  padding:16px 18px; background:#fffdf0; border-left:4px solid #b28aca;
}
.card-kicker,.post-meta,.archive-row .eyebrow { color:#745296; line-height:1.8; }
.board-tools>.muted { color:#60427d; font-size:22px; line-height:1.4; }
.staff-response { background:#eaf4ff; border-color:#a18ec9; }
.staff-response>strong { color:#38568a; font:10px/1.8 var(--pixel); }
.mentorship-filter-form {
  padding:18px 21px; background:linear-gradient(110deg,#e4f6ff,#f0e2ff);
  border:3px solid #463063; box-shadow:inset 2px 2px #fff,3px 3px #463063;
}
.mentorship-filter-form label { color:#5b3e79; line-height:1.4; }
.pending-quests>h2 {
  padding:18px 22px; background:linear-gradient(110deg,#def4ff,#ffe5f1);
  border:3px solid #604780; box-shadow:inset 2px 2px #fff,3px 3px #463063;
  color:#2d4587; font:13px/1.8 var(--pixel);
}
.archive-row h3 button { text-align:left; color:#3b4d92; }
.archive-row h3 button:hover { color:#8e3e8a; text-decoration:underline; text-underline-offset:5px; }

/* Quest briefs, forms and staff explanations share the reading-room typography. */
#modal p { font:23px/1.45 var(--body); color:#503b6c; overflow-wrap:anywhere; }
#modal .modal-heading {
  background:linear-gradient(110deg,#def4ff,#f0e1ff,#ffe8ef);
  padding:15px 18px; border:2px solid #b28ecc;
  box-shadow:inset 2px 2px #fff;
}
#modal .modal-heading h2 { color:#29458c; text-shadow:2px 2px #fff; }
#modal form>p,
#modal>p,
#modal .staff-note,
#modal .mentorship-form-help {
  padding:13px 16px; background:#fff8e4; border-left:4px solid #b386cd;
}
#modal label { color:#63417e; line-height:1.4; }
#modal :is(input,select,textarea) { color:#372856; background:#fffdf3; }
#modal :is(ul,ol) { line-height:1.5; color:#503b6c; }
#modal .objective { background:linear-gradient(100deg,#e8f7ff,#ece4ff); }
#modal .quest-context>div { background:#fffae9; }
#modal .quest-context h3 { font:11px/1.85 var(--pixel); color:#67468b; margin:0 0 11px; }
#modal .quest-context>section {
  margin:18px 0; padding:19px; border:2px solid #baa0d0;
  background:linear-gradient(110deg,#fff9e6,#f3eaff); box-shadow:inset 2px 2px #fff;
}
#modal textarea:is([name="body"],[name="prompt"],[name="text"],[name="contribution"]) {
  min-height:260px; font:23px/1.5 var(--body); padding:16px;
  background:#fffdf3; tab-size:2;
}
#staff-entry-form textarea[name="body"] { min-height:min(52vh,530px); }

/* The sky is intentionally sparse; text and controls stay still and clickable. */
#pixel-atmosphere {
  position:fixed; inset:0; overflow:hidden; z-index:20;
  pointer-events:none; user-select:none; contain:strict;
}
#pixel-atmosphere[hidden] { display:none; }
.pixel-mote {
  position:absolute; left:var(--x); top:var(--y); width:3px; height:3px;
  background:var(--spark-color); opacity:.65;
  box-shadow:0 3px 0 #fff9db66;
  animation:omnia-mote-drift var(--duration) var(--delay) steps(24,end) infinite;
}
.pixel-mote-star { width:3px; height:3px; box-shadow:0 -3px var(--spark-color),0 3px var(--spark-color),-3px 0 var(--spark-color),3px 0 var(--spark-color); }
@keyframes omnia-mote-drift {
  0% { transform:translate(0,65px); opacity:0; }
  20% { opacity:.65; }
  65% { opacity:.4; }
  100% { transform:translate(var(--drift),-90px); opacity:0; }
}
.pixel-award-burst { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.pixel-award-burst i {
  position:absolute; top:39%; left:50%; width:5px; height:5px;
  background:var(--spark-color); opacity:0;
  box-shadow:0 -5px var(--spark-color),0 5px var(--spark-color),-5px 0 var(--spark-color),5px 0 var(--spark-color);
  animation:omnia-award-pop 1.35s var(--burst-delay) steps(18,end) both;
}
@keyframes omnia-award-pop {
  0% { transform:translate(0,0) scale(.5); opacity:0; }
  12% { opacity:1; }
  75% { opacity:.8; }
  100% { transform:translate(var(--burst-x),var(--burst-y)) scale(.5); opacity:0; }
}
.level-sparkles i { box-shadow:2px 0 #fff6c7,0 2px #fff6c7; }
@media(max-width:680px) {
  .page-heading p { font-size:23px; }
  .great-powers { padding:17px; margin-top:25px; }
  .great-powers>p,#main>p,.board-caption { padding:14px; font-size:23px; }
  .power-slot { padding:17px; }
  .power-slot h3 { font-size:9px; }
  .historical-writing>h2 { font-size:12px; }
  #modal .modal-heading { padding:12px; }
  #modal p { font-size:22px; }
  .pixel-mote:nth-child(n+11) { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  #pixel-atmosphere,.pixel-award-burst { display:none; }
  .page-heading::after,.great-powers::after,.historical-writing::after { animation:none; }
}
html.reduce-motion #pixel-atmosphere,
html.reduce-motion .pixel-award-burst { display:none; }
html.reduce-motion .page-heading::after,
html.reduce-motion .great-powers::after,
html.reduce-motion .historical-writing::after { animation:none; }
@media print { #pixel-atmosphere { display:none; } body.music-mounted { padding-bottom:0; } }
