/* Reuse the original painted landscape throughout the game, beneath readable surfaces. */
:root{--scene-shade:#0d211bea;--scene-glow:#c8ab7120}
.tab.active,.modalBox,.setupBox form,.guideContent,.onlineBar,.cityHeading{position:relative;isolation:isolate}
.tab.active:before,.modalBox:before,.setupBox form:before,.guideContent:before,.onlineBar:before,.cityHeading:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(125deg,var(--scene-shade),#16231bc9),url('assets/chronicle.webp');background-size:cover;background-position:45% 50%;animation:paintedAtmosphere 35s ease-in-out infinite alternate;opacity:.85;border-radius:inherit}
@keyframes paintedAtmosphere{from{background-position:45% 50%;opacity:.68}to{background-position:56% 53%;opacity:.95}}
.tab.active:after,.modalBox:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 15%,var(--scene-glow),transparent 60%);animation:paintedGlow 18s ease-in-out infinite alternate;border-radius:inherit}
@keyframes paintedGlow{from{opacity:.25}to{opacity:.8}}
#tab-character #left{background:transparent}#tab-chronicle .chronicleLog{background:#11251bc2}.modalBox{background-color:#14231c}.modalBox #modalBody{position:relative;z-index:1}.modalBox #modalClose{z-index:5}.modalBox:has(.helpGuide){background:#14251c}.guideContent{background:#14251b70}.guideFooter{background:#102019ed}.guideNav{background:#102119ed}
#tab-inventory:before{background-position:64% 55%}#tab-market:before{background-position:35% 62%}#tab-develop:before{background-position:75% 45%}#tab-factions:before{background-position:30% 40%}#tab-quest:before,#tab-chronicle:before{background-position:60% 35%}
#top,.chronicleBar,footer{background-image:linear-gradient(90deg,#0f201bf2,#263027ee),url('assets/chronicle.webp');background-size:cover;background-position:center 60%}.onlineBar{background:#182d26}.onlineBar:before{opacity:.75}.roomPlayers article{background:#203526ed}.roomHeader{box-shadow:inset 0 0 30px #07120b77}.setupBox form{background:#14271bf0}.setupBox form>input,.setupBox form>select{background:#11231fee}.setupBox{overflow:hidden}
.skillCard,.factionCard,.resourceSheet,.storyCard,.journalEntry>div,.questStep>div,.devItem,.crimeItem{backdrop-filter:blur(3px)}.tabInner>p,.guideContent>p{color:#d1d7c4}.guideStep,.resourceSheet{background-color:#172d20f2}.combatLog{background:#10231cde;border:1px solid #786847;padding:13px;border-radius:4px}.intent{background:#3b3126f0}
.no-motion .tab.active:before,.no-motion .tab.active:after,.no-motion .modalBox:before,.no-motion .modalBox:after,.no-motion .setupBox form:before,.no-motion .guideContent:before,.no-motion .onlineBar:before,.no-motion .cityHeading:before{animation:none!important}
@media(prefers-reduced-motion:reduce){.tab.active:before,.tab.active:after,.modalBox:before,.modalBox:after,.setupBox form:before,.guideContent:before,.onlineBar:before,.cityHeading:before{animation:none!important}}

/* Illustrated dialog stage: artwork remains visible outside and inside the card. */
#modal,.setupOverlay{
 isolation:isolate;
 background:#142019;
 backdrop-filter:none;
}
#modal::before,.setupOverlay::before{
 content:'';position:fixed;inset:-3%;z-index:-2;pointer-events:none;
 background:linear-gradient(90deg,#101e2240,#151e1738),url('assets/chronicle.webp') center 48%/cover no-repeat;
 animation:dialogLandscape 32s ease-in-out infinite alternate;
}
#modal::after,.setupOverlay::after{
 content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 20% 15%,#e4bc6540,transparent 58%),linear-gradient(0deg,#101c216e,transparent 65%);
 animation:dialogLight 14s ease-in-out infinite alternate;
}
@keyframes dialogLandscape{from{transform:scale(1) translateX(-.5%)}to{transform:scale(1.035) translateX(.5%)}}
@keyframes dialogLight{from{opacity:.45}to{opacity:1}}
#modal .modalBox{
 --dialog-tint:#192b24;--dialog-edge:#d5b579;
 background:var(--dialog-tint);border:1px solid var(--dialog-edge);border-radius:12px;
 box-shadow:0 22px 70px #08100fcc,inset 0 0 0 4px #e0bc6414;
}
#modal .modalBox::before{
 z-index:0;
 background-image:linear-gradient(105deg,#12251be0 5%,#172c20bb 65%,#1b2c218c),url('assets/chronicle.webp');
 background-size:cover;background-position:65% 46%;opacity:1;
 animation:dialogPaper 28s ease-in-out infinite alternate;
}
#modal .modalBox::after{
 z-index:0;background:radial-gradient(ellipse at 95% 0%,#d2a25740,transparent 65%);
}
@keyframes dialogPaper{from{background-position:65% 46%}to{background-position:74% 50%}}
#modal .modalBox:has(.combatGrid){--dialog-tint:#322620;--dialog-edge:#ca8c69}
#modal .modalBox:has(.combatGrid)::before{
 background-image:linear-gradient(105deg,#301d19ee,#39271cd1 65%,#442b219c),url('assets/chronicle.webp');
 background-position:15% 60%;
}
#modal .modalBox:has(.itemDetail)::before{background-position:35% 70%}
#modalBody>p{color:#f0eadb;background:#15241bc2;padding:12px 15px;border-left:2px solid #b49c67;border-radius:0 6px 6px 0}
#modalBody>p.hint{color:#d5d5c3;font-size:.875rem}
#modalBody>.npcHead,#modalBody>.itemDetail,.roomHeader{
 padding:20px;border:1px solid #bc9c635e;border-radius:8px;
 background:linear-gradient(90deg,#15271dec 15%,#172a22b3 68%,#1b2e236b),url('assets/chronicle.webp') 80% 42%/cover;
 box-shadow:inset 0 1px #e8cc8c30,0 8px 24px #09171045;
}
#modalBody .npcHead .portrait{width:110px;height:140px;border:2px solid #d7b57b;border-radius:7px;box-shadow:0 7px 20px #07151199}
#modalBody .npcHead p,#modalBody .itemDetail p{color:#e5e5d4}
#modalBody .fighter{background:linear-gradient(100deg,#17271fe8,#17271f91),url('assets/chronicle.webp') 65% 55%/cover;border-radius:8px}
#modalBody .fighter.enemy{background:linear-gradient(100deg,#38241feb,#38241fa1),url('assets/chronicle.webp') 15% 60%/cover}
#modalBody .dialogChoices button,#modalBody .techniques button{background-image:linear-gradient(110deg,#2c3b2cee,#23352fe3),url('assets/chronicle.webp');background-size:cover;background-position:center;border-color:#aa956a}
#modalBody .dialogChoices button.primary{background-image:linear-gradient(110deg,#944332ed,#632d25e8),url('assets/chronicle.webp')}
#modalBody .dialogChoices button:hover:not(:disabled),#modalBody .techniques button:hover:not(:disabled){border-color:#f2ce8d;box-shadow:inset 0 0 22px #e7bd6821}
#modalClose{background:#14231deb!important;border:1px solid #c9ab72!important;border-radius:50%;width:36px;height:36px;color:#ffedc7!important}
#modalBody .roster,#modalBody .partyHistory article,#modalBody .roomPlayers article{background-image:linear-gradient(110deg,#172a23ed,#172a23ba),url('assets/chronicle.webp');background-size:cover}
@media(max-width:680px){
 #modalBody>.npcHead,#modalBody>.itemDetail,.roomHeader{padding:14px}
 #modalBody .npcHead .portrait{width:76px;height:104px}
 #modal .modalBox{border-radius:9px}
}
body.no-motion #modal::before,body.no-motion #modal::after,body.no-motion .setupOverlay::before,body.no-motion .setupOverlay::after{animation:none!important}
@media(prefers-reduced-motion:reduce){#modal::before,#modal::after,.setupOverlay::before,.setupOverlay::after,#modal .modalBox::before{animation:none!important}}
