/* Smocza Twierdza 0.38 — weathered gold, carved slate and living runes. */
@font-face{font-family:CitadelDisplay;src:url('fonts/CinzelDecorative-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:CitadelTitles;src:url('fonts/Cinzel[wght].ttf') format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:CitadelText;src:url('fonts/AlegreyaSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:CitadelText;src:url('fonts/AlegreyaSans-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--display:CitadelTitles,DragonLora,serif;--ornament:CitadelDisplay,CitadelTitles,serif;--reading:CitadelText,DragonLora,serif;--gold:#e6c586;--trim:#b88e4d;--line:#b2966452;--muted:#b3bfc6;--stone:#111b25;--ink:#080e16}
html,body{font-family:var(--reading);color:#eee7d9}button,input,select,textarea{font-family:var(--reading)}
#home{background:radial-gradient(ellipse at 85% 0%,#604f3021,transparent 55%),linear-gradient(110deg,#080d16f5,#0b1720ec 56%,#080e16f7),url(citadel-panorama-v38.png) center/cover fixed;scrollbar-color:#8a724b #0c1620}
#menu{padding-bottom:12px}#menu h1,#overlay h1{font-family:var(--ornament);font-weight:400;letter-spacing:.005em;line-height:1.22;text-shadow:0 2px 3px #000,0 0 30px #c48a2726}
#menu h2,#menu h3,#overlay h2,#overlay h3,.portrait-caption b,.chamber-doors b,.chamber-skill-grid b{font-family:var(--display);font-weight:600;letter-spacing:.015em;line-height:1.3}
#menu p,.desc{font-family:var(--reading);font-size:15px;line-height:1.55}.eyebrow{font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.18em;color:#ccb17d}.muted{font-family:var(--reading);color:#acbdc6;font-size:12px}
#menu .topline{position:sticky;top:0;z-index:18;border-radius:3px;border:1px solid #ae895547;background:linear-gradient(105deg,#152330fa,#0b1420fc 65%,#221e19fa);box-shadow:0 8px 26px #0008,inset 0 1px #f2d09121;backdrop-filter:none;padding:12px 16px;gap:12px;margin-bottom:24px}
.topline:after{content:'';position:absolute;left:17%;right:17%;height:1px;bottom:-1px;background:linear-gradient(90deg,transparent,#e6c586,transparent);pointer-events:none}.brand{min-width:0}.brand .eyebrow{font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.11em}.brand .muted{font-family:var(--reading);font-size:9px;letter-spacing:.12em;margin-top:3px}.citadel-crest{width:37px;height:44px;display:block;flex-shrink:0}.citadel-crest svg{width:100%;height:100%;fill:#d1a96b16;stroke:#e6c586;stroke-width:1.2}.citadel-crest .crest-flame{fill:#d7b27088}
.wallet{border:0;border-inline:1px solid #b5965b50;border-radius:0;padding:4px 18px;background:transparent;gap:24px}.wallet small{font-family:var(--display);font-size:8px;font-weight:600;letter-spacing:.12em}.wallet b{font-family:var(--display);font-size:19px;font-weight:600}.wallet span+span{color:#9bd3da}.system-entry{font-family:var(--display);letter-spacing:.07em;font-size:10px;background:#182631;border-color:#8d794b66;border-radius:3px}
#home button:not(.room-pin):not(.chamber-portrait):not(.chamber-loot):not(.map){transition:background-color .2s,border-color .2s,box-shadow .2s,filter .2s}
#home button:focus-visible,#overlay button:focus-visible,.nav button:focus-visible{outline:2px solid #fff1ba;outline-offset:3px}
#home button.primary,#overlay button.primary{background:linear-gradient(110deg,#624925,#9b7238 50%,#5a3e21);border-color:#c7a467;border-radius:3px;box-shadow:inset 0 0 0 3px #0b0a081e,inset 0 1px #ffe7b24a,0 5px 14px #0005;color:#fff0cd;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.05em;text-shadow:0 1px 3px #251300}
#home button.ornate,#overlay button.ornate{border:1px solid #be9a5b;border-radius:3px;min-height:54px;padding:16px 24px;background:linear-gradient(105deg,#352b1d,#554225 50%,#2a241c);box-shadow:inset 0 0 0 3px #060a0c88,inset 0 0 0 4px #bda1663d;letter-spacing:.07em;font-family:var(--display);font-size:12px}
#home button.ornate.primary,#overlay button.ornate.primary{background:linear-gradient(110deg,#624321,#a87a39,#60411e);min-height:62px;box-shadow:inset 0 0 0 3px #261b1399,inset 0 0 0 4px #e9ce9059,0 6px 22px #0006}
#home button:disabled,#overlay button:disabled{opacity:.44;filter:saturate(.4)}#home button.sel{border-color:#d9b978;background-color:#302c25}
.panel,.chamber-bag,.chamber-skills,.training-card,.chamber-party,.chamber-content .training-panel{border:1px solid #9d83534d;border-radius:4px;background:radial-gradient(ellipse at 0 0,#5b482329,transparent 65%),linear-gradient(125deg,#18232eea,#0c1520f5);box-shadow:inset 0 0 0 4px #050d1644,inset 0 1px #ffe5a614,0 14px 30px #0004}
.panel:after,.build-sheet:after{opacity:.65;inset:7px}.panel h3{color:#e1c794}.page-heading,.chambers-title,.fortress-heading{padding-bottom:18px;border-bottom:1px solid #b693523d;position:relative;margin:25px 0 20px}.page-heading:after,.chambers-title:after,.fortress-heading:after{content:'◆';position:absolute;bottom:-7px;left:0;font-size:11px;color:#b99253;background:#0c1520;padding-right:12px}.page-heading h1,.chambers-title h1,.fortress-heading h1{font-size:clamp(27px,3.1vw,43px);margin:7px 0 0}.pill{font-family:var(--display);background:#2236356b;color:#c8dfd0;border-color:#b1ad724d;border-radius:2px;font-size:9px;font-weight:600;white-space:normal;line-height:1.6}
.nav{background:linear-gradient(#18232bf7,#090f18fd);border-color:#bd965b88;box-shadow:0 -5px 30px #0009,inset 0 1px #eddbac1c;gap:2px}.nav button{position:relative;font-family:var(--display);font-size:10px;letter-spacing:.05em;font-weight:600;color:#b6b6ae;min-width:0}.nav button:before{content:'';position:absolute;inset:8px auto 8px 0;width:1px;background:linear-gradient(transparent,#ae956a44,transparent)}.nav button.sel{background:radial-gradient(ellipse at 50% 100%,#b6924e33,transparent 75%);color:#ffe1a3;box-shadow:inset 0 -2px #dbb976}.nav button.sel:after{content:'◆';position:absolute;bottom:0;left:calc(50% - 4px);font-size:8px;color:#ffe9b7}.nav .art-icon{filter:saturate(.75) drop-shadow(0 3px 4px #000)}.nav button.sel .art-icon{filter:saturate(1.1) drop-shadow(0 0 7px #ddba6944)}
/* Panorama and expedition cards */
.hero{border-radius:5px;border-color:#b29762aa;box-shadow:0 20px 50px #0008,inset 0 0 0 5px #0004;height:390px}.castle-art{background-image:url(citadel-panorama-v38.png);background-position:65% center}.hero:after{background:linear-gradient(90deg,#07111bc4,transparent 98%),linear-gradient(0deg,#09101a,transparent 70%);pointer-events:none}.hero-copy{left:26px;bottom:88px;right:20px}.hero-copy h1{font-size:clamp(31px,4vw,49px)}#menu .hero-copy p{font-size:15px;line-height:1.55;color:#d2d9d6;max-width:280px}.hero>.tag{font-family:var(--display);font-size:8px;letter-spacing:.12em;background:#0d1a23c9;top:20px;left:25px;border-radius:1px;border-color:#b7985b88}.hero-stats{background:#09131bd6;padding:20px 10px;font-family:var(--display);font-size:9px;border-color:#c6a5664d}.hero-stats b{font-family:var(--display);font-size:20px}.expedition-config{padding:0 4px}.map{height:145px;border-radius:3px;border-color:#a286514d;box-shadow:inset 0 0 0 3px #09111a55}.map:after{background:linear-gradient(0deg,#06111c 3%,#0a172797 55%,transparent 95%);pointer-events:none}.map.sel{border:1px solid #f1ce89;box-shadow:0 0 0 2px #bd965633,0 0 20px #b3923322}.map h3{font-size:16px!important;line-height:1.3}.map small{font-family:var(--reading);font-size:12px;color:#ccd6d3}.map-index{font-family:var(--display);color:#ffe6ac}.map-check{color:#f4d490;text-shadow:0 0 12px #e8bb55}.diffs button{border-radius:3px;font-family:var(--display);font-size:10px}.diffs small{font-family:var(--reading);font-size:10px}.roster-strip{border-radius:3px;border-color:#a48b5144;background:#101d25d9}.roster-item b{font-family:var(--display);font-size:13px}.roster-item small{font-size:10px}.mechanic-note{border-color:#ba9a61;background:linear-gradient(90deg,#59432829,transparent)}.mechanic-note b{font-family:var(--display);font-size:13px}.mechanic-note p{font-size:13px!important}
/* Citadel map: retain exact building positions and drag scrolling. */
.citadel-scroll{border-radius:5px;border-color:#b79b6999;padding:5px;background:#070e16;box-shadow:0 20px 40px #0007,inset 0 0 0 1px #d4b67526}.citadel-diorama{isolation:isolate;border-radius:1px}.citadel-background{filter:saturate(.78) contrast(1.08)}.citadel-shimmer{background:radial-gradient(ellipse at 52% 70%,#86d6df22,transparent 60%);animation:citadelGlow 8s ease-in-out infinite}.citadel-level{border-radius:1px;background:#081622db;border-color:#b89b60;font-family:var(--display);font-size:10px}.room-pin .pin-mark{transform:none;border-radius:50%;width:32px;height:32px;font-family:var(--display);font-size:13px;background:radial-gradient(circle,#334948,#101c28);box-shadow:0 2px 6px #000b,inset 0 0 0 3px #0e1825}.room-pin.selected .pin-mark{background:radial-gradient(circle,#7c5a2b,#252723);color:#fff2c1;box-shadow:0 0 0 4px #ffcd6a24,0 0 24px #ffd27666,inset 0 0 0 3px #443723}.pin-label{font-family:var(--reading);font-size:11px;font-weight:700;letter-spacing:.025em;line-height:1.2;border-radius:2px;padding:4px 7px;background:#07121dea}.room-pin.selected .pin-label{background:#322e24;border-color:#e8c98d}.room-menu{gap:10px;margin:18px 0}.room-menu button{position:relative;isolation:isolate;overflow:hidden;min-height:96px;border-radius:3px;padding:13px;border-color:#b4945b4d;background:#0b1724}.room-menu button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071320f2,#0b1928b8),var(--room-art) var(--room-position,center)/350%;opacity:.95;transition:opacity .3s}.room-menu button[data-room^=chamber]:before{background-size:cover}.room-menu button.sel{border-color:#d9b476;box-shadow:inset 3px 0 #d9b476,0 0 20px #b9872022}.room-menu button.sel:before{opacity:.6}.room-menu .art-icon{width:38px;height:38px}.room-menu b{font-family:var(--display);font-size:12px;line-height:1.4;font-weight:600}.room-menu small{font-family:var(--reading);font-size:12px;color:#bac8cc;line-height:1.3}.room-menu .future{opacity:.5}.room-detail{padding:24px;overflow:hidden}.room-heading{padding-bottom:18px;border-bottom:1px solid #ac91523a;gap:11px}.room-heading .building-icon{width:58px;height:58px}.room-heading h2{font-family:var(--display);font-size:22px}.room-detail .desc{font-size:15px!important;line-height:1.7}.room-bonus{color:#a9ddd0;font-family:var(--display);font-size:14px;padding:18px 0}.level-pips{gap:5px;margin:15px 0}.level-pips i{height:6px;background:#293747;border:1px solid #6d665335}.level-pips i.on{background:linear-gradient(90deg,#8b6834,#e0c48c)}.citadel-summary b{font-family:var(--display);font-weight:500;color:#e5c989}.citadel-summary span{font-size:14px}.citadel-hint{font-size:13px!important;color:#c0c4b7}.castle-chamber-card{border-radius:4px;box-shadow:inset 0 0 0 5px #07121b66}
/* Heroines: framed portraits, illuminated room and meaningful rarity. */
.chamber-roster{gap:12px;max-width:none!important}.chamber-portrait{border-radius:3px;border-color:#a38a5e77;box-shadow:inset 0 0 0 4px #060d19a0;height:175px}.chamber-portrait.sel{border-width:1px;border-color:var(--hero-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--hero-color) 16%,transparent),0 6px 22px #0007}.chamber-portrait .hero-face{transition:transform .6s;transform:scale(1.025)}.chamber-portrait.sel .hero-face{transform:scale(1.08)}.chamber-portrait:after{background:linear-gradient(0deg,#07101bee 4%,#09152777 32%,transparent 65%);box-shadow:inset 0 0 0 4px #050b1677,inset 0 0 0 5px #d5b97529}.portrait-caption{left:13px;bottom:13px}.portrait-caption b{font-size:22px;letter-spacing:.025em}.portrait-caption small{font-family:var(--reading);font-size:12px;margin-top:4px}.chamber-party{padding:12px 15px;gap:18px}.chamber-party>span:first-child{font-family:var(--display);font-size:9px}.chamber-party>button{font-family:var(--display);font-size:13px;line-height:1.4}.chamber-party small{font-family:var(--reading);font-size:11px}.chamber-party .hero-face{border-radius:2px;border-color:#b1a47c88;width:35px;height:47px}.party-empty{color:#bdaf8f}.chamber-tabs{border-block:1px solid #bba0643d;padding:4px 0;gap:4px}.chamber-tabs button{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.02em;border-radius:0;position:relative;padding:12px 5px;min-height:48px}.chamber-tabs .sel{background:linear-gradient(0deg,#9e854529,transparent);color:#ffdea2;box-shadow:inset 0 -2px #ceb075}.chamber-tabs .sel:after{content:'◆';font-size:8px;position:absolute;bottom:-5px;left:calc(50% - 4px);color:#e4c484}
.chamber-stage{border-radius:5px;border-color:#bea16c99;box-shadow:inset 0 0 0 5px #03081066,0 15px 40px #0006;background-color:#09111b}.chamber-stage:before{content:'';position:absolute;inset:7px;z-index:4;pointer-events:none;border:1px solid #d9bd822c;clip-path:polygon(0 0,22% 0,22% 1%,1% 1%,1% 14%,0 14%,0 100%,22% 100%,22% 99%,1% 99%,1% 86%,0 86%,100% 86%,99% 86%,99% 99%,78% 99%,78% 100%,100% 100%,100% 0,78% 0,78% 1%,99% 1%,99% 14%,100% 14%)}.chamber-heading{top:28px;left:27px}.chamber-heading h1{font-family:var(--ornament)!important;font-size:clamp(37px,5.5vw,62px);font-weight:400;color:#ffe8b5;line-height:1.2}.chamber-heading h2{font-size:20px!important;font-family:var(--display);max-width:360px}.chamber-heading>span{font-family:var(--reading);font-size:15px;color:var(--hero-color)}.chamber-heading .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:8px}.chamber-stage-bottom{border-color:#c5a66a66;background:linear-gradient(90deg,#091521f5,#15212aee,#091521f5)}.chamber-stats b{font-family:var(--display);font-weight:500;font-size:23px}.chamber-stats small{font-family:var(--display);font-size:8px;letter-spacing:.06em;color:#bebda9}.chamber-turn{border:1px solid #c0a57299;box-shadow:inset 0 0 0 3px #132231,0 4px 18px #0007;color:#ffe3b0}.chamber-description{font-size:16px!important;padding:4px 12px 4px 16px;border-left:2px solid #b8975d88;color:#c1cbd0}.chamber-doors button{border-radius:4px;border-color:#ae8d5666;min-height:128px;background-image:linear-gradient(90deg,#07111def,#0a18287a),var(--chamber-image);box-shadow:inset 0 0 0 4px #07101e50}.chamber-doors small{font-family:var(--display);letter-spacing:.1em;font-size:8px}.chamber-doors b{font-size:19px;line-height:1.4}.chamber-bag h2{font-size:26px}.chamber-bag select{font-size:14px;border-radius:3px;border-color:#a38a584d;background:#091521;padding:10px}.bag-scope{border-radius:3px;border-color:#aa915b4d;padding:4px;background:#080f19}.bag-scope button{font-family:var(--reading);font-size:14px}.bag-scope button.sel{background:#53452a66;color:#ffdfa4}.chamber-bag-actions button{font-size:10px!important;line-height:1.6}.chamber-secondary button{font-family:var(--reading);font-size:12px;line-height:1.4;border-color:#a0875744;background:#18232e;border-radius:3px}.chamber-loot-grid{gap:11px}.chamber-loot,.chamber-gear button{border-radius:4px;border:1px solid var(--rarity);background:radial-gradient(ellipse at 50% 25%,var(--rarity-top),var(--rarity-base) 82%);box-shadow:inset 0 0 0 3px #03081288,0 3px 10px #0007;isolation:isolate}.chamber-loot:after,.chamber-gear button:after{content:'';position:absolute;inset:4px;pointer-events:none;border:1px solid color-mix(in srgb,var(--rarity) 42%,transparent);border-radius:2px;z-index:3}.painted-item{border-radius:2px;filter:contrast(1.06) saturate(1.07);transition:filter .25s}.chamber-loot>.painted-item{position:relative;z-index:1}.chamber-loot>b{background:#07101bdf;border:1px solid #bda16a4d;font-family:var(--reading);font-weight:700;font-size:12px;padding:1px 4px;left:5px;top:5px;z-index:4;border-radius:2px}.chamber-loot>small{font-family:var(--reading);font-size:11px;position:relative;z-index:4;min-height:15px;background:#07111bbd;color:#e6debf}.upgrade-badge,.set-badge{z-index:5;font-family:var(--reading);font-weight:700;font-style:normal}.chamber-loot[data-quality='4'],.chamber-loot[data-quality='5']{box-shadow:inset 0 0 0 3px #050b1688,0 0 12px color-mix(in srgb,var(--rarity) 22%,transparent)}.chamber-loot[data-quality='4']:before,.chamber-loot[data-quality='5']:before{content:'';position:absolute;inset:-50% -100%;background:linear-gradient(110deg,transparent 43%,#ffeab144 50%,transparent 57%);z-index:2;pointer-events:none;animation:relic-glint 8s ease-in-out infinite}.chamber-gear small{font-family:var(--reading);font-size:10px!important;color:#ebdfc7}.chamber-armory .chamber-stage{border-color:#af986d99}.chamber-detail .detail-title{padding:18px 16px;background:radial-gradient(ellipse at 0 50%,var(--rarity-top),#0a1623 75%);border:1px solid var(--rarity);border-radius:4px;position:relative}.chamber-detail .detail-title>.painted-item{border-radius:3px;box-shadow:0 0 25px color-mix(in srgb,var(--rarity) 25%,transparent);background-color:#050c17}.chamber-detail .detail-title h3{font-family:var(--display);font-size:22px!important}.chamber-detail .detail-title small{font-family:var(--display);font-size:10px;color:var(--rarity)}.chamber-detail .detail-title span{font-family:var(--reading);font-size:14px}.chamber-equip-action{background:#0c1722f7}.item-comparison{font-family:var(--reading);font-size:16px}.item-comparison>div{border-radius:2px;border-bottom:1px solid #94856122;padding:9px 10px}.chamber-detail-fold{border-radius:3px;border-color:#b5975844}.chamber-detail-fold summary{font-family:var(--display);font-size:13px}.item-detail>small{font-size:13px}
.chamber-skill-grid button{border-radius:4px;border-color:#b49b6444;background:linear-gradient(125deg,#29313380,#0a1724);box-shadow:inset 0 0 0 4px #07111b33}.chamber-skill-grid button.sel{border-color:var(--hero-color);background:linear-gradient(125deg,color-mix(in srgb,var(--hero-color) 12%,#15212b),#0a1724)}.chamber-skill-grid b{font-size:17px}.chamber-skill-grid small{font-family:var(--reading);font-size:15px;line-height:1.5}.skill-seal{border:1px solid #b1975c66;border-radius:50%;padding:4px;background:#08121e;box-shadow:0 0 16px #ae976418}.chamber-content .training-card{border-radius:4px;padding:23px}.training-card h3{font-size:16px}.training-card strong,.chamber-content .training-card strong{font-family:var(--display);font-weight:500;font-size:28px}.training-card p{font-size:15px}.training-cost{font-family:var(--reading)}
/* Dragon and bestiary panels share the same materials. */
.dragon-card{border-radius:5px}.dragon-stage{background:radial-gradient(ellipse at 50% 90%,color-mix(in srgb,var(--glow) 20%,transparent),#07121a77 65%),linear-gradient(#08111dcc,#08111a80),url(citadel-panorama-v38.png) 75% 50%/cover;border-bottom:1px solid #ae95624d;isolation:isolate}.dragon-stage .tag{font-family:var(--display);font-size:8px;background:#081521e8}.stage-rune{width:170px;height:48px;border:1px solid var(--glow);box-shadow:0 0 15px color-mix(in srgb,var(--glow) 24%,transparent),inset 0 0 18px color-mix(in srgb,var(--glow) 15%,transparent);opacity:.7}.stage-rune:after{content:'';position:absolute;inset:7px;border:1px dashed var(--glow);border-radius:50%}.dragon-info{padding:23px}.dragon-stat{border-radius:3px;background:#0a152180;border-color:#a18a5244}.dragon-stat small{font-family:var(--display);font-size:8px}.dragon-stat strong{font-family:var(--display);font-weight:500;font-size:20px}.dragon-stat em{font-family:var(--reading);font-size:12px}.purchase-budget{border-radius:3px;border-color:#b1975944;background:#08121b}.purchase-budget span{font-family:var(--reading);font-size:12px}.purchase-budget b{font-family:var(--display);font-size:14px}.bestiary-card,.bestiary-detail{border-color:#ab8d5455!important;border-radius:4px!important}
#overlay{background:#030811c9}.modal{border-radius:5px;border:1px solid #b99a61aa;background:radial-gradient(ellipse at top,#44412b35,transparent 70%),linear-gradient(135deg,#172532,#08121efc);box-shadow:0 25px 80px #000b,inset 0 0 0 5px #050d17aa,inset 0 0 0 6px #d7b46a25}.modal h2{color:#efdab1}.modal p{font-size:16px;line-height:1.6}.modal button{border-radius:3px}.menu-motion-settings label{display:flex;gap:12px;align-items:center;font-size:17px;cursor:pointer}.menu-motion-settings input{width:20px!important;height:20px;accent-color:#c5a363}.menu-motion-settings .desc{font-size:14px}
/* Only compositor-friendly movement; decoration never receives input. */
.art-scene{position:relative;isolation:isolate}.menu-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none!important;z-index:1;contain:layout paint}.menu-atmosphere *{pointer-events:none!important}.ambient-haze{position:absolute;left:-15%;right:-15%;height:40%;bottom:-12%;background:radial-gradient(ellipse at 35% 80%,#8eabb83b,transparent 65%),radial-gradient(ellipse at 85% 50%,#527f9540,transparent 60%);opacity:.6;animation:mist-drift 19s ease-in-out infinite alternate}.ambient-halo{position:absolute;width:60%;height:80%;right:-15%;top:5%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--hero-color,#d6a65b) 12%,transparent),transparent 68%);animation:runic-breath 7s ease-in-out infinite}.ambient-spark{position:absolute;left:var(--x);bottom:8%;width:3px;height:3px;border-radius:50%;background:var(--hero-color,#ebba70);box-shadow:0 0 6px var(--hero-color,#edb971);opacity:0;animation:ember-rise var(--duration) var(--delay) linear infinite}.chamber-stage .menu-atmosphere{z-index:0}.chamber-stage #paperdoll{z-index:1}.citadel-diorama .menu-atmosphere{z-index:1}.dragon-stage .menu-atmosphere{z-index:0}.chamber-stage[data-atmosphere=druid] .ambient-spark{width:4px;height:4px;box-shadow:0 0 10px #9de483}.chamber-stage[data-atmosphere=archer] .ambient-haze{opacity:.35}.chamber-stage[data-atmosphere=warrior] .ambient-halo{background:radial-gradient(ellipse,#e8973333,transparent 65%)}
.menu-atmosphere *, .citadel-shimmer{animation-play-state:paused}.art-in-view>.menu-atmosphere *,.art-in-view>.citadel-shimmer{animation-play-state:running}
.art-enter>.expedition-layout,.art-enter>.fortress-layout,.art-enter>.hero-chambers,.art-enter>.dragon-grid,.art-enter>.bestiary-layout{animation:panel-arrive .45s ease-out both}.modal{animation:modal-arrive .22s ease-out}.room-pin.selected .pin-mark{animation:pin-breath 4s ease-in-out infinite}.chamber-portrait.sel:after{animation:portrait-light 5s ease-in-out infinite}
@keyframes mist-drift{from{transform:translateX(-3%) scale(1)}to{transform:translateX(6%) scale(1.09)}}
@keyframes runic-breath{0%,100%{opacity:.3;transform:scale(.95)}50%{opacity:.9;transform:scale(1.05)}}
@keyframes ember-rise{0%{opacity:0;transform:translate3d(0,15px,0) scale(.6)}15%{opacity:.55}80%{opacity:.35}100%{opacity:0;transform:translate3d(var(--drift),calc(-1 * var(--rise)),0) scale(1.05)}}
@keyframes panel-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes modal-arrive{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}
@keyframes relic-glint{0%,60%{transform:translateX(-35%);opacity:0}65%{opacity:.9}85%,100%{transform:translateX(35%);opacity:0}}
@keyframes pin-breath{50%{box-shadow:0 0 0 6px #ffcd6a12,0 0 25px #ffd27655,inset 0 0 0 3px #443723}}
@keyframes portrait-light{50%{opacity:.75}}
html[data-menu-awake=no] #home *,html[data-menu-awake=no] #home *:before,html[data-menu-awake=no] #home *:after,html[data-menu-awake=no] .nav *{animation-play-state:paused!important}
html[data-menu-motion=off] #home *,html[data-menu-motion=off] #home *:before,html[data-menu-motion=off] #home *:after,html[data-menu-motion=off] .modal,html[data-menu-motion=off] .nav *{animation:none!important;transition:none!important}html[data-menu-motion=off] .ambient-spark{display:none}
@media(hover:hover){#home button:not(:disabled):not(.room-pin):hover{border-color:#f0d59b;filter:brightness(1.12)}.chamber-portrait:hover .hero-face{transform:scale(1.09)}.chamber-loot:hover .painted-item{filter:contrast(1.1) saturate(1.15) brightness(1.14)}}
@media(min-width:1050px){.expedition-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:30px}.expedition-intro .hero{height:500px}.fortress-layout{grid-template-columns:minmax(0,1fr) 330px;gap:24px}.chamber-portrait{height:195px}.chamber-stage{height:540px}.chamber-armory .chamber-stage{height:660px}.chamber-doors button{min-height:145px}}
@media(max-width:959px){.fortress-layout{grid-template-columns:1fr}.fortress-layout>aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:16px;align-items:start}.citadel-summary{margin-top:0}.room-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.chamber-portrait{height:150px}.chamber-heading h1{font-size:42px}.chamber-armory .chamber-stage{height:580px}.chamber-doors b{font-size:17px}}
@media(max-width:600px){#home{padding-inline:12px}#menu .topline{padding:10px 11px;gap:8px;margin-bottom:20px}.brand .eyebrow{font-size:10px;letter-spacing:.06em}.brand .muted{font-size:8px;letter-spacing:.045em}.citadel-crest{display:block!important;width:26px;height:33px}.brand{gap:7px}.wallet{gap:14px;padding:3px 8px;border-inline:0}.wallet b{font-size:16px}.wallet small{font-size:7px}.system-entry{font-size:9px;padding:8px 10px;min-height:34px;margin-left:auto}.nav{gap:0;padding-inline:3px}.nav button{font-size:8px;padding:6px 2px;letter-spacing:0;flex-direction:column;gap:3px;min-height:65px}.nav .art-icon{width:29px;height:29px}.page-heading h1,.fortress-heading h1,.chambers-title h1{font-size:27px}.fortress-heading{align-items:flex-start;flex-direction:column;gap:10px}.fortress-heading .eyebrow{font-size:8px}.fortress-heading .pill{font-size:8px}.hero{height:380px}.hero-copy{left:22px;bottom:88px}.hero-copy h1{font-size:33px!important}.hero>.tag{left:22px}.hero-stats{font-size:8px}.hero-stats b{font-size:19px}.map{height:149px}.map h3{font-size:14px!important}.map small{font-size:11px}.map-copy{left:10px;right:8px;bottom:13px}.room-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-menu button{min-height:98px;padding:11px;gap:7px}.room-menu .art-icon{width:32px;height:32px}.room-menu b{font-size:11px}.room-menu small{font-size:11px}.fortress-layout>aside{display:block}.citadel-summary{margin-top:16px}.room-detail{padding:22px}.chamber-roster{gap:8px}.chamber-portrait{height:133px}.portrait-caption{left:7px;right:4px;bottom:11px}.portrait-caption b{font-size:15px;letter-spacing:0}.portrait-caption small{font-size:10px}.chamber-party{gap:10px;padding:11px}.chamber-party>button{font-size:11px;gap:7px}.chamber-party>span:first-child{font-size:8px}.chamber-party small{font-size:10px}.chamber-party .hero-face{width:28px;height:40px}.chamber-tabs{gap:0}.chamber-tabs button{font-size:9px;padding:11px 3px;letter-spacing:0;min-height:48px}.chamber-stage{height:530px}.chamber-heading{left:22px;top:25px}.chamber-heading h1{font-size:40px}.chamber-heading h2{font-size:16px!important}.chamber-heading>span{font-size:14px}.chamber-stage #paperdoll{height:318px;bottom:133px;right:1%;width:98%}.chamber-stage-bottom{padding:15px}.chamber-stats b{font-size:22px}.chamber-stats small{font-size:8px}.chamber-turn{bottom:146px}.chamber-doors{grid-template-columns:1fr}.chamber-doors button{min-height:95px;padding:19px 22px}.chamber-doors b{font-size:19px}.chamber-description{font-size:15px!important}.chamber-armory .chamber-stage{height:590px}.chamber-armory .chamber-heading h1{font-size:34px}.chamber-armory .chamber-stage #paperdoll{bottom:68px;height:390px}.chamber-gear{top:151px;grid-template-columns:75px 1fr 75px;grid-template-rows:repeat(3,96px);gap:12px}.chamber-gear small{font-size:9px!important}.chamber-bag{padding:17px 13px}.chamber-loot-grid{gap:10px}.chamber-skill-grid b{font-size:16px}.chamber-skill-grid small{font-size:14px}.chamber-detail .detail-title{padding:13px 10px;gap:12px;align-items:center}.chamber-detail .detail-title>.painted-item{width:78px;height:78px}.chamber-detail .detail-title h3{font-size:17px!important}.chamber-detail .detail-title small{font-size:8px}.chamber-detail .detail-title span{font-size:12px}.item-comparison{font-size:15px}.chamber-skill-grid button{padding:15px}.skill-seal .art-icon{width:43px;height:43px}.chamber-content .training-card strong{font-size:25px}}
@media(max-width:370px){.brand .eyebrow{font-size:9px}.brand .muted{font-size:7px}.citadel-crest{width:23px}.wallet b{font-size:14px}.chambers-title h1{font-size:24px}.chamber-tabs button{font-size:8px}.portrait-caption b{font-size:13px}.portrait-caption small{font-size:9px}.chamber-party{gap:7px}.chamber-party>button{font-size:10px}.chamber-party .hero-face{width:23px;height:35px}.chamber-stats{gap:24px}}
@media(orientation:landscape) and (max-height:600px){#menu .topline{padding:7px 12px;margin-bottom:16px}.citadel-crest{height:30px;width:25px}.brand .eyebrow{font-size:11px}.wallet b{font-size:15px}.wallet small{font-size:8px}.nav button{min-height:50px;flex-direction:row;font-size:9px}.nav .art-icon{width:30px;height:30px}.hero-copy h1{font-size:35px}.chamber-roster{max-width:650px!important}.chamber-portrait{height:132px}.chamber-heading h1{font-size:43px}.room-menu b{font-size:11px}.chamber-tabs button{font-size:11px}.fortress-layout>aside{display:block}.citadel-summary{margin-top:16px}}
@media(prefers-reduced-motion:reduce){#home *,#home *:before,#home *:after,.nav *,.modal{animation:none!important;transition:none!important}.ambient-spark{display:none}}
/* Keep the wide diorama inside its own horizontal scroller. */
.fortress-layout>section,.fortress-layout>aside{min-width:0;max-width:100%}.citadel-scroll{width:100%;max-width:100%;overscroll-behavior-x:contain}.fortress-layout .room-menu{width:100%;min-width:0}
@media(max-width:600px){.castle-art{background-position:85% center}.nav button{font-size:10px}.chamber-tabs button{font-size:11px}.room-menu b{overflow-wrap:anywhere}.room-menu button>span:last-child{min-width:0}}
@media(max-width:370px){.nav button{font-size:9px}.chamber-tabs button{font-size:10px}}
.chamber-loot:before,.chamber-portrait.sel:after,.room-pin.selected .pin-mark{animation-play-state:paused}.chamber-loot.art-in-view:before,.chamber-portrait.sel.art-in-view:after,.room-pin.selected.art-in-view .pin-mark{animation-play-state:running}
