/* Original fansite-inspired framing; no bundled fansite-kit assets. */
:root{--serif:'IM Fell English SC',Georgia,serif;--gold:#e6ce7d;--light:#ffeab2}
body{padding:0 18px;background:#020b13 url('assets/treasury.webp') center top/cover fixed no-repeat;font-family:Arial,Helvetica,sans-serif}
body:before{background:linear-gradient(#04121a55,#020a13c9 70%)}
.site-header{position:relative;inset:auto;max-width:1180px;height:61px;margin:20px auto 12px;padding:0 18px;background:linear-gradient(#203746,#0b1520 45%,#05090e 51%,#182d3a);border:2px ridge #7c8181;box-shadow:0 0 0 2px #080d12,0 0 24px #0008}
.site-header:after{bottom:-8px}.brand{font-size:25px}.brand img{width:36px;height:36px}.brand small{font:7px Arial;letter-spacing:1.5px}.site-header nav{gap:28px;font-size:15px;color:#e1cf88}.nav-chart{padding:8px 18px;font-size:13px;border:1px outset #7c6c40;box-shadow:inset 0 0 8px #000;background:#0c1d28}
.classic-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:164px minmax(0,1fr) 218px;gap:12px;align-items:start}
.classic-left{position:sticky;top:15px}.classic-crest{display:block;text-align:center;padding:19px 0 25px;text-shadow:2px 3px 2px #000,0 0 18px #2c88c5}
.classic-crest>span{display:block;font:12px var(--serif);color:#efe2b8;letter-spacing:2px}.classic-crest b{display:block;font:37px/.95 var(--serif);color:#f7cf63;letter-spacing:-1.8px;margin:6px -10px;text-shadow:1px 1px 0 #4c310b,2px 2px 0 #b57c21,3px 4px 4px #000}.classic-crest em{font:8px Georgia;color:#afddf1;letter-spacing:1px}
.menu-frame{border:2px ridge #77868a;margin-bottom:10px;background:linear-gradient(90deg,#092237ed,#07131dee);box-shadow:0 0 0 1px #000,0 0 14px #2397bf19}
.menu-frame h2,.sidebar-box h2{margin:0;padding:7px 9px;color:#eed685;font:19px/1.1 var(--serif);letter-spacing:0;background:linear-gradient(#1e435e,#07182a 50%,#030b15 52%,#12364e);border-bottom:2px ridge #758285;text-shadow:1px 2px #000}
.menu-frame a{display:block;padding:7px 10px 7px 19px;font:11px/1.3 Arial;color:#dbc577;position:relative;border-bottom:1px solid #5b788520}.menu-frame a:before{content:'◆';font-size:5px;position:absolute;left:7px;top:11px;color:#8cc5d9}.menu-frame a:hover{background:#3b719c38;color:#fff0b7}.sidebar-note{color:#8aabbd;font-size:10px;line-height:1.9;padding:4px 10px}
main{margin:0;min-width:0;background:#0b1b27;border:2px ridge #9b9b86;box-shadow:0 0 0 1px #020a0f,0 0 30px #0007}
.hero{height:auto;min-height:460px;max-height:none;overflow:hidden;border-bottom:3px ridge #b9a06c}.hero-art{background-position:60% center}.hero:before{background:linear-gradient(90deg,#030a13cc,#040c1530),linear-gradient(0deg,#05101be6,transparent 55%)}.hero:after{inset:5px;border-color:#dcc1795c}
.hero-content{padding:35px 25px 118px;animation:none}.hero .eyebrow{font:10px var(--serif);letter-spacing:1px;margin:0 0 20px;gap:8px;color:#b5e4f3}.hero .eyebrow span{width:14px}h1{font:400 clamp(36px,4.1vw,58px)/1.03 var(--serif);letter-spacing:-1px;margin:0 0 20px;max-width:100%;text-shadow:2px 3px 3px #000}h1 em{background:none;color:#eed18c}.hero-lead{font:16px/1.4 Georgia,serif;margin-bottom:16px;color:#e4dcc5}.hero-explain{font:11px/1.6 Arial;margin:0;color:#c4d2d7}.hero-explain br{display:none}.hero-actions{margin-top:22px;gap:10px}.button{font:14px var(--serif);min-height:36px;padding:9px 18px;letter-spacing:0}.gold{clip-path:none;background:linear-gradient(#fff0b1,#bf9554 48%,#98713c 52%,#e5bc73);border:2px outset #e8cc89;box-shadow:inset 0 0 0 1px #725023,0 2px 5px #0009;text-shadow:0 1px #efce8f;color:#2e200c}.ghost{border:2px outset #7a9ba9;background:linear-gradient(#244a62,#071420);box-shadow:inset 0 0 0 1px #102430;color:#e2cc87}.down{font:17px Arial;margin-left:10px}.hero-note{display:none}
.loot-card{left:auto;right:19px;bottom:63px;width:226px;padding:10px;gap:10px;background:#061321f0;border:1px solid #9fa19c}.loot-icon{width:43px;padding:3px}.loot-icon img{width:35px;height:35px}.loot-card b{font-size:18px;margin:3px 0}.loot-card em{font:9px Arial}.loot-card small{font-size:6px}.loot-hint{font-size:6px;bottom:-17px;letter-spacing:1px}.loot-card:before,.loot-card:after{width:9px;height:9px}.realm-picker{left:22px;bottom:10px;gap:12px}.realm-picker>span{display:none}.realm-picker button{font:12px var(--serif);padding:8px 0}.realm-picker i{font-size:6px}
.realm-strip{display:grid;grid-template-columns:1fr 1fr;padding:13px 16px;gap:10px;font:8px Arial;border-bottom:2px ridge #697b81;background:linear-gradient(#183c50,#07131d)}.realm-strip span b{margin-left:5px;font-size:9px}.realm-strip a{font-size:10px;color:#e8cd85}
.section{padding:28px 22px;margin:0}.section-heading{margin-bottom:22px}.section .eyebrow{font:10px var(--serif);letter-spacing:.6px}.section-heading>p:last-child{position:static;margin-top:12px;font:12px/1.5 Arial;max-width:none}.section-heading>p:last-child br{display:none}h2{font:26px/1.1 var(--serif);letter-spacing:0;margin:10px 0}h2 em{color:#795320}
.quest,.lore{color:#302619;background-color:#ecd7a0;background-image:radial-gradient(ellipse at 10% 20%,#fff6d188,transparent 50%),radial-gradient(ellipse at 90% 80%,#b98a4140,transparent 60%),repeating-linear-gradient(95deg,#b8956010 0 1px,transparent 1px 4px);border:0;border-bottom:4px ridge #8f784a;box-shadow:inset 0 0 24px #7c4d2c50}
.quest .eyebrow,.lore .eyebrow{color:#72521c}.quest .section-heading>p:last-child{color:#5c4d33}.quest-layout{grid-template-columns:1fr;border:1px solid #ad8b50;background:#e9d098;box-shadow:inset 0 0 0 3px #fff0c356,0 2px 6px #79542730}.quest-log{padding:12px;border:0;border-bottom:1px solid #b58e4e;background:#ba94581a}.panel-top{font:10px Arial;color:#6d5431;padding-bottom:10px}.panel-top span:first-child{color:#72501b}.quest-step{display:inline-flex;width:33.333%;vertical-align:top;align-items:flex-start;gap:7px;padding:10px 7px;border:1px solid #ad8c5144;min-height:81px;background:#f7e4b34d}.quest-step.active{background:#7da9ae66;border-color:#638995;box-shadow:inset 0 0 0 1px #d8e7c688}.step-number{font-size:18px;width:15px;color:#6e582f}.active .step-number{color:#204d60}.quest-step small{font:6px Arial;letter-spacing:.3px;color:#6d592f}.quest-step b{font:17px/1.1 var(--serif);color:#5e4520;margin-top:7px}.quest-step.active b{color:#203b42}.quest-step em,.step-indicator,.quest-log-foot{display:none}.quest-detail{padding:18px 22px;display:block;text-align:left;background:#fff1c039}.quest-detail:before{display:none}.chapter{display:block;margin-bottom:12px;font:9px Arial;letter-spacing:1px;color:#806437}.item-frame{float:right;width:65px;height:65px;margin:0 0 10px 20px;border:2px ridge #897343;box-shadow:0 0 0 2px #c9a76e}.item-frame img{border:0}.item-spark{font-size:20px}.quest-detail .rarity{font:8px Arial;color:#784798;margin:5px 0 10px}.quest-detail h3{font:25px/1.05 var(--serif);color:#3e4f47;margin:9px 0}.quest-detail h3 br{display:none}.quest-detail>p:not(.rarity){font:12px/1.65 Arial;color:#493c27;min-height:0;margin-bottom:14px}.quest-detail>a{font:bold 11px Arial;color:#285d6c;text-decoration:underline}.reward-rules{grid-template-columns:repeat(3,1fr);padding-top:20px;padding-bottom:0;border:0;gap:15px}.reward-rules b{font:27px var(--serif);color:#725016}.reward-rules span{font:9px Arial;color:#6a5937}.reward-rules>div{border-color:#90724544}.reward-rules p{grid-column:1/-1;font:9px/1.6 Arial;color:#6b593d}.reward-rules a{color:#225c6b}
.lore-backdrop{display:none}.lore-intro{text-align:left}.lore-intro h2{font-size:27px}.lore-intro>p:last-child{font:12px/1.6 Arial;color:#695332;margin-top:12px}.timeline{grid-template-columns:1fr;gap:0;margin-top:25px;padding-left:7px}.timeline article{border-top:0;border-left:1px solid #91744566;padding:0 0 25px 21px}.timeline-dot{top:3px;left:-5px;background:#f0d9a2;box-shadow:0 0 0 3px #ecd7a0}.present .timeline-dot{box-shadow:none;background:#876127}.timeline time{font:9px Arial;color:#6f552b}.timeline h3{font:23px var(--serif);color:#374e4a;margin:10px 0}.timeline h3 br{display:none}.timeline p{max-width:none;font:12px/1.6 Arial;color:#4f412b}.timeline a,.lore-caption{font:10px Arial;color:#245f6e;margin-top:10px}.lore-quote{margin-top:5px;gap:10px}.lore-quote>span{font-size:65px;color:#9f803f66}.lore-quote p{font:16px/1.6 Georgia;color:#5b4626}.lore-quote em{color:#8b652f}
.guild{grid-template-columns:1fr;gap:25px;padding:24px;background:linear-gradient(#132f41,#081520);border-bottom:2px ridge #657d84}.guild-image{max-width:none;padding:5px;border:2px ridge #a0a596;box-shadow:none;margin:0}.guild-copy h2{font:31px/1.05 var(--serif)}.guild-copy h2 br{display:none}.guild-copy h2 em{color:#dbc581}.guild-copy>p:not(.eyebrow){font:12px/1.6 Arial;max-width:none}.guild-copy .button{margin-top:5px}.guild-signoff{font-size:12px;margin-top:15px}.faq{grid-template-columns:1fr;gap:8px;padding:24px;background:#0a1c29}.faq-heading h2{font:26px var(--serif)}.faq-heading h2 em{color:#d4be7e}.faq-list summary{font:13px var(--serif);padding:14px 0;color:#e4d29e}.faq-list details p{font-size:11px}.contract{padding:30px 20px}.contract-ornament{margin-bottom:12px}.contract h2{font-size:26px}.contract h2 em{color:#edcd7f}.contract-box{margin-top:20px;padding:13px;gap:10px;flex-wrap:wrap}.contract-box>span{display:none}.contract-box code{font-size:10px;flex-basis:100%}.contract-box button{font-size:10px;border-left:0;padding:8px 0 0;border-top:1px solid var(--line);width:100%;justify-content:space-between}.contract .eyebrow{font-size:9px}.copy-status{font-size:10px}
.classic-right{padding-top:0}.side-banner{display:flex;position:relative;isolation:isolate;flex-direction:column;justify-content:center;text-align:center;min-height:160px;border:3px ridge #969886;margin-bottom:12px;padding:20px 12px;box-shadow:0 0 0 1px #04070a,inset 0 0 20px #000;background-size:cover;background-position:center}.treasury-banner{background-image:linear-gradient(#02142660,#08101ba0),url('assets/treasury.webp')}.guild-banner{background-image:linear-gradient(#080e1933,#060b18bb),url('assets/gateway.webp');min-height:205px}.side-banner small{font:8px Arial;letter-spacing:1px;color:#cce2e5}.side-banner b{font:28px/1.1 var(--serif);color:#f0d68a;text-shadow:2px 2px 2px #000;margin:16px 0}.side-banner>span{font:12px var(--serif);color:#fff3c8;text-shadow:1px 2px #000}.side-banner:hover{filter:brightness(1.2)}.sidebar-box{border:2px ridge #6d7d82;background:#081b29ed;margin-bottom:12px}.sidebar-box dl{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:13px;font:10px Arial;margin:0}.sidebar-box dt{color:#89a8ba}.sidebar-box dd{margin:0;text-align:right;color:#dfc989}.sidebar-box>a{display:block;border-top:1px solid #6b8c9d44;padding:11px;font:11px var(--serif);color:#ebd79a}.dispatch p{font:12px/1.7 Georgia;padding:0 12px;color:#b7c6c9}.dispatch>span{display:block;font:italic 11px Georgia;color:#ccb481;padding:0 12px 18px}
footer{max-width:1180px;margin:12px auto 25px;border:1px solid #54708055;padding:20px;background:#06121ee8;gap:18px}footer .brand{font-size:23px}footer>p{font:9px/1.5 Arial;max-width:540px}footer>a:last-child{font:11px var(--serif)}.js .reveal{opacity:1;transform:none;transition:none}




/* Each location has its own artwork. */
.hero-art{background-image:url('assets/fortress.webp');background-size:cover;background-position:65% center}
.hero.kingdom .hero-art{background-image:url('assets/gateway.webp')}
.reward-art{position:relative;margin:0 0 20px;border:3px ridge #98723c;box-shadow:0 2px 10px #62401755;background:#101b25;overflow:hidden}
.reward-art img{display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;object-position:center 58%}
.reward-art figcaption{position:absolute;inset:auto 0 0;padding:23px 14px 10px;background:linear-gradient(transparent,#03101bd9);font:20px var(--serif);color:#f5db8c;text-shadow:1px 2px #000}
.guild-image img{aspect-ratio:16/9;object-fit:cover}
.treasury-banner{background:radial-gradient(ellipse at 50% 100%,#635025,#152b38 65%,#05121d)}
.guild-banner{background-image:linear-gradient(#020b1660,#020b16c9),url('assets/guild.webp')}
.contract:before{background:linear-gradient(135deg,#0b2333,#06121e)}


/* Preserve the complete desktop fansite on phones; browser pinch zoom remains available. */
body{min-width:1216px}

.guild-image img{height:auto;display:block}
h1{font-size:58px}

/* Community Chronicle — two seamless, opposing guild-vault reels. */
.chronicle{position:relative;overflow:hidden;padding:31px 0 22px;background:linear-gradient(#081722,#020a10 75%);border-top:3px ridge #71848a;border-bottom:3px ridge #8c7648;box-shadow:inset 0 18px 35px #0008;color:#e9d9aa}
.chronicle:before,.chronicle:after{content:'';position:absolute;z-index:3;top:112px;bottom:47px;width:55px;pointer-events:none}
.chronicle:before{left:0;background:linear-gradient(90deg,#030b12,transparent)}
.chronicle:after{right:0;background:linear-gradient(-90deg,#030b12,transparent)}
.chronicle-heading{padding:0 24px 21px;text-align:center}
.chronicle-heading .eyebrow{font:9px var(--serif);letter-spacing:1px;color:#89bed0}
.chronicle-heading h2{margin:8px 0 7px;font:29px/1.05 var(--serif);color:#f5e4b2;text-shadow:1px 2px #000}
.chronicle-heading h2 em{color:#e2bc61}
.chronicle-heading>p:last-child{font:11px Georgia,serif;color:#8fa9b0}
.chronicle-window{display:grid;gap:10px;overflow:hidden}
.chronicle-track{display:flex;width:max-content;animation:chronicle-forward 78s linear infinite;will-change:transform}
.chronicle-track.reverse{animation-name:chronicle-reverse;animation-duration:92s}
.chronicle-sequence{display:flex;gap:10px;padding-right:10px}
.chronicle-sequence img{width:226px;height:146px;object-fit:cover;border:4px solid #111922;outline:1px solid #8d7b54;box-shadow:0 4px 10px #000b;filter:saturate(.88) contrast(1.04);transition:filter .2s,transform .2s}
.chronicle-window:hover .chronicle-track{animation-play-state:paused}
.chronicle-sequence img:hover{position:relative;z-index:4;filter:saturate(1.15) brightness(1.08);transform:scale(1.035)}
.chronicle-mark{margin:18px 0 0;text-align:center;font:9px var(--serif);letter-spacing:2px;color:#7e9dab}
.chronicle-mark span{color:#caa850;margin:0 9px}
@keyframes chronicle-forward{to{transform:translateX(-50%)}}
@keyframes chronicle-reverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.chronicle-track{animation:none}.chronicle-window{overflow:auto}.chronicle-track.reverse{transform:none}}
