:root{
  color-scheme:dark;
  --stage-ratio:1.7768331562;
  --page-bg:#0b0808;
  --panel-bg:#f1e7db;
  --panel-strong:#fffaf3;
  --panel-text:#241b16;
  --panel-muted:#6d5d52;
  --panel-border:#b79b62;
  --panel-accent:#315540;
  --panel-accent-2:#9b7740;
  --focus:#fff4bd;
  --shadow:rgba(0,0,0,.52);
  --glass:rgba(255,250,241,.86);
  --glass-line:rgba(111,85,52,.55);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;min-width:100%;min-height:100%;margin:0;overflow:hidden;background:var(--page-bg);overscroll-behavior:none}
body{position:fixed;inset:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--panel-text)}
button,input,a{font:inherit}
button{color:inherit}
img,video{display:block}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:10000;padding:.7rem 1rem;background:#fff;color:#111;border-radius:.35rem;transform:translateY(-180%);transition:transform .18s}
.skip-link:focus{transform:none}

body[data-theme="daughter"]{
  --page-bg:#15100d;--panel-bg:#eee4d8;--panel-strong:#fffaf3;--panel-text:#241b16;--panel-muted:#6d5d52;--panel-border:#b99a5d;--panel-accent:#315540;--panel-accent-2:#9b7740;--focus:#fff3aa;--glass:rgba(249,242,231,.88);--glass-line:rgba(105,83,52,.62);--backdrop-brightness:.98;--backdrop-saturation:1.02;--backdrop-opacity:.98;--backdrop-wash:rgba(255,244,224,.05)
}
body[data-theme="princess"]{
  --page-bg:#35131d;--panel-bg:#f5d8df;--panel-strong:#fff0f4;--panel-text:#451426;--panel-muted:#815465;--panel-border:#c2849e;--panel-accent:#9c1f55;--panel-accent-2:#a76532;--focus:#fff0a8;--glass:rgba(255,226,235,.88);--glass-line:rgba(139,39,77,.55);--backdrop-brightness:.96;--backdrop-saturation:1.08;--backdrop-opacity:.98;--backdrop-wash:rgba(255,205,222,.045)
}
body[data-theme="witch"]{
  --page-bg:#050405;--panel-bg:#130b10;--panel-strong:#1c1017;--panel-text:#f2dfd1;--panel-muted:#b9a397;--panel-border:#74445e;--panel-accent:#d45c35;--panel-accent-2:#9b70d3;--focus:#ffcf79;--glass:rgba(19,10,15,.9);--glass-line:rgba(180,92,47,.58);--backdrop-brightness:.82;--backdrop-saturation:1.12;--backdrop-opacity:1;--backdrop-wash:rgba(8,2,7,.08)
}

/* The viewport is two independent layers: a decorative reflected blur that fills
   the browser, and the complete untouched 1672 x 941 room centered above it. */
.scene-backdrop{position:fixed;inset:-56px;z-index:0;overflow:hidden;pointer-events:none}
.backdrop-layer{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scaleX(-1);transform-origin:center;opacity:0;pointer-events:none;will-change:opacity;transition:opacity 2.4s cubic-bezier(.22,.72,.2,1)}
.backdrop-layer.outgoing{z-index:1;transition-duration:2.45s;transition-timing-function:cubic-bezier(.30,.05,.28,1)}
.backdrop-layer.incoming{z-index:2;transition-duration:3.35s;transition-timing-function:cubic-bezier(.24,0,.18,1)}
.backdrop-layer[data-backdrop-layer="daughter"]{filter:blur(30px) brightness(.98) saturate(1.02)}
.backdrop-layer[data-backdrop-layer="princess"]{filter:blur(30px) brightness(.96) saturate(1.08)}
.backdrop-layer[data-backdrop-layer="witch"]{filter:blur(30px) brightness(.82) saturate(1.12)}
.backdrop-layer.active{opacity:.98}
.backdrop-layer[data-backdrop-layer="witch"].active{opacity:1}
.backdrop-wash{position:absolute;inset:0;background:var(--backdrop-wash);pointer-events:none}
.experience,.scene-shell{position:fixed;inset:0;z-index:1;width:auto;height:auto}
.scene-shell{display:flex;align-items:center;justify-content:center;overflow:hidden}
.scene-stage{position:relative;flex:0 0 auto;width:min(100vw,calc(100vh * var(--stage-ratio)));height:min(100vh,calc(100vw / var(--stage-ratio)));max-width:100vw;max-height:100vh;aspect-ratio:1672/941;container-type:size;isolation:isolate;overflow:hidden;background:transparent;box-shadow:none;transform:none}
@supports (height:100dvh){.scene-stage{width:min(100vw,calc(100dvh * var(--stage-ratio)));height:min(100dvh,calc(100vw / var(--stage-ratio)));max-height:100dvh}}
.room-layer{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;opacity:0;pointer-events:none;user-select:none;will-change:opacity;transition:opacity 2.35s cubic-bezier(.22,.72,.2,1);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);mask-composite:intersect}
.room-layer.outgoing{z-index:1;transition-duration:2.25s;transition-timing-function:cubic-bezier(.30,.05,.28,1)}
.room-layer.incoming{z-index:2;transition-duration:3.2s;transition-timing-function:cubic-bezier(.24,0,.18,1)}
.room-layer.active{opacity:1}

.mirror-media{position:absolute;z-index:8;overflow:hidden;background:#201b1b;border-radius:18% 18% 2% 2%/8% 8% 2% 2%;isolation:isolate}
.mirror-backfill{position:absolute;inset:-5%;z-index:0;background-position:center;background-size:cover;filter:blur(1.1cqw) brightness(.58) saturate(.86);transform:scale(1.12);opacity:.84}
.mirror-backfill:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.mirror-primary{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;pointer-events:none}
.mirror-open{position:absolute;inset:0;z-index:3;border:0;background:transparent;cursor:pointer;padding:0}
.mirror-open:focus-visible{outline:.18cqw solid var(--focus);outline-offset:-.25cqw;border-radius:inherit}

.music-player{
  --music-ink:#fff8e6;
  --music-accent:#f2dba8;
  --music-accent-strong:#fffdf5;
  --music-muted:rgba(255,247,225,.74);
  --music-rail:rgba(255,241,207,.28);
  --music-glow:rgba(255,235,185,.62);
  --music-hot:rgba(255,255,255,.94);
  --music-ember:rgba(231,108,55,.82);
  --music-progress:0;
  --music-volume:62;
  position:absolute;
  z-index:12;
  display:block;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--music-ink);
  overflow:visible;
  isolation:isolate;
  pointer-events:auto;
  line-height:1;
  clip-path:var(--music-clip,polygon(0 0,100% 0,100% 100%,0 100%));
  transition:
    left 2.8s cubic-bezier(.24,0,.18,1),
    top 2.8s cubic-bezier(.24,0,.18,1),
    width 2.8s cubic-bezier(.24,0,.18,1),
    height 2.8s cubic-bezier(.24,0,.18,1),
    color .8s ease,
    filter .8s ease,
    clip-path 2.8s cubic-bezier(.24,0,.18,1);
}
.music-player *{-webkit-tap-highlight-color:transparent;box-sizing:border-box}
.music-plane{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:.55fr 1.05fr 2.15fr .65fr;
  align-items:center;
  width:100%;
  height:100%;
  padding:3.2% 8.4% 3.4%;
  background:transparent;
  border:0;
  box-shadow:none;
  transform-origin:0 0;
  transform-style:flat;
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  will-change:transform;
  transition:filter .8s ease;
}
.music-ornament{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:4%;
  width:72%;
  justify-self:center;
  pointer-events:none;
  opacity:.88;
}
.music-ornament-wing{
  position:relative;
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--music-accent));
  box-shadow:0 0 .18cqw color-mix(in srgb,var(--music-glow) 55%,transparent);
}
.music-ornament-wing::before,
.music-ornament-wing::after{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(2px,.20cqw,4px);
  height:clamp(2px,.20cqw,4px);
  border:1px solid color-mix(in srgb,var(--music-accent-strong) 78%,transparent);
  background:color-mix(in srgb,var(--music-accent) 26%,transparent);
  box-shadow:0 0 .16cqw var(--music-glow);
}
.music-ornament-wing::before{left:18%;transform:translateY(-50%) rotate(45deg)}
.music-ornament-wing::after{right:5%;transform:translateY(-50%) rotate(45deg)}
.music-ornament-wing-right{transform:scaleX(-1)}
.music-ornament-emblem{
  position:relative;
  display:block;
  width:clamp(6px,.48cqw,10px);
  height:clamp(6px,.48cqw,10px);
  border:1px solid var(--music-accent-strong);
  background:radial-gradient(circle at 38% 32%,var(--music-hot),var(--music-accent) 38%,transparent 72%);
  box-shadow:0 0 .22cqw var(--music-glow),inset 0 0 .14cqw var(--music-hot);
  transform:rotate(45deg);
}
.music-heading{
  min-width:0;
  text-align:center;
  pointer-events:none;
  text-shadow:0 0 .18cqw rgba(0,0,0,.82),0 0 .42cqw var(--music-glow);
}
.music-heading strong{
  display:block;
  margin:0;
  color:var(--music-accent-strong);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(12px,1.08cqw,21px);
  font-weight:600;
  line-height:.95;
  letter-spacing:.035em;
  white-space:nowrap;
}
.music-heading small{
  display:block;
  margin-top:clamp(1px,.10cqw,2px);
  color:var(--music-muted);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(6px,.46cqw,10px);
  font-style:italic;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
}
.music-console{
  display:grid;
  grid-template-columns:clamp(24px,2.38cqw,45px) minmax(0,1fr) clamp(39px,4.25cqw,79px);
  gap:clamp(4px,.34cqw,7px);
  align-items:center;
  width:100%;
  min-width:0;
}
.music-play,
.music-mute{
  position:relative;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--music-accent-strong);
  cursor:pointer;
  isolation:isolate;
  transition:filter .15s ease,transform .15s ease;
}
.music-play{
  width:clamp(24px,2.38cqw,45px);
  height:clamp(24px,2.38cqw,45px);
}
.music-mute{
  width:clamp(16px,1.52cqw,29px);
  height:clamp(16px,1.52cqw,29px);
  flex:0 0 auto;
}
.music-play::before,
.music-play::after,
.music-mute::before,
.music-mute::after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.music-control-aura{
  position:absolute;
  inset:-18%;
  z-index:-2;
  opacity:.35;
  filter:blur(.12cqw);
  transition:opacity .18s ease,filter .18s ease,transform .18s ease;
}
.music-play:hover,
.music-mute:hover{filter:brightness(1.12);transform:scale(1.035)}
.music-play:hover .music-control-aura,
.music-mute:hover .music-control-aura{opacity:.82;filter:blur(.18cqw);transform:scale(1.08)}
.music-play:focus-visible,
.music-mute:focus-visible,
.music-range-shell input:focus-visible{outline:clamp(1px,.12cqw,2px) solid var(--music-accent-strong);outline-offset:clamp(1px,.10cqw,2px)}
.music-play-icon{
  position:relative;
  z-index:4;
  display:block;
  width:clamp(7px,.62cqw,12px);
  height:clamp(8px,.72cqw,14px);
  color:inherit;
  filter:drop-shadow(0 0 .13cqw currentColor);
}
.music-play-icon::before{
  content:"";
  position:absolute;
  inset:0;
  background:currentColor;
  clip-path:polygon(4% 0,100% 50%,4% 100%);
}
.music-play[data-playing="true"] .music-play-icon::before{
  left:7%;right:auto;width:27%;clip-path:none;
  box-shadow:clamp(3px,.34cqw,7px) 0 0 currentColor;
}
.music-speaker-icon{
  position:relative;
  z-index:4;
  display:block;
  width:clamp(8px,.70cqw,14px);
  height:clamp(8px,.70cqw,14px);
  color:inherit;
  filter:drop-shadow(0 0 .10cqw currentColor);
}
.music-speaker-icon::before{
  content:"";
  position:absolute;
  left:0;top:24%;width:68%;height:52%;
  background:currentColor;
  clip-path:polygon(0 31%,34% 31%,75% 0,75% 100%,34% 69%,0 69%);
}
.music-speaker-icon::after{
  content:"";
  position:absolute;
  right:0;top:18%;width:37%;height:64%;
  border-right:1px solid currentColor;
  border-radius:0 100% 100% 0;
  box-shadow:clamp(2px,.18cqw,4px) 0 0 -1px currentColor;
}
.music-mute[data-muted="true"] .music-speaker-icon::after{
  right:-2%;top:48%;width:78%;height:1px;border:0;border-radius:0;background:currentColor;box-shadow:none;transform:rotate(-42deg);transform-origin:center;
}
.music-timeline{display:grid;grid-template-rows:auto auto;gap:clamp(2px,.15cqw,3px);min-width:0;align-items:center}
.music-range-shell{position:relative;min-width:0;height:clamp(14px,1.02cqw,20px)}
.music-progress-visual,
.music-volume-visual{position:absolute;inset:0;z-index:1;display:block;pointer-events:none}
.music-progress-line{
  position:absolute;
  left:1%;right:1%;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,var(--music-rail) 8%,var(--music-rail) 92%,transparent);
  box-shadow:0 0 .16cqw color-mix(in srgb,var(--music-glow) 40%,transparent);
  transform:translateY(-50%);
}
.music-progress-marks{
  position:absolute;
  inset:0 1%;
  display:grid;
  grid-template-columns:repeat(17,minmax(0,1fr));
  align-items:center;
  gap:clamp(1px,.08cqw,2px);
}
.music-progress-mark,
.music-volume-mark{
  display:block;
  transition:opacity .14s ease,filter .14s ease,transform .14s ease,background .14s ease,box-shadow .14s ease;
}
.music-progress-mark{
  justify-self:center;
  width:clamp(2px,.17cqw,4px);
  height:clamp(2px,.17cqw,4px);
  opacity:.40;
  background:var(--music-accent);
  box-shadow:0 0 .09cqw color-mix(in srgb,var(--music-glow) 36%,transparent);
}
.music-progress-mark.is-lit{
  opacity:1;
  filter:brightness(1.25);
  background:var(--music-accent-strong);
  box-shadow:0 0 .17cqw var(--music-glow),0 0 .34cqw color-mix(in srgb,var(--music-glow) 46%,transparent);
}
.music-progress-cursor{
  position:absolute;
  left:calc(var(--music-progress) * 1%);
  top:50%;
  width:clamp(6px,.48cqw,10px);
  height:clamp(6px,.48cqw,10px);
  background:var(--music-accent-strong);
  box-shadow:0 0 .24cqw var(--music-glow),inset 0 0 .12cqw var(--music-hot);
  transform:translate(-50%,-50%) rotate(45deg);
  transition:left .08s linear;
}
.music-range-shell input{
  position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;padding:0;
  appearance:none;-webkit-appearance:none;background:transparent;opacity:0;cursor:pointer;
}
.music-range-shell input::-webkit-slider-runnable-track{width:100%;height:100%;background:transparent;border:0}
.music-range-shell input::-webkit-slider-thumb{width:1px;height:1px;appearance:none;-webkit-appearance:none;background:transparent;border:0}
.music-range-shell input::-moz-range-track{height:100%;background:transparent;border:0}
.music-range-shell input::-moz-range-progress{background:transparent}
.music-range-shell input::-moz-range-thumb{width:1px;height:1px;background:transparent;border:0}
.music-times{
  display:flex;justify-content:space-between;
  color:var(--music-muted);
  font-family:"Segoe UI",Arial,sans-serif;
  font-size:clamp(5px,.36cqw,8px);
  font-variant-numeric:tabular-nums;
  line-height:1;
  letter-spacing:.045em;
  text-shadow:0 0 .14cqw rgba(0,0,0,.88);
}
.music-volume{display:grid;grid-template-columns:clamp(16px,1.52cqw,29px) minmax(0,1fr);gap:clamp(2px,.18cqw,4px);align-items:center;min-width:0}
.music-volume-shell{width:100%;height:clamp(16px,1.22cqw,23px)}
.music-volume-marks{
  position:absolute;inset:15% 2%;
  display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:clamp(1px,.08cqw,2px);
}
.music-volume-mark{
  justify-self:center;
  width:clamp(2px,.14cqw,3px);
  height:42%;
  max-height:100%;
  opacity:.34;
  background:var(--music-accent);
  box-shadow:0 0 .08cqw color-mix(in srgb,var(--music-glow) 32%,transparent);
}
.music-volume-mark:nth-child(1){height:28%}
.music-volume-mark:nth-child(2){height:39%}
.music-volume-mark:nth-child(3){height:50%}
.music-volume-mark:nth-child(4){height:61%}
.music-volume-mark:nth-child(5){height:72%}
.music-volume-mark:nth-child(6){height:83%}
.music-volume-mark.is-lit{opacity:1;background:var(--music-accent-strong);box-shadow:0 0 .15cqw var(--music-glow)}
.music-volume-cursor{
  position:absolute;
  left:calc(var(--music-volume) * 1%);
  top:50%;
  width:clamp(4px,.32cqw,7px);
  height:clamp(4px,.32cqw,7px);
  background:var(--music-accent-strong);
  box-shadow:0 0 .18cqw var(--music-glow);
  transform:translate(-50%,-50%) rotate(45deg);
  transition:left .08s linear;
}
.music-resonance{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto auto auto 1fr;
  align-items:center;
  gap:clamp(3px,.22cqw,5px);
  width:58%;
  justify-self:center;
  pointer-events:none;
}
.music-resonance::before,
.music-resonance::after{
  content:"";
  height:1px;
  background:linear-gradient(90deg,transparent,var(--music-accent));
  opacity:.42;
  box-shadow:0 0 .12cqw color-mix(in srgb,var(--music-glow) 45%,transparent);
}
.music-resonance::after{transform:scaleX(-1)}
.music-resonance-node{
  display:block;
  width:clamp(2px,.16cqw,4px);
  height:clamp(2px,.16cqw,4px);
  background:var(--music-accent);
  box-shadow:0 0 .12cqw var(--music-glow);
  transform:rotate(45deg);
  opacity:.58;
}
.music-resonance .node-one{grid-column:2}
.music-resonance .node-two{grid-column:3}
.music-status-jewel{
  grid-column:4;
  display:block;
  width:clamp(5px,.38cqw,8px);
  height:clamp(5px,.38cqw,8px);
  border:1px solid var(--music-accent-strong);
  background:radial-gradient(circle at 38% 30%,var(--music-hot),var(--music-accent) 43%,transparent 76%);
  box-shadow:0 0 .18cqw var(--music-glow),inset 0 0 .10cqw var(--music-hot);
  transform:rotate(45deg);
  opacity:.78;
}
.music-resonance .node-three{grid-column:5;display:none}
.music-resonance .node-four{display:none}
.music-player[data-playing="true"] .music-status-jewel{animation:musicStatusBreath 3.4s ease-in-out infinite}
.music-player[data-playing="true"] .music-resonance-node{animation:musicNodeBreath 4.6s ease-in-out infinite}
.music-player[data-playing="true"] .music-resonance-node.node-two{animation-delay:-1.8s}
.music-player[data-muted="true"] .music-status-jewel{filter:saturate(.35);opacity:.52}
@keyframes musicStatusBreath{0%,100%{filter:brightness(.95);opacity:.68;box-shadow:0 0 .14cqw var(--music-glow)}50%{filter:brightness(1.28);opacity:1;box-shadow:0 0 .30cqw var(--music-glow),0 0 .54cqw color-mix(in srgb,var(--music-glow) 45%,transparent)}}
@keyframes musicNodeBreath{0%,100%{opacity:.35;filter:brightness(.9)}50%{opacity:.96;filter:brightness(1.25)}}

