.faction-bar{display:flex;align-items:center;gap:1px;margin-left:auto}.faction-bar .faction-badge{position:relative;border:0;background:none;box-shadow:none;padding:4px;width:40px;height:40px;min-height:40px;flex:0 0 40px}.faction-badge img{display:block;width:32px;height:32px;object-fit:contain}.faction-badge.is-dormant img{opacity:.46;filter:saturate(.45)}.faction-badge.is-active img{filter:drop-shadow(0 1px 2px #ba8628)}.faction-badge span{position:absolute;right:0;bottom:0;font:bold 10px system-ui;color:#fff9e7;background:#416254;border-radius:50%;width:14px;height:14px;text-align:center}.faction-identity{display:inline-flex;align-items:center;gap:5px;font-size:13px}.faction-identity img{width:28px;height:28px;object-fit:contain}.faction-detail>img{width:104px;height:104px;object-fit:contain}.faction-detail p{line-height:1.7}.formation-view .shop-toolbar{gap:4px;flex-wrap:nowrap}.formation-view .shop-toolbar h2{white-space:nowrap;font-size:18px}.reroll-mark{width:35px;height:30px;object-fit:contain;vertical-align:middle;margin-right:4px}.full-character-rules{margin:12px 0;padding:10px 0;border-block:1px solid #aa8d6250}.full-character-rules summary{cursor:pointer;font-weight:700}.full-character-rules p{font-size:14px;line-height:1.8}.detail-specialties p{display:flex;flex-direction:column;gap:5px}.gift-screen{max-width:850px;margin:auto;padding:16px}.gift-screen>p{line-height:1.7}.gift-options{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0}.gift-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;color:#443324;background:linear-gradient(125deg,#fff1d7,#e8d7b6);border:1px solid #ab8357;border-radius:2px 12px 3px 9px;box-shadow:2px 4px 0 #684c3025;white-space:normal;text-align:left;transition:transform .15s}.gift-card:hover{transform:translateY(-3px)}.gift-card>img{width:100%;height:160px;object-fit:contain}.gift-card-copy{display:flex;flex-direction:column;gap:7px;line-height:1.6}.gift-card strong{font-size:18px}.gift-card small{font-weight:400}.gift-card-copy>span{font-size:14px}.box-count{position:absolute;bottom:6px;right:12px;background:#f7e9bf;color:#513822;border:1px solid #8c612e;border-radius:50%;font:bold 12px/18px system-ui;width:20px;text-align:center;box-shadow:0 1px 3px #0005}.systems-state{position:absolute;z-index:8;top:49%;left:50%;transform:translate(-50%,-50%);padding:5px 10px;background:#fff0dbeF;color:#443324;max-width:85%;font-size:13px;pointer-events:none;box-shadow:0 1px 5px #0003;line-height:1.5}.faction-feedback{display:flex;align-items:center;gap:6px;white-space:nowrap}.faction-feedback img{width:25px;height:25px;object-fit:contain}
/* Opaque panels overlap in the middle; approved original trim retains its alpha. */
.curtain-transition{position:absolute;inset:0;z-index:50;overflow:hidden;pointer-events:auto;isolation:isolate}.curtain-panel{position:absolute;top:-2px;bottom:-2px;width:calc(50% + 3px);background-color:#8e2532;background-image:repeating-linear-gradient(88deg,#29091944 0%,#e6796d33 6%,#a63e4333 11%,#260d214f 15%,transparent 19%),url('assets/systems/curtain-texture.webp');background-size:auto,150px 100%;box-shadow:inset 0 0 30px #300b1c88,3px 0 6px #23091277;transform:translateX(0);border-bottom:5px solid #b8955a}.curtain-panel:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffe6aa0a 0 1px,transparent 1px 3px),linear-gradient(#330c1d33,transparent 30%,#2a071b55);pointer-events:none}.curtain-left{left:0}.curtain-right{right:0}.curtain-trim{position:absolute;top:0;width:auto;max-width:45%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px #1b0b1944)}.trim-left{left:0}.trim-right{right:0}.curtain-transition.is-opening .curtain-left{animation:curtain-open-left .8s cubic-bezier(.45,0,.2,1) both}.curtain-transition.is-opening .curtain-right{animation:curtain-open-right .8s cubic-bezier(.45,0,.2,1) both}.curtain-transition.is-opening .curtain-trim{animation:trim-retire .8s ease-in both}.curtain-transition.is-opening .trim-right{--retire:100%}.curtain-transition.is-opening .trim-left{--retire:-100%}@keyframes curtain-open-left{to{transform:translateX(-102%)}}@keyframes curtain-open-right{to{transform:translateX(102%)}}@keyframes trim-retire{0%,65%{transform:translateX(0)}100%{transform:translateX(var(--retire))}}
@media(max-width:600px){.gift-options{grid-template-columns:1fr;gap:12px}.gift-card{flex-direction:row;padding:10px;gap:12px}.gift-card>img{width:84px;height:112px;flex:none}.gift-card-copy>span{font-size:13px}.gift-card strong{font-size:16px}.gift-screen{padding:8px}.gift-screen h1{font-size:27px}.gift-screen>p{font-size:14px}.formation-view .shop-toolbar h2{font-size:16px}.faction-bar .faction-badge{width:36px;flex-basis:36px;padding:3px}.faction-badge img{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.curtain-transition{display:none}.gift-card{transition:none}}
/* Scoped overrides avoid global dialog image sizes and preserve paper aspect ratios. */
#detail-body .faction-identity img{width:28px;height:28px;margin:0;flex:none}
#detail-body .detail-heading>div{flex:1;min-width:0}
#detail-body .detail-heading{min-height:132px}
.curtain-panel{background-size:auto,32px 32px}
.curtain-trim{width:40%;max-width:none;height:100%;object-fit:cover;object-position:left top}
.curtain-trim.trim-right{object-position:right top}
.book-faction{display:inline-flex;vertical-align:middle;align-items:center;margin-left:9px}
.book-faction img{display:block;width:32px;height:32px;object-fit:contain}


#detail-body .faction-detail>img{display:block;width:72px;height:72px;min-height:0;max-height:72px;object-fit:contain;margin:0 0 10px}
