/* A consistent reading scale; large display titles keep their original hierarchy. */
:root{--reading-size:clamp(18px,1.05vw,21px);--reading-color:#c2d0dc}
.prose,.prose p,.story-foot p,.sentence-copy .sentence-line:not(.lead),.story-topics .prose,.world-intro p,.world-step p,.play-grid p,.studio-description,.studio-story-copy p,.principle-lead,.principle-detail p,.chronicle-cover-copy>p,.chronicle-intro p,.inline-event .prose,.inline-event .prose p,.team-value>p,.single-person .person-biography,.archive-top p{font-size:var(--reading-size);line-height:1.85;color:var(--reading-color);word-break:keep-all}
.story-foot p{max-width:640px}.story-foot{grid-template-columns:1fr 2fr 1fr;gap:35px}
.sentence-copy .sentence-line.lead{font-size:clamp(24px,1.6vw,30px);line-height:1.6}.story-topics{gap:45px}
.fate-note,.four-endings>div>span,.fate-caption,.finale-promise{font-size:18px;line-height:1.8;color:#becddd}
.text-link,.light-link,.small-link,.finale-link,.studio-jump{font-size:16px}.small-note{font-size:14px}
.studio-motto,.studio-member dt,.studio-philosophy-heading>p,.studio-mark-caption{font-size:15px;line-height:1.8}.principle-detail>summary{font-size:16px}
.cast-summary{font-size:clamp(21px,1.4vw,27px);line-height:1.65}.cast-words blockquote{font-size:18px;line-height:1.85;color:#c0cbd0}.cast-affiliation{font-size:15px}.cast-read{font-size:16px}.cast-thumb span{font-size:12px}.cast-words{width:30%;right:5%}
.inline-event .event-date,.inline-era summary small{font-size:15px}.chronicle-expanded-footer{font-size:16px}
#detail-dialog .prose,#detail-dialog .prose p,.world-order-dialog .world-record-body p{font-size:18px;line-height:1.9;color:#c0ced8}.world-order-dialog .world-record-body p:first-child{font-size:21px}.world-record-tabs button,.world-record-bottom button{font-size:15px}.world-record-tabs{gap:22px}.world-record-reader{padding:32px 36px}.world-record-layout{min-height:610px}
.cast-words{left:auto}
@media(min-width:701px) and (max-height:800px){.cast-words{top:112px;bottom:124px;overflow-y:auto;scrollbar-width:thin}.cast-words h2{font-size:clamp(46px,5vw,72px);margin-top:6px}.cast-roman{margin-bottom:12px}.cast-divider{margin:12px 0 16px}.cast-words .cast-summary{font-size:18px;line-height:1.6}.cast-words blockquote{font-size:15px;line-height:1.7;margin:16px 0}.cast-read{padding-block:6px}}
.lore-explorer{overflow-anchor:none}
/* Four perspectives use the same floating archive treatment; no portrait layer. */
.lore-stage{height:clamp(740px,48vw,880px)}
.lore-overview-copy{left:68%;right:3%;top:24%}.lore-overview-copy>p{font-size:18px;line-height:1.9;color:#beced6}.lore-instruction{font-size:13px;line-height:1.8}.lore-overview-copy .eyebrow{font-size:12px}.lore-map-caption{font-size:12px;left:30px;bottom:27px}
.city-webgl{width:73%;top:68px;height:calc(100% - 98px)}.city-marker-layer .lore-beacon>span{font-size:14px;padding:11px 15px;letter-spacing:0;background:#081925e6;border-color:#9ab6bc77;box-shadow:0 8px 26px #0007}.city-marker-layer .lore-beacon{gap:7px}.city-marker-layer .lore-beacon>b{font-size:13px}
.lore-toolbar{height:70px}.lore-map-return{font-size:16px}.lore-map-return small{font-size:10px}.lore-fullscreen span,.lore-status{font-size:11px}
.lore-tab b{font-size:17px}.lore-tab small{font-size:9px;line-height:1.5}.lore-tab{min-height:100px}.lore-pager>span{font-size:13px}
.lore-record-nav{grid-template-columns:230px 1fr;padding-block:21px}.lore-record-nav>span{font-size:16px}.lore-record-nav button>b{font-size:16px}.lore-record-nav button>small{font-size:11px}.lore-record-nav>span>small{font-size:9px}
.faction-copy{top:108px;left:5%;width:44%;max-width:670px}.faction-id{font-size:12px;margin-bottom:24px}.faction-en{font-size:12px}.faction-copy h3{font-size:clamp(44px,4vw,72px);margin:14px 0 25px}.faction-lead{font-size:clamp(23px,1.65vw,30px);line-height:1.6;margin-bottom:25px}.faction-body{font-size:18px;line-height:1.85;color:#c0ced7;max-width:610px;margin-bottom:24px}.faction-tags{margin-bottom:22px;gap:8px}.faction-tags li{font-size:13px;padding:7px 10px}.faction-actions{gap:4px 25px}.faction-actions .faction-read{font-size:16px;line-height:1.65;gap:20px}.faction-copy>.lore-seal{display:none}.faction-location{font-size:14px;bottom:32px}
.faction-panel:after{background:linear-gradient(90deg,#071624f2 0%,#071624d9 35%,#07162440 64%,transparent),linear-gradient(0deg,#06141de8,transparent 25%,transparent 80%,#07152060)}
.faction-orbit{width:42%;left:51%;top:14%;opacity:.55}
.faction-record-panel{position:absolute;z-index:2;left:57%;top:22%;width:35%;height:57%;max-height:490px;border:1px solid color-mix(in srgb,var(--faction) 48%,transparent);background:linear-gradient(145deg,#152b3d77,#0d162e44);backdrop-filter:blur(6px);box-shadow:0 20px 60px #02081440,inset 0 0 75px color-mix(in srgb,var(--faction) 5%,transparent);color:var(--faction);transform:perspective(1100px) rotateY(-13deg) translate(calc(var(--depth-x)*22px),calc(var(--depth-y)*12px));transition:transform .7s ease-out;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate}
.faction-record-panel:before{content:'';position:absolute;inset:11px;border:1px solid color-mix(in srgb,var(--faction) 18%,transparent);pointer-events:none}
.record-kicker{font-size:14px;letter-spacing:.4em;margin-bottom:27px}.record-emblem{width:145px;height:145px;position:relative;display:grid;place-items:center;margin-bottom:22px}.record-emblem>b{font:400 87px/1 GilBrush,Georgia,serif;color:var(--faction);text-shadow:0 0 32px color-mix(in srgb,var(--faction) 30%,transparent)}.record-emblem>i{position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--faction) 42%,transparent);border-radius:50%;animation:recordOrbit 30s linear infinite paused}.record-emblem>i:after{content:'';position:absolute;top:-3px;left:50%;height:5px;width:5px;background:var(--faction);transform:rotate(45deg);box-shadow:0 0 13px var(--faction)}.record-emblem>i+i{inset:10px;border-style:dashed;opacity:.5;animation-direction:reverse;animation-duration:40s}
.faction-record-panel>p{font-size:clamp(20px,1.8vw,30px);line-height:1.5;letter-spacing:.03em;margin:0 16px 18px;text-align:center;color:#e0e2dc}.faction-record-panel>small{font-size:11px;letter-spacing:.14em;text-align:center}.faction-record-panel>.record-meta{font-size:14px;letter-spacing:.06em;margin-top:29px;color:#c2ccd0}.record-frame{position:absolute;inset:-12px;border:1px solid color-mix(in srgb,var(--faction) 12%,transparent)}.record-scan{position:absolute;top:8%;left:5%;width:90%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--faction) 65%,transparent),transparent);box-shadow:0 0 17px color-mix(in srgb,var(--faction) 25%,transparent);animation:recordScan 7s ease-in-out infinite paused;opacity:0}
.lore-running .faction-panel.is-selected .record-emblem>i,.lore-running .faction-panel.is-selected .record-scan{animation-play-state:running}
.is-switching .faction-panel.is-selected .faction-record-panel{animation:recordArrival .95s ease-out both}
.unregistered-record>span{font-size:15px}.unregistered-record>b{font-size:64px}.unregistered-record>p{font-size:30px}.unregistered-record>small{font-size:12px}
@keyframes recordOrbit{to{rotate:360deg}}@keyframes recordScan{0%,100%{top:8%;opacity:0}15%,65%{opacity:.65}85%{top:92%;opacity:0}}@keyframes recordArrival{from{opacity:0;translate:30px 12px;filter:blur(8px)}to{opacity:1;translate:0 0;filter:none}}
.motion-paused .faction-record-panel *,.page-hidden .faction-record-panel *{animation-play-state:paused!important}
@media(max-width:1100px) and (min-width:701px){.lore-stage{height:790px}.faction-copy{top:108px;width:46%;left:4%}.faction-body{font-size:17px}.faction-lead{font-size:22px}.faction-record-panel{left:56%;width:37%;height:49%;top:25%}.faction-actions .faction-read{font-size:15px}.lore-record-nav{grid-template-columns:175px 1fr}.lore-record-nav button>b{font-size:14px}.lore-record-nav>span{font-size:14px}.lore-overview-copy h3{font-size:38px}.lore-overview-copy>p{font-size:17px}.city-marker-layer .lore-beacon>span{font-size:12px}.cast-words blockquote{font-size:16px}.cast-summary{font-size:20px}}
@media(max-width:700px){
 :root{--reading-size:16px}.small-note,.small-link{font-size:13px}.text-link,.light-link,.studio-jump,.finale-link{font-size:15px}.story-foot{display:block}.story-foot>.mono{display:block;margin-bottom:25px}.story-foot .text-link{margin-top:24px}.sentence-copy .sentence-line.lead{font-size:22px}.story-topics{gap:32px}.fate-note,.four-endings>div>span,.fate-caption,.finale-promise{font-size:16px}.studio-description,.studio-story-copy p,.principle-lead,.principle-detail p{font-size:16px}.studio-motto,.studio-member dt,.studio-mark-caption{font-size:13px}.studio-philosophy-heading>p{font-size:15px}.cast-words{width:auto;right:7%}.cast-summary{font-size:19px}.cast-words blockquote{font-size:16px}.cast-affiliation{font-size:13px}.cast-read{font-size:15px}.cast-home{min-height:1020px}.cast-bottom{bottom:25px}.inline-event .event-date,.inline-era summary small{font-size:13px}.chronicle-expanded-footer{font-size:14px}
 #detail-dialog .prose,#detail-dialog .prose p,.world-order-dialog .world-record-body p{font-size:16px;line-height:1.85}.world-order-dialog .world-record-body p:first-child{font-size:18px}.world-record-tabs{gap:14px;flex-wrap:wrap}.world-record-tabs button,.world-record-bottom button{font-size:14px}.world-record-reader{padding:24px 22px}.world-record-layout{min-height:0}
 .lore-explorer[data-view=overview] .lore-stage{height:880px}.lore-stage{height:auto;min-height:1020px}.faction-panel.is-selected{position:relative;min-height:1020px}.faction-copy{position:relative;left:0;top:0;width:100%;max-width:none;padding:435px 26px 75px}.faction-id{font-size:11px;margin-bottom:18px}.faction-en{font-size:11px}.faction-copy h3{font-size:40px;margin:12px 0 23px;padding-right:0}.faction-lead{font-size:22px;margin-bottom:23px}.faction-body{font-size:16px;line-height:1.85;margin-bottom:24px}.faction-tags li{font-size:12px}.faction-tags{margin-bottom:20px}.faction-actions .faction-read{font-size:15px;padding:8px 0}.faction-actions{gap:8px 23px}.faction-location{font-size:12px;left:26px;top:auto;bottom:25px}.faction-panel:after{background:linear-gradient(0deg,#071624 0%,#071624e8 52%,#07162455 72%,#07162422)}.faction-orbit{width:72%;left:14%;top:9%}
 .faction-record-panel{top:92px;left:12%;width:76%;height:285px;max-height:none;transform:perspective(800px) rotateY(-10deg)}.record-kicker{font-size:11px;letter-spacing:.25em;margin-bottom:15px}.record-emblem{width:97px;height:97px;margin-bottom:16px}.record-emblem>b{font-size:64px}.faction-record-panel>p{font-size:20px;margin-bottom:11px}.faction-record-panel>small{font-size:9px;letter-spacing:.1em}.faction-record-panel>.record-meta{font-size:12px;margin-top:17px}.unregistered-record>span{font-size:12px}.unregistered-record>b{font-size:52px}.unregistered-record>p{font-size:25px}.unregistered-record>small{font-size:10px}
 .lore-overview-copy{top:96px;left:8%;right:8%}.lore-overview-copy h3{font-size:40px}.lore-overview-copy>p{font-size:17px}.lore-instruction{font-size:12px;margin-top:22px}.city-webgl{top:413px;left:-10%;width:120%;height:410px}.city-marker-layer .lore-beacon>span{font-size:10px;padding:8px}.lore-map-caption{font-size:10px;left:21px;right:21px;bottom:20px}.lore-toolbar{height:65px;padding-inline:18px}.lore-map-return{font-size:14px}.lore-map-return small{font-size:8px}.lore-fullscreen span{font-size:11px}.lore-tab{min-height:90px}.lore-tab b{font-size:16px}.lore-tab small{font-size:8px}.lore-pager>span{font-size:13px}.lore-record-nav{padding:24px 20px}.lore-record-nav>span{font-size:16px;display:block}.lore-record-nav>span>small{font-size:9px;margin-top:7px}.lore-record-nav button>b{font-size:15px}.lore-record-nav button>small{font-size:10px}.lore-record-nav>div{gap:12px 18px}.lore-explorer:fullscreen .lore-stage{min-height:1020px}.lore-explorer:fullscreen[data-view=overview] .lore-stage{min-height:880px}
}
@media(max-width:700px){.cast-home{height:1130px;min-height:1130px;max-height:none}.cast-words{left:24px;right:24px;top:660px}.cast-world{top:165px;height:420px}.cast-scene[data-person] .cast-figure{top:125px;height:430px}.cast-chooser{top:545px}.cast-kicker{top:90px}}
@media(prefers-reduced-motion:reduce){html:not(.site-motion-on) .faction-record-panel,html:not(.site-motion-on) .faction-record-panel *{animation:none!important}}