/* V57: all three visual players now share a true wall-plane projection.
   Princess remains untouched. Daughter and Witch use open projective planes:
   their controls converge with the wall, while the transparent outer surface
   does not clip the transformed lettering or ornamentation. */
body[data-theme="daughter"] .music-plane,
body[data-theme="witch"] .music-plane{
  transform-style:flat;
  backface-visibility:hidden;
  will-change:transform;
}
body[data-theme="daughter"] .music-heading,
body[data-theme="witch"] .music-heading{
  position:relative;
  z-index:2;
  overflow:visible;
}

/* Daughter: a formal crystal mechanism set into the ivory wall. */
body[data-theme="daughter"] .music-player{
  --music-ink:#fff8e5;--music-accent:#e7cd94;--music-accent-strong:#fffdf6;--music-muted:rgba(255,247,225,.78);--music-rail:rgba(242,221,177,.34);--music-glow:rgba(255,236,194,.68);--music-hot:rgba(255,255,255,.98);
}
body[data-theme="daughter"] .music-heading strong{letter-spacing:.075em;font-weight:560}
body[data-theme="daughter"] .music-ornament{width:77%}
body[data-theme="daughter"] .music-ornament-emblem{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
body[data-theme="daughter"] .music-play{
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(214,180,116,.18) 42%,rgba(255,255,255,.08));
  box-shadow:inset 0 0 0 1px rgba(255,252,240,.82),inset 0 0 .38cqw rgba(255,247,220,.24),0 0 .24cqw rgba(255,236,194,.58);
}
body[data-theme="daughter"] .music-play::before{
  inset:13%;
  clip-path:inherit;
  background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(228,202,147,.08));
  box-shadow:inset 0 0 0 1px rgba(240,213,160,.56);
}
body[data-theme="daughter"] .music-play::after{
  inset:29%;clip-path:inherit;background:radial-gradient(circle at 36% 30%,#fff,rgba(242,220,177,.88) 42%,rgba(226,191,125,.35) 72%);box-shadow:0 0 .24cqw rgba(255,249,228,.72);
}
body[data-theme="daughter"] .music-control-aura{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:radial-gradient(circle,rgba(255,249,226,.48),transparent 66%)}
body[data-theme="daughter"] .music-mute{border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.24),rgba(225,196,139,.12) 48%,transparent 70%);box-shadow:inset 0 0 0 1px rgba(255,248,230,.62),0 0 .20cqw rgba(255,236,194,.46)}
body[data-theme="daughter"] .music-progress-mark{transform:rotate(45deg);border:1px solid rgba(255,255,255,.26)}
body[data-theme="daughter"] .music-progress-mark:nth-child(5n+1){width:clamp(3px,.22cqw,5px);height:clamp(3px,.22cqw,5px)}
body[data-theme="daughter"] .music-progress-cursor{clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);transform:translate(-50%,-50%)}
body[data-theme="daughter"] .music-volume-mark{transform:rotate(45deg);height:clamp(3px,.22cqw,5px);align-self:center}
body[data-theme="daughter"] .music-resonance-node{clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);transform:none}

