/* Interior routes extend the established Eldora palette and lettering. */
.lore-page{min-height:100vh;background:#0a1b1e;color:#eee9dc}
.lore-header{position:relative;z-index:2;background:#0c232a;border-bottom:1px solid #ffffff20}
.lore-topbar{width:min(1320px,92%);min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.lore-wordmark{flex:none;font:normal 25px/1 var(--serif);letter-spacing:5px;color:#f0eee4}
.lore-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,38px);flex-wrap:wrap}
.lore-nav a,.lore-footer a{font-size:12px;color:#d0d6cb;transition:color .18s ease}
.lore-nav a:hover,.lore-footer a:hover{color:#e9cc88}
.lore-play,.lore-action{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:0 20px;border:1px solid #b89b64;background:#173d43;color:#eeddaf;font:normal 15px/1 var(--serif);letter-spacing:.5px}
.lore-play:hover,.lore-action:hover{background:#205458}
.lore-main{width:min(1160px,88%);margin:0 auto;padding:26px 0 86px}
.lore-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 36px;color:#9bb0a8;font-size:12px;line-height:1.6}
.lore-breadcrumb a{color:#d6c18b;text-underline-offset:4px}
.lore-breadcrumb a:hover{text-decoration:underline}
.directory-intro{max-width:760px;margin:0 0 34px}
.directory-intro h1,.class-story-copy h1,.lore-article-head h1{font:normal clamp(38px,6vw,66px)/1.05 var(--serif);letter-spacing:-.025em;color:#f0e4c6}
.lore-lead{max-width:68ch;margin-top:18px;color:#c4d0c5;font:normal clamp(16px,1.7vw,19px)/1.8 Arial,Helvetica,sans-serif}
.class-directory,.story-directory{list-style:none;margin:0;padding:0;border-top:1px solid #c5a56c55}
.class-directory>li{border-bottom:1px solid #ffffff24}
.class-index-row{display:grid;grid-template-columns:90px minmax(0,1fr) 30px;align-items:center;gap:24px;min-height:135px;padding:14px 8px;color:#eee9dc;transition:background .2s ease,padding .2s ease}
.class-index-row:hover{padding-left:16px;background:#ffffff08}
.class-index-row img{width:78px;height:106px;object-fit:contain;object-position:center bottom}
.class-index-row b{display:block;font:normal clamp(23px,3vw,31px)/1.2 var(--serif);color:#eeddb4}
.class-index-row small{display:block;max-width:70ch;margin-top:7px;color:#b9c8be;font-size:13px;line-height:1.65}
.row-arrow{color:#d1b776;font-size:20px;text-align:right}
.lore-crosslink{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:50px;padding:22px 0;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.lore-crosslink p{color:#b9c8be;font-size:14px}
.lore-crosslink a,.story-index-row>a,.chronicle-index-link{color:#e4c984;font-size:12px;letter-spacing:.4px;text-underline-offset:5px}
.lore-crosslink a:hover,.story-index-row>a:hover,.chronicle-index-link:hover{text-decoration:underline}
.class-story{display:grid;grid-template-columns:minmax(280px,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(34px,7vw,94px)}
.class-story-art{min-height:500px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;border:1px solid #b89b6480;background:radial-gradient(ellipse at 50% 45%,#3a5550 0,#172f31 52%,#102326 100%)}
.class-story-art img{width:100%;height:460px;object-fit:contain;object-position:center bottom}
.class-story-art figcaption{align-self:stretch;padding:13px 16px;border-top:1px solid #c5a56c40;color:#b9c8be;font-size:10px;letter-spacing:.7px}
.class-story-copy h1{font-size:clamp(40px,5.5vw,62px)}
.class-story-copy h2{margin:30px 0 9px;color:#e5d3a6;font:normal 23px/1.25 var(--serif)}
.class-story-copy>p:not(.lore-lead){max-width:66ch;color:#c4d0c5;font-size:15px;line-height:1.8}
.class-traits{display:flex;flex-wrap:wrap;gap:8px 23px;margin:0;padding:13px 0 8px;list-style:none;border-top:1px solid #ffffff27;border-bottom:1px solid #ffffff27}
.class-traits li{padding:5px 0;color:#e5d3a6;font-size:13px}
.class-traits li::before{content:"";display:inline-block;width:6px;height:6px;margin:0 10px 2px 0;border:1px solid #c5a56c;transform:rotate(45deg)}
.class-note{margin:15px 0 24px;color:#a9bbb1!important;font-size:12px!important}
.lore-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin-top:58px;padding:20px 0;border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28}
.lore-pagination a{display:grid;gap:6px;color:#e6d6ad}
.lore-pagination a:last-child{text-align:right}
.lore-pagination span{color:#9fb2a7;font-size:10px;letter-spacing:.7px;text-transform:uppercase}
.lore-pagination b{font:normal 17px/1.3 var(--serif)}
.lore-pagination a:hover b{color:#fff0c5}
.story-index-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:23px;padding:28px 8px;border-bottom:1px solid #ffffff24}
.story-number{font:normal 30px/1 var(--serif);color:#d9bd7a}
.story-index-row small{color:#dfc681;font-size:9px;letter-spacing:2px}
.story-index-row h2{margin:7px 0;font:normal clamp(24px,3vw,34px)/1.2 var(--serif);color:#f0e4c6}
.story-index-row p{max-width:68ch;color:#b9c8be;font-size:13px;line-height:1.75}
.story-index-row>a{white-space:nowrap}
.lore-article{max-width:800px;margin:0 auto}
.lore-article-head{padding:clamp(24px,5vw,54px) 0 32px;border-bottom:1px solid #c5a56c65}
.lore-article-head .lore-lead{max-width:68ch}
.article-series{display:block;margin-top:22px;color:#dfc681;font-size:10px;letter-spacing:1.8px;text-transform:uppercase}
.lore-article-body{padding:30px 0 16px}
.lore-article-body p{max-width:68ch;margin:0 auto 22px;color:#e1e4d8;font:normal 17px/1.95 Georgia,'Times New Roman',serif}
.story-break{width:54px;margin:32px auto;border:0;border-top:1px solid #c5a56c88}
.story-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:28px;padding:20px 0;border-top:1px solid #ffffff28}
.story-pagination a{color:#e5d3a6;font-size:12px;line-height:1.6;text-underline-offset:4px}
.story-pagination a:nth-child(2){text-align:center}
.story-pagination a:last-child{text-align:right}
.story-pagination a:hover{text-decoration:underline}
.lore-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 6%;border-top:1px solid #ffffff22;background:#0c232a}
.lore-footer>span{color:#9fb2a7;font-size:11px}
.lore-footer .lore-wordmark{color:#f0eee4}
.seo-entry-link{display:inline-block;margin-top:15px;color:#6d6959;font-size:11px;text-underline-offset:4px}
.seo-entry-link:hover{color:#274c4b;text-decoration:underline}
.chronicle-index-link{display:inline-block;margin-top:24px}
@media(max-width:760px){
 .lore-topbar{width:90%;min-height:0;padding:15px 0;display:grid;grid-template-columns:1fr auto;gap:16px}
 .lore-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:24px;padding:3px 0 7px;scrollbar-width:thin;scrollbar-color:#9b8756 #10292d}
 .lore-nav a{white-space:nowrap;font-size:11px}
 .lore-play{grid-column:2;grid-row:1;min-height:40px;padding:0 12px;font-size:13px}
 .lore-main{width:90%;padding:20px 0 64px}
 .lore-breadcrumb{margin-bottom:28px;font-size:11px}
 .class-story{grid-template-columns:1fr;gap:30px}
 .class-story-art{min-height:320px;max-height:420px}
 .class-story-art img{height:350px}
 .class-story-copy h2{margin-top:24px}
 .story-index-row{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:23px 0}
 .story-number{font-size:26px}
 .story-index-row>a{grid-column:2;justify-self:start;margin-top:3px}
 .lore-crosslink{align-items:flex-start;flex-direction:column;gap:10px;margin-top:36px}
 .lore-pagination{grid-template-columns:1fr 1fr;gap:18px}
 .lore-pagination a:nth-child(2){grid-column:1/-1;grid-row:1}
 .lore-pagination a:last-child{grid-column:2;grid-row:2}
 .lore-pagination a:first-child{grid-column:1;grid-row:2}
 .story-pagination{grid-template-columns:1fr 1fr;gap:15px}
 .story-pagination a:nth-child(2){grid-column:1/-1;grid-row:1;text-align:left}
 .story-pagination a:last-child{text-align:right}
 .lore-article-body p{font-size:16px;line-height:1.9}
 .lore-footer{align-items:flex-start;flex-wrap:wrap;padding:20px 5%}
}
@media(max-width:420px){
 .lore-wordmark{font-size:22px}
 .lore-nav{gap:18px}
 .class-index-row{grid-template-columns:62px minmax(0,1fr) 20px;gap:14px;min-height:120px}
 .class-index-row img{width:58px;height:92px}
 .class-index-row small{font-size:12px}
 .story-index-row p{font-size:12px}
 .lore-article-head h1{font-size:38px}
 .story-pagination a{font-size:11px}
}
