/* A signal chamber for Partisia, within the exhibition's shared black/violet identity. */
.partisia-page { --partisia-light:#d5c2fa; }
.partisia-main { min-width:0; overflow:clip; }
.partisia-main .section-shell { max-width:1400px; }
.partisia-main h1,.partisia-main h2,.partisia-main h3,.partisia-next-title { overflow-wrap:anywhere; }
.partisia-main h2 { font:500 clamp(2rem,3.8vw,3.6rem)/1.1 var(--display); letter-spacing:-.045em; text-wrap:balance; }
.partisia-main em { color:var(--partisia-light); font-style:normal; }
.partisia-main .eyebrow { font-size:.8125rem; margin-bottom:16px; }
.partisia-main [id] { scroll-margin-top:16px; }
.partisia-opening { padding-block:24px 36px; }
.partisia-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:.8125rem; }
.partisia-topline>a { display:inline-flex; gap:12px; align-items:center; min-height:44px; color:var(--ink); }
.partisia-topline>a>span { color:var(--accent); }
.partisia-topline>a:hover { color:var(--partisia-light); }
.partisia-intro { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr); gap:48px; align-items:end; padding-top:32px; }
.partisia-intro .eyebrow { color:var(--partisia-light); margin-bottom:14px; }
.partisia-intro h1 { font:500 clamp(3rem,6.6vw,6rem)/1.03 var(--display); letter-spacing:-.065em; }
.partisia-intro h1 em { display:inline; }
.partisia-intro-note { padding-bottom:4px; }
.partisia-intro-note>p { font:400 clamp(1.125rem,1.8vw,1.5rem)/1.55 var(--sans); color:#b9b3c7; }
.partisia-intro-note>a { display:inline-flex; align-items:center; gap:20px; min-height:44px; margin-top:18px; font-size:.8125rem; color:var(--partisia-light); }
.partisia-intro-note>a>span { font-size:1.3rem; }
.partisia-chapters { position:sticky; top:var(--header-height); z-index:30; background:#07070af5; border-block:1px solid var(--line); backdrop-filter:blur(14px); }
.partisia-chapters-inner { display:flex; gap:36px; max-width:1400px; padding-inline:var(--gutter); margin-inline:auto; }
.partisia-chapters a { display:inline-flex; gap:10px; align-items:center; position:relative; min-width:0; min-height:60px; font-size:.8125rem; color:var(--muted); overflow-wrap:anywhere; }
.partisia-chapters a>span { font-size:.6875rem; color:#a28ebd; font-variant-numeric:tabular-nums; }
.partisia-chapters a:hover,.partisia-chapters a[aria-current] { color:var(--ink); }
.partisia-chapters a[aria-current]::after { content:''; position:absolute; inset:auto 0 0; height:2px; background:var(--accent); }
.partisia-chapters .partisia-collection-link { margin-left:auto; }
.partisia-progress { position:absolute; bottom:-1px; width:100%; height:1px; background:#d7c3ff55; transform:scaleX(var(--read-progress,0)); transform-origin:left; }
.partisia-story { padding-block:38px 76px; }
.partisia-story-heading { display:flex; justify-content:space-between; align-items:baseline; gap:32px; margin-bottom:30px; }
.partisia-story-heading h2 { font-size:clamp(1.375rem,2vw,1.875rem); letter-spacing:-.025em; }
.partisia-story-heading>p { font-size:.8125rem; color:var(--muted); }
.partisia-lenses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid #b697ff27; margin-bottom:20px; }
.partisia-lenses button { display:flex; align-items:center; gap:16px; min-height:58px; padding:12px 18px; color:var(--muted); background:transparent; font-size:.875rem; text-align:left; position:relative; overflow-wrap:anywhere; }
.partisia-lenses button+button { border-left:1px solid #b697ff18; }
.partisia-lenses button>span { font-size:.6875rem; color:#a18abe; font-variant-numeric:tabular-nums; }
.partisia-lenses button i { display:block; width:5px; height:5px; border-radius:50%; background:currentColor; margin-left:auto; opacity:.35; flex-shrink:0; }
.partisia-lenses button:hover { color:var(--ink); background:#b697ff06; }
.partisia-lenses button[aria-selected=true] { color:var(--ink); background:linear-gradient(90deg,#b697ff0b,transparent); }
.partisia-lenses button[aria-selected=true]::after { content:''; position:absolute; inset:auto 0 -1px; height:2px; background:var(--accent); }
.partisia-lenses button[aria-selected=true] i { opacity:1; color:var(--partisia-light); box-shadow:0 0 9px #b697ff90; }
.partisia-chamber-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:44px; }
.partisia-chamber { min-width:0; position:relative; isolation:isolate; --light-x:50%; --light-y:50%; }
.partisia-chamber-top { display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:.6875rem; color:#b5a9c7; padding-inline:6px; }
.partisia-motion { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px; border-radius:6px; color:#beb2cf; background:transparent; font-size:.6875rem; }
.partisia-motion:hover { background:#b697ff0b; color:var(--ink); }
.partisia-motion-icon { width:8px; height:10px; border-inline:2px solid currentColor; }
.partisia-motion[aria-pressed=true] .partisia-motion-icon { width:0; height:0; border:5px solid transparent; border-left:7px solid currentColor; border-right:0; }
.partisia-scene-light { position:absolute; inset:0 -10%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at var(--light-x) var(--light-y),#7d41c518,transparent 55%); }
.signal-scene { display:block; width:100%; height:auto; overflow:hidden; }
.signal-ground path { stroke:#b697ff; stroke-width:.7; opacity:.085; }
.signal-orbits { stroke:#b697ff; stroke-width:.8; opacity:.16; }
.signal-base { fill:url(#signal-glass); stroke:#b697ff50; }
.signal-facet { fill:#100c1b; stroke:#b697ff24; }
.signal-facet-right { fill:#191025; }
.signal-rim { stroke:#c7a8ff; stroke-width:1.4; opacity:.8; }
.signal-inner { stroke:#b697ff; opacity:.28; }
.signal-shadow { fill:#000; opacity:.65; filter:blur(8px); }
.signal-spire { fill:url(#signal-glass); stroke:#b697ff4d; }
.signal-spire-edge { fill:#b697ff16; stroke:#dbc4ff; stroke-width:1; opacity:.8; }
.signal-core { fill:#e3d4ff; filter:drop-shadow(0 0 5px #b697ff); animation:partisia-beacon 4s ease-in-out infinite alternate; }
.signal-world { opacity:.9; transition:opacity .7s; }
.signal-world-centre { opacity:.32; }
.signal-links { opacity:0; transition:opacity .8s; }
.signal-link { stroke:url(#signal-light); stroke-width:1.8; }
.signal-link-halo { stroke:#a576f0; stroke-width:9; filter:url(#signal-halo); opacity:.65; }
.signal-flow { stroke:#eadfff; stroke-width:2; stroke-dasharray:4 34; stroke-linecap:round; animation:partisia-signal 6s linear infinite; }
.signal-branches { stroke:#b697ff; stroke-width:1.2; opacity:0; transition:opacity .8s; }
.signal-branches circle { fill:#0d0915; }
.signal-branches .signal-output { fill:#d8bcff; stroke:none; }
.signal-sparkles { fill:#d9c4fb; opacity:.45; }
.partisia-chamber[data-lens="1"] .signal-links,.partisia-chamber[data-lens="2"] .signal-links { opacity:1; }
.partisia-chamber[data-lens="1"] .signal-world,.partisia-chamber[data-lens="2"] .signal-world { opacity:1; }
.partisia-chamber[data-lens="2"] .signal-branches { opacity:.8; }
.partisia-chamber[data-lens="0"] .signal-flow,.partisia-chamber.is-paused .signal-flow,.partisia-chamber.is-offscreen .signal-flow { animation-play-state:paused; }
.partisia-chamber.is-paused .signal-core,.partisia-chamber.is-offscreen .signal-core { animation-play-state:paused; }
.partisia-chamber figcaption { display:flex; flex-direction:column; gap:5px; padding:12px 6px 0; border-top:1px solid #b697ff1f; font-size:.75rem; color:var(--muted); }
.partisia-chamber figcaption>span:first-child { color:var(--partisia-light); font-size:.8125rem; }
.partisia-reading { min-width:0; padding:28px 0 18px; }
.partisia-reading-panel { padding-bottom:26px; }
.partisia-reading-panel:not(:last-child) { border-bottom:1px solid var(--line); margin-bottom:26px; }
.partisia-enhanced .partisia-reading-panels { display:grid; overflow-anchor:none; }
.partisia-enhanced .partisia-reading-panel { grid-area:1/1; min-height:325px; border:0; margin:0; }
.partisia-enhanced .partisia-reading-panel:not([data-active]) { visibility:hidden; pointer-events:none; }
.partisia-reading-panel .eyebrow { color:#b09acc; font-size:.75rem; }
.partisia-reading-panel h3 { font:500 clamp(1.7rem,2.8vw,2.5rem)/1.14 var(--display); letter-spacing:-.045em; text-wrap:balance; max-width:19ch; }
.partisia-explanation { color:var(--muted); font-size:.9375rem; line-height:1.75; margin-top:22px; max-width:41ch; }
.partisia-principle { color:var(--partisia-light); font-size:.8125rem; margin-top:20px; padding-left:14px; border-left:1px solid #b697ff66; }
.partisia-note-quote { font-size:.8125rem; margin-top:26px; color:var(--ink); }
.partisia-note-quote>span { display:block; color:var(--muted); font-size:.6875rem; margin-top:5px; }
.partisia-inline-link { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; padding-block:10px; font-size:.8125rem; color:var(--partisia-light); }
.partisia-inline-link>span { color:var(--accent); font-size:1.2rem; }
.partisia-inline-link:hover { color:var(--ink); }
.partisia-work { padding-block:70px 80px; border-block:1px solid var(--line); }
.partisia-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:40px; }
.partisia-section-head>p { font-size:.875rem; color:var(--muted); max-width:25ch; }
.partisia-section-label { display:flex; align-items:center; gap:14px; font-size:.8125rem; color:var(--muted); margin-bottom:20px; }
.partisia-section-label>span { width:24px; height:24px; display:grid; place-items:center; border:1px solid #b697ff39; border-radius:50%; color:var(--partisia-light); font-size:.625rem; flex-shrink:0; }
.partisia-work-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; align-items:start; }
.partisia-artwork { min-width:0; }
.partisia-artwork>a { display:block; border:1px solid #b697ff35; border-radius:9px; overflow:hidden; background:#0b0a0e; padding:6px; }
.partisia-artwork img { width:100%; height:auto; border-radius:4px; }
.partisia-artwork figcaption { display:flex; gap:12px; align-items:center; justify-content:space-between; color:var(--muted); font-size:.6875rem; padding-top:6px; }
.partisia-artwork figcaption a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.partisia-preservation { font-size:.75rem; color:var(--muted); line-height:1.65; max-width:50ch; margin-top:10px; }
.partisia-context dl { margin:0; }
.partisia-context dl>div { padding-block:0 20px; }
.partisia-context dl>div+div { padding-top:18px; border-top:1px solid var(--line); }
.partisia-context dt { color:var(--muted); font-size:.75rem; margin-bottom:6px; }
.partisia-context dd { margin:0; font-size:.875rem; line-height:1.65; }
.partisia-source-links { display:flex; flex-direction:column; gap:4px; padding-block:0 12px; }
.partisia-source-links>a { display:inline-flex; align-items:center; gap:20px; align-self:flex-start; min-height:44px; font-size:.8125rem; color:var(--partisia-light); }
.partisia-source-links>span { color:var(--muted); font-size:.6875rem; }
.partisia-external { display:block; width:11px; height:10px; border:1px solid #b697ff80; border-radius:2px; position:relative; margin-right:4px; flex-shrink:0; }
.partisia-external::before { content:''; position:absolute; width:5px; height:5px; top:-4px; right:-4px; border:1px solid var(--partisia-light); background:var(--bg); }
.partisia-context .reader-source-notes p { font-size:.875rem; }
.partisia-context .reader-source-notes a { overflow-wrap:anywhere; }
.partisia-companions { padding-block:80px; }
.partisia-companion-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.partisia-companion { display:block; min-width:0; border-top:1px solid #b697ff31; padding-top:18px; }
.partisia-companion-index { display:block; font-size:.6875rem; color:#b09acc; margin-bottom:18px; }
.partisia-companion-image { border:1px solid #b697ff1c; border-radius:8px; overflow:hidden; background:#0b090e; aspect-ratio:16/9; display:grid; place-items:center; }
.partisia-companion-image img { width:100%; height:100%; object-fit:contain; transition:filter .3s; }
.partisia-companion:hover img { filter:brightness(1.12); }
.partisia-companion h3 { font:500 1.5rem/1.2 var(--display); letter-spacing:-.035em; margin-top:22px; }
.partisia-companion p { font-size:.875rem; color:var(--muted); margin-top:10px; }
.partisia-view-piece { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:20px; min-height:44px; font-size:.8125rem; }
.partisia-view-piece>span { font-size:1.3rem; color:var(--accent); }
.partisia-handoff { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:80px; align-items:center; padding-block:78px; border-top:1px solid var(--line); }
.partisia-primary { display:inline-flex; gap:22px; align-items:center; min-height:48px; padding:12px 18px; margin-top:28px; background:#773fca; border:1px solid #ad7bf745; border-radius:var(--radius); font-size:.8125rem; box-shadow:inset 0 1px 0 #ffffff16; }
.partisia-primary:hover { transform:none; background:#8650d6; box-shadow:0 0 26px #8650d62b; }
.partisia-connection-mark { display:flex; gap:6px; position:relative; align-items:center; }
.partisia-connection-mark::before { content:''; height:1px; position:absolute; left:0; right:0; background:currentColor; opacity:.6; }
.partisia-connection-mark i { width:5px; height:5px; border:1px solid currentColor; border-radius:50%; background:#773fca; z-index:1; }
.partisia-next { display:block; border-left:1px solid #b697ff45; padding:20px 0 20px 30px; }
.partisia-next:hover { border-color:var(--accent); }
.partisia-next .eyebrow { display:block; }
.partisia-next-title { display:block; font:500 clamp(1.75rem,2.8vw,2.4rem)/1.13 var(--display); letter-spacing:-.035em; }
.partisia-end { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px!important; border-top:1px solid var(--line); font-size:.75rem; }
.partisia-end>span>span { color:var(--muted); }
.partisia-end>div { display:flex; gap:24px; }
.partisia-end a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); }
.partisia-end a:hover { color:var(--ink); }
.partisia-media-status { padding:24px; font-size:.875rem; color:var(--muted); }
@keyframes partisia-signal { to { stroke-dashoffset:-228; } }
@keyframes partisia-beacon { from { opacity:.45; } to { opacity:1; } }
@media(max-width:1100px) {
  .partisia-intro { gap:30px; }
  .partisia-chamber-layout { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:30px; }
  .partisia-work-grid,.partisia-handoff { gap:40px; }
}
@media(max-width:800px) {
  .partisia-intro { grid-template-columns:1fr; gap:22px; padding-top:30px; }
  .partisia-intro h1 em { display:inline; }
  .partisia-intro-note>p br { display:none; }
  .partisia-intro-note>a { margin-top:8px; }
  .partisia-opening { padding-bottom:28px; }
  .partisia-chamber-layout { grid-template-columns:1fr; gap:12px; }
  .partisia-chamber { width:100%; max-width:760px; margin-inline:auto; }
  .partisia-reading { padding-top:20px; }
  .partisia-enhanced .partisia-reading-panel { min-height:270px; }
  .partisia-reading-panel h3 { max-width:none; }
  .partisia-explanation { max-width:60ch; }
  .partisia-chapters .partisia-collection-link { display:none; }
  .partisia-chapters-inner { justify-content:space-between; }
  .partisia-story-heading { display:block; }
  .partisia-story-heading>p { margin-top:10px; }
  .partisia-section-head>p { max-width:23ch; }
}
@media(max-width:600px) {
  .partisia-opening { padding-top:12px; }
  .partisia-topline { font-size:.75rem; gap:14px; }
  .partisia-topline>span { font-size:.6875rem; text-align:right; max-width:21ch; }
  .partisia-intro { padding-top:24px; gap:18px; }
  .partisia-intro h1 { font-size:clamp(3rem,12vw,4rem); line-height:1.04; }
  .partisia-intro h1 em { display:block; }
  .partisia-intro-note>p { font-size:1rem; }
  .partisia-intro-note>a { font-size:.75rem; }
  .partisia-chapters-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .partisia-chapters a { justify-content:center; gap:6px; font-size:.6875rem; min-height:54px; }
  .partisia-chapters a>span { font-size:.5625rem; }
  .partisia-story { padding-block:28px 46px; }
  .partisia-story-heading { margin-bottom:22px; }
  .partisia-story-heading h2 { font-size:1.25rem; }
  .partisia-story-heading>p { font-size:.75rem; }
  .partisia-lenses button { padding:12px 8px; gap:8px; font-size:.75rem; min-height:58px; }
  .partisia-lenses button>span { font-size:.5625rem; }
  .partisia-lenses button i { display:none; }
  .partisia-chamber-top { padding-inline:0; font-size:.625rem; }
  .partisia-motion { font-size:.625rem; padding-inline:4px; }
  .signal-scene { margin-block:-8px; }
  .partisia-chamber figcaption { padding-inline:0; font-size:.75rem; }
  .partisia-chamber figcaption>span:first-child { font-size:.75rem; }
  .partisia-reading { padding-top:16px; }
  .partisia-reading-panel h3 { font-size:1.875rem; }
  .partisia-enhanced .partisia-reading-panel { min-height:320px; }
  .partisia-explanation { font-size:.875rem; margin-top:18px; }
  .partisia-principle { font-size:.75rem; margin-top:18px; }
  .partisia-note-quote { font-size:.75rem; margin-top:22px; }
  .partisia-note-quote>span { font-size:.625rem; }
  .partisia-work { padding-block:46px 50px; }
  .partisia-section-head { display:block; margin-bottom:26px; }
  .partisia-section-head>p { margin-top:12px; max-width:none; font-size:.8125rem; }
  .partisia-section-head .partisia-inline-link { margin-top:10px; }
  .partisia-main h2 { font-size:2rem; }
  .partisia-story-heading h2 { font-size:1.25rem; }
  .partisia-work-grid { grid-template-columns:1fr; gap:34px; }
  .partisia-artwork>a { padding:4px; }
  .partisia-artwork figcaption { font-size:.625rem; }
  .partisia-context dd { font-size:.8125rem; }
  .partisia-companions { padding-block:48px 52px; }
  .partisia-companion-grid { grid-template-columns:1fr; gap:34px; }
  .partisia-companion h3 { font-size:1.375rem; }
  .partisia-companion p { font-size:.8125rem; }
  .partisia-handoff { grid-template-columns:1fr; gap:32px; padding-block:48px; }
  .partisia-primary { padding-inline:14px; gap:15px; }
  .partisia-next { padding:18px 0 18px 22px; }
  .partisia-end { display:block; }
  .partisia-end>div { margin-top:12px; gap:22px; }
}
@media(max-width:360px) {
  .partisia-intro h1 { font-size:2.4rem; }
  .partisia-chapters a { font-size:.625rem; gap:4px; }
  .partisia-lenses button { padding-inline:6px; font-size:.6875rem; gap:6px; }
  .partisia-chamber-top>span { max-width:19ch; }
  .partisia-primary { font-size:.75rem; }
}
@media(max-width:900px) {
  html:not(.js-ready) .partisia-page .site-header { position:relative; height:auto; flex-wrap:wrap; }
  html:not(.js-ready) .partisia-page .site-header #main-nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; width:100%; max-height:none; gap:8px; padding:0; background:transparent; box-shadow:none; }
  html:not(.js-ready) .partisia-page .site-header #main-nav .nav-room { min-height:44px; padding:10px; }
  html:not(.js-ready) .partisia-page .site-header #main-nav .nav-note { display:none; }
  html:not(.js-ready) .partisia-page .partisia-chapters { top:0; }
}
html:not(.partisia-enhanced) .partisia-story-heading>p { display:none; }
@media(prefers-reduced-motion:reduce) {
  .partisia-chamber .signal-flow,.partisia-chamber .signal-core { animation:none; }
  .partisia-chamber .signal-world,.partisia-chamber .signal-links,.partisia-chamber .signal-branches,.partisia-companion img { transition:none; }
}
@media(forced-colors:active) {
  .partisia-lenses { border-color:CanvasText; }
  .partisia-lenses button[aria-selected=true] { outline:2px solid Highlight; outline-offset:-2px; }
  .signal-rim,.signal-inner,.signal-spire,.signal-link,.signal-branches { stroke:CanvasText; }
  .signal-flow { stroke:Highlight; }
  .partisia-artwork>a,.partisia-companion-image,.partisia-next { border-color:CanvasText; }
}
