#archive .army-filters[hidden],#archive .army-layout[hidden]{display:none}#archive{padding-top:24px;scroll-margin-top:104px}#archive>.section-heading{margin:0 0 12px}#archive .section-kicker{margin:0 0 7px}#archive .section-heading h2{font-size:clamp(30px,3.2vw,48px);line-height:1.12;margin:0}#archive .section-intro{font-size:12px;line-height:1.4;margin:5px 0 0}#archive .section-intro:empty{display:none}#archive>.section-heading .section-count{display:none}#factionJourney{margin:0 auto 28px}.journey-context{display:flex;align-items:center;gap:12px;color:#d6c4a7;font-size:12px;min-height:34px}.journey-context i{font-style:normal;color:#87755f}.journey-mode{border:1px solid #766044;padding:6px 12px;color:#dbc18b;background:#16191c}.layout-picker{margin-left:auto;display:flex;align-items:center;gap:5px}.layout-picker>span{margin-right:8px;color:#b5a78d;font-size:11px}.layout-picker button{background:#111820d9;color:#b9ab92;border:1px solid #75634566;padding:6px 10px;cursor:pointer;font-size:12px}.layout-picker button[aria-pressed=true]{background:#dbc18b;color:#141a21;border-color:#dbc18b}.journey-steps{display:flex;align-items:center;gap:15px;padding:8px 0 12px;color:#8e8b83;font-size:12px}.journey-steps button{border:0;background:none;padding:6px 0;color:#c1b49e;cursor:pointer}.journey-steps button:disabled{color:#73736d;cursor:default}.journey-steps [aria-current=step]{color:#f0d295;border-bottom:1px solid #cda971}.journey-steps button span{margin-left:5px}.journey-steps .journey-back{margin-left:auto;color:#dbc18b}.faction-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:var(--faction-row-height,130px);gap:12px}.faction-choice{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;overflow:hidden;text-align:left;border:1px solid #76624b99;background:#0e1720f0;color:#f3e9d5;cursor:pointer;box-shadow:0 5px 16px #0004;transition:transform .25s,border-color .25s,box-shadow .25s}.faction-art{display:block;flex:1;min-height:0;overflow:hidden;background:#151d25}.faction-art img{width:100%;height:100%;object-fit:cover;object-position:30% center;filter:saturate(.85) brightness(.86);transition:transform .5s,filter .4s}.faction-emblem{position:absolute;right:9px;top:5px;width:clamp(30px,3.2vw,58px);height:clamp(30px,3.2vw,58px);object-fit:contain;filter:drop-shadow(0 2px 3px #000);z-index:1}.faction-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 12px;min-height:42px;border-top:1px solid #8b755144;background:#101820ed;z-index:2}.faction-caption strong{font-size:clamp(13px,1.1vw,20px);font-family:var(--serif);font-weight:500;letter-spacing:.02em;line-height:1.3}.faction-caption small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.06em;color:#c8b388;white-space:nowrap;display:inline-block}.faction-caption>span{font-size:10px;color:#cebea1;white-space:nowrap}.faction-caption b{font-size:15px;margin-left:5px;font-weight:400}.faction-choice:hover,.faction-choice:focus-visible{transform:translateY(-3px);border-color:#edcd96;box-shadow:0 10px 24px #0008,0 0 15px #d6aa6826;z-index:3}.faction-choice:hover .faction-art img{transform:scale(1.08);filter:saturate(1.1) brightness(1.04)}.faction-choice:focus-visible,.layout-picker button:focus-visible,.journey-steps button:focus-visible,.journey-empty button:focus-visible{outline:2px solid #e8c681;outline-offset:2px}.no-records .faction-caption>span{color:#b2ada2}
/* B: edge-to-edge artwork and high contrast typography. */
[data-layout=B] .faction-art{position:absolute;inset:0}[data-layout=B] .faction-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#03080ef5,transparent 100%)}[data-layout=B] .faction-caption{margin-top:auto;background:none;border:0;flex-direction:column;align-items:flex-start;gap:3px;text-shadow:0 2px 4px #000;padding:12px 14px}[data-layout=B] .faction-caption strong{font-size:clamp(15px,1.25vw,23px)}[data-layout=B] .faction-emblem{width:clamp(35px,4vw,70px);height:clamp(35px,4vw,70px)}
.journey-empty{text-align:center;padding:40px 20px;border:1px solid #5c5040;background:#0d131be8}.journey-empty h3{font-size:25px;font-weight:400;color:#dfcda9}.journey-empty p{color:#b6ac99;font-size:14px}.journey-empty button{background:#141b21;border:1px solid #786548;color:#dfc89f;padding:11px 18px;cursor:pointer}#archive .army-layout{max-width:1800px;margin:0 auto}
@media(min-width:1000px) and (max-height:850px){.faction-caption{padding:6px 9px;min-height:35px}.faction-caption strong{font-size:14px}.faction-caption small{font-size:9px}.faction-caption>span{font-size:9px}.faction-emblem{width:32px;height:32px}.faction-grid{gap:10px}}
@media(max-width:999px){.faction-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:150px}.faction-caption{flex-direction:column;align-items:flex-start;gap:4px}.faction-caption strong{font-size:16px}.faction-emblem{width:44px;height:44px}.layout-picker button span{display:none}}
@media(max-width:600px){#archive{padding-top:18px}#archive .section-heading h2{font-size:30px}.faction-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:152px;gap:10px}.journey-context{flex-wrap:wrap;gap:8px}.layout-picker{width:100%;margin:2px 0 0;justify-content:flex-end}.layout-picker>span{margin-right:auto}.layout-picker button{padding:8px 13px}.journey-steps{font-size:10px;gap:8px;flex-wrap:wrap}.journey-steps .journey-back{flex-basis:100%;text-align:left;padding-bottom:2px}.faction-caption{padding:8px}.faction-caption strong{font-size:15px}.faction-caption small{font-size:9px}.faction-caption>span{font-size:10px}[data-layout=C] .faction-caption{padding:7px}[data-layout=C] .faction-art{flex-basis:36%}[data-layout=C] .faction-emblem{width:34px;height:34px;left:4px}[data-layout=D] .faction-caption strong{font-size:15px}[data-layout=D] .faction-choice{padding-left:25%}}
@media(prefers-reduced-motion:reduce){.faction-choice,.faction-art img{transition:none}.faction-choice:hover{transform:none}}

#archive .section-kicker{display:flex;align-items:center;gap:8px;min-height:28px}.archive-view-toggle{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:42px;min-height:28px;padding:3px 6px;border:1px solid #8d78535c;border-radius:3px;background:#10182080;color:#8d8a80;font:10px Arial,sans-serif;letter-spacing:0;cursor:pointer}.archive-view-toggle b{color:#ead2a0;font-weight:700}.archive-view-toggle:hover{border-color:#cbb382;background:#1a2530}.archive-view-toggle:focus-visible{outline:2px solid #e8c681;outline-offset:2px}

/* The featured choice keeps the original grid card's footprint across steps. */
#archive>.section-heading>div{width:100%}
#archive .section-heading h2{box-sizing:border-box;display:grid;place-items:center;width:calc((100% - 48px)/5);height:max(170px,var(--faction-feature-height,106px));min-height:170px;margin:0;border:0;background:none;color:#ead5ae;font-size:clamp(58px,5vw,72px);line-height:1.05;letter-spacing:.055em;text-align:center}
#archive .section-heading h2.has-selection{padding:0;border:0;background:none}
#archive .section-heading h2 .feature-card{width:100%;height:100%;font-family:inherit;letter-spacing:normal}
#archive .section-heading h2 .feature-card:hover{transform:none}
#archive .section-intro{min-height:17px}
#archive .section-intro:empty{display:block}
#factionJourney .faction-grid{width:100%;margin-left:auto;margin-right:auto;grid-auto-rows:var(--faction-row-height,89px);gap:10px}
#factionJourney .faction-caption{padding:6px 8px;min-height:34px}
#factionJourney .faction-caption strong{font-size:clamp(12px,1vw,17px)}
#factionJourney .faction-emblem{width:clamp(28px,2.8vw,48px);height:clamp(28px,2.8vw,48px)}
#archive .feature-card .faction-caption{padding:9px 12px;min-height:42px}
#archive .feature-card .faction-caption strong{font-size:clamp(13px,1.1vw,20px)}
#archive .feature-card .faction-emblem{width:clamp(30px,3.2vw,58px);height:clamp(30px,3.2vw,58px)}
@media(max-width:999px){#archive .section-heading h2{width:calc((100% - 24px)/3);height:150px}#factionJourney .faction-grid{width:100%;grid-auto-rows:126px}#factionJourney .faction-caption strong{font-size:14px}}
@media(max-width:600px){#archive .section-heading h2{width:calc((100% - 10px)/2);height:152px;min-height:152px;font-size:clamp(40px,11.2vw,44px)}#archive .section-intro{min-height:36px}#factionJourney .faction-grid{width:100%;grid-auto-rows:132px;gap:9px}#factionJourney .faction-caption{padding:6px;min-height:38px}#factionJourney .faction-caption strong{font-size:13px}#factionJourney .faction-caption small{font-size:8px}#factionJourney .faction-emblem{width:34px;height:34px}#archive .feature-card .faction-caption{padding:8px}#archive .feature-card .faction-caption strong{font-size:15px}}

/* Keep the library viewport filled while allowing long rosters to grow naturally. */
#archive{box-sizing:border-box;min-height:calc(100svh - 94px);scroll-margin-top:104px}
@media(max-width:700px){#archive{min-height:calc(100svh - 72px);scroll-margin-top:82px}}


/* Selected faction artwork is confined to the library section. */
#archive{position:relative;isolation:isolate;overflow:hidden}
#archive .archive-poster-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:cover,cover;background-position:center,center;background-attachment:fixed,fixed;background-repeat:no-repeat;opacity:0;transition:opacity 1.2s ease}
.site-header{isolation:isolate}
.site-header .header-poster-layer{position:absolute;inset:0 0 -24px;z-index:-1;pointer-events:none;background-size:cover,cover;background-position:center,center;background-attachment:fixed,fixed;background-repeat:no-repeat;opacity:0;transition:opacity 1.2s ease;mask-image:linear-gradient(to bottom,#000 0%,#000 68%,transparent 100%)}
.site-header:not(.has-archive-poster) .header-poster-layer{opacity:0!important}
.site-header.has-archive-poster.is-scrolled{background:rgba(6,11,17,.2)}
#archive .archive-poster-layer.is-visible,.site-header.has-archive-poster .header-poster-layer.is-visible{opacity:1}

/* Small source-verified character quote in the library header. */
#archive>.section-heading{position:relative}
#archive .archive-quote{position:absolute;right:0;top:3px;box-sizing:border-box;width:min(46%,520px);color:#d7c8aa;text-align:right}
#archive .archive-quote blockquote{margin:0 0 7px;font:italic 13px/1.65 var(--serif);letter-spacing:.025em;color:#e2d7c2}
#archive .archive-quote-speaker{margin:0;color:#aa987a;font:11px/1.45 var(--serif)}
#archive .archive-quote-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 10px;margin-top:12px;color:#a99b83;font:11px/1.5 Arial,sans-serif}
#archive .archive-quote button{border:1px solid #9f865c70;background:#111820a8;color:#dac392;cursor:pointer;font:11px/1.2 Arial,sans-serif;padding:5px 8px}
#archive .archive-quote button:hover,#archive .archive-quote button:focus-visible{border-color:#e0bd78;color:#f1d39b;outline:none}
#archive .archive-quote-ratings{display:flex;gap:4px}
#archive .archive-quote-ratings button{white-space:nowrap;padding:5px 6px;font-size:10px}
@media(max-width:700px){#archive>.section-heading{display:block;min-height:0}#archive .archive-quote{position:static;width:100%;margin:14px 0 0;padding:0 0 10px;text-align:right}#archive .archive-quote blockquote{font-size:12px}#archive .archive-quote-actions{gap:6px 8px}}

/* Chapter II-IV shells; scene artwork awaits verified reference matching. */
.chapter-panel{position:relative;box-sizing:border-box;min-height:clamp(390px,55vh,610px);background:#0a1118;scroll-margin-top:104px;overflow:hidden}
.chapter-panel+.chapter-panel{border-top:1px solid #a18b6729}
.chapter-panel .section-topline,.chapter-panel-content{position:relative;z-index:1}
.chapter-panel-content{margin-top:clamp(65px,12vh,145px);max-width:610px}
.chapter-panel-content .section-kicker{font-size:11px;letter-spacing:.12em;color:#c9ac78}
.chapter-panel-content h2{margin:10px 0 18px;font:500 clamp(42px,5vw,72px)/1.2 var(--serif);color:#f0e2c5}
.chapter-panel-content>p:last-child{font-size:14px;line-height:1.8;color:#c5baa9}
@media(max-width:700px){.chapter-panel{min-height:480px;scroll-margin-top:82px}.chapter-panel-content{margin-top:95px}.chapter-panel-content h2{font-size:42px}}

/* Application controls are a local preview until shared storage is connected. */
#maps,#bp,#forum{position:relative;isolation:isolate}
.chapter-scene{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;filter:brightness(.78) saturate(.9)}
#maps>:not(.chapter-scene):not(.chapter-application-overlay),#bp>:not(.chapter-scene):not(.chapter-application-overlay),#forum>:not(.chapter-scene):not(.chapter-application-overlay){position:relative;z-index:1}
.chapter-application-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(8,13,20,.4)}
.chapter-application-actions{text-align:center;color:#dfcda8;font:12px/1.5 var(--serif)}
.chapter-application-actions>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:15px}
.chapter-application-actions button,.chapter-application-dialog button[type=submit]{padding:10px 17px;border:1px solid #b79764;background:#16212be8;color:#ead5ac;font:12px/1.3 var(--serif);cursor:pointer}
.chapter-application-actions button:hover,.chapter-application-actions button:focus-visible{background:#2a3540;outline:1px solid #e7c78f}
.chapter-application-dialog{width:min(380px,calc(100vw - 36px));box-sizing:border-box;padding:27px;border:1px solid #ad916a;background:#101922;color:#e7d6b8;box-shadow:0 18px 80px #000b}
.chapter-application-dialog::backdrop{background:#04080bc9}
.chapter-application-dialog form{display:grid;gap:11px}
.chapter-application-dialog h2{margin:0 0 8px;font:28px/1.25 var(--serif)}
.chapter-application-dialog label,.chapter-application-disclosure,.application-status{font:12px/1.6 var(--serif)}
.chapter-application-dialog input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #887453;background:#0a1118;color:#fff;font:14px Arial,sans-serif}
.application-disclosure{margin:0;color:#bdac91}
.application-status{min-height:18px;margin:0;color:#e2c181}
.application-close{position:absolute;top:8px;right:11px;border:0;background:none;color:#d9c5a7;font:25px Arial,sans-serif;cursor:pointer}
.site-footer .application-admin-link{margin-left:auto;border:1px solid #a88b62;padding:10px 14px;color:#ddc393;text-decoration:none;font:12px/1.3 var(--serif);white-space:nowrap}
.site-footer .application-admin-link:hover,.site-footer .application-admin-link:focus-visible{border-color:#e2bf85;color:#f1d39b}

/* Chapter II heading hierarchy follows the large chapter titles. */
#maps .notes-heading .map-support-line{margin:0 0 20px;color:#c9ac78;font:500 clamp(21px,2.1vw,29px)/1.45 var(--serif);letter-spacing:.07em}
#maps .notes-heading .map-support-line i{font-style:normal}
#maps .note-paper .paper-rule{margin-top:64px}
@media(max-width:700px){#maps .notes-heading .map-support-line{font-size:22px;line-height:1.4}#maps .note-paper .paper-rule{margin-top:28px}}

/* Subtle quote rating controls. */
#archive .archive-quote-actions{margin-top:7px;gap:4px 6px;font-size:10px;color:#8d816f}
#archive .archive-quote-ratings{gap:3px}
#archive .archive-quote-ratings button{padding:3px 4px;font-size:9px;border-color:#8b785850;background:#11182066;color:#b9a783}

#archive-title:not(.has-selection){text-shadow:0 2px 16px #050a10}

#archive[data-faction-poster] .archive-quote,#archive[data-faction-poster] .journey-context,#archive[data-faction-poster] .journey-steps{text-shadow:0 2px 8px #03070bd9}