/* Princess: a jeweled vanity console with pearl progress and heart-cut accents. */
body[data-theme="princess"] .music-player{
  --music-ink:#ffe8f2;--music-accent:#f49abb;--music-accent-strong:#fff2f7;--music-muted:rgba(255,220,234,.82);--music-rail:rgba(255,166,202,.32);--music-glow:rgba(255,92,160,.70);--music-hot:rgba(255,239,247,.98);
}
body[data-theme="princess"] .music-heading strong{font-style:italic;font-weight:600;letter-spacing:.02em;text-shadow:0 0 .18cqw rgba(85,20,45,.90),0 0 .48cqw rgba(255,88,158,.68)}
body[data-theme="princess"] .music-heading small{font-style:normal;letter-spacing:.055em}
body[data-theme="princess"] .music-ornament{width:68%}
body[data-theme="princess"] .music-ornament-wing{height:clamp(2px,.12cqw,3px);background:radial-gradient(circle,rgba(255,229,239,.86) 0 38%,transparent 45%) 0 50%/clamp(6px,.42cqw,9px) 100% repeat-x;box-shadow:none}
body[data-theme="princess"] .music-ornament-wing::before,
body[data-theme="princess"] .music-ornament-wing::after{border-radius:50%;transform:translateY(-50%);background:#ffd4e4;border-color:#fff0f6}
body[data-theme="princess"] .music-ornament-wing-right{transform:scaleX(-1)}
body[data-theme="princess"] .music-ornament-emblem{
  width:clamp(8px,.58cqw,12px);height:clamp(7px,.52cqw,11px);border:0;transform:none;
  clip-path:polygon(50% 96%,7% 53%,7% 31%,22% 12%,40% 12%,50% 28%,60% 12%,78% 12%,93% 31%,93% 53%);
  background:radial-gradient(circle at 42% 30%,#fff7fb,#ffb8d2 34%,#f16b9e 70%);box-shadow:0 0 .30cqw rgba(255,91,158,.78);
}
body[data-theme="princess"] .music-play{
  border-radius:50%;
  background:radial-gradient(circle at 35% 27%,rgba(255,255,255,.54),rgba(255,174,205,.24) 28%,rgba(189,43,105,.16) 62%,transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(255,231,241,.88),inset 0 0 0 clamp(2px,.15cqw,3px) rgba(255,129,179,.18),0 0 .28cqw rgba(255,80,150,.58);
}
body[data-theme="princess"] .music-play::before{
  left:50%;top:-9%;width:40%;height:25%;transform:translateX(-50%);
  clip-path:polygon(0 100%,18% 12%,38% 60%,50% 0,62% 60%,82% 12%,100% 100%);
  background:linear-gradient(#fff3f8,#f58ab4);filter:drop-shadow(0 0 .10cqw rgba(255,95,159,.76));
}
body[data-theme="princess"] .music-play::after{
  inset:29%;clip-path:polygon(50% 96%,7% 53%,7% 31%,22% 12%,40% 12%,50% 28%,60% 12%,78% 12%,93% 31%,93% 53%);
  background:radial-gradient(circle at 40% 28%,#fff7fb,#ffb0cf 34%,#ee6da1 73%);box-shadow:0 0 .20cqw rgba(255,107,165,.72);
}
body[data-theme="princess"] .music-control-aura{border-radius:50%;background:radial-gradient(circle,rgba(255,121,176,.52),transparent 67%)}
body[data-theme="princess"] .music-mute{border-radius:50%;background:radial-gradient(circle at 36% 28%,rgba(255,255,255,.38),rgba(246,123,172,.18) 50%,transparent 72%);box-shadow:inset 0 0 0 1px rgba(255,224,236,.72),0 0 .22cqw rgba(255,86,151,.55)}
body[data-theme="princess"] .music-progress-line{display:none}
body[data-theme="princess"] .music-progress-mark{border-radius:50%;width:clamp(3px,.22cqw,5px);height:clamp(3px,.22cqw,5px);background:rgba(255,204,224,.76);box-shadow:inset 0 0 .08cqw #fff,0 0 .10cqw rgba(255,92,159,.38)}
body[data-theme="princess"] .music-progress-mark:nth-child(4n+1){width:clamp(4px,.28cqw,6px);height:clamp(4px,.28cqw,6px)}
body[data-theme="princess"] .music-progress-mark.is-lit{background:#fff0f6;box-shadow:inset 0 0 .09cqw #fff,0 0 .23cqw rgba(255,77,149,.82)}
body[data-theme="princess"] .music-progress-cursor{border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 28%,#fff,#ffc5db 38%,#f470a3 75%)}
body[data-theme="princess"] .music-volume-mark{border-radius:50%;height:clamp(3px,.22cqw,5px);align-self:center;background:#f8a8c7}
body[data-theme="princess"] .music-volume-cursor{border-radius:50%;transform:translate(-50%,-50%);background:#fff0f6}
body[data-theme="princess"] .music-resonance-node{border-radius:50%;transform:none;background:#ffc3da}
body[data-theme="princess"] .music-status-jewel{border-radius:50%;transform:none;background:radial-gradient(circle at 35% 28%,#fff,#ffb4d1 42%,#eb679d 76%)}

/* Witch: a rune-driven resonance device with banked ember and violet crystal. */
body[data-theme="witch"] .music-player{
  --music-ink:#e9caff;--music-accent:#aa6cf1;--music-accent-strong:#f0d9ff;--music-muted:rgba(220,184,240,.78);--music-rail:rgba(174,92,236,.31);--music-glow:rgba(139,54,238,.72);--music-hot:rgba(239,204,255,.96);--music-ember:rgba(229,101,49,.88);
}
body[data-theme="witch"] .music-heading strong{color:#f2ddff;font-variant:small-caps;letter-spacing:.09em;font-weight:570;text-shadow:0 0 .18cqw #080109,0 0 .45cqw rgba(148,53,238,.78)}
body[data-theme="witch"] .music-heading small{color:rgba(226,189,246,.82)}
body[data-theme="witch"] .music-ornament{width:74%}
body[data-theme="witch"] .music-ornament-wing{background:repeating-linear-gradient(90deg,transparent 0 7%,rgba(198,128,249,.72) 7% 10%,transparent 10% 17%);height:clamp(2px,.10cqw,2px)}
body[data-theme="witch"] .music-ornament-wing::before,
body[data-theme="witch"] .music-ornament-wing::after{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);transform:translateY(-50%);background:#b96cf2;border-color:#e7c1ff}
body[data-theme="witch"] .music-ornament-wing-right{transform:scaleX(-1)}
body[data-theme="witch"] .music-ornament-emblem{
  transform:none;border:0;clip-path:polygon(50% 0,61% 34%,98% 35%,68% 56%,79% 94%,50% 71%,21% 94%,32% 56%,2% 35%,39% 34%);
  background:radial-gradient(circle,#f4d9ff 0 18%,#a550e8 42%,rgba(222,91,46,.68) 68%,transparent 75%);box-shadow:0 0 .32cqw rgba(154,59,239,.82);
}
body[data-theme="witch"] .music-play{
  clip-path:polygon(50% 0,88% 16%,100% 54%,77% 92%,34% 100%,0 73%,5% 29%);
  background:radial-gradient(circle at 44% 42%,rgba(188,105,242,.24),rgba(61,12,81,.24) 48%,transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(209,148,248,.70),inset 0 0 .42cqw rgba(112,26,175,.28),0 0 .30cqw rgba(136,43,222,.66),0 0 .55cqw rgba(225,91,42,.18);
}
body[data-theme="witch"] .music-play::before{
  inset:12%;clip-path:inherit;background:conic-gradient(from 12deg,transparent 0 8%,rgba(207,142,248,.55) 8% 10%,transparent 10% 25%,rgba(207,142,248,.55) 25% 27%,transparent 27% 42%,rgba(224,104,50,.45) 42% 44%,transparent 44% 59%,rgba(207,142,248,.55) 59% 61%,transparent 61% 76%,rgba(207,142,248,.55) 76% 78%,transparent 78%);
}
body[data-theme="witch"] .music-play::after{
  inset:30%;clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);background:radial-gradient(circle at 42% 30%,#f1dcff,#a962ed 42%,#5a167f 76%);box-shadow:0 0 .22cqw rgba(170,77,246,.78),0 0 .38cqw rgba(228,92,42,.24);
}
body[data-theme="witch"] .music-control-aura{clip-path:polygon(50% 0,88% 16%,100% 54%,77% 92%,34% 100%,0 73%,5% 29%);background:radial-gradient(circle,rgba(142,45,224,.56),rgba(221,82,39,.13) 52%,transparent 70%)}
body[data-theme="witch"] .music-mute{clip-path:polygon(50% 0,92% 22%,100% 70%,72% 100%,28% 100%,0 70%,8% 22%);background:rgba(75,18,103,.24);box-shadow:inset 0 0 0 1px rgba(196,128,243,.66),0 0 .22cqw rgba(136,43,222,.62)}
body[data-theme="witch"] .music-progress-line{height:1px;background:repeating-linear-gradient(90deg,rgba(203,140,249,.55) 0 3%,transparent 3% 7%);box-shadow:0 0 .19cqw rgba(129,41,218,.66)}
body[data-theme="witch"] .music-progress-marks{gap:clamp(1px,.10cqw,2px)}
body[data-theme="witch"] .music-progress-mark{width:clamp(2px,.16cqw,4px);height:clamp(6px,.46cqw,9px);clip-path:polygon(50% 0,100% 32%,78% 100%,22% 100%,0 32%);background:#9550d2;transform:skewX(-10deg);opacity:.44}
body[data-theme="witch"] .music-progress-mark:nth-child(3n+1){transform:skewX(10deg) scaleY(.78)}
body[data-theme="witch"] .music-progress-mark:nth-child(5n){background:#d06c3a}
body[data-theme="witch"] .music-progress-mark.is-lit{background:#d5a0ff;box-shadow:0 0 .20cqw rgba(155,61,238,.88),0 0 .34cqw rgba(225,91,43,.24)}
body[data-theme="witch"] .music-progress-cursor{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);transform:translate(-50%,-50%);background:radial-gradient(circle at 42% 30%,#f3ddff,#a75cec 44%,#63148a 78%);box-shadow:0 0 .26cqw rgba(168,67,245,.84),0 0 .48cqw rgba(228,92,43,.23)}
body[data-theme="witch"] .music-volume-mark{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);background:#9550d2}
body[data-theme="witch"] .music-volume-mark:nth-child(6){background:#d36c38}
body[data-theme="witch"] .music-volume-cursor{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);transform:translate(-50%,-50%);background:#d7a6ff}
body[data-theme="witch"] .music-resonance-node{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);transform:none;background:#a65be5}
body[data-theme="witch"] .music-resonance-node.node-two{background:#d36b38}
body[data-theme="witch"] .music-status-jewel{clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);transform:none;background:radial-gradient(circle at 42% 30%,#f2dcff,#a65ae7 45%,#6b168e 72%);box-shadow:0 0 .22cqw rgba(155,57,238,.84),0 0 .40cqw rgba(228,92,43,.22)}

@container (max-width:720px){
  .music-plane{padding:3% 7.5% 3.3%}
  .music-heading strong{font-size:clamp(9px,1.02cqw,18px)}
  .music-heading small{font-size:clamp(5px,.42cqw,8px)}
  .music-console{grid-template-columns:clamp(19px,2.18cqw,36px) minmax(0,1fr) clamp(31px,3.9cqw,62px)}
  .music-play{width:clamp(19px,2.18cqw,36px);height:clamp(19px,2.18cqw,36px)}
  .music-resonance{width:50%}
}
@media(prefers-reduced-motion:reduce){
  .music-player,.music-plane,.music-play,.music-mute,.music-progress-mark,.music-volume-mark,.music-progress-cursor,.music-volume-cursor{transition:none!important}
  .music-player[data-playing="true"] .music-status-jewel,.music-player[data-playing="true"] .music-resonance-node{animation:none!important}
}


.hotspot-layer{position:absolute;inset:0;z-index:20;pointer-events:none}
.hotspot{position:absolute;pointer-events:auto;border:0;background:transparent;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hotspot-gem,.hotspot-theme{border-radius:50%}
.hotspot:focus-visible{outline:.18cqw solid var(--focus);outline-offset:.12cqw;border-radius:.3cqw}
.hotspot-gem:focus-visible,.hotspot-theme:focus-visible{border-radius:50%}
body.debug-hotspots .hotspot{background:rgba(0,174,255,.18);outline:.09cqw solid rgba(0,220,255,.9)}
body.debug-hotspots .hotspot:nth-of-type(2n){background:rgba(255,196,0,.18);outline-color:rgba(255,210,0,.9)}
body.debug-hotspots .hotspot::after{content:attr(data-debug-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.16cqw .25cqw;background:rgba(0,0,0,.82);color:#fff;font-size:.46cqw;font-weight:800;line-height:1;white-space:nowrap;border-radius:.15cqw}
body.debug-hotspots .mirror-media{outline:.1cqw solid #00ffb3}
body.debug-hotspots .music-player{outline:.1cqw solid #ffed00}

/* Review checkpoints keep unfinished interfaces parked while allowing the
   artwork, ambient motion, theme switching, and current highlight system to be
   judged without unrelated panels covering the room. */
body.ambient-checkpoint .mirror-media,
body.ambient-checkpoint .music-player,
body.ambient-checkpoint .hotspot:not(.hotspot-theme){display:none!important}
body.ambient-checkpoint .hotspot-layer{z-index:30}
body.highlight-checkpoint .mirror-media,
body.highlight-checkpoint .music-player{display:none!important}
body.highlight-checkpoint .hotspot-layer{z-index:30}
body.highlight-checkpoint .hotspot:focus-visible{outline:0}
body.dossier-checkpoint .mirror-media{display:none!important}
body.dossier-checkpoint .hotspot-layer{z-index:30}
body.dossier-checkpoint .music-player{z-index:32}
body.dossier-checkpoint .hotspot:focus-visible{outline:0}
body.theme-transitioning .hotspot{pointer-events:none;cursor:wait}

/* Dialog foundation */
dialog{padding:0;border:0;color:var(--panel-text);background:transparent}
dialog::backdrop{background:rgba(4,3,4,.72);backdrop-filter:blur(9px)}
.content-dialog{width:min(92vw,1120px);max-width:none;max-height:88dvh;margin:auto}
.content-card,.site-menu-card{overflow:hidden;border:1px solid var(--panel-border);border-radius:18px;background:linear-gradient(145deg,var(--panel-strong),var(--panel-bg));box-shadow:0 28px 90px var(--shadow)}
.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;padding:1.2rem 1.35rem;border-bottom:1px solid color-mix(in srgb,var(--panel-border) 55%,transparent);background:color-mix(in srgb,var(--panel-strong) 82%,transparent)}
.dialog-eyebrow{margin:0 0 .25rem;color:var(--panel-accent);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.dialog-header h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.75rem,3vw,2.6rem);line-height:1}
.dialog-close,.gallery-close{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid var(--panel-border);border-radius:50%;background:var(--panel-bg);color:var(--panel-text);font-size:1.75rem;line-height:1;cursor:pointer}
.dialog-close:focus-visible,.gallery-close:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.content-layout{display:grid;grid-template-columns:minmax(215px,.32fr) minmax(0,1fr);height:min(70dvh,720px)}
.record-nav{padding:.8rem;border-right:1px solid color-mix(in srgb,var(--panel-border) 45%,transparent);overflow:auto;background:color-mix(in srgb,var(--panel-bg) 78%,transparent)}
.record-tab{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.65rem;width:100%;padding:.72rem .62rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--panel-border) 28%,transparent);background:transparent;color:var(--panel-text);text-align:left;cursor:pointer}
.record-tab b{display:grid;place-items:center;width:1.8rem;height:1.8rem;border:1px solid var(--panel-border);border-radius:50%;font-size:.65rem;color:var(--panel-accent)}
.record-tab span{min-width:0}
.record-tab strong{display:block;font-family:Georgia,serif;font-size:.98rem;line-height:1.1}
.record-tab small{display:block;margin-top:.18rem;color:var(--panel-muted);font-size:.64rem;line-height:1.25}
.record-tab[aria-selected="true"]{background:color-mix(in srgb,var(--panel-accent) 12%,transparent);box-shadow:inset 4px 0 0 var(--panel-accent)}
.record-tab:focus-visible{outline:3px solid var(--focus);outline-offset:-2px}
.record-document{padding:clamp(1.1rem,3vw,2.3rem);overflow:auto;scrollbar-color:var(--panel-accent) transparent}
.record-kicker{margin:0 0 .45rem;color:var(--panel-accent);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.record-document h3{margin:.1rem 0 1rem;font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1}
.record-document h4{margin:1.25rem 0 .45rem;font-family:Georgia,serif;font-size:1.2rem}
.record-document p,.record-document li{font-size:.93rem;line-height:1.72}
.record-document p{margin:.65rem 0}
.record-document ul{margin:.55rem 0;padding-left:1.15rem}
.record-document .notice{margin:0 0 1rem;padding:.8rem 1rem;border-left:4px solid var(--panel-accent);background:color-mix(in srgb,var(--panel-accent) 10%,transparent);font-weight:650}
.record-document .fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0}
.record-document .fact{padding:.72rem;border:1px solid color-mix(in srgb,var(--panel-border) 55%,transparent);background:color-mix(in srgb,var(--panel-strong) 68%,transparent)}
.record-document .fact small{display:block;color:var(--panel-muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.record-document .fact strong{display:block;margin-top:.22rem;font-family:Georgia,serif;font-size:1rem}
.record-document figure{float:right;width:min(42%,310px);margin:0 0 1rem 1.35rem;border:1px solid var(--panel-border);background:var(--panel-strong);padding:.45rem}
.record-document figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.record-document figcaption{padding:.55rem .35rem .2rem;color:var(--panel-muted);font-size:.68rem;text-align:center}
.record-badge{display:inline-block;margin:.15rem .3rem .15rem 0;padding:.28rem .5rem;border:1px solid var(--panel-border);border-radius:999px;color:var(--panel-accent);font-size:.64rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}

/* Full-screen themed gallery */
.gallery-dialog{inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:var(--page-bg);color:var(--panel-text)}
.gallery-dialog::backdrop{background:#000}
.gallery-surface{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--panel-accent) 18%,transparent),transparent 35rem),linear-gradient(180deg,var(--panel-strong),var(--panel-bg))}
.gallery-header{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:center;min-height:116px;padding:1.1rem 5.2rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--panel-border) 50%,transparent)}
.gallery-copy{text-align:center;max-width:900px}
.gallery-copy h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.75rem,3.8vw,3.35rem);line-height:1}
.gallery-copy p{margin:.42rem 0 .22rem;color:var(--panel-muted);font-family:Georgia,serif;font-size:clamp(.9rem,1.45vw,1.15rem);line-height:1.4}
.gallery-copy small{color:var(--panel-accent);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.gallery-close{position:absolute;right:1.25rem;top:1.15rem;background:var(--panel-bg)}
.gallery-stage{position:relative;min-height:0;margin:.8rem clamp(2.8rem,8vw,8.5rem);overflow:hidden;border:1px solid color-mix(in srgb,var(--panel-border) 70%,transparent);background:#080608;box-shadow:0 18px 70px rgba(0,0,0,.32);isolation:isolate}
.gallery-backfill{position:absolute;inset:-5%;z-index:0;background-position:center;background-size:cover;filter:blur(24px) brightness(.44) saturate(.82);transform:scale(1.1);opacity:.94}
.gallery-backfill:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25)}
.gallery-stage>img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;background:transparent}
.gallery-arrow{position:absolute;top:50%;z-index:4;display:grid;place-items:center;width:54px;height:74px;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--panel-strong) 82%,transparent);color:var(--panel-text);font-family:Georgia,serif;font-size:3rem;line-height:1;transform:translateY(-50%);cursor:pointer;backdrop-filter:blur(8px)}
.gallery-prev{left:.75rem}.gallery-next{right:.75rem}
.gallery-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.gallery-thumbs{display:flex;gap:.5rem;justify-content:center;overflow-x:auto;padding:.65rem 1rem .85rem;border-top:1px solid color-mix(in srgb,var(--panel-border) 50%,transparent);scrollbar-color:var(--panel-accent) transparent}
.gallery-thumb{position:relative;flex:0 0 62px;width:62px;height:78px;padding:0;border:2px solid transparent;background:#0a0708;cursor:pointer;overflow:hidden}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb[aria-current="true"]{border-color:var(--panel-accent);box-shadow:0 0 0 2px var(--focus)}
.gallery-thumb:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* Main-site directory */
.site-menu-dialog{width:min(92vw,760px);max-width:none;margin:auto}
.site-menu-card{max-height:88dvh}
.site-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem;max-height:68dvh;overflow:auto}
.site-link{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.8rem;align-items:center;min-height:88px;padding:.55rem;border:1px solid color-mix(in srgb,var(--panel-border) 65%,transparent);background:color-mix(in srgb,var(--panel-strong) 68%,transparent);color:var(--panel-text);text-decoration:none}
.site-link:hover{border-color:var(--panel-accent)}
.site-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.site-link img{width:82px;height:72px;object-fit:cover}
.site-link strong{display:block;font-family:Georgia,serif;font-size:1rem}
.site-link small{display:block;margin-top:.25rem;color:var(--panel-muted);font-size:.68rem;line-height:1.3}

@media(max-width:760px){
  .content-dialog{width:96vw;max-height:94dvh}
  .content-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:80dvh}
  .record-nav{display:flex;gap:.35rem;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--panel-border) 45%,transparent);overflow-x:auto;padding:.55rem}
  .record-tab{flex:0 0 190px;border:1px solid color-mix(in srgb,var(--panel-border) 36%,transparent)}
  .record-tab[aria-selected="true"]{box-shadow:inset 0 4px 0 var(--panel-accent)}
  .record-document figure{float:none;width:min(100%,310px);margin:0 auto 1rem}
  .gallery-header{padding:.85rem 4rem .65rem;min-height:98px}
  .gallery-stage{margin:.5rem 1.4rem}
  .gallery-arrow{width:42px;height:60px;font-size:2.4rem}
  .gallery-prev{left:.35rem}.gallery-next{right:.35rem}
  .site-link-grid{grid-template-columns:1fr}
}
@media(max-height:620px){
  .gallery-header{min-height:82px;padding:.55rem 4.5rem .45rem}
  .gallery-copy h2{font-size:1.65rem}.gallery-copy p{font-size:.82rem;margin:.22rem 0}.gallery-thumbs{padding:.4rem .8rem}.gallery-thumb{width:48px;height:58px;flex-basis:48px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* Standalone work build: future-site destinations are displayed but intentionally inactive. */
.site-link-pending{cursor:default}
.site-link-pending:hover{border-color:color-mix(in srgb,var(--panel-border) 65%,transparent)}
.site-link-pending em{display:block;margin-top:.28rem;color:var(--panel-accent);font-size:.58rem;font-style:normal;font-weight:850;letter-spacing:.05em;text-transform:uppercase}


/* V48 living-still treatment. The source room never moves or zooms. These
   transparent masks and canvases only add localized light, flame, smoke, and
   transition atmosphere above the untouched artwork. */
.ambient-mask-layer,.theme-mask-set{position:absolute;inset:0;pointer-events:none}
.ambient-mask-layer{z-index:3;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);mask-composite:intersect}
.theme-mask-set{opacity:0;visibility:hidden;transition:opacity 2.1s cubic-bezier(.22,.72,.2,1);will-change:opacity}
.theme-mask-set.outgoing{z-index:1;transition-duration:2s;transition-timing-function:cubic-bezier(.30,.05,.28,1)}
.theme-mask-set.incoming{z-index:2;transition-duration:3s;transition-timing-function:cubic-bezier(.24,0,.18,1)}
.theme-mask-set.active{opacity:1;visibility:visible}
.music-luminescence,.pentagram-luminescence{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:screen;opacity:0;pointer-events:none;user-select:none;transform:none;will-change:opacity,filter}
.music-luminescence-base{filter:blur(.34cqw) brightness(1.28) saturate(1.12)}
.music-luminescence-channel{filter:blur(.055cqw) brightness(1.38) saturate(1.16)}
.pentagram-luminescence-base{filter:blur(.24cqw) brightness(1.25) saturate(1.22)}
.pentagram-channel{filter:blur(.045cqw) brightness(1.42) saturate(1.30)}

[data-mask-theme="daughter"] .daughter-white-halo{animation:daughterMusicWhiteHalo 10.8s ease-in-out -2.4s infinite;filter:blur(.12cqw) brightness(1.22) saturate(.16)}
@keyframes daughterMusicWhiteHalo{0%,100%{opacity:.105;filter:blur(.12cqw) brightness(1.12) saturate(.12)}31%{opacity:.255;filter:blur(.18cqw) brightness(1.34) saturate(.08)}63%{opacity:.145;filter:blur(.14cqw) brightness(1.20) saturate(.10)}84%{opacity:.285;filter:blur(.20cqw) brightness(1.40) saturate(.06)}}
[data-mask-theme="daughter"] .music-luminescence-base{animation:daughterMusicBloom 9.8s ease-in-out infinite}
[data-mask-theme="daughter"] .music-luminescence.channel-one{animation:daughterMusicChannelOne 7.4s ease-in-out -1.7s infinite}
[data-mask-theme="daughter"] .music-luminescence.channel-two{animation:daughterMusicChannelTwo 8.7s ease-in-out -4.1s infinite}
[data-mask-theme="daughter"] .music-luminescence.channel-three{animation:daughterMusicChannelThree 6.9s ease-in-out -2.6s infinite}
@keyframes daughterMusicBloom{0%,100%{opacity:.08;filter:blur(.34cqw) brightness(1.20) saturate(.96)}38%{opacity:.18;filter:blur(.42cqw) brightness(1.38) saturate(1.02)}72%{opacity:.11;filter:blur(.30cqw) brightness(1.27) saturate(.98)}}
@keyframes daughterMusicChannelOne{0%,100%{opacity:.035}34%{opacity:.19}61%{opacity:.075}82%{opacity:.145}}
@keyframes daughterMusicChannelTwo{0%,100%{opacity:.05}27%{opacity:.12}54%{opacity:.22}79%{opacity:.075}}
@keyframes daughterMusicChannelThree{0%,100%{opacity:.03}31%{opacity:.16}58%{opacity:.06}84%{opacity:.205}}

[data-mask-theme="princess"] .music-luminescence-base{animation:princessMusicBloom 8.6s ease-in-out infinite}
[data-mask-theme="princess"] .music-luminescence.channel-one{animation:princessMusicChannelOne 6.8s ease-in-out -1.3s infinite}
[data-mask-theme="princess"] .music-luminescence.channel-two{animation:princessMusicChannelTwo 7.9s ease-in-out -3.6s infinite}
[data-mask-theme="princess"] .music-luminescence.channel-three{animation:princessMusicChannelThree 6.2s ease-in-out -2.4s infinite}
@keyframes princessMusicBloom{0%,100%{opacity:.10;filter:blur(.38cqw) brightness(1.16) saturate(1.08)}32%{opacity:.235;filter:blur(.48cqw) brightness(1.42) saturate(1.22)}68%{opacity:.15;filter:blur(.36cqw) brightness(1.30) saturate(1.16)}}
@keyframes princessMusicChannelOne{0%,100%{opacity:.06}29%{opacity:.25}57%{opacity:.105}83%{opacity:.29}}
@keyframes princessMusicChannelTwo{0%,100%{opacity:.075}24%{opacity:.17}52%{opacity:.315}78%{opacity:.12}}
@keyframes princessMusicChannelThree{0%,100%{opacity:.055}37%{opacity:.30}64%{opacity:.11}86%{opacity:.23}}

[data-mask-theme="witch"] .music-luminescence-base{animation:witchMusicBloom 9.4s ease-in-out infinite}
[data-mask-theme="witch"] .music-luminescence.channel-one{animation:witchMusicChannelOne 7.7s ease-in-out -2.1s infinite}
[data-mask-theme="witch"] .music-luminescence.channel-two{animation:witchMusicChannelTwo 8.9s ease-in-out -5.2s infinite}
[data-mask-theme="witch"] .music-luminescence.channel-three{animation:witchMusicChannelThree 6.6s ease-in-out -3.3s infinite}
@keyframes witchMusicBloom{0%,100%{opacity:.075;filter:blur(.36cqw) brightness(1.12) saturate(1.12)}23%{opacity:.17;filter:blur(.45cqw) brightness(1.34) saturate(1.32)}47%{opacity:.105}71%{opacity:.225;filter:blur(.40cqw) brightness(1.48) saturate(1.40)}88%{opacity:.12}}
@keyframes witchMusicChannelOne{0%,100%{opacity:.035}19%{opacity:.20}43%{opacity:.08}68%{opacity:.29}87%{opacity:.11}}
@keyframes witchMusicChannelTwo{0%,100%{opacity:.06}28%{opacity:.13}51%{opacity:.31}76%{opacity:.09}}
@keyframes witchMusicChannelThree{0%,100%{opacity:.045}24%{opacity:.27}56%{opacity:.07}81%{opacity:.22}}

[data-mask-theme="witch"] .pentagram-luminescence-base{animation:pentagramBaseSmolder 10.5s ease-in-out infinite}
[data-mask-theme="witch"] .pentagram-channel.channel-one{animation:pentagramChannelOne 7.2s ease-in-out -1.1s infinite}
[data-mask-theme="witch"] .pentagram-channel.channel-two{animation:pentagramChannelTwo 8.3s ease-in-out -4.8s infinite}
[data-mask-theme="witch"] .pentagram-channel.channel-three{animation:pentagramChannelThree 6.9s ease-in-out -2.7s infinite}
[data-mask-theme="witch"] .pentagram-channel.channel-four{animation:pentagramChannelFour 9.1s ease-in-out -6.2s infinite}
@keyframes pentagramBaseSmolder{0%,100%{opacity:.07;filter:blur(.24cqw) brightness(1.12) saturate(1.12)}31%{opacity:.16;filter:blur(.31cqw) brightness(1.34) saturate(1.28)}62%{opacity:.095}82%{opacity:.20;filter:blur(.27cqw) brightness(1.46) saturate(1.34)}}
@keyframes pentagramChannelOne{0%,100%{opacity:.035}28%{opacity:.20}57%{opacity:.08}79%{opacity:.26}}
@keyframes pentagramChannelTwo{0%,100%{opacity:.05}21%{opacity:.14}48%{opacity:.28}74%{opacity:.075}}
@keyframes pentagramChannelThree{0%,100%{opacity:.03}33%{opacity:.25}60%{opacity:.07}85%{opacity:.18}}
@keyframes pentagramChannelFour{0%,100%{opacity:.045}26%{opacity:.12}55%{opacity:.24}81%{opacity:.065}}

.ambient-fx{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);mask-composite:intersect}
.theme-transition-fx{position:fixed;inset:0;z-index:9990;width:100%;height:100%;opacity:0;pointer-events:none;user-select:none;will-change:opacity}
.theme-transition-fx.active{opacity:1}

@media(prefers-reduced-motion:reduce){
  .theme-mask-set{transition:none!important}
  .music-luminescence,.pentagram-luminescence{animation:none!important}
  .theme-mask-set.active .music-luminescence-base{opacity:.075!important}
  .theme-mask-set.active .daughter-white-halo{opacity:.12!important}
  .theme-mask-set.active .music-luminescence-channel{opacity:.045!important}
  .theme-mask-set.active .pentagram-luminescence-base{opacity:.07!important}
  .theme-mask-set.active .pentagram-channel{opacity:.035!important}
  .ambient-fx,.theme-transition-fx{display:none!important}
}


/* V50 corrected object-registered highlight system. Every image is a sparse transparent
   1672 x 941 layer cut from the matching room master. The comfortable button
   hit areas may be larger, but the visible response remains confined to the
   illustrated object or grouped display itself. */
.highlight-layer,.highlight-theme-set{position:absolute;inset:0;pointer-events:none}
.highlight-layer{z-index:12;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 1.35cqw,#000 calc(100% - 1.35cqw),transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.35cqh,#000 calc(100% - 1.35cqh),transparent 100%);mask-composite:intersect;transition:opacity .34s ease}
.highlight-theme-set{opacity:0;visibility:hidden;will-change:opacity;transition:opacity 2.1s cubic-bezier(.22,.72,.2,1)}
.highlight-theme-set.outgoing{z-index:1;transition-duration:2s;transition-timing-function:cubic-bezier(.30,.05,.28,1)}
.highlight-theme-set.incoming{z-index:2;transition-duration:3s;transition-timing-function:cubic-bezier(.24,0,.18,1)}
.highlight-theme-set.active{opacity:1;visibility:visible}
.highlight-object{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;pointer-events:none;user-select:none;transform:none;will-change:opacity,filter;transition:opacity .055s ease-out,filter .07s ease-out}
.highlight-object.is-selected:not(.is-active){opacity:.30;animation:selectedGemBreath 5.8s ease-in-out infinite}
.highlight-object.is-active{opacity:.96;transition-duration:.16s,.18s;transition-timing-function:cubic-bezier(.2,.72,.2,1),ease}

/* Current-theme object reactions. Nothing moves across a path; the registered
   light simply strengthens and recedes in place. */
.highlight-theme-set[data-highlight-theme="daughter"] .highlight-themed-object.is-active{animation:daughterObjectGlow 3.45s ease-in-out infinite}
.highlight-theme-set[data-highlight-theme="princess"] .highlight-themed-object.is-active{animation:princessObjectGlow 3.8s ease-in-out infinite}
.highlight-theme-set[data-highlight-theme="witch"] .highlight-themed-object.is-active{animation:witchObjectGlow 3.2s ease-in-out infinite}
.highlight-site-menu.is-active{animation:mainSiteGlow 3.7s ease-in-out infinite}
.highlight-identity-daughter.is-active{animation:daughterGemGlow 3.15s ease-in-out infinite}
.highlight-identity-princess.is-active{animation:princessGemGlow 3.45s ease-in-out infinite}
.highlight-identity-witch.is-active{animation:witchGemGlow 3.05s ease-in-out infinite}

@keyframes selectedGemBreath{0%,100%{opacity:.25;filter:brightness(.96)}50%{opacity:.34;filter:brightness(1.04)}}
@keyframes daughterObjectGlow{0%,100%{opacity:.86;filter:brightness(.98)}48%{opacity:1;filter:brightness(1.04)}72%{opacity:.92;filter:brightness(1.01)}}
@keyframes princessObjectGlow{0%,100%{opacity:.84;filter:brightness(.98) saturate(.98)}44%{opacity:.98;filter:brightness(1.035) saturate(1.04)}76%{opacity:.90;filter:brightness(1.01) saturate(1.015)}}
@keyframes witchObjectGlow{0%,100%{opacity:.80;filter:brightness(.97) saturate(.98)}36%{opacity:.94;filter:brightness(1.045) saturate(1.04)}69%{opacity:.86;filter:brightness(1.01) saturate(1.015)}}
@keyframes mainSiteGlow{0%,100%{opacity:.84;filter:brightness(.98)}50%{opacity:.98;filter:brightness(1.045)}}
@keyframes daughterGemGlow{0%,100%{opacity:.88;filter:brightness(.99)}48%{opacity:1;filter:brightness(1.07)}}
@keyframes princessGemGlow{0%,100%{opacity:.86;filter:brightness(.98) saturate(.99)}50%{opacity:1;filter:brightness(1.055) saturate(1.05)}}
@keyframes witchGemGlow{0%,100%{opacity:.84;filter:brightness(.98) saturate(.99)}38%{opacity:1;filter:brightness(1.07) saturate(1.06)}72%{opacity:.90;filter:brightness(1.02) saturate(1.02)}}

body.theme-transitioning .highlight-layer{opacity:.92}
body.highlight-freeze .highlight-object.is-active{animation-play-state:paused!important;opacity:1!important;filter:none!important}

@media(prefers-reduced-motion:reduce){
  .highlight-theme-set{transition:none!important}
  .highlight-object{animation:none!important;transition:none!important}
  .highlight-object.is-active{opacity:1!important;filter:none!important}
  .highlight-object.is-selected:not(.is-active){opacity:.30!important;filter:none!important}
}

/* V51 final highlight-strength balance.
   Geometry, hit areas, room art, and the accepted V50 masks remain unchanged.
   Only the three left mirror-gem reactions and the universal Main Site reaction
   are strengthened to match the already accepted right mirror gems. */
.highlight-theme-set[data-highlight-theme="daughter"] .highlight-mirror-gem[data-highlight-object="mirror-prev"].is-active{
  animation:daughterMirrorPrevGlowV51 3.45s ease-in-out infinite;
}
.highlight-theme-set[data-highlight-theme="princess"] .highlight-mirror-gem[data-highlight-object="mirror-prev"].is-active{
  animation:princessMirrorPrevGlowV51 3.65s ease-in-out infinite;
}
.highlight-theme-set[data-highlight-theme="witch"] .highlight-mirror-gem[data-highlight-object="mirror-prev"].is-active{
  animation:witchMirrorPrevGlowV51 3.25s ease-in-out infinite;
}
.highlight-site-menu{
  mix-blend-mode:screen;
}
.highlight-site-menu.is-active{
  animation:mainSiteGlowV51 3.7s ease-in-out infinite;
}

@keyframes daughterMirrorPrevGlowV51{
  0%,100%{opacity:.94;filter:brightness(1.04) drop-shadow(0 0 .16cqw rgba(255,255,255,.72)) drop-shadow(0 0 .68cqw rgba(255,239,204,.42))}
  48%{opacity:1;filter:brightness(1.12) drop-shadow(0 0 .22cqw rgba(255,255,255,.90)) drop-shadow(0 0 .78cqw rgba(255,239,204,.58))}
  74%{opacity:.97;filter:brightness(1.075) drop-shadow(0 0 .18cqw rgba(255,255,255,.80)) drop-shadow(0 0 .72cqw rgba(255,239,204,.49))}
}
@keyframes princessMirrorPrevGlowV51{
  0%,100%{opacity:.94;filter:brightness(1.04) saturate(1.03) drop-shadow(0 0 .16cqw rgba(255,225,239,.70)) drop-shadow(0 0 .68cqw rgba(255,87,166,.42))}
  48%{opacity:1;filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 .22cqw rgba(255,235,246,.88)) drop-shadow(0 0 .80cqw rgba(255,87,166,.58))}
  74%{opacity:.97;filter:brightness(1.075) saturate(1.05) drop-shadow(0 0 .18cqw rgba(255,230,242,.78)) drop-shadow(0 0 .72cqw rgba(255,87,166,.49))}
}
@keyframes witchMirrorPrevGlowV51{
  0%,100%{opacity:.95;filter:brightness(1.10) saturate(1.08) drop-shadow(0 0 .18cqw rgba(233,169,255,.70)) drop-shadow(0 0 .72cqw rgba(145,55,255,.48))}
  42%{opacity:1;filter:brightness(1.22) saturate(1.16) drop-shadow(0 0 .24cqw rgba(246,195,255,.92)) drop-shadow(0 0 .86cqw rgba(145,55,255,.66))}
  73%{opacity:.98;filter:brightness(1.15) saturate(1.12) drop-shadow(0 0 .20cqw rgba(239,180,255,.82)) drop-shadow(0 0 .78cqw rgba(145,55,255,.56))}
}
@keyframes mainSiteGlowV51{
  0%,100%{opacity:.95;filter:brightness(1.20) contrast(1.035) drop-shadow(0 0 .13cqw rgba(255,241,205,.60)) drop-shadow(0 0 .46cqw rgba(218,158,72,.32))}
  50%{opacity:1;filter:brightness(1.36) contrast(1.06) drop-shadow(0 0 .16cqw rgba(255,247,220,.76)) drop-shadow(0 0 .55cqw rgba(218,158,72,.44))}
}


/* V57 Daughter Dossier artifact prototype. The generated folio is the interface;
   live HTML occupies the two blank parchment pages and the six physical side tabs. */
body.dossier-checkpoint .mirror-media{display:none!important}
body.dossier-checkpoint .hotspot-layer{z-index:30}
body.dossier-checkpoint .music-player{z-index:32}
body.dossier-checkpoint .hotspot:focus-visible{outline:0}
body.artifact-open .hotspot-layer{pointer-events:none}

.dossier-artifact{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:visibility 0s linear 1.05s,opacity .72s ease;
}
.dossier-artifact[hidden]{display:none!important}
.dossier-artifact.is-mounted{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
.dossier-artifact-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:radial-gradient(ellipse at 50% 48%,rgba(250,241,218,.10),rgba(29,20,14,.50) 48%,rgba(8,6,5,.72) 100%);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(0) brightness(1);
  transition:opacity .9s ease,backdrop-filter 1.05s ease;
}
.dossier-artifact.is-open .dossier-artifact-backdrop{
  opacity:1;
  backdrop-filter:blur(5px) brightness(.66) saturate(.90);
}
.dossier-opening-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .8s ease}
.dossier-artifact.is-open .dossier-opening-atmosphere{opacity:1}
.dossier-mist{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(255,253,244,.32),rgba(248,231,196,.13) 42%,transparent 72%);
  filter:blur(30px);
  opacity:0;
  transform:scale(.72);
  animation:dossierMistForm 3.8s ease-out forwards;
}
.dossier-mist.mist-one{width:44vw;height:28vw;left:8vw;top:16vh;animation-delay:.08s}
.dossier-mist.mist-two{width:42vw;height:31vw;right:4vw;bottom:4vh;animation-delay:.22s}
.dossier-mist.mist-three{width:34vw;height:22vw;left:36vw;bottom:2vh;animation-delay:.38s}
@keyframes dossierMistForm{0%{opacity:0;transform:scale(.72)}38%{opacity:.48}100%{opacity:.12;transform:scale(1.18)}}
.dossier-spark{
  position:absolute;
  width:13px;
  height:13px;
  opacity:0;
  filter:drop-shadow(0 0 9px rgba(255,255,255,.88)) drop-shadow(0 0 22px rgba(243,214,151,.60));
  animation:dossierSparkAppear 4.8s ease-in-out infinite;
}
.dossier-spark::before,.dossier-spark::after{content:"";position:absolute;left:50%;top:50%;background:#fffdf3;transform:translate(-50%,-50%);border-radius:999px}
.dossier-spark::before{width:2px;height:100%}.dossier-spark::after{width:100%;height:2px}
.dossier-spark.spark-one{left:14%;top:25%;animation-delay:.55s}.dossier-spark.spark-two{right:16%;top:19%;animation-delay:1.7s}.dossier-spark.spark-three{left:21%;bottom:17%;animation-delay:2.9s}.dossier-spark.spark-four{right:24%;bottom:13%;animation-delay:3.8s}
@keyframes dossierSparkAppear{0%,72%,100%{opacity:0;transform:scale(.35) rotate(0)}78%{opacity:.92;transform:scale(1.15) rotate(18deg)}86%{opacity:.28;transform:scale(.72) rotate(30deg)}}

.dossier-artifact-shell{
  --launch-x:0px;
  --launch-y:0px;
  --launch-scale:.18;
  position:relative;
  z-index:2;
  width:min(95vw,calc(92dvh * 1.5),1800px);
  aspect-ratio:3/2;
  container-type:inline-size;
  isolation:isolate;
  opacity:0;
  transform:translate3d(var(--launch-x),var(--launch-y),0) scale(var(--launch-scale)) rotate(-4deg);
  transform-origin:center;
  filter:blur(2.4px) brightness(.76) saturate(.78);
  transition:transform 1.05s cubic-bezier(.18,.78,.18,1),opacity .72s ease,filter 1.05s ease;
  will-change:transform,opacity,filter;
}
.dossier-artifact.is-open .dossier-artifact-shell{
  opacity:1;
  transform:translate3d(0,0,0) scale(1) rotate(0);
  filter:none;
}
.dossier-artifact.is-closing .dossier-artifact-shell{
  transition-timing-function:cubic-bezier(.42,0,.70,.18),ease,ease;
}
.dossier-artwork{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 2.3cqw 2.2cqw rgba(0,0,0,.58));
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 2.1%,#000 97.9%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 2.1%,#000 97.9%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 2.1%,#000 97.9%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 2.1%,#000 97.9%,transparent 100%);
  mask-composite:intersect;
}
.dossier-page{
  position:absolute;
  z-index:4;
  top:21.5%;
  height:57.6%;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(91,65,34,.38) transparent;
  padding:.65cqw .85cqw 1.25cqw;
  color:#47331f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(11px,.91cqw,16.5px);
  line-height:1.47;
  text-shadow:0 1px rgba(255,255,255,.42);
  opacity:1;
  transition:opacity .16s ease,transform .18s ease;
  outline:0;
}
.dossier-page::-webkit-scrollbar{width:7px}.dossier-page::-webkit-scrollbar-thumb{background:rgba(91,65,34,.34);border-radius:99px}.dossier-page::-webkit-scrollbar-track{background:transparent}
.dossier-page-left{left:17.05%;width:29.65%}
.dossier-page-right{left:53.15%;width:29.95%}
.dossier-page.is-changing{opacity:0;transform:translateY(.35cqw)}
.dossier-page h3{margin:0 0 .22em;color:#264a37;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.72cqw,31px);font-weight:600;line-height:1.05;letter-spacing:.01em;text-align:center}
.dossier-page h4{margin:1em 0 .36em;color:#355841;font-size:1.05em;line-height:1.15}
.dossier-page p{margin:.55em 0}
.dossier-page ul{margin:.55em 0 .75em;padding-left:1.2em}.dossier-page li{margin:.33em 0}
.dossier-page strong{color:#294735}
.dossier-page .dossier-kicker{margin:0 0 .48em;color:#9b773c;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.72em;font-weight:900;letter-spacing:.19em;text-align:center;text-transform:uppercase}
.dossier-page .dossier-subtitle{margin:0 0 .85em;color:#786148;font-size:.88em;font-style:italic;text-align:center}
.dossier-page .dossier-rule{width:42%;height:1px;margin:.6em auto .95em;background:linear-gradient(90deg,transparent,#b48b4e,transparent)}
.dossier-page .dossier-lede{font-size:1.03em;line-height:1.5}
.dossier-page .dossier-quote{margin:1em .2em;padding:.75em .95em;border-top:1px solid rgba(157,119,58,.45);border-bottom:1px solid rgba(157,119,58,.45);color:#36543f;font-style:italic;text-align:center}
.dossier-page .dossier-note{padding:.72em .82em;border:1px solid rgba(117,86,43,.28);background:rgba(255,248,229,.28);border-radius:.35em}
.dossier-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48em;margin:.7em 0 1em}
.dossier-ledger>div{padding:.56em .58em;border:1px solid rgba(123,91,50,.25);background:rgba(255,250,236,.25);border-radius:.28em}
.dossier-ledger small{display:block;margin-bottom:.2em;color:#8b6a3c;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.66em;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.dossier-ledger strong{display:block;font-size:.95em;line-height:1.18}
.dossier-chip-row{display:flex;flex-wrap:wrap;gap:.35em;justify-content:center;margin:.8em 0}
.dossier-chip{display:inline-block;padding:.3em .55em;border:1px solid rgba(79,104,76,.35);border-radius:999px;background:rgba(53,92,65,.08);color:#355d44;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.72em;font-weight:800;letter-spacing:.035em}
.dossier-timeline{display:grid;gap:.48em;margin:.75em 0}.dossier-timeline div{display:grid;grid-template-columns:auto 1fr;gap:.55em;align-items:start}.dossier-timeline b{display:grid;place-items:center;width:1.65em;height:1.65em;border:1px solid rgba(157,119,58,.46);border-radius:50%;color:#8e6b38;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:.75em}.dossier-timeline span{padding-top:.14em}

.dossier-artifact-tabs{position:absolute;inset:0;z-index:6;pointer-events:none}
.dossier-artifact-tabs button{
  position:absolute;
  left:10.75%;
  width:6.15%;
  height:6.35%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:.15cqw .2cqw .12cqw .35cqw;
  background:transparent;
  color:#5a4028;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(8px,.61cqw,11px);
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  text-shadow:0 1px rgba(255,255,255,.76);
  cursor:pointer;
  pointer-events:auto;
  transition:color .16s ease,filter .16s ease,transform .16s ease;
}
.dossier-artifact-tabs button:nth-child(1){top:27.0%}.dossier-artifact-tabs button:nth-child(2){top:34.55%}.dossier-artifact-tabs button:nth-child(3){top:42.1%}.dossier-artifact-tabs button:nth-child(4){top:49.7%}.dossier-artifact-tabs button:nth-child(5){top:57.25%}.dossier-artifact-tabs button:nth-child(6){top:64.8%}
.dossier-artifact-tabs button:hover,.dossier-artifact-tabs button:focus-visible{color:#214632;filter:brightness(1.13) drop-shadow(0 0 .36cqw rgba(255,245,205,.88));outline:0;transform:translateX(.14cqw)}
.dossier-artifact-tabs button[aria-current="true"]{color:#173c2b;filter:brightness(1.17) drop-shadow(0 0 .24cqw rgba(255,255,238,.98)) drop-shadow(0 0 .7cqw rgba(233,202,132,.72));transform:translateX(.18cqw)}
.dossier-artifact-tabs button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.dossier-artifact-close{
  position:absolute;
  z-index:8;
  right:4.25%;
  top:5.3%;
  display:grid;
  place-items:center;
  width:4.2%;
  aspect-ratio:1;
  border:1px solid rgba(233,203,132,.78);
  border-radius:50%;
  background:radial-gradient(circle at 37% 32%,#2f6548,#153b2b 56%,#092217 100%);
  color:#f6e3ad;
  box-shadow:inset 0 0 0 .18cqw rgba(6,25,17,.62),0 0 .65cqw rgba(245,224,166,.34),0 .35cqw .8cqw rgba(0,0,0,.34);
  font-family:Georgia,serif;
  font-size:clamp(18px,1.7cqw,31px);
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.dossier-artifact-close:hover,.dossier-artifact-close:focus-visible{transform:scale(1.06);filter:brightness(1.13);outline:0;box-shadow:inset 0 0 0 .18cqw rgba(6,25,17,.62),0 0 .9cqw rgba(255,239,192,.62),0 .35cqw .8cqw rgba(0,0,0,.34)}

@media(max-width:920px), (max-height:680px){
  .dossier-page{font-size:clamp(10px,1.02cqw,13px);line-height:1.39;padding:.45cqw .64cqw .8cqw}
  .dossier-page h3{font-size:clamp(15px,1.75cqw,23px)}
  .dossier-ledger{gap:.3em}.dossier-ledger>div{padding:.42em .44em}
  .dossier-artifact-tabs button{font-size:clamp(7px,.65cqw,9px)}
}
@media(prefers-reduced-motion:reduce){
  .dossier-artifact,.dossier-artifact-backdrop,.dossier-artifact-shell,.dossier-page{transition:none!important}
  .dossier-mist,.dossier-spark{animation:none!important}
  .dossier-artifact.is-open .dossier-opening-atmosphere{opacity:.22}
}


/* V57 Daughter Dossier refinement: natural parchment writing, crest-safe placement,
   clean physical tabs, and no web-form cards or dividers. */
.dossier-page{top:28.8%;height:49.0%;padding:.35cqw .9cqw 1.05cqw;color:#4b3420;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(11px,.91cqw,16px);line-height:1.46;text-shadow:0 1px rgba(255,255,255,.34)}
.dossier-page-left{left:17.35%;width:29.15%}.dossier-page-right{left:53.25%;width:29.15%}
.dossier-page h3{margin:0 0 .2em;color:#284c38;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(17px,1.55cqw,28px);font-weight:600;line-height:1.05;letter-spacing:.012em;text-align:center}.dossier-page-right h3{font-size:clamp(18px,1.62cqw,29px)}
.dossier-page .dossier-kicker{margin:0 0 .30em;color:#9a773f;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.64em;font-weight:700;letter-spacing:.16em;text-align:center;text-transform:uppercase}
.dossier-page .dossier-subtitle{margin:0 0 .92em;color:#735d43;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.86em;font-style:italic;text-align:center}.dossier-page .dossier-rule{display:none}.dossier-page p{margin:.58em 0}.dossier-page .dossier-lede{font-size:1.025em;line-height:1.5}.dossier-page .dossier-lede::first-letter{float:left;margin:.04em .08em -.06em 0;color:#8c6837;font-size:2.2em;line-height:.82}
.dossier-ledger{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.2em;row-gap:.9em;margin:.65em .2em 1.05em}.dossier-ledger>div{min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.dossier-ledger small{display:block;margin:0 0 .08em;color:#956f38;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.64em;font-weight:700;letter-spacing:.105em;text-transform:uppercase}.dossier-ledger strong{display:block;color:#304c39;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.98em;font-style:italic;font-weight:600;line-height:1.2}
.dossier-page .dossier-note{margin:.88em .25em;padding:0;border:0;border-radius:0;background:none;color:#5c4730;font-style:italic;line-height:1.46;text-align:center}.dossier-page .dossier-quote{margin:1.05em .2em .3em;padding:0;border:0;color:#35543f;font-family:"Segoe Script","Lucida Handwriting","Brush Script MT",cursive;font-size:1.02em;font-style:normal;line-height:1.38;text-align:center}
.dossier-chip-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.38em;margin:.86em 0}.dossier-chip{display:inline;padding:0;border:0;border-radius:0;background:none;color:#3c6048;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.77em;font-style:italic;font-weight:600;letter-spacing:.025em}.dossier-chip+.dossier-chip::before{content:"◆";margin-right:.38em;color:#b18b4f;font-size:.58em;vertical-align:.12em}
.dossier-timeline{display:grid;gap:.76em;margin:.78em .18em 1em}.dossier-timeline div{display:grid;grid-template-columns:1.25em minmax(0,1fr);gap:.55em;align-items:start}.dossier-timeline b{display:block;width:auto;height:auto;border:0;border-radius:0;color:#a0793d;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:.82em;font-style:italic;font-weight:600;line-height:1.4;text-align:center}.dossier-timeline b::after{content:"."}.dossier-timeline span{padding:0;line-height:1.35}
.dossier-artifact-tabs button{left:10.78%;width:5.35%;justify-content:flex-end;padding:.1cqw .42cqw .08cqw 2.12cqw;color:#5b4128;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;font-size:clamp(7px,.56cqw,10px);font-style:italic;font-weight:700;text-align:right}.dossier-artifact-tabs button span{overflow:visible;text-overflow:clip}.dossier-artifact-tabs button:hover,.dossier-artifact-tabs button:focus-visible{transform:translateX(.08cqw)}.dossier-artifact-tabs button[aria-current="true"]{transform:translateX(.11cqw)}
@media(max-width:920px),(max-height:680px){.dossier-page{top:28.65%;height:49.15%;font-size:clamp(9.5px,.96cqw,12.5px);line-height:1.39;padding:.25cqw .62cqw .75cqw}.dossier-page h3{font-size:clamp(14px,1.62cqw,22px)}.dossier-ledger{column-gap:.75em;row-gap:.5em}.dossier-artifact-tabs button{font-size:clamp(6.5px,.59cqw,8.5px)}}


/* V58 Daughter Dossier finalization.
   The six HTML buttons are centered on the six physical pearl tab medallions,
   and Nature/History read as unnumbered parchment subrecords. */
.dossier-artifact-tabs button{
  padding:0 .42cqw 0 2.12cqw;
  line-height:1.08;
}
.dossier-artifact-tabs button:nth-child(1){top:27.10%}
.dossier-artifact-tabs button:nth-child(2){top:34.81%}
.dossier-artifact-tabs button:nth-child(3){top:43.21%}
.dossier-artifact-tabs button:nth-child(4){top:51.22%}
.dossier-artifact-tabs button:nth-child(5){top:59.91%}
.dossier-artifact-tabs button:nth-child(6){top:67.92%}
.dossier-timeline{
  display:grid;
  gap:.84em;
  margin:.78em .18em 1em;
}
.dossier-timeline div{display:block}
.dossier-timeline b{display:none}
.dossier-timeline span{
  display:block;
  padding:0;
  color:#5a422c;
  line-height:1.37;
}
.dossier-timeline strong{
  display:block;
  margin:0 0 .08em;
  color:#304c39;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:1em;
  font-style:normal;
  font-weight:650;
  letter-spacing:.01em;
  line-height:1.18;
}


/* V63 Daughter Court portrait gallery.
   The approved Court frame and room-level combined highlight remain unchanged.
   Clean portrait-only derivatives fill the four apertures, live HTML supplies only
   each woman’s name, and clicking a portrait opens the dedicated full-screen Court gallery.
   The selected record remains semantic only; visible illumination is pointer/focus driven. */
body.court-checkpoint .hotspot-layer{z-index:30}
body.court-checkpoint .music-player{z-index:32}

.court-artifact{
  position:fixed;
  inset:0;
  z-index:10030;
  display:grid;
  place-items:center;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:visibility 0s linear 1.05s,opacity .72s ease;
}
.court-artifact[hidden]{display:none!important}
.court-artifact.is-mounted{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
.court-artifact-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:radial-gradient(ellipse at 50% 49%,rgba(255,251,238,.11),rgba(25,20,13,.46) 48%,rgba(6,6,5,.75) 100%);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(0) brightness(1);
  transition:opacity .9s ease,backdrop-filter 1.05s ease;
}
.court-artifact.is-open .court-artifact-backdrop{
  opacity:1;
  backdrop-filter:blur(5px) brightness(.64) saturate(.88);
}
.court-opening-atmosphere{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity .8s ease;
}
.court-artifact.is-open .court-opening-atmosphere{opacity:1}

.court-artifact-shell{
  --launch-x:0px;
  --launch-y:0px;
  --launch-scale:.16;
  position:relative;
  z-index:2;
  width:min(98vw,calc(94dvh * 1.5),2100px);
  aspect-ratio:3/2;
  container-type:inline-size;
  isolation:isolate;
  opacity:0;
  transform:translate3d(var(--launch-x),var(--launch-y),0) scale(var(--launch-scale)) rotate(-2.5deg);
  transform-origin:center;
  filter:blur(2.2px) brightness(.76) saturate(.78);
  transition:transform 1.05s cubic-bezier(.18,.78,.18,1),opacity .72s ease,filter 1.05s ease;
  will-change:transform,opacity,filter;
}
.court-artifact.is-open .court-artifact-shell{
  opacity:1;
  transform:translate3d(0,0,0) scale(1) rotate(0);
  filter:none;
}
.court-artifact.is-closing .court-artifact-shell{
  transition-timing-function:cubic-bezier(.42,0,.70,.18),ease,ease;
}
.court-artwork{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 2.2cqw 2.15cqw rgba(0,0,0,.60));
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.2%,#000 98.8%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.2%,#000 98.8%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 1.2%,#000 98.8%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.2%,#000 98.8%,transparent 100%);
  mask-composite:intersect;
}
.court-portrait-grid{position:absolute;inset:0;z-index:2}
.court-portrait{
  position:absolute;
  overflow:hidden;
  border:0;
  border-radius:1.25cqw 1.25cqw .35cqw .35cqw;
  padding:0;
  background:#241a14;
  box-shadow:inset 0 0 1.25cqw rgba(0,0,0,.72);
  cursor:zoom-in;
  isolation:isolate;
  outline:0;
}
.court-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(ellipse at 50% 42%,rgba(255,255,246,.20),rgba(247,225,170,.08) 48%,transparent 74%);
  box-shadow:inset 0 0 0 .12cqw rgba(255,251,234,.72),inset 0 0 1.1cqw rgba(248,226,171,.38),0 0 1.1cqw rgba(255,245,215,.46);
  transition:opacity .16s ease;
}
.court-portrait:hover::after,.court-portrait:focus-visible::after{opacity:1;animation:none}
.court-portrait:focus-visible{outline:0}
.court-portrait-backfill,.court-portrait-poster{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
  user-select:none;
}
.court-portrait-backfill{
  z-index:0;
  filter:blur(.62cqw) brightness(.55) saturate(.88);
  transform:scale(1.035);
  opacity:.72;
  transition:filter .18s ease,opacity .18s ease;
}
.court-portrait-poster{
  z-index:1;
  filter:brightness(.99) contrast(1.012);
  transform:scale(1);
  transform-origin:center;
  transition:filter .18s ease,transform .18s ease;
}
.court-portrait:hover .court-portrait-backfill,.court-portrait:focus-visible .court-portrait-backfill{filter:blur(.48cqw) brightness(.70) saturate(.98);opacity:.88}
.court-portrait:hover .court-portrait-poster,.court-portrait:focus-visible .court-portrait-poster{filter:brightness(1.06) contrast(1.025) saturate(1.015);transform:scale(1.006)}

.court-portrait-name{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-height:20%;
  padding:7.5% 5% 4.5%;
  box-sizing:border-box;
  color:#fff9e9;
  text-align:center;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 0,rgba(13,12,9,.08) 22%,rgba(11,10,8,.64) 68%,rgba(7,7,6,.86) 100%);
  text-shadow:0 .08em .16em rgba(0,0,0,.95),0 0 .45em rgba(241,214,151,.36);
  transition:filter .16s ease,text-shadow .16s ease,transform .16s ease;
}
.court-portrait-name strong{
  display:block;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(14px,1.52cqw,29px);
  font-weight:600;
  line-height:.98;
  letter-spacing:.035em;
}
.court-portrait-name small{
  display:block;
  margin-top:.24em;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(8px,.72cqw,14px);
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.court-portrait:hover .court-portrait-name,.court-portrait:focus-visible .court-portrait-name{
  filter:brightness(1.14);
  text-shadow:0 .08em .16em rgba(0,0,0,.95),0 0 .72em rgba(255,236,190,.72);
  transform:translateY(-.08cqw);
}

/* Exact transparent aperture registration from the approved 1536 x 1024 Court artwork. */
.court-portrait-vanessa{left:7.8125%;top:28.90625%;width:16.015625%;height:45.5078125%}
.court-portrait-jessie{left:30.7291667%;top:29.0039063%;width:15.2994792%;height:45.4101563%}
.court-portrait-aisha{left:53.0598958%;top:29.0039063%;width:16.5364583%;height:45.4101563%}
.court-portrait-holly{left:76.4322917%;top:29.0039063%;width:16.015625%;height:45.4101563%}

.court-artifact-close{
  position:absolute;
  z-index:8;
  right:2.2%;
  top:4.0%;
  display:grid;
  place-items:center;
  width:3.7%;
  aspect-ratio:1;
  border:1px solid rgba(233,203,132,.82);
  border-radius:50%;
  background:radial-gradient(circle at 37% 32%,#356b4d,#153b2b 56%,#082116 100%);
  color:#f7e6b6;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 .72cqw rgba(245,224,166,.38),0 .35cqw .8cqw rgba(0,0,0,.36);
  font-family:Georgia,serif;
  font-size:clamp(18px,1.55cqw,31px);
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.court-artifact-close:hover,.court-artifact-close:focus-visible{
  transform:scale(1.06);
  filter:brightness(1.14);
  outline:0;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 1cqw rgba(255,239,192,.68),0 .35cqw .8cqw rgba(0,0,0,.36);
}

.court-portrait-dialog{
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  border:0;
  padding:0;
  overflow:hidden;
  background:transparent;
  color:#fff;
}
.court-portrait-dialog::backdrop{background:rgba(5,4,3,.88);backdrop-filter:blur(8px) brightness(.58)}
.court-portrait-viewer{
  position:relative;
  width:100%;
  height:100%;
  margin:0;
  display:grid;
  place-items:center;
  padding:3.5dvh 7vw;
  box-sizing:border-box;
}
.court-portrait-viewer>img{
  display:block;
  max-width:min(88vw,1020px);
  max-height:88dvh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:.8rem;
  filter:drop-shadow(0 1.8rem 2.2rem rgba(0,0,0,.72));
}
.court-portrait-viewer-title{
  position:absolute;
  z-index:2;
  top:2.4dvh;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  padding:.34em 1.4em .42em;
  border-bottom:1px solid rgba(238,205,135,.62);
  color:#fff3d2;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(22px,2.25vw,42px);
  font-weight:500;
  letter-spacing:.045em;
  line-height:1;
  text-align:center;
  text-shadow:0 .08em .2em rgba(0,0,0,.95),0 0 .8em rgba(240,207,135,.34);
  white-space:nowrap;
}
.court-portrait-viewer-close,.court-portrait-viewer-arrow{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:1px solid rgba(238,205,135,.76);
  background:radial-gradient(circle at 38% 32%,rgba(54,109,78,.98),rgba(17,55,38,.98) 60%,rgba(5,24,15,.98));
  color:#f8e7b7;
  box-shadow:0 0 1.2rem rgba(236,205,143,.25),0 .5rem 1rem rgba(0,0,0,.45);
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease;
}
.court-portrait-viewer-close:hover,.court-portrait-viewer-close:focus-visible,.court-portrait-viewer-arrow:hover,.court-portrait-viewer-arrow:focus-visible{transform:scale(1.07);filter:brightness(1.15);outline:0}
.court-portrait-viewer-close{right:2.4vw;top:2.8dvh;width:52px;height:52px;border-radius:50%;font:32px/1 Georgia,serif}
.court-portrait-viewer-arrow{top:50%;width:54px;height:76px;border-radius:999px;font:46px/1 Georgia,serif;transform:translateY(-50%)}
.court-portrait-viewer-arrow:hover,.court-portrait-viewer-arrow:focus-visible{transform:translateY(-50%) scale(1.07)}
.court-portrait-viewer-prev{left:2.2vw}.court-portrait-viewer-next{right:2.2vw}

@media(max-width:920px),(max-height:680px){
  .court-artifact-shell{width:min(99vw,calc(96dvh * 1.5))}
  .court-artifact-close{right:1.7%;top:3.4%;width:4.2%}
  .court-portrait-viewer{padding:2.5dvh 10vw}
  .court-portrait-viewer-close{width:44px;height:44px;font-size:27px}
  .court-portrait-viewer-arrow{width:44px;height:66px;font-size:38px}
}
@media(prefers-reduced-motion:reduce){
  .court-artifact,.court-artifact-backdrop,.court-artifact-shell,.court-opening-atmosphere,.court-portrait-poster,.court-portrait-backfill,.court-portrait-name,.court-portrait::after{transition:none!important}
  .court-artifact.is-open .court-opening-atmosphere{opacity:.2}
}

/* V63 Daughter Witching Hour interaction refinement. The enlarged closed tome is the navigation;
   the baked star labels select live text on the adjoining parchment. */
.witching-artifact{
  position:fixed;
  inset:0;
  z-index:10024;
  display:grid;
  place-items:center;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:visibility 0s linear 1.05s,opacity .72s ease;
}
.witching-artifact[hidden]{display:none!important}
.witching-artifact.is-mounted{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
.witching-artifact-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:radial-gradient(ellipse at 49% 48%,rgba(255,248,222,.11),rgba(24,20,13,.50) 48%,rgba(5,7,5,.78) 100%);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(0) brightness(1);
  transition:opacity .9s ease,backdrop-filter 1.05s ease;
}
.witching-artifact.is-open .witching-artifact-backdrop{
  opacity:1;
  backdrop-filter:blur(5px) brightness(.62) saturate(.86);
}
.witching-opening-atmosphere{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity .8s ease;
}
.witching-artifact.is-open .witching-opening-atmosphere{opacity:1}

.witching-artifact-shell{
  --launch-x:0px;
  --launch-y:0px;
  --launch-scale:.16;
  position:relative;
  z-index:2;
  width:min(97vw,calc(92dvh * 1.5),1840px);
  aspect-ratio:3/2;
  container-type:inline-size;
  isolation:isolate;
  opacity:0;
  transform:translate3d(var(--launch-x),var(--launch-y),0) scale(var(--launch-scale)) rotate(2.2deg);
  transform-origin:center;
  filter:blur(2.1px) brightness(.72) saturate(.76);
  transition:transform 1.05s cubic-bezier(.18,.78,.18,1),opacity .72s ease,filter 1.05s ease;
  will-change:transform,opacity,filter;
}
.witching-artifact.is-open .witching-artifact-shell{
  opacity:1;
  transform:translate3d(0,0,0) scale(1) rotate(0);
  filter:none;
}
.witching-artifact.is-closing .witching-artifact-shell{
  transition-timing-function:cubic-bezier(.42,0,.70,.18),ease,ease;
}
.witching-artwork{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 2.2cqw 2.15cqw rgba(0,0,0,.62));
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 1.2%,#000 98.8%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.2%,#000 98.8%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 1.2%,#000 98.8%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1.2%,#000 98.8%,transparent 100%);
  mask-composite:intersect;
}

.witching-node-glows{position:absolute;inset:0;z-index:3;pointer-events:none}
.witching-node-glows img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  mix-blend-mode:screen;
  filter:brightness(1.02) saturate(1.02);
  transition:opacity .055s ease-out,filter .14s ease;
  will-change:opacity,filter;
}
.witching-node-glows img.is-hovered{opacity:.86;filter:brightness(1.08) saturate(1.05)}
.witching-node-glows img.is-active{
  opacity:.98;
  filter:brightness(1.12) saturate(1.08) drop-shadow(0 0 .26cqw rgba(255,239,187,.36));
  animation:witchingNodeBreath 3.7s ease-in-out infinite;
}
.witching-node-glows img.is-active.is-hovered{opacity:1;filter:brightness(1.19) saturate(1.10) drop-shadow(0 0 .34cqw rgba(255,242,196,.52))}
.witching-node-glows img[data-witching-glow="inheritance"].is-active:not(.is-hovered){opacity:0;animation:none;filter:brightness(1.02) saturate(1.02)}
@keyframes witchingNodeBreath{
  0%,100%{opacity:.84;filter:brightness(1.05) saturate(1.04) drop-shadow(0 0 .20cqw rgba(255,236,178,.26))}
  48%{opacity:1;filter:brightness(1.17) saturate(1.10) drop-shadow(0 0 .34cqw rgba(255,243,202,.50))}
  72%{opacity:.93;filter:brightness(1.10) saturate(1.07) drop-shadow(0 0 .26cqw rgba(255,238,187,.36))}
}

.witching-power-map{position:absolute;inset:0;z-index:7;pointer-events:none}
.witching-power-node{
  position:absolute;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  outline:0;
  -webkit-tap-highlight-color:transparent;
}
.witching-power-node:focus-visible{outline:1px solid rgba(255,243,203,.58);outline-offset:.14cqw;border-radius:1cqw}
.witching-power-node.node-inheritance{
  left:22.14%;top:30.76%;width:16.28%;height:35.35%;
  clip-path:polygon(2% 4%,98% 4%,100% 23%,91% 46%,89% 76%,83% 100%,18% 100%,10% 76%,6% 53%,0 23%);
}
.witching-power-node.node-immunity{left:25.52%;top:12.50%;width:9.77%;height:15.63%;border-radius:1.4cqw}
.witching-power-node.node-allure{left:14.97%;top:27.15%;width:10.42%;height:16.60%;border-radius:1.4cqw}
.witching-power-node.node-prowess{left:35.55%;top:27.15%;width:10.35%;height:16.60%;border-radius:1.4cqw}
.witching-power-node.node-bond{left:15.89%;top:54.30%;width:10.81%;height:17.48%;border-radius:1.4cqw}
.witching-power-node.node-witchcraft{left:34.24%;top:54.30%;width:11.33%;height:17.48%;border-radius:1.4cqw}

.witching-parchment{
  position:absolute;
  z-index:5;
  left:54.55%;
  top:25.15%;
  width:33.15%;
  height:52.25%;
  box-sizing:border-box;
  overflow:auto;
  overscroll-behavior:contain;
  padding:.55cqw 1.15cqw 1cqw;
  color:#4a351f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(11px,.94cqw,17px);
  line-height:1.52;
  text-shadow:0 1px rgba(255,255,255,.44);
  scrollbar-width:thin;
  scrollbar-color:rgba(112,81,36,.32) transparent;
  opacity:1;
  transform:translateY(0);
  transition:opacity .145s ease,transform .145s ease;
  outline:0;
}
.witching-parchment::-webkit-scrollbar{width:7px}.witching-parchment::-webkit-scrollbar-thumb{background:rgba(112,81,36,.30);border-radius:99px}.witching-parchment::-webkit-scrollbar-track{background:transparent}
.witching-parchment.is-changing{opacity:0;transform:translateY(.28cqw)}
.witching-parchment h3{
  margin:0 0 .16em;
  color:#244c36;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(22px,2.15cqw,40px);
  font-weight:600;
  line-height:1.02;
  letter-spacing:.01em;
  text-align:center;
}
.witching-parchment p{margin:.65em 0}
.witching-parchment .witching-kicker{
  margin:0 0 .38em;
  color:#9b7638;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-size:.70em;
  font-weight:900;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
}
.witching-parchment .witching-subtitle{margin:0;color:#765e42;font-size:.91em;font-style:italic;text-align:center}
.witching-parchment .witching-rule{width:46%;height:1px;margin:.72em auto 1em;background:linear-gradient(90deg,transparent,#b88d4c,transparent)}
.witching-parchment .witching-lede{font-size:1.04em;line-height:1.54}
.witching-parchment .witching-lede::first-letter{
  float:left;
  margin:.01em .08em 0 0;
  color:#8c6730;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:3em;
  line-height:.78;
}
.witching-parchment .witching-inscription{
  margin:1.1em .25em 0;
  padding:.78em .85em;
  border-top:1px solid rgba(157,119,58,.42);
  border-bottom:1px solid rgba(157,119,58,.42);
  color:#365640;
  font-style:italic;
  text-align:center;
}

.witching-artifact-close{
  position:absolute;
  z-index:9;
  right:2.05%;
  top:3.55%;
  display:grid;
  place-items:center;
  width:3.7%;
  aspect-ratio:1;
  border:1px solid rgba(233,203,132,.84);
  border-radius:50%;
  background:radial-gradient(circle at 37% 32%,#3a7754,#16422f 56%,#082318 100%);
  color:#f7e6b6;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 .82cqw rgba(245,224,166,.42),0 .35cqw .8cqw rgba(0,0,0,.38);
  font-family:Georgia,serif;
  font-size:clamp(18px,1.55cqw,31px);
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.witching-artifact-close:hover,.witching-artifact-close:focus-visible{
  transform:scale(1.06);
  filter:brightness(1.14);
  outline:0;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 1cqw rgba(255,239,192,.70),0 .35cqw .8cqw rgba(0,0,0,.38);
}

@media(max-width:920px),(max-height:680px){
  .witching-artifact-shell{width:min(99vw,calc(96dvh * 1.5))}
  .witching-parchment{left:54.25%;top:24.8%;width:33.55%;height:53%;font-size:clamp(9.5px,.90cqw,12.5px);line-height:1.43;padding:.35cqw .9cqw .8cqw}
  .witching-parchment h3{font-size:clamp(18px,2cqw,29px)}
  .witching-artifact-close{right:1.55%;top:3.0%;width:4.2%}
}
@media(prefers-reduced-motion:reduce){
  .witching-artifact,.witching-artifact-backdrop,.witching-artifact-shell,.witching-opening-atmosphere,.witching-node-glows img,.witching-parchment{transition:none!important}
  .witching-node-glows img.is-active{animation:none!important;opacity:1}
  .witching-artifact.is-open .witching-opening-atmosphere{opacity:.2}
}

/* V65 Secret Archive correction. The generated open box remains the navigation.
   The correspondence uses a stable two-dimensional affine registration matching
   the actual paper plane, and each keepsake receives the same texture-preserving
   soft illumination language used by the approved room objects. */
.archive-artifact{
  position:fixed;
  inset:0;
  z-index:10026;
  display:grid;
  place-items:center;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:visibility 0s linear 1.05s,opacity .72s ease;
}
.archive-artifact[hidden]{display:none!important}
.archive-artifact.is-mounted{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
.archive-artifact-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:radial-gradient(ellipse at 48% 48%,rgba(255,244,215,.11),rgba(37,24,15,.52) 48%,rgba(7,5,4,.80) 100%);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(0) brightness(1);
  transition:opacity .9s ease,backdrop-filter 1.05s ease;
}
.archive-artifact.is-open .archive-artifact-backdrop{
  opacity:1;
  backdrop-filter:blur(5px) brightness(.61) saturate(.84);
}
.archive-opening-atmosphere{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  transition:opacity .8s ease;
}
.archive-artifact.is-open .archive-opening-atmosphere{opacity:1}

.archive-artifact-shell{
  --launch-x:0px;
  --launch-y:0px;
  --launch-scale:.15;
  position:relative;
  z-index:2;
  width:min(97vw,calc(92dvh * 1.5),1840px);
  aspect-ratio:3/2;
  container-type:inline-size;
  isolation:isolate;
  opacity:0;
  transform:translate3d(var(--launch-x),var(--launch-y),0) scale(var(--launch-scale)) rotate(-2.2deg);
  transform-origin:center;
  filter:blur(2.2px) brightness(.72) saturate(.76);
  transition:transform 1.05s cubic-bezier(.18,.78,.18,1),opacity .72s ease,filter 1.05s ease;
  will-change:transform,opacity,filter;
}
.archive-artifact.is-open .archive-artifact-shell{
  opacity:1;
  transform:translate3d(0,0,0) scale(1) rotate(0);
  filter:none;
}
.archive-artifact.is-closing .archive-artifact-shell{
  transition-timing-function:cubic-bezier(.42,0,.70,.18),ease,ease;
}
.archive-artwork{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 2.25cqw 2.2cqw rgba(0,0,0,.64));
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 1%,#000 99%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1%,#000 99%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 1%,#000 99%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 1%,#000 99%,transparent 100%);
  mask-composite:intersect;
}

.archive-object-glows{position:absolute;inset:0;z-index:3;pointer-events:none}
.archive-object-glows img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  mix-blend-mode:normal;
  filter:brightness(1) saturate(1);
  transition:opacity .055s ease-out,filter .14s ease-out;
  will-change:opacity,filter;
}
.archive-object-glows img.is-hovered{
  opacity:.96;
  filter:brightness(1.035) saturate(1.035);
  animation:archiveObjectBreathV65 3.45s ease-in-out infinite;
}
.archive-object-glows img[data-archive-glow="project"].is-hovered{
  filter:brightness(1.025) saturate(1.055);
}
@keyframes archiveObjectBreathV65{
  0%,100%{opacity:.88}
  47%{opacity:1}
  74%{opacity:.93}
}

.archive-object-map{position:absolute;inset:0;z-index:7;pointer-events:none}
.archive-object-node{
  position:absolute;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  outline:0;
  -webkit-tap-highlight-color:transparent;
}
.archive-object-node:focus-visible{outline:0}
.archive-object-node.node-player-notes{left:4.82%;top:41.31%;width:20.18%;height:18.85%;clip-path:polygon(2% 4%,95% 0,100% 25%,98% 96%,5% 100%,0 78%)}
.archive-object-node.node-boundaries{left:26.83%;top:40.43%;width:14.84%;height:19.04%;border-radius:1.2cqw}
.archive-object-node.node-bond{left:4.30%;top:58.30%;width:16.60%;height:21.10%;border-radius:48% 48% 18% 18%}
.archive-object-node.node-family{left:20.20%;top:59.08%;width:16.20%;height:20.20%;border-radius:50% 50% 18% 18%}
.archive-object-node.node-project{left:35.00%;top:56.84%;width:18.20%;height:22.70%;clip-path:polygon(4% 10%,82% 0,100% 21%,96% 100%,10% 100%,0 74%)}

.archive-letter-host{
  position:absolute;
  z-index:5;
  /* V66 text-safe parchment inset. The affine angle remains unchanged,
     while the complete live writing plane begins 18.43 source pixels farther
     right and narrows by the same amount. The right boundary therefore stays
     fixed, placing every record inside the printed gold rules at every scale. */
  left:58.0359%;
  top:26.6602%;
  width:29.1385%;
  height:45.3125%;
  overflow:visible;
  pointer-events:none;
}
.archive-letter-plane{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  box-sizing:border-box;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
  padding:3.45cqw 1.26cqw .92cqw 1.34cqw;
  color:#49341f;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(9px,.72cqw,13px);
  line-height:1.38;
  text-shadow:0 1px rgba(255,255,255,.38);
  opacity:1;
  transform-origin:0 0;
  transform:matrix(1,.051502,-.112069,1,0,0);
  transition:opacity .145s ease;
  pointer-events:auto;
  outline:0;
  will-change:opacity;
}
.archive-letter-plane[data-archive-record="family"],
.archive-letter-plane[data-archive-record="project"]{
  font-size:clamp(8.8px,.675cqw,12.25px);
  line-height:1.34;
}
.archive-letter-plane::-webkit-scrollbar{display:none}
.archive-letter-plane.is-changing{opacity:0}
.archive-letter-plane h3{
  margin:0 0 .14em;
  color:#244b35;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:clamp(18px,1.55cqw,30px);
  font-weight:600;
  line-height:1.02;
  letter-spacing:.008em;
  text-align:center;
}
.archive-letter-plane p{margin:.49em 0}
.archive-letter-plane .archive-kicker{
  margin:0 0 .38em;
  color:#9a7337;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-size:.69em;
  font-weight:900;
  letter-spacing:.17em;
  text-align:center;
  text-transform:uppercase;
}
.archive-letter-plane .archive-subtitle{margin:0;color:#775d40;font-size:.86em;font-style:italic;text-align:center}
.archive-letter-plane .archive-rule{width:42%;height:1px;margin:.54em auto .68em;background:linear-gradient(90deg,transparent,#b78b49,transparent)}
.archive-letter-plane .archive-lede{font-size:1.025em;line-height:1.41}
.archive-letter-plane .archive-lede::first-letter{
  float:left;
  margin:.02em .08em 0 0;
  color:#8a642f;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:2.85em;
  line-height:.76;
}
.archive-letter-plane .archive-note{
  margin:.70em .12em 0;
  padding:.48em .62em;
  border-top:1px solid rgba(155,116,56,.40);
  border-bottom:1px solid rgba(155,116,56,.40);
  color:#345640;
  font-style:italic;
  text-align:center;
}
.archive-letter-plane .archive-signature{
  margin:1em 1.1em .1em 0;
  color:#31563f;
  font-family:"Segoe Script","Bradley Hand","Lucida Handwriting",cursive;
  font-size:1.26em;
  text-align:right;
  transform:rotate(-2deg);
}
.archive-letter-plane .archive-restricted{
  color:#7b2d27;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-size:.76em;
  font-weight:900;
  letter-spacing:.15em;
  text-align:center;
  text-transform:uppercase;
}

.archive-artifact-close{
  position:absolute;
  z-index:9;
  right:1.55%;
  top:2.45%;
  display:grid;
  place-items:center;
  width:3.7%;
  aspect-ratio:1;
  border:1px solid rgba(233,203,132,.84);
  border-radius:50%;
  background:radial-gradient(circle at 37% 32%,#3a7754,#16422f 56%,#082318 100%);
  color:#f7e6b6;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 .82cqw rgba(245,224,166,.42),0 .35cqw .8cqw rgba(0,0,0,.38);
  font-family:Georgia,serif;
  font-size:clamp(18px,1.55cqw,31px);
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.archive-artifact-close:hover,.archive-artifact-close:focus-visible{
  transform:scale(1.06);
  filter:brightness(1.14);
  outline:0;
  box-shadow:inset 0 0 0 .16cqw rgba(6,25,17,.65),0 0 1cqw rgba(255,239,192,.70),0 .35cqw .8cqw rgba(0,0,0,.38);
}

@media(max-width:920px),(max-height:680px){
  .archive-artifact-shell{width:min(99vw,calc(96dvh * 1.5))}
  .archive-letter-plane{font-size:clamp(8px,.70cqw,10.8px);line-height:1.33;padding:3.45cqw 1.10cqw .72cqw 1.18cqw}
  .archive-letter-plane[data-archive-record="family"],.archive-letter-plane[data-archive-record="project"]{font-size:clamp(7.7px,.64cqw,10px);line-height:1.29}
  .archive-letter-plane h3{font-size:clamp(15px,1.48cqw,23px)}
  .archive-artifact-close{right:1.2%;top:2.0%;width:4.2%}
}
@media(prefers-reduced-motion:reduce){
  .archive-artifact,.archive-artifact-backdrop,.archive-artifact-shell,.archive-opening-atmosphere,.archive-object-glows img,.archive-letter-plane{transition:none!important}
  .archive-object-glows img.is-hovered{animation:none!important;opacity:.96}
  .archive-artifact.is-open .archive-opening-atmosphere{opacity:.2}
}

/* --------------------------------------------------------------------------
   V72 Mirror Foreground Precision
   The living media may overscan beneath the glass, while corrected foregrounds
   restore every gem, carved edge, and rail above it.
   -------------------------------------------------------------------------- */
body.gallery-checkpoint .mirror-media{display:block!important}
body.gallery-checkpoint .mirror-title-plate{display:grid!important}

.mirror-media{
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  clip-path:none;
}
/* The mirror no longer depends on an external CSS mask. A transparent crop of
   the original room sits above the media and supplies the exact frame pixels,
   leaving only the actual glass aperture open. This works from file:// in
   Chromium and Firefox without allowing media to cover the ornamentation. */
.mirror-frame-layer{
  position:absolute;
  inset:0;
  z-index:9;
  overflow:hidden;
  pointer-events:none;
}
.mirror-frame-piece{
  position:absolute;
  display:block;
  opacity:0;
  pointer-events:none;
  user-select:none;
  will-change:opacity;
  transition:opacity 2.35s cubic-bezier(.22,.72,.2,1);
}
.mirror-frame-piece.outgoing{transition-duration:2.25s;transition-timing-function:cubic-bezier(.30,.05,.28,1)}
.mirror-frame-piece.incoming{transition-duration:3.2s;transition-timing-function:cubic-bezier(.24,0,.18,1)}
.mirror-frame-piece.active{opacity:1}
.mirror-backfill{display:none!important}
.mirror-primary{
  object-fit:cover;
  background:transparent;
  transform:translateZ(0) scale(1.002);
  filter:saturate(1.015) contrast(1.01);
}
.mirror-glass-luminescence{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.16;
  background:
    radial-gradient(ellipse at 50% 14%,rgba(255,255,255,.20),transparent 35%),
    radial-gradient(ellipse at 50% 92%,rgba(255,247,229,.12),transparent 38%),
    linear-gradient(90deg,rgba(255,255,255,.08),transparent 10%,transparent 90%,rgba(255,255,255,.06));
  box-shadow:inset 0 0 1.25cqw rgba(255,248,230,.14);
  mix-blend-mode:screen;
  animation:mirrorGlassBreathV69 7.8s ease-in-out infinite;
}
.scene-stage[data-theme="princess"] .mirror-glass-luminescence{
  opacity:.14;
  background:
    radial-gradient(ellipse at 50% 15%,rgba(255,235,246,.22),transparent 34%),
    radial-gradient(ellipse at 50% 92%,rgba(255,147,199,.10),transparent 40%),
    linear-gradient(90deg,rgba(255,244,250,.07),transparent 10%,transparent 90%,rgba(255,225,240,.06));
}
.scene-stage[data-theme="witch"] .mirror-glass-luminescence{
  opacity:.11;
  background:
    radial-gradient(ellipse at 50% 16%,rgba(204,143,255,.13),transparent 36%),
    radial-gradient(ellipse at 50% 92%,rgba(255,104,48,.12),transparent 42%);
  box-shadow:inset 0 0 1.25cqw rgba(126,65,168,.16);
}
@keyframes mirrorGlassBreathV69{
  0%,100%{opacity:.12;filter:brightness(.98)}
  48%{opacity:.19;filter:brightness(1.05)}
  72%{opacity:.15;filter:brightness(1.01)}
}

.mirror-title-plate{
  position:absolute;
  z-index:10;
  display:grid;
  place-items:center;
  pointer-events:none;
  overflow:hidden;
  padding:.08cqh .35cqw;
  text-align:center;
  line-height:1;
  transform:translateZ(0);
}
.mirror-title-plate span{
  display:block;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:clip;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.90cqw;
  font-style:italic;
  font-weight:700;
  letter-spacing:.015em;
  color:#244b38;
  text-shadow:0 .035cqw 0 rgba(255,255,255,.74),0 0 .12cqw rgba(255,255,255,.48);
}
.mirror-title-plate span[data-length="medium"]{font-size:.76cqw}
.mirror-title-plate span[data-length="long"]{font-size:.64cqw;letter-spacing:0}
.scene-stage[data-theme="princess"] .mirror-title-plate span{
  color:#7d2048;
  text-shadow:0 .035cqw 0 rgba(255,245,249,.72),0 0 .14cqw rgba(255,181,218,.46);
}
.scene-stage[data-theme="witch"] .mirror-title-plate span{
  color:#e4b78c;
  text-shadow:0 .035cqw 0 rgba(14,5,9,.88),0 0 .16cqw rgba(158,77,222,.38),0 0 .28cqw rgba(222,93,38,.18);
}

/* Full-screen Looking Glass. The room remains recognizable beneath layered,
   theme-specific atmosphere; the media itself is always shown in full. */
.gallery-dialog{
  --gallery-ink:#fff9ee;
  --gallery-muted:rgba(255,246,232,.76);
  --gallery-line:rgba(242,213,157,.66);
  --gallery-accent:#f4e4b7;
  --gallery-accent-2:#315540;
  color:var(--gallery-ink);
  background:#080706;
}
.gallery-dialog::backdrop{background:#050404}
.gallery-surface{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:var(--gallery-ink);
  background:#090706;
}
.gallery-surface::before{
  content:"";
  position:absolute;
  inset:-5%;
  z-index:0;
  background-position:center;
  background-size:cover;
  filter:blur(30px) brightness(.34) saturate(.88);
  transform:scale(1.08);
  opacity:.92;
}
body[data-theme="daughter"] .gallery-surface::before{background-image:url("../../images/gabrielle/interactive-v48/daughter-room-v48.png")}
body[data-theme="princess"] .gallery-surface::before{background-image:url("../../images/gabrielle/interactive-v48/princess-room-v48.png")}
body[data-theme="witch"] .gallery-surface::before{background-image:url("../../images/gabrielle/interactive-v48/witch-room-v48.png")}
.gallery-surface::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at center,rgba(10,8,7,.10) 0,rgba(7,5,5,.54) 72%,rgba(4,3,3,.88) 100%),
    linear-gradient(180deg,rgba(8,6,5,.34),rgba(8,6,5,.62));
}
.gallery-surface[data-gallery-theme="princess"]{
  --gallery-line:rgba(255,174,213,.66);
  --gallery-accent:#ffd3e6;
  --gallery-accent-2:#a3235b;
}
.gallery-surface[data-gallery-theme="witch"]{
  --gallery-line:rgba(166,103,214,.62);
  --gallery-accent:#e2b4ff;
  --gallery-accent-2:#b95432;
}
.gallery-atmosphere{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}
.gallery-mist{
  position:absolute;
  width:min(46vw,720px);
  height:min(34vw,520px);
  border-radius:50%;
  filter:blur(34px);
  opacity:.24;
  background:radial-gradient(ellipse,rgba(255,253,245,.70) 0,rgba(255,248,232,.25) 42%,transparent 72%);
  mix-blend-mode:screen;
  animation:galleryMistBreathV68 10.5s ease-in-out infinite;
}
.gallery-mist-one{left:-18%;top:-18%;animation-delay:-2.8s}
.gallery-mist-two{right:-20%;top:-12%;animation-delay:-6.1s}
.gallery-mist-three{left:-19%;bottom:-22%;animation-delay:-8.4s}
.gallery-mist-four{right:-18%;bottom:-20%;animation-delay:-4.2s}
.gallery-surface[data-gallery-theme="princess"] .gallery-mist{
  opacity:.21;
  background:radial-gradient(ellipse,rgba(255,225,241,.72) 0,rgba(224,67,137,.22) 44%,transparent 74%);
}
.gallery-surface[data-gallery-theme="witch"] .gallery-mist{
  opacity:.20;
  background:radial-gradient(ellipse,rgba(117,71,141,.58) 0,rgba(69,31,71,.28) 44%,rgba(22,8,12,.06) 66%,transparent 76%);
  mix-blend-mode:screen;
}
@keyframes galleryMistBreathV68{
  0%,100%{transform:translate3d(0,0,0) scale(.94);opacity:.17}
  46%{transform:translate3d(1.2vw,-.7vh,0) scale(1.08);opacity:.28}
  72%{transform:translate3d(-.5vw,.8vh,0) scale(1.01);opacity:.22}
}
.gallery-spark{
  position:absolute;
  width:18px;
  height:18px;
  opacity:0;
  clip-path:polygon(50% 0,58% 41%,100% 50%,58% 59%,50% 100%,42% 59%,0 50%,42% 41%);
  background:radial-gradient(circle,#fff 0 12%,#fff9df 20%,rgba(255,244,205,.62) 42%,transparent 74%);
  filter:drop-shadow(0 0 7px rgba(255,247,222,.72));
  animation:gallerySparkV68 6.8s ease-in-out infinite;
}
.gallery-spark-one{left:6%;top:12%;animation-delay:-1.2s}
.gallery-spark-two{right:8%;top:18%;width:13px;height:13px;animation-delay:-4.5s}
.gallery-spark-three{left:10%;bottom:13%;width:12px;height:12px;animation-delay:-3.1s}
.gallery-spark-four{right:12%;bottom:16%;width:19px;height:19px;animation-delay:-5.8s}
.gallery-spark-five{left:27%;top:7%;width:10px;height:10px;animation-delay:-2.2s}
.gallery-spark-six{right:29%;bottom:7%;width:11px;height:11px;animation-delay:-.4s}
.gallery-surface[data-gallery-theme="princess"] .gallery-spark{
  background:radial-gradient(circle,#fff 0 12%,#ffd5e8 25%,rgba(255,91,163,.64) 48%,transparent 74%);
  filter:drop-shadow(0 0 8px rgba(255,99,170,.72));
  clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%);
}
.gallery-surface[data-gallery-theme="witch"] .gallery-spark{
  background:radial-gradient(circle,#fff0d8 0 8%,#cda0ff 20%,rgba(140,55,222,.58) 46%,rgba(227,87,35,.20) 62%,transparent 76%);
  filter:drop-shadow(0 0 8px rgba(141,72,222,.64));
}
@keyframes gallerySparkV68{
  0%,66%,100%{opacity:0;transform:scale(.45)}
  72%{opacity:.28;transform:scale(.75)}
  78%{opacity:.92;transform:scale(1.18)}
  85%{opacity:.20;transform:scale(.68)}
}
.gallery-header,.gallery-stage,.gallery-thumbs{position:relative;z-index:4}
.gallery-header{
  min-height:112px;
  padding:1.05rem 5.4rem .72rem;
  border-bottom:1px solid color-mix(in srgb,var(--gallery-line) 50%,transparent);
  background:linear-gradient(180deg,rgba(7,6,5,.72),rgba(7,6,5,.20));
  backdrop-filter:blur(9px);
}
.gallery-copy{max-width:min(980px,72vw)}
.gallery-copy h2{
  color:var(--gallery-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.85rem,3.5vw,3.25rem);
  font-style:italic;
  text-shadow:0 2px 16px rgba(0,0,0,.72),0 0 18px color-mix(in srgb,var(--gallery-accent) 24%,transparent);
}
.gallery-copy p{
  color:var(--gallery-muted);
  font-size:clamp(.88rem,1.32vw,1.12rem);
  text-shadow:0 1px 7px rgba(0,0,0,.78);
}
.gallery-copy small{color:var(--gallery-accent);letter-spacing:.16em}
.gallery-close{
  right:1.35rem;
  top:1.15rem;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid color-mix(in srgb,var(--gallery-line) 85%,transparent);
  border-radius:50%;
  color:var(--gallery-ink);
  background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--gallery-accent-2) 76%,white 12%),color-mix(in srgb,var(--gallery-accent-2) 92%,black 18%) 68%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),0 0 20px color-mix(in srgb,var(--gallery-accent) 20%,transparent);
  font-size:1.75rem;
  cursor:pointer;
}
.gallery-stage{
  margin:.75rem clamp(3rem,8vw,8.7rem);
  border:1px solid color-mix(in srgb,var(--gallery-line) 82%,transparent);
  border-radius:20px;
  background:rgba(5,4,4,.68);
  box-shadow:
    0 22px 84px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 36px color-mix(in srgb,var(--gallery-accent) 12%,transparent);
}
.gallery-stage::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:3;
  pointer-events:none;
  border:1px solid color-mix(in srgb,var(--gallery-line) 44%,transparent);
  border-radius:13px;
  box-shadow:inset 0 0 26px rgba(255,252,241,.035);
}
.gallery-backfill{filter:blur(26px) brightness(.36) saturate(.82);opacity:.88}
.gallery-backfill:after{background:rgba(2,2,2,.31)}
.gallery-stage>img{z-index:2;object-fit:contain;padding:10px;border-radius:15px}
.gallery-arrow{
  width:56px;
  height:56px;
  border:1px solid color-mix(in srgb,var(--gallery-line) 80%,transparent);
  border-radius:50%;
  color:var(--gallery-ink);
  background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.18),color-mix(in srgb,var(--gallery-accent-2) 84%,#060505 36%) 72%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.055),0 0 18px color-mix(in srgb,var(--gallery-accent) 18%,transparent);
  font-size:2.5rem;
  text-shadow:0 1px 7px rgba(0,0,0,.75);
  backdrop-filter:blur(9px);
}
.gallery-prev{left:1rem}.gallery-next{right:1rem}
.gallery-arrow:hover,.gallery-close:hover{filter:brightness(1.16);box-shadow:0 0 24px color-mix(in srgb,var(--gallery-accent) 34%,transparent)}
.gallery-thumbs{
  gap:.58rem;
  padding:.68rem 1.2rem .92rem;
  border-top:1px solid color-mix(in srgb,var(--gallery-line) 48%,transparent);
  background:linear-gradient(180deg,rgba(5,4,4,.18),rgba(5,4,4,.72));
  backdrop-filter:blur(10px);
}
.gallery-thumb{
  flex-basis:64px;
  width:64px;
  height:80px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:#080606;
  box-shadow:0 4px 14px rgba(0,0,0,.36);
}
.gallery-thumb img{object-fit:cover}
.gallery-thumb[aria-current="true"]{
  border-color:var(--gallery-accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--gallery-accent-2) 70%,transparent),0 0 18px color-mix(in srgb,var(--gallery-accent) 38%,transparent);
}
.gallery-thumb:focus-visible,.gallery-arrow:focus-visible,.gallery-close:focus-visible{outline:3px solid var(--gallery-accent);outline-offset:3px}

@media(max-width:900px){
  .gallery-header{min-height:94px;padding:.75rem 4.4rem .55rem}
  .gallery-stage{margin:.48rem 1.35rem;border-radius:15px}
  .gallery-stage>img{padding:7px}
  .gallery-arrow{width:46px;height:46px;font-size:2.05rem}
  .gallery-prev{left:.55rem}.gallery-next{right:.55rem}
  .gallery-thumb{width:50px;height:62px;flex-basis:50px}
}
@media(prefers-reduced-motion:reduce){
  .gallery-mist,.gallery-spark,.mirror-glass-luminescence{animation:none!important}
  .mirror-frame-piece{transition:none!important}
}
.gallery-surface[data-gallery-theme="daughter"]{box-shadow:inset 0 0 150px rgba(255,250,238,.15)}
.gallery-surface[data-gallery-theme="daughter"] .gallery-mist{opacity:.30}
.gallery-surface[data-gallery-theme="daughter"] .gallery-atmosphere::after{
  content:"";
  position:absolute;
  inset:-4%;
  pointer-events:none;
  box-shadow:inset 0 0 170px rgba(255,251,241,.24);
  filter:blur(8px);
  opacity:.72;
}


/* --------------------------------------------------------------------------
   V72 Mirror Foreground Precision
   The three theme portraits are represented only by their actual looping
   videos. Retired Daughter, Princess, and Witch stills cannot enter either
   the mirror sequence or the full-screen Looking Glass.
   -------------------------------------------------------------------------- */
.gallery-stage>img,
.gallery-stage>video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  object-fit:contain;
  padding:10px;
  border-radius:15px;
  background:transparent;
}
.gallery-stage>video{outline:none}
.gallery-sound{
  position:absolute;
  z-index:7;
  right:1.1rem;
  bottom:1rem;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  min-width:104px;
  min-height:38px;
  padding:.48rem .75rem;
  border:1px solid color-mix(in srgb,var(--gallery-line) 82%,transparent);
  border-radius:999px;
  color:var(--gallery-ink);
  background:linear-gradient(145deg,color-mix(in srgb,var(--gallery-accent-2) 74%,#080606 46%),rgba(5,4,4,.84));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055),0 0 18px color-mix(in srgb,var(--gallery-accent) 15%,transparent);
  font-family:Georgia,"Times New Roman",serif;
  cursor:pointer;
  backdrop-filter:blur(9px);
}
.gallery-sound[hidden]{display:none!important}
.gallery-sound span{font-size:1.05rem}
.gallery-sound em{font-style:normal;font-size:.78rem;letter-spacing:.045em}
.gallery-sound[data-muted="false"]{filter:brightness(1.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 24px color-mix(in srgb,var(--gallery-accent) 34%,transparent)}
.gallery-sound:hover{filter:brightness(1.17)}
.gallery-sound:focus-visible{outline:3px solid var(--gallery-accent);outline-offset:3px}
.gallery-thumb{position:relative;overflow:hidden}
.gallery-thumb-play{
  display:none;
  position:absolute;
  left:50%;
  top:50%;
  translate:-50% -50%;
  width:27px;
  height:27px;
  place-items:center;
  padding-left:2px;
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  color:#fff;
  background:rgba(8,5,6,.62);
  box-shadow:0 0 12px color-mix(in srgb,var(--gallery-accent) 34%,transparent);
  font-size:.67rem;
  text-shadow:0 1px 4px #000;
  pointer-events:none;
}
.gallery-thumb[data-kind="video"] .gallery-thumb-play{display:grid}
.gallery-thumb[data-kind="video"] img{filter:saturate(1.04) brightness(.94)}
@media(max-width:900px){
  .gallery-stage>img,.gallery-stage>video{padding:7px}
  .gallery-sound{right:.72rem;bottom:.68rem;min-width:92px;min-height:34px;padding:.4rem .62rem}
}


/* ==========================================================================\n   V73 Princess & Witch artifact completion\n   ========================================================================== */
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page{
  top:23.15%;height:57.3%;color:#68404a;font-size:clamp(10.5px,.86cqw,15.2px);line-height:1.43;padding:.42cqw .85cqw .95cqw;text-shadow:0 1px rgba(255,255,255,.48)
}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page-left{left:20.1%;width:28.9%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page-right{left:57.25%;width:31.0%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page h3,
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page strong{color:#8a315d}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page .dossier-kicker{color:#b66b87}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page .dossier-subtitle{color:#8e6070}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page .dossier-quote{color:#a0396d}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-chip{color:#a13e6e}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-chip+.dossier-chip::before{color:#d09a45}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button{
  left:4.2%;width:12.2%;height:6.55%;justify-content:center;padding:0 .70cqw 0 3.70cqw;color:#7c3854;text-align:center;font-size:clamp(8px,.68cqw,12px);font-style:italic;text-shadow:0 1px rgba(255,255,255,.82)
}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(1){top:18.25%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(2){top:28.87%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(3){top:39.52%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(4){top:50.10%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(5){top:60.75%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:nth-child(6){top:71.35%}
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:hover,
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button:focus-visible,
.dossier-artifact-shell[data-artifact-theme="princess"] .dossier-artifact-tabs button[aria-current="true"]{color:#b31d67;filter:brightness(1.14) drop-shadow(0 0 .48cqw rgba(255,156,220,.85));transform:translateX(.08cqw)}

.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page{
  top:23.1%;height:56.3%;color:#392d28;font-size:clamp(10.2px,.83cqw,14.8px);line-height:1.42;padding:.42cqw .8cqw .92cqw;text-shadow:0 1px rgba(255,255,255,.35)
}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page-left{left:20.15%;width:27.8%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page-right{left:55.65%;width:27.45%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page h3,
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page strong{color:#4b2a59}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page .dossier-kicker{color:#81604a}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page .dossier-subtitle{color:#63504a}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page .dossier-quote{color:#623a6d}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-chip{color:#5a365f}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-chip+.dossier-chip::before{color:#6f3f8b}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button{
  left:1.05%;width:15.9%;height:7.0%;justify-content:center;padding:0 .62cqw 0 4.90cqw;color:#4c342e;text-align:center;font-size:clamp(8px,.69cqw,12px);font-style:italic;text-shadow:0 1px rgba(255,255,255,.66)
}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(1){top:19.8%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(2){top:29.95%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(3){top:40.15%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(4){top:50.35%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(5){top:60.55%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:nth-child(6){top:70.70%}
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:hover,
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button:focus-visible,
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-artifact-tabs button[aria-current="true"]{color:#6f2788;filter:brightness(1.12) drop-shadow(0 0 .5cqw rgba(143,61,210,.82));transform:translateX(.08cqw)}

/* Theme-specific artifact atmosphere and close seals. */
.dossier-artifact-shell[data-artifact-theme="princess"]~*,.court-artifact-shell[data-artifact-theme="princess"]~*{}
body[data-theme="princess"].artifact-open .dossier-mist,body[data-theme="princess"].artifact-open .court-opening-atmosphere .dossier-mist,body[data-theme="princess"].artifact-open .witching-opening-atmosphere .dossier-mist,body[data-theme="princess"].artifact-open .archive-opening-atmosphere .dossier-mist{background:radial-gradient(ellipse at center,rgba(255,213,239,.42),rgba(234,88,165,.12) 44%,transparent 72%)}
body[data-theme="witch"].artifact-open .dossier-mist,body[data-theme="witch"].artifact-open .court-opening-atmosphere .dossier-mist,body[data-theme="witch"].artifact-open .witching-opening-atmosphere .dossier-mist,body[data-theme="witch"].artifact-open .archive-opening-atmosphere .dossier-mist{background:radial-gradient(ellipse at center,rgba(115,51,160,.28),rgba(29,10,35,.20) 48%,transparent 73%);filter:blur(36px)}
[data-artifact-theme="princess"] .dossier-artifact-close,[data-artifact-theme="princess"] .court-artifact-close,[data-artifact-theme="princess"] .witching-artifact-close,[data-artifact-theme="princess"] .archive-artifact-close{background:radial-gradient(circle at 37% 32%,#ff83bc,#b92e70 58%,#67133c 100%);border-color:rgba(255,217,151,.88);color:#fff0c9;box-shadow:inset 0 0 0 .16cqw rgba(76,8,39,.62),0 0 .9cqw rgba(255,123,199,.42),0 .35cqw .8cqw rgba(0,0,0,.34)}
[data-artifact-theme="witch"] .dossier-artifact-close,[data-artifact-theme="witch"] .court-artifact-close,[data-artifact-theme="witch"] .witching-artifact-close,[data-artifact-theme="witch"] .archive-artifact-close{background:radial-gradient(circle at 37% 32%,#7f3ca6,#3b174f 58%,#15091c 100%);border-color:rgba(190,128,230,.78);color:#f3d5ff;box-shadow:inset 0 0 0 .16cqw rgba(12,4,18,.78),0 0 .9cqw rgba(139,53,204,.48),0 .35cqw .8cqw rgba(0,0,0,.5)}

/* Court: exact oval aperture registration plus source-derived frame illumination. */
.court-frame-glows{position:absolute;inset:0;z-index:5;pointer-events:none}
.court-frame-glows img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:none!important;will-change:opacity,filter}
.court-frame-glows img[hidden]{display:none}
.court-frame-glows img.is-hovered{opacity:.98!important;filter:brightness(1.06) saturate(1.08)!important;animation:courtFrameBreathV73 3.5s ease-in-out infinite}
@keyframes courtFrameBreathV73{0%,100%{opacity:.86}48%{opacity:1}75%{opacity:.92}}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait,
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait{border-radius:50%;clip-path:ellipse(50% 50% at 50% 50%);box-shadow:inset 0 0 1.2cqw rgba(0,0,0,.68)}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait::after,
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait::after{display:none}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait-name{color:#fff2d7;background:linear-gradient(to bottom,transparent,rgba(91,17,54,.16) 35%,rgba(73,13,43,.78) 100%);text-shadow:0 .08em .18em rgba(70,5,34,.96),0 0 .5em rgba(255,168,221,.7)}
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait-name{color:#f3d9ff;background:linear-gradient(to bottom,transparent,rgba(21,8,28,.18) 35%,rgba(10,4,14,.86) 100%);text-shadow:0 .08em .18em #000,0 0 .5em rgba(145,64,210,.75)}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait-vanessa{left:9.505%;top:34.18%;width:17.773%;height:40.04%}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait-jessie{left:30.794%;top:34.38%;width:17.448%;height:40.04%}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait-aisha{left:51.693%;top:34.47%;width:17.513%;height:40.04%}
.court-artifact-shell[data-artifact-theme="princess"] .court-portrait-holly{left:72.786%;top:34.38%;width:17.578%;height:40.04%}
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait-vanessa{left:9.505%;top:33.984%;width:17.448%;height:39.551%}
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait-jessie{left:32.227%;top:34.277%;width:15.885%;height:39.551%}
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait-aisha{left:51.888%;top:34.277%;width:15.820%;height:39.453%}
.court-artifact-shell[data-artifact-theme="witch"] .court-portrait-holly{left:72.982%;top:33.984%;width:17.448%;height:39.648%}

/* Witching Hour theme geometry. */
.witching-ambient-smolder{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;mix-blend-mode:screen;filter:saturate(1.08) brightness(1.04)}
.witching-ambient-smolder:not([hidden]){display:block;animation:witchingAmbientSmolderV73 4.8s ease-in-out infinite}
@keyframes witchingAmbientSmolderV73{0%,100%{opacity:.18;filter:saturate(1.02) brightness(.98)}45%{opacity:.42;filter:saturate(1.15) brightness(1.12)}72%{opacity:.27;filter:saturate(1.08) brightness(1.04)}}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-inheritance{left:7.8%;top:3.3%;width:23.3%;height:28.5%;clip-path:none;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-immunity{left:30.0%;top:6.8%;width:19.5%;height:29.5%;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-allure{left:6.1%;top:43.8%;width:21.0%;height:31.0%;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-prowess{left:28.0%;top:35.0%;width:21.0%;height:31.5%;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-bond{left:8.5%;top:60.2%;width:22.0%;height:34.0%;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-power-node.node-witchcraft{left:26.7%;top:60.5%;width:23.0%;height:34.0%;border-radius:2cqw}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-parchment{left:57.55%;top:18.4%;width:31.2%;height:66.2%;padding:1.2cqw 1.35cqw 1cqw;color:#684151;font-size:clamp(10.2px,.85cqw,15px);line-height:1.43}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-parchment h3{color:#a33068}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-parchment .witching-kicker{color:#b36a83}
.witching-artifact-shell[data-artifact-theme="princess"] .witching-parchment .witching-inscription{color:#a23c6d;border-color:rgba(193,75,128,.35)}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-inheritance{left:15.8%;top:31.0%;width:21.2%;height:34.0%;clip-path:none;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-immunity{left:17.0%;top:4.6%;width:20.0%;height:27.7%;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-allure{left:4.2%;top:25.0%;width:22.5%;height:30.5%;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-prowess{left:27.0%;top:24.5%;width:21.3%;height:30.5%;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-bond{left:4.2%;top:50.0%;width:23.5%;height:32.5%;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-power-node.node-witchcraft{left:26.5%;top:50.0%;width:23.2%;height:32.5%;border-radius:50%}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-parchment{left:58.1%;top:20.1%;width:30.7%;height:62%;padding:1.15cqw 1.25cqw .9cqw;color:#3d302b;font-size:clamp(10px,.82cqw,14.6px);line-height:1.41}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-parchment h3{color:#4e285d}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-parchment .witching-kicker{color:#7f5c42}
.witching-artifact-shell[data-artifact-theme="witch"] .witching-parchment .witching-inscription{color:#5f356c;border-color:rgba(90,46,108,.35)}

/* Secret Archive theme geometry and stable writing planes. */
.archive-artifact-shell[data-artifact-theme="princess"] .archive-object-node.node-player-notes{left:3.2%;top:32%;width:26.2%;height:28.2%;clip-path:none;border-radius:1.6cqw}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-object-node.node-boundaries{left:25.3%;top:30.6%;width:30%;height:30%;border-radius:1.8cqw}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-object-node.node-bond{left:2.9%;top:55%;width:20.4%;height:29%;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-object-node.node-family{left:21.4%;top:54.6%;width:19.4%;height:30.5%;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-object-node.node-project{left:37%;top:54%;width:20.4%;height:31.5%;clip-path:none;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-host{left:59.35%;top:17%;width:29.7%;height:66.7%}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane{transform:none!important;padding:2.9cqw 1.15cqw .85cqw;color:#65404d;font-size:clamp(8.6px,.70cqw,12.4px);line-height:1.34}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane h3{color:#a12f67}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-kicker{color:#b16b84}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-note,.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-signature{color:#a23d70}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-object-node.node-player-notes{left:1.2%;top:31.1%;width:27.2%;height:30%;clip-path:none;border-radius:1.5cqw}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-object-node.node-boundaries{left:24.6%;top:29.6%;width:27.9%;height:31.5%;border-radius:1.8cqw}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-object-node.node-bond{left:.9%;top:55.5%;width:22%;height:30%;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-object-node.node-family{left:21.4%;top:55.5%;width:21%;height:30.6%;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-object-node.node-project{left:38.3%;top:53%;width:20.4%;height:33.4%;clip-path:none;border-radius:2cqw}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-host{left:60%;top:18.9%;width:27.6%;height:63.6%}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane{transform:none!important;padding:2.55cqw 1.0cqw .75cqw;color:#3b2f2a;font-size:clamp(8.4px,.67cqw,12px);line-height:1.31}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="family"],.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="project"]{font-size:clamp(7.9px,.62cqw,11.1px);line-height:1.27}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane h3{color:#4e285a}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-kicker{color:#79563d}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-note,.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-signature{color:#5e3868}

/* Live one-entry main-site menu. */
.site-link-live{cursor:pointer}
.site-link-live em{display:block;margin-top:.28rem;color:var(--panel-accent);font-size:.58rem;font-style:normal;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.site-link-grid:has(.site-link-live:only-child){grid-template-columns:minmax(0,520px);justify-content:center;padding:1.25rem}
.site-link-grid:has(.site-link-live:only-child) .site-link{min-height:112px}

@media(max-width:920px),(max-height:680px){
  .dossier-artifact-shell[data-artifact-theme="princess"] .dossier-page,.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page{font-size:clamp(8.8px,.8cqw,11.3px);line-height:1.32;padding:.28cqw .55cqw .65cqw}
  .witching-artifact-shell[data-artifact-theme="princess"] .witching-parchment,.witching-artifact-shell[data-artifact-theme="witch"] .witching-parchment{font-size:clamp(8.4px,.72cqw,10.8px);line-height:1.32;padding:.8cqw .85cqw .65cqw}
  .archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane,.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane{font-size:clamp(7.1px,.61cqw,9.2px);line-height:1.25}
}
@media(prefers-reduced-motion:reduce){.witching-ambient-smolder,.court-frame-glows img.is-hovered{animation:none!important}}


/* ==========================================================================\n   V74 focused refinement: archive readability, precise project glows,\n   Witch dossier registration, and the complete Explore-style site index.\n   ========================================================================== */
.dossier-artifact-shell[data-artifact-theme="witch"] .dossier-page-left{left:21.30%;width:26.70%}

.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-host{left:59.05%;top:17.05%;width:33.15%;height:67.35%}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane{padding:1.82cqw 1.08cqw .82cqw;color:#65404d;font-size:clamp(13.2px,1.02cqw,18px);line-height:1.43}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane[data-archive-record="family"],.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane[data-archive-record="project"]{font-size:clamp(12.6px,.96cqw,16.8px);line-height:1.38}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane h3{font-size:clamp(20px,1.62cqw,29px);line-height:1.04}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane p{margin:.60em 0}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-kicker{font-size:.68em;margin-bottom:.32em}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-subtitle{font-size:.86em}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-rule{margin:.48em auto .72em}
.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane .archive-note{margin-top:.82em;padding:.54em .66em}

.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-host{left:58.78%;top:20.25%;width:30.15%;height:63.25%}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane{padding:1.72cqw 1cqw .76cqw;color:#3b2f2a;font-size:clamp(13px,1cqw,17.6px);line-height:1.42}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="family"],.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="project"]{font-size:clamp(12.4px,.94cqw,16.4px);line-height:1.37}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane h3{font-size:clamp(20px,1.58cqw,28px);line-height:1.04}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane p{margin:.58em 0}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-kicker{font-size:.68em;margin-bottom:.32em}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-subtitle{font-size:.86em}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-rule{margin:.48em auto .70em}
.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane .archive-note{margin-top:.78em;padding:.50em .62em}

@media(max-width:920px),(max-height:680px){
 .archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane{padding:1.55cqw .92cqw .66cqw;font-size:clamp(12.8px,.92cqw,14.8px);line-height:1.36}
 .archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane[data-archive-record="family"],.archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane[data-archive-record="project"]{font-size:clamp(12.2px,.86cqw,13.8px);line-height:1.32}
 .archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane{padding:1.48cqw .88cqw .62cqw;font-size:clamp(12.6px,.91cqw,14.6px);line-height:1.35}
 .archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="family"],.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane[data-archive-record="project"]{font-size:clamp(12.1px,.85cqw,13.6px);line-height:1.31}
 .archive-artifact-shell[data-artifact-theme="princess"] .archive-letter-plane h3,.archive-artifact-shell[data-artifact-theme="witch"] .archive-letter-plane h3{font-size:clamp(18px,1.50cqw,23px)}
}

.site-menu-dialog{width:min(96vw,1120px);max-width:none;max-height:94dvh;margin:auto}
.site-menu-card{position:relative;max-height:94dvh;isolation:isolate}
.site-menu-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.72}
.site-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;padding:1rem;max-height:76dvh;overscroll-behavior:contain}
.site-link{grid-template-columns:112px minmax(0,1fr);gap:.82rem;min-height:98px;padding:.52rem;border-radius:12px;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.site-link:hover,.site-link:focus-visible{transform:translateY(-2px);border-color:var(--panel-accent);box-shadow:0 10px 28px color-mix(in srgb,var(--shadow) 66%,transparent),0 0 0 1px color-mix(in srgb,var(--panel-accent) 34%,transparent)}
.site-link[aria-current="page"]{border-color:var(--panel-accent);background:color-mix(in srgb,var(--panel-accent) 13%,var(--panel-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--panel-accent) 34%,transparent),0 0 22px color-mix(in srgb,var(--panel-accent) 18%,transparent)}
.site-link-thumb{display:block;width:112px;height:86px;overflow:hidden;border:1px solid color-mix(in srgb,var(--panel-border) 62%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel-bg) 78%,#070507)}
.site-link img{width:100%;height:100%;object-fit:contain;object-position:center}
.site-link-copy{min-width:0}.site-link strong{font-size:1.06rem;line-height:1.12}.site-link small{font-size:.72rem;line-height:1.35}
.site-link-live em{display:block;margin-top:.38rem;color:var(--panel-accent);font-size:.61rem;font-style:normal;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
body[data-theme="daughter"] .site-menu-card{background:linear-gradient(145deg,rgba(255,252,244,.98),rgba(227,216,199,.97));border-color:#b89a62}
body[data-theme="daughter"] .site-menu-card::before{background:radial-gradient(circle at 12% 15%,rgba(255,255,246,.92),transparent 32%),linear-gradient(135deg,rgba(49,85,64,.055),transparent 42%,rgba(155,119,64,.07))}
body[data-theme="princess"] .site-menu-card{background:linear-gradient(145deg,rgba(255,240,247,.985),rgba(237,195,212,.98));border-color:#c783a0;box-shadow:0 28px 90px rgba(72,10,38,.62),0 0 34px rgba(255,116,185,.24)}
body[data-theme="princess"] .site-menu-card::before{background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.88),transparent 28%),radial-gradient(circle at 88% 90%,rgba(220,51,127,.12),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.18),transparent 44%)}
body[data-theme="witch"] .site-menu-card{background:linear-gradient(145deg,rgba(28,14,23,.985),rgba(9,5,9,.99));border-color:#74445e;box-shadow:0 28px 100px rgba(0,0,0,.78),0 0 36px rgba(112,47,160,.24)}
body[data-theme="witch"] .site-menu-card::before{background:radial-gradient(circle at 15% 18%,rgba(125,53,172,.15),transparent 31%),radial-gradient(circle at 86% 88%,rgba(213,85,45,.10),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.025),transparent 50%)}
body[data-theme="witch"] .site-link{background:linear-gradient(145deg,rgba(35,18,29,.88),rgba(15,8,13,.92))}
body[data-theme="witch"] .site-link[aria-current="page"]{background:linear-gradient(145deg,rgba(85,35,105,.38),rgba(27,11,24,.94))}
@media(max-width:760px){.site-menu-dialog{width:96vw;max-height:96dvh}.site-link-grid{grid-template-columns:1fr;max-height:79dvh;padding:.72rem}.site-link{grid-template-columns:92px minmax(0,1fr);min-height:82px}.site-link-thumb{width:92px;height:70px}}
@media(max-height:650px) and (min-width:761px){.site-menu-dialog{width:min(97vw,1080px)}.site-link-grid{gap:.48rem;padding:.72rem;max-height:78dvh}.site-link{grid-template-columns:92px minmax(0,1fr);min-height:78px;padding:.4rem}.site-link-thumb{width:92px;height:66px}.site-link strong{font-size:.94rem}.site-link small{font-size:.64rem}}
