
/* BALANDIR website portal extensions · Beta only · No external assets */
:root{--gold:#dfbb78;--paper:#f7edda;--night:#080d18;--muted:#bdc5d0}
*{box-sizing:border-box}
:focus-visible{outline:2px solid #f2d08e;outline-offset:4px}
.portal-page{margin:0;color:var(--paper);background:radial-gradient(circle at 9% 3%,#213354 0%,transparent 33%),radial-gradient(circle at 92% 31%,#281f35 0%,transparent 32%),#080d18;font-family:Georgia,'Times New Roman',serif;line-height:1.6}
.portal-page::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background:repeating-linear-gradient(120deg,transparent 0 80px,#c8a86b09 81px 82px)}
.portal-page a{color:inherit}.portal-page button,.portal-page input,.portal-page select{font:inherit}
.portal-header{position:sticky;top:0;z-index:70;background:#080e1de9;backdrop-filter:blur(20px);border-bottom:1px solid #a9884b77}
.portal-header-inner{max-width:1240px;margin:auto;padding:14px 24px;display:flex;align-items:center;gap:23px}
.portal-brand{font-weight:800;text-decoration:none;color:#e5c68a!important;letter-spacing:.13em;font-size:1.45rem;line-height:1.1;white-space:nowrap}.portal-brand small{display:block;text-align:center;color:#d3d1cb;font:10px/1.6 Arial,sans-serif;letter-spacing:.34em}
.portal-nav{display:flex;gap:17px;align-items:center;justify-content:center;flex:1}.portal-nav a{color:#d7d5d4;font:700 11px Arial,sans-serif;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;padding:8px 0}.portal-nav a:hover,.portal-nav a[aria-current=page]{color:#f4cf8b;border-bottom:1px solid #d5b36c}
.portal-hamburger{display:none;background:#182239;color:#edc883;border:1px solid #bb965b88;padding:9px 13px;cursor:pointer}
.portal-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #f1d29a;background:linear-gradient(125deg,#b18a4c,#efd08e,#a97a35);color:#181625!important;padding:12px 19px;text-decoration:none;font:800 12px/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;transition:filter .2s,transform .2s}.portal-button:hover{filter:brightness(1.13);transform:translateY(-2px)}.portal-button.outline{background:#172236;color:#f0d8a6!important}.portal-button.small{padding:10px 15px;font-size:10px}
.portal-wrap{max-width:1200px;margin:0 auto;padding:0 25px;position:relative}.portal-hero{padding:100px 0 71px;text-align:center;overflow:hidden;border-bottom:1px solid #bd98593d;position:relative}.portal-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,#d4a95f26,transparent 50%);pointer-events:none}.portal-hero h1{font-size:clamp(2.7rem,7vw,5.5rem);line-height:1.04;margin:16px auto 24px;max-width:950px;letter-spacing:.015em}.portal-hero p{max-width:760px;margin:0 auto 26px;color:#c2cede;font:17px/1.75 Arial,sans-serif}
.portal-overline{color:#deb96c;text-transform:uppercase;font:800 11px Arial,sans-serif;letter-spacing:.3em}.portal-rule{height:1px;background:linear-gradient(90deg,transparent,#b08b50,transparent);max-width:540px;margin:34px auto}.portal-section{padding:68px 0;border-bottom:1px solid #b89b6040}.portal-section h2{font-size:clamp(1.85rem,4vw,3rem);line-height:1.13;margin:10px 0 20px}.portal-lead{color:#bac6d5;font:15px/1.7 Arial,sans-serif;max-width:800px}.portal-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:24px 0}.portal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.portal-step{padding:23px 23px 25px;border:1px solid #a98c5770;background:linear-gradient(135deg,#24324f,#101828);min-height:160px}.portal-step strong{font-size:1.22rem;color:#f5e2bc}.portal-step p{font:14px/1.7 Arial,sans-serif;color:#ccd3df}
.portal-faction-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:24px 0 38px}.portal-faction-tab{padding:15px 6px 12px;text-decoration:none;text-align:center;border:1px solid color-mix(in srgb,var(--accent,#ba9854),transparent 35%);background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#395b80),#070e1c 48%),#101624);transition:transform .2s,border-color .2s}.portal-faction-tab:hover,.portal-faction-tab[aria-current=true]{transform:translateY(-4px);border-color:#ecd09a}.portal-faction-tab img{display:block;width:70px;height:70px;object-fit:contain;margin:0 auto 4px}.portal-faction-tab span{font:700 11px Arial,sans-serif;letter-spacing:.04em}
.portal-faction-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.portal-faction-mark{border:1px solid color-mix(in srgb,var(--accent),#fff 28%);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent),#102033 30%),#0c1425 80%);display:grid;place-items:center;min-height:275px}.portal-faction-mark img{width:min(230px,87%);height:auto;max-height:250px;object-fit:contain}.portal-faction-mark img[src$="nocthar.png"]{transform:scale(1.28)}.portal-faction-tab img[src$="nocthar.png"]{transform:scale(1.32)}.portal-faction-copy{border-left:3px solid var(--accent,#d9b46b);padding:1px 0 4px 25px}.portal-faction-copy h2{margin-top:5px}.portal-feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:23px}.portal-feature{background:linear-gradient(135deg,color-mix(in srgb,var(--accent),#122033 26%),#101722);border:1px solid color-mix(in srgb,var(--accent),transparent 40%);padding:20px}.portal-feature small{font:700 10px Arial,sans-serif;color:#e9d19e;letter-spacing:.14em}.portal-feature h3{line-height:1.3;font-size:1.26rem;margin:9px 0}.portal-feature p{font:13px/1.62 Arial,sans-serif;color:#c7d0d9}.portal-feature a{color:#edce8b;text-decoration:underline}
.portal-controls{display:grid;grid-template-columns:minmax(230px,2fr) repeat(2,minmax(145px,1fr));gap:12px;margin:25px 0}.portal-control{width:100%;min-height:46px;border:1px solid #786f61;background:#152037;color:#f9efe1;padding:12px;font:14px Arial,sans-serif}.portal-control::placeholder{color:#a8b6c8}.portal-result{color:#d4c8b1;font:12px Arial,sans-serif;margin:6px 0 20px}.portal-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-card{position:relative;min-height:225px;padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent),#0b1527 29%),#0c1524 82%);border:1px solid color-mix(in srgb,var(--accent),#bea36c 32%);display:flex;flex-direction:column;gap:8px;text-align:left;color:#f7ebd9;cursor:pointer;transition:transform .15s,box-shadow .15s}.portal-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0007}.portal-card .code{color:#dfc28e;letter-spacing:.11em;font:700 11px Arial,sans-serif}.portal-card .ctype{font:11px Arial,sans-serif;color:#d0d6dc}.portal-card h3{font-size:1.19rem;line-height:1.32;margin:4px 0}.portal-card .stats{margin-top:auto;display:flex;flex-wrap:wrap;gap:7px;font:700 11px Arial,sans-serif;color:#e1ddcc}.portal-card .stats span{border:1px solid #d7be8b5c;padding:3px 6px}.portal-card .cta{margin-top:12px;font:700 10px Arial,sans-serif;color:#f2d69f;letter-spacing:.12em;text-transform:uppercase}
.portal-modal{border:1px solid #d5b477;background:#0d1627;color:#f6efdf;max-width:min(620px,calc(100vw - 26px));width:100%;padding:0;box-shadow:0 28px 110px #000}.portal-modal::backdrop{background:#02040ad9}.portal-modal-content{padding:25px 27px 30px;border-top:5px solid var(--accent,#d8b16d)}.portal-modal h2{font-size:1.8rem;margin:6px 0 18px}.portal-modal p{color:#d5deec;font:14px/1.8 Arial,sans-serif;white-space:pre-line}.portal-modal-close{float:right;background:transparent;color:#f8d49b;border:1px solid #a99469;padding:7px 12px;cursor:pointer}
.portal-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;margin:15px 0}.portal-map-actions{display:flex;gap:7px}.portal-map-actions button{background:#17263c;color:#ebd09d;border:1px solid #a79061;padding:10px 14px;cursor:pointer}.portal-map-actions button:hover{background:#273b54}.portal-map-viewport{border:1px solid #a89060;background:#0d1522;overflow:hidden;position:relative;cursor:grab;touch-action:pan-y;aspect-ratio:16 / 10;min-height:320px;box-shadow:0 16px 60px #0008}.portal-map-viewport.grabbing{cursor:grabbing}.portal-map-viewport img{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;transform-origin:center center;user-select:none;-webkit-user-drag:none;pointer-events:none}.portal-map-legend{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.portal-map-legend a,.portal-chip{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#ebdeca;background:#17253b;border:1px solid #947e587b;padding:9px 13px;font:12px Arial,sans-serif}.portal-map-legend img{width:27px;height:27px;object-fit:contain}
.portal-searchable{margin:16px 0}.portal-rule-item{padding:19px 22px;margin:11px 0;background:linear-gradient(100deg,#1b2940,#101928);border:1px solid #b39b695e}.portal-rule-item h3{margin:0 0 8px;color:#f2dcac;font-size:1.28rem}.portal-rule-item p{color:#d2d8df;font:14px/1.75 Arial,sans-serif;margin:0}
.portal-timeline{border-left:1px solid #c3a361;margin:27px 0 35px 14px;padding-left:30px}.portal-timeline>div{position:relative;margin:24px 0 36px}.portal-timeline>div::before{content:"";position:absolute;left:-37px;top:6px;width:12px;height:12px;background:#c39e62;border-radius:50%;box-shadow:0 0 0 6px #c39e6233}.portal-timeline h3{margin:0;color:#f5ddb0}.portal-timeline p{color:#c3cbd8;font:14px/1.75 Arial,sans-serif}
.portal-footer{background:#070b13;border-top:1px solid #aa8651aa;color:#b9c1ce;padding:36px 0;font:13px/1.8 Arial,sans-serif}.portal-footer-inner{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.portal-footer a{color:#e2c38f;margin-right:14px}.portal-note{font:12px/1.65 Arial,sans-serif;color:#aab8ca;margin:17px 0}.portal-empty{padding:24px;border:1px dashed #a58e6b;text-align:center;color:#cbd4e0}.portal-home-link{display:inline-block;margin-top:16px;color:#f5d79b;text-decoration:none;font:700 12px Arial,sans-serif}.portal-home-link:hover{text-decoration:underline}
body:not(.portal-page) .tile{text-decoration:none;color:inherit}body:not(.portal-page) .tile:focus-visible{outline:2px solid #eed499;outline-offset:2px}
body:not(.portal-page) .site-header{box-shadow:0 8px 36px #0005}body:not(.portal-page) .hero h1{text-shadow:0 0 45px #e2b66133,0 5px 35px #000}body:not(.portal-page) .tile:hover{box-shadow:0 14px 34px #0008,inset 0 1px 0 #ffffff26}body:not(.portal-page) .section .portal-button{margin:14px auto}
@media(max-width:1050px){.portal-card-grid{grid-template-columns:repeat(3,1fr)}.portal-feature-list{grid-template-columns:repeat(2,1fr)}.portal-nav{gap:10px}.portal-nav a{font-size:10px}}
@media(max-width:780px){.portal-hamburger{display:block;margin-left:auto}.portal-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px;background:#0c1526;flex-direction:column;align-items:stretch;border-bottom:1px solid #a58a59}.portal-nav.open{display:flex}.portal-nav a{font-size:12px;padding:11px 8px}.portal-header-inner>.portal-button{display:none}.portal-faction-tabs{grid-template-columns:repeat(3,1fr)}.portal-faction-layout{grid-template-columns:1fr}.portal-faction-mark{min-height:210px}.portal-faction-mark img{max-height:195px}.portal-card-grid{grid-template-columns:repeat(2,1fr)}.portal-controls{grid-template-columns:1fr 1fr}.portal-controls input{grid-column:1/-1}.portal-steps{grid-template-columns:1fr}.portal-hero{padding:68px 0 45px}}
@media(max-width:460px){.portal-wrap{padding:0 16px}.portal-header-inner{padding:12px 16px}.portal-faction-tabs{gap:5px}.portal-faction-tab img{width:49px;height:49px}.portal-faction-tab span{font-size:10px}.portal-feature-list,.portal-card-grid{grid-template-columns:1fr}.portal-controls{grid-template-columns:1fr}.portal-controls input{grid-column:auto}.portal-section{padding:48px 0}.portal-hero p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition:none!important}}

/* BALANDIR chronicles · official lore */
.chronicle-main{overflow:hidden}.chronicle-main .portal-wrap{max-width:1260px}
.chronicle-hero{text-align:center;min-height:460px;display:flex;align-items:center;justify-content:center;padding:82px 15px 90px;position:relative;overflow:hidden;border-bottom:1px solid #ba95596b;background:radial-gradient(ellipse at center 24%,#2d4263 0,#17233a 33%,#090e1b 78%)}
.chronicle-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(108deg,transparent 0 102px,#e9be7010 103px 104px),linear-gradient(90deg,#0d1421bb,transparent 25%,transparent 75%,#0d1421bb);opacity:.7}
.chronicle-overline{font:700 11px Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#e3bd78;position:relative}
.chronicle-hero h1{font-size:clamp(3.3rem,6.1vw,6.9rem);letter-spacing:.07em;font-weight:750;max-width:1000px;margin:17px auto 0;line-height:1.14;text-shadow:0 8px 42px #0008}
.chronicle-hero h1 em{display:block;font-size:clamp(1.45rem,3vw,3.2rem);font-style:normal;font-weight:400;letter-spacing:.02em;color:#eed0a0;margin:14px auto 0}
.chronicle-ornament{font-size:28px;color:#dfbf85;position:relative;margin:16px auto}.chronicle-ornament::before,.chronicle-ornament::after{content:"";position:absolute;top:50%;height:1px;width:100px;background:linear-gradient(90deg,transparent,#d1a964)}.chronicle-ornament::before{right:calc(50% + 20px)}.chronicle-ornament::after{left:calc(50% + 20px);transform:rotate(180deg)}
.chronicle-hero p{font:16px/1.7 Arial,sans-serif;color:#d8d2c7;max-width:580px;margin:10px auto 25px}
.chronicle-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:58px;align-items:start;padding-top:75px!important;padding-bottom:95px!important}
.chronicle-index{position:sticky;top:106px;display:flex;flex-direction:column;gap:5px;padding:23px 21px;background:linear-gradient(150deg,#1b263c,#101724);border:1px solid #a68a5b6e}
.chronicle-index .portal-overline{margin-bottom:12px;color:#d2b579}
.chronicle-index a{display:block;text-decoration:none;font:13px/1.55 Arial,sans-serif;color:#d3d8e0;border-bottom:1px solid #baa17434;padding:11px 2px;transition:color .2s}
.chronicle-index a:hover{color:#f6cf8f}.chronicle-index a span{font:700 11px Arial,sans-serif;color:#d7af6d;margin-right:8px}
.chronicle-index .chronicle-nav-map{border:1px solid #bda57572;background:#263348;padding:11px;margin-top:15px;text-align:center;color:#f1d69f}
.chronicle-content{min-width:0}.chronicle-chapter{scroll-margin-top:125px;margin-bottom:80px;padding-bottom:62px;border-bottom:1px solid #ab8d5c55}
.chronicle-number{font:700 15px Arial,sans-serif;letter-spacing:.21em;color:#e0bd80;margin-bottom:18px}.chronicle-number span{font-size:11px;letter-spacing:.08em;color:#9ea9bb;font-weight:400}
.chronicle-chapter h2{font-size:clamp(2rem,4.3vw,3.35rem);line-height:1.17;margin:0 0 24px;color:#f4dbad;letter-spacing:.008em}
.chronicle-text>p{max-width:810px;font:clamp(16px,1.6vw,18px)/1.94 Georgia,'Times New Roman',serif;color:#e0e2df;margin:0 0 24px}
.chronicle-text>p:first-child::first-letter{font-size:1.8em;color:#e4bd76;line-height:1}
.chronicle-map{margin:35px 0 0;padding:8px;border:1px solid #a18a6187;background:#111a2c}.chronicle-map img{display:block;width:100%;max-height:560px;object-fit:cover;filter:saturate(.96)}.chronicle-map figcaption{display:flex;justify-content:space-between;gap:15px;padding:10px 12px 5px;color:#d6b886;font:11px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.chronicle-map a{text-decoration:none}.chronicle-map figcaption a{color:#f6d69e}
.chronicle-factions{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:38px}
.chronicle-realm{scroll-margin-top:110px;border:1px solid color-mix(in srgb,var(--realm,#d0ad76),transparent 40%);background:linear-gradient(137deg,color-mix(in srgb,var(--realm,#8a6d4c),#0b1522 63%),#0d1522 81%);padding:21px 19px;display:flex;align-items:flex-start;gap:15px}
.chronicle-realm[id=nordheim]{--realm:#7dbdff}.chronicle-realm[id=ignaris]{--realm:#ff8766}.chronicle-realm[id=sylvaris]{--realm:#7cde9a}.chronicle-realm[id=nocthar]{--realm:#c598ef}.chronicle-realm[id=aetherion]{--realm:#d9ca92}.chronicle-realm[id=ferrum]{--realm:#d0a477}
.chronicle-realm-icon{width:64px;height:64px;flex:0 0 64px;display:grid;place-items:center;border-radius:50%;background:#080f1dcc;border:1px solid color-mix(in srgb,var(--realm),transparent 52%)}
.chronicle-realm-icon img{width:61px;height:61px;object-fit:contain}.chronicle-realm[id=nocthar] .chronicle-realm-icon img{transform:scale(1.38)}
.chronicle-realm .portal-overline{font-size:9px;letter-spacing:.15em}.chronicle-realm h3{font-size:1.25rem;margin:7px 0 11px;line-height:1.25;color:#f6e2bf}
.chronicle-realm p{font:14px/1.75 Arial,sans-serif;color:#d9dde6;margin:0 0 15px}.chronicle-realm a{font:700 11px Arial,sans-serif;letter-spacing:.04em;text-decoration:none;color:#eed09a}.chronicle-realm a:hover{text-decoration:underline}
.chronicle-outro{text-align:center;margin:0 auto;background:radial-gradient(ellipse at 50% 0,#283d5a,#111b2b 75%);padding:40px 26px;border:1px solid #bea27375}
.chronicle-outro p{font-size:1.2rem;line-height:1.7;margin:16px auto 0;color:#ecdbbc;max-width:690px}
.lore-summary{padding:27px 31px;border-left:3px solid #d4af76;background:linear-gradient(110deg,#293649,#101724);margin:24px 0}.lore-summary p{font-size:1.05rem;line-height:1.85;color:#f3e9d9}.lore-summary .portal-overline{font-size:10px}.lore-summary a{color:#f2d08a;text-decoration:none;font:700 12px Arial,sans-serif}
@media(max-width:1050px){.chronicle-layout{gap:30px;grid-template-columns:205px minmax(0,1fr)}.chronicle-factions{grid-template-columns:1fr}}
@media(max-width:700px){.chronicle-hero{min-height:385px;padding:60px 12px 66px}.chronicle-hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.chronicle-layout{display:block;padding-top:28px!important;padding-bottom:55px!important}.chronicle-index{position:static;margin-bottom:45px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:15px}.chronicle-index .portal-overline{grid-column:1/-1}.chronicle-index a{font-size:11px}.chronicle-index .chronicle-nav-map{margin-top:4px}.chronicle-chapter{margin-bottom:52px;padding-bottom:35px}.chronicle-text>p{font-size:16px;line-height:1.85}.chronicle-realm{padding:15px 12px;gap:12px}.chronicle-realm-icon{width:51px;height:51px;flex-basis:51px}.chronicle-realm-icon img{width:50px;height:50px}.chronicle-map figcaption{flex-direction:column}}
@media(max-width:370px){.chronicle-index{grid-template-columns:1fr}.chronicle-index .portal-overline{grid-column:auto}}

/* Official founding of the city Balandir */
.chronicle-city{border:1px solid #cda5687d;padding:37px clamp(18px,4vw,47px) 34px!important;background:radial-gradient(ellipse at 50% 0%,#31476a 0%,#17243b 43%,#0a1220 90%);position:relative;box-shadow:0 22px 80px #0007}
.chronicle-city::before,.chronicle-city::after{content:"";position:absolute;width:45px;height:45px;border:2px solid #cdaa72;pointer-events:none}
.chronicle-city::before{top:10px;left:10px;border-right:0;border-bottom:0}
.chronicle-city::after{bottom:10px;right:10px;border-left:0;border-top:0}
.chronicle-city-header{text-align:center;margin-bottom:32px}
.chronicle-city-header h2{font-size:clamp(2.2rem,4.2vw,3.3rem);margin:13px auto 22px}
.chronicle-city-mark{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px auto;color:#efc88e;letter-spacing:.15em}
.chronicle-city-mark span{font-size:17px}
.chronicle-city-mark strong{font-size:clamp(1.3rem,3.1vw,2.35rem);font-weight:500;letter-spacing:.23em;text-shadow:0 0 28px #d7a96570}
.chronicle-city .chronicle-text>p{max-width:790px;margin-left:auto;margin-right:auto}
.chronicle-city .chronicle-cliffhanger{padding:23px 28px!important;margin:29px auto 0!important;border-top:1px solid #d7b57a7f;border-bottom:1px solid #d7b57a7f;text-align:center;color:#f6d8a8!important;font-size:1.17rem!important;line-height:1.8!important}
.chronicle-city .portal-buttons{margin-top:30px}
.city-story-teaser{border:1px solid #cfac738c;background:radial-gradient(ellipse at top,#324764 0%,#111d30 76%);padding:31px clamp(18px,4vw,43px);box-shadow:0 13px 48px #0007;margin:26px 0}
.city-story-teaser h2,.city-story-teaser h3{color:#f3d6a5;margin:10px 0 14px;font-size:clamp(1.8rem,3.6vw,2.75rem);line-height:1.16}
.city-story-teaser p{font:clamp(15px,1.5vw,17px)/1.85 Georgia,serif;color:#e0e4e9;max-width:830px}
.city-story-teaser .city-story-question{font-style:italic;color:#f6dab4;border-left:2px solid #d0aa70;padding-left:17px;margin:22px 0}
.city-story-teaser .portal-buttons{justify-content:flex-start}
@media(max-width:700px){.chronicle-city{padding:25px 19px!important}.chronicle-city .chronicle-cliffhanger{padding:18px 12px!important}.chronicle-city-mark{gap:8px}.chronicle-city-mark strong{letter-spacing:.1em}.city-story-teaser{padding:21px 16px}}

/* BALANDIR official essence artwork previews */
.portal-card-art{width:100%;height:190px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent),transparent 50%);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent),#10192b 75%),#0b1423 82%);padding:8px;overflow:hidden;flex-shrink:0;margin:5px auto 4px}
.portal-card-art img{max-height:100%;max-width:100%;width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px #0009)}
.portal-modal-art{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:460px;min-height:210px;padding:12px;margin:12px auto 20px;border:1px solid color-mix(in srgb,var(--accent),transparent 48%);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--accent),#10192b 77%),#0a1423)}
.portal-modal-art img{display:block;max-width:100%;max-height:430px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 22px #0008)}
.portal-card:has(.portal-card-art){min-height:410px}
@media(max-width:600px){.portal-card-art{height:210px}.portal-card:has(.portal-card-art){min-height:410px}.portal-modal-art{max-height:320px;min-height:140px}.portal-modal-art img{max-height:290px}}

/* Featured six officially uploaded essence cards */
#fertige-essenzen{background:radial-gradient(ellipse at 45% 20%,#2537538c,transparent 65%),linear-gradient(180deg,#0b1322,#0a101d)}
#fertige-essenzen h2{font-size:clamp(2.1rem,5vw,3.4rem);margin:12px 0 18px;color:#f7deb2}
.essence-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:26px 0 24px}
.essence-feature-card{display:flex;flex-direction:column;position:relative;text-align:center;align-items:stretch;gap:14px;padding:18px 18px 20px;color:#f8ead1;cursor:zoom-in;border:1px solid color-mix(in srgb,var(--accent),#c4a16b 35%);background:radial-gradient(ellipse at 50% 24%,color-mix(in srgb,var(--accent),#121c2d 18%),#101828 78%);box-shadow:0 13px 32px #0007,inset 0 1px 0 #ffffff12;transition:transform .2s,box-shadow .2s,border-color .2s}
.essence-feature-card:hover{transform:translateY(-5px);border-color:#f1d6a3;box-shadow:0 22px 42px #0009,0 0 27px color-mix(in srgb,var(--accent),transparent 78%)}
.essence-feature-card:focus-visible{outline:3px solid #f3d49b;outline-offset:3px}
.essence-feature-image{display:flex;align-items:center;justify-content:center;aspect-ratio:63/88;max-height:420px;width:100%;margin:0 auto;overflow:hidden}
.essence-feature-image img{height:100%;width:100%;object-fit:contain;display:block;filter:drop-shadow(0 14px 18px #0008)}
.essence-feature-meta{display:flex;flex-direction:column;gap:5px;min-height:60px}
.essence-feature-meta strong{font-size:1.25rem;line-height:1.32}
.essence-feature-meta small{color:#d7deec;font:12px Arial,sans-serif}
.essence-feature-zoom{position:absolute;top:14px;right:16px;font:700 19px Arial,sans-serif;color:#f9deb0;text-shadow:0 2px 9px #000}
.portal-controls:has(#collectionArtFilter){grid-template-columns:minmax(200px,2fr) repeat(3,minmax(132px,1fr))}
.portal-modal:has(.portal-modal-art){max-width:min(770px,calc(100vw - 22px))}
.portal-modal:has(.portal-modal-art) .portal-modal-art{max-height:600px}
.portal-modal:has(.portal-modal-art) .portal-modal-art img{max-height:565px}
@media(max-width:1040px){.essence-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-controls:has(#collectionArtFilter){grid-template-columns:repeat(2,minmax(0,1fr))}.portal-controls:has(#collectionArtFilter) input{grid-column:1/-1}}
@media(max-width:590px){.essence-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.essence-feature-card{padding:11px 8px 13px;gap:8px}.essence-feature-meta strong{font-size:1.04rem}.essence-feature-meta small{font-size:10px}.essence-feature-image{max-height:300px}.portal-controls:has(#collectionArtFilter){grid-template-columns:1fr}.portal-controls:has(#collectionArtFilter) input{grid-column:1}.portal-modal:has(.portal-modal-art) .portal-modal-art{max-height:420px}}
@media(max-width:355px){.essence-feature-grid{grid-template-columns:1fr}.essence-feature-card{max-width:300px;margin:auto;width:100%}}

/* Full-screen artwork lightbox + responsive hover zoom */
#kartensammlung .portal-card:has(.portal-card-art){min-height:475px;transform-origin:center center;position:relative}
#kartensammlung .portal-card-art{height:260px;padding:4px;overflow:hidden;cursor:zoom-in}
#kartensammlung .portal-card-art img{transition:transform .25s ease,filter .25s ease}
#kartensammlung .portal-card:has(.portal-card-art){transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 #kartensammlung .portal-card:has(.portal-card-art):hover{transform:translateY(-8px) scale(1.125);z-index:9;box-shadow:0 25px 55px #000e,0 0 25px color-mix(in srgb,var(--accent),transparent 75%);border-color:#eed19c}
 #kartensammlung .portal-card:has(.portal-card-art):hover .portal-card-art img{transform:scale(1.09);filter:drop-shadow(0 13px 22px #000c)}
 #fertige-essenzen .essence-feature-card:hover{transform:translateY(-7px) scale(1.07);z-index:9;box-shadow:0 27px 55px #000c}
 #fertige-essenzen .essence-feature-card .essence-feature-image img{transition:transform .24s ease}
 #fertige-essenzen .essence-feature-card:hover .essence-feature-image img{transform:scale(1.075)}
}
.card-lightbox{position:fixed;inset:0;width:min(820px,calc(100vw - 32px));height:min(790px,calc(100dvh - 36px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 36px);box-sizing:border-box;margin:auto;padding:0;border:1px solid #bd9c686e;border-radius:12px;overflow:hidden;color:#f7e9ce;background:radial-gradient(circle at center,#1b2b45 0%,#080c14 76%);box-shadow:0 28px 100px #000b}
.card-lightbox::backdrop{background:#02040bea}
.card-lightbox[open]{display:block}
.card-lightbox-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;width:100%;max-width:820px;height:100%;margin:0 auto;padding:14px clamp(10px,3vw,26px) 16px;box-sizing:border-box}
.card-lightbox-top{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #bd9c6860;padding:0 0 12px}
.card-lightbox-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.card-lightbox-title strong{font:700 clamp(16px,2vw,24px)/1.25 Georgia,serif;color:#f6dca8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-lightbox-title small{font:11px Arial,sans-serif;letter-spacing:.12em;color:#becdde}
.card-lightbox-close,.card-lightbox-prev,.card-lightbox-next,.card-lightbox-bottom button{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:14px;color:#f5d69b;background:#18263b;border:1px solid #bda16d88;cursor:pointer;transition:background .18s,border-color .18s}
.card-lightbox-close:hover,.card-lightbox-prev:hover,.card-lightbox-next:hover,.card-lightbox-bottom button:hover{background:#34435d;border-color:#f7d59e}
.card-lightbox-close{padding:9px 15px;font:700 13px Arial,sans-serif}
.card-lightbox-close span{font:26px/15px Arial,sans-serif}
.card-lightbox-stage{min-height:0;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;justify-items:center;gap:10px}
.card-lightbox-stage img{display:block;min-width:0;width:auto;height:auto;max-width:min(100%,540px);max-height:min(63dvh,560px);aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 12px 26px #000c)}
.card-lightbox-stage img[src=""]{visibility:hidden}
.card-lightbox-prev,.card-lightbox-next{width:52px;height:67px;font:44px/1 Georgia,serif}
.card-lightbox-prev[hidden],.card-lightbox-next[hidden]{display:none!important}
.card-lightbox-bottom{min-height:48px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px;border-top:1px solid #bd9c6860;padding-top:12px;text-align:center}
.card-lightbox-bottom span{font:12px Arial,sans-serif;color:#cfd8e5}
.card-lightbox-bottom #lightboxCounter{color:#f7dca1;font-weight:700}
.card-lightbox-bottom button{padding:10px 16px;font:700 12px Arial,sans-serif}
@media(max-width:700px){
 .card-lightbox{width:calc(100vw - 18px);max-width:calc(100vw - 18px);height:min(690px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}
 .card-lightbox-stage img{max-height:min(59dvh,480px);max-width:100%}
 .card-lightbox-shell{padding:9px 8px 13px}
 .card-lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:3px}
 .card-lightbox-prev,.card-lightbox-next{width:34px;height:65px;font-size:31px;padding:0}
 .card-lightbox-top{gap:8px}
 .card-lightbox-title strong{font-size:15px;white-space:normal;max-height:2.5em}
 .card-lightbox-close{padding:8px 10px;font-size:11px}
 .card-lightbox-bottom{gap:7px 14px}
 .card-lightbox-help{display:none}
 #kartensammlung .portal-card-art{height:210px}
 #kartensammlung .portal-card:has(.portal-card-art){min-height:410px}
}
@media(prefers-reduced-motion:reduce){
 #kartensammlung .portal-card-art img,#fertige-essenzen .essence-feature-image img{transition:none}
}

/* Chronicle chapter VI: Heart of Balandir */
.chronicle-heart{position:relative;padding:44px clamp(18px,4vw,46px) 40px!important;background:radial-gradient(ellipse at 50% 12%,#3946699e,#19253b 48%,#0a1322 92%);border:1px solid #d7b16f99;box-shadow:0 18px 60px #0007,0 0 60px #bd966617;overflow:hidden}
.chronicle-heart::before{content:"";position:absolute;inset:12px;border:1px solid #c5a36740;pointer-events:none}
.chronicle-heart-intro{text-align:center;position:relative}
.chronicle-heart-intro h2{font-size:clamp(2.2rem,4.15vw,3.45rem);max-width:770px;margin:18px auto 22px;color:#f8dfab;text-shadow:0 3px 28px #0008}
.chronicle-heart-symbol{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px auto 29px;color:#e9c58b}
.chronicle-heart-symbol::before,.chronicle-heart-symbol::after{content:"";width:70px;height:1px;background:linear-gradient(90deg,transparent,#dfb970)}
.chronicle-heart-symbol::after{transform:rotate(180deg)}
.chronicle-heart-symbol span:nth-child(2){font-size:30px;filter:drop-shadow(0 0 14px #dfba79a9)}
.chronicle-heart-symbol span:not(:nth-child(2)){font-size:13px;opacity:.75}
.chronicle-heart .chronicle-text{position:relative}
.chronicle-heart .chronicle-text>p{margin-left:auto;margin-right:auto;max-width:780px}
.chronicle-heart .chronicle-text strong{color:#f5d491}
.chronicle-heart-final{margin-top:31px!important;border-top:1px solid #caa56891;padding:24px 10px 4px;text-align:center;font-size:clamp(1.3rem,2.8vw,1.9rem)!important;color:#f4d6a3!important;letter-spacing:.04em}
.chronicle-heart .portal-buttons{position:relative;margin-top:27px}
.heart-story-teaser{margin-top:25px;border-top:1px solid #bba06b70;padding-top:24px}
.heart-story-teaser h3{color:#f5d8a7;font-size:clamp(1.45rem,3.2vw,2.2rem);margin:8px 0 16px}
.heart-story-teaser p{color:#dfdfdf;font:15px/1.85 Georgia,serif}
.heart-story-teaser strong{color:#f4d18f}
.heart-story-teaser .heart-story-ending{color:#f5d9a8;font-style:italic}
.heart-story-teaser a{display:inline-block;font:700 12px Arial,sans-serif;color:#f4d293;text-decoration:none;border-bottom:1px solid #bb9859;padding:7px 0}
.heart-story-teaser a:hover{color:#fff2d1}
@media(max-width:700px){.chronicle-heart{padding:29px 17px!important}.chronicle-heart::before{inset:7px}.chronicle-heart-symbol{gap:8px}.chronicle-heart-symbol::before,.chronicle-heart-symbol::after{width:28px}}

/* Chapter VII: the six histories */
.chronicle-realm-stories{background:linear-gradient(145deg,#16233b55,#0a142220);border-bottom:0;margin-bottom:40px}
.chronicle-realm-stories>h2{margin:12px 0 17px}
.chronicle-realm-intro{font:16px/1.82 Georgia,serif;color:#d8dedf;margin-bottom:35px}
.chronicle-realm-story{scroll-margin-top:115px;position:relative;margin:22px 0;padding:26px clamp(16px,3vw,31px) 25px;border:1px solid color-mix(in srgb,var(--realm-color,#d6b27b),transparent 45%);background:linear-gradient(130deg,color-mix(in srgb,var(--realm-color,#8c6f40),#142138 78%),#0d1829 78%);box-shadow:inset 0 1px 0 #ffffff0d,0 12px 36px #0004}
.chronicle-realm-story::before{content:"";height:3px;position:absolute;left:0;top:0;right:0;background:linear-gradient(90deg,var(--realm-color),transparent 70%);opacity:.72}
.chronicle-realm-story-header{display:flex;align-items:center;gap:22px;margin-bottom:19px}
.chronicle-realm-symbol{display:flex;flex:0 0 88px;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;border:1px solid color-mix(in srgb,var(--realm-color),transparent 58%);background:#0a1526cc}
.chronicle-realm-symbol img{display:block;width:82px;height:82px;object-fit:contain}
#geschichte-nocthar .chronicle-realm-symbol img{transform:scale(1.3)}
.chronicle-realm-story-header h3{font-size:clamp(1.45rem,2.7vw,2.1rem);line-height:1.22;margin:5px 0;color:#f6e1bd}
.chronicle-realm-story-text p{font:15.5px/1.84 Georgia,'Times New Roman',serif;color:#dee5e9;margin:0 0 18px}
.chronicle-story-link{display:inline-block;margin-top:4px;color:#f1ce8b!important;font:700 12px Arial,sans-serif;text-decoration:none;border-bottom:1px solid #ac8856;padding:6px 0}
.chronicle-story-link:hover{color:#fff1d5!important}
.chronicle-shared-fate{scroll-margin-top:115px;margin-top:46px;padding:36px clamp(18px,4vw,39px);border:1px solid #d0ac7392;text-align:center;background:radial-gradient(ellipse at center 0%,#334763 0%,#121e31 68%,#0b1424 100%);box-shadow:0 18px 55px #0008}
.chronicle-shared-fate h3{font-size:clamp(2rem,4vw,3rem);margin:12px 0 24px;color:#f5ddab}
.chronicle-shared-fate>p{max-width:760px;margin:0 auto 17px;color:#e5e6e4;font:17px/1.85 Georgia,serif}
.chronicle-shared-fate .chronicle-fate-last{font-style:italic;color:#f4d39a;margin-top:28px;font-size:1.12rem}
.faction-history-section{position:relative;background:radial-gradient(ellipse at 80% 30%,#20314c99,transparent 72%)}
.faction-history-shell{position:relative;padding:clamp(23px,4vw,42px);border:1px solid color-mix(in srgb,var(--accent,#c7a36e),transparent 36%);background:linear-gradient(130deg,color-mix(in srgb,var(--accent),#112039 82%) 0%,#111a2b 70%);box-shadow:0 17px 46px #0007}
.faction-history-shell::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),transparent 85%)}
.faction-history-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:19px}
.faction-history-head h2{margin:0 0 12px;color:#f3dcaf}
.faction-history-head .portal-lead{margin:0}
.faction-history-seal{flex:none;display:grid;place-items:center;width:120px;height:120px;border:1px solid color-mix(in srgb,var(--accent),transparent 50%);border-radius:50%;background:#0a1223a8}
.faction-history-seal img{display:block;width:110px;height:110px;object-fit:contain}
.faction-history-seal img[src$="nocthar.png"]{transform:scale(1.30)}
.faction-history-text{margin-bottom:24px}
.faction-history-text p{font:clamp(15.5px,1.7vw,18px)/1.87 Georgia,'Times New Roman',serif;color:#e4e6e6;margin:0 0 17px;max-width:880px}
.faction-history-shell>.portal-button{display:inline-flex}
@media(max-width:700px){.chronicle-realm-story{margin:16px 0;padding:18px 16px}.chronicle-realm-story-header{gap:14px}.chronicle-realm-symbol{flex-basis:65px;width:65px;height:65px}.chronicle-realm-symbol img{width:62px;height:62px}.chronicle-realm-story-header h3{font-size:1.38rem}.chronicle-realm-story-text p{font-size:15px;line-height:1.8}.chronicle-shared-fate{padding:28px 18px}.faction-history-head{align-items:flex-start}.faction-history-seal{width:80px;height:80px}.faction-history-seal img{width:75px;height:75px}.faction-history-text p{font-size:16px}}
@media(max-width:420px){.faction-history-seal{width:64px;height:64px}.faction-history-seal img{width:61px;height:61px}.chronicle-realm-story-header{align-items:flex-start}}

/* BALANDIR chapter VIII: eighteen rulers */
.chronicle-ruler-chapter{padding-bottom:42px}
.chronicle-ruler-chapter>h2{color:#f5dcac}
.chronicle-ruler-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:30px 0 35px}
.chronicle-ruler-shortcuts a{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--ruler-accent),#ba9868 24%);background:linear-gradient(122deg,color-mix(in srgb,var(--ruler-accent),#15213a 20%),#0b1524);text-decoration:none;color:#f6e1c0;font:700 13px Arial,sans-serif;transition:border-color .2s,transform .2s}
.chronicle-ruler-shortcuts a:hover{transform:translateY(-3px);border-color:#edce95}
.chronicle-ruler-shortcuts img{width:42px;height:42px;object-fit:contain;flex:none}
.chronicle-ruler-shortcuts a[href="#herrscher-nocthar"] img{transform:scale(1.25)}
.chronicle-ruler-realm{scroll-margin-top:110px;margin:30px 0 50px;position:relative;border:1px solid color-mix(in srgb,var(--ruler-accent),#a38b67 30%);background:linear-gradient(140deg,color-mix(in srgb,var(--ruler-accent),#102033 17%),#0b1422 72%);padding:23px clamp(15px,3vw,26px) 27px}
.chronicle-ruler-realm::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--ruler-accent),transparent 75%)}
.chronicle-ruler-realm-head{display:flex;align-items:center;gap:17px;margin-bottom:24px}
.chronicle-ruler-realm-head h3{font-size:clamp(1.45rem,3vw,2.05rem);color:#f6dfb6;line-height:1.2;margin:5px 0 8px}
.chronicle-ruler-sigil{flex:none;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ruler-accent),transparent 55%);background:#070d1cbb}
.chronicle-ruler-sigil img{width:73px;height:73px;object-fit:contain}
#herrscher-nocthar .chronicle-ruler-sigil img{transform:scale(1.3)}
.chronicle-rulers-profile-link{color:#e9c88f!important;font:700 11px Arial,sans-serif;text-decoration:none}
.chronicle-rulers-profile-link:hover{text-decoration:underline}
.chronicle-rulers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.chronicle-ruler{scroll-margin-top:100px;position:relative;display:flex;flex-direction:column;min-width:0;padding:20px 17px 21px;border:1px solid color-mix(in srgb,var(--ruler-accent),transparent 53%);background:linear-gradient(160deg,#263249ad,#0b1424 90%);box-shadow:0 10px 25px #0004}
.chronicle-ruler .portal-overline{font-size:9px;letter-spacing:.13em}
.chronicle-ruler h4{color:#f3d7a3;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.24;margin:11px 0 17px}
.chronicle-ruler p{font:14px/1.8 Georgia,'Times New Roman',serif;color:#e5e5e2;margin:0 0 15px}
.chronicle-ruler-card-link{display:inline-block;align-self:flex-start;margin-top:auto;padding-top:12px;font:700 11px Arial,sans-serif;color:#efd19a!important;text-decoration:none}
.chronicle-ruler-card-link:hover{text-decoration:underline}
.ruler-profile-section{background:radial-gradient(ellipse at 22% 5%,#30405d44,transparent 60%)}
.ruler-profile-section .portal-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.ruler-profile{display:flex;flex-direction:column;gap:0;min-height:470px;padding:26px 22px;background:linear-gradient(142deg,color-mix(in srgb,var(--accent),#17243b 18%),#0c1625 83%)}
.ruler-profile::before{content:"";position:absolute}
.ruler-profile h3{color:#f5dcac;font-size:clamp(1.3rem,2vw,1.75rem);margin:12px 0 20px}
.ruler-profile .portal-overline{font-size:10px}
.ruler-profile-story{flex:1}
.ruler-profile-story p{font:15px/1.78 Georgia,'Times New Roman',serif;color:#e4e6e4;margin:0 0 17px}
.ruler-abilities{margin:15px 0;border-top:1px solid #b79a6973;border-bottom:1px solid #b79a6973;padding:12px 0}
.ruler-abilities summary{cursor:pointer;color:#edce93;font:700 12px Arial,sans-serif;letter-spacing:.05em}
.ruler-abilities summary:hover{color:#fff1d0}
.ruler-abilities p{font:13px/1.7 Arial,sans-serif;color:#d2d8e2;margin:11px 0}
.ruler-profile-links{display:flex;flex-wrap:wrap;align-items:center;gap:9px 17px;margin-top:18px}
.ruler-profile-links a{font:700 11px Arial,sans-serif;color:#f1d39b!important;text-decoration:none}
.ruler-profile-links a:hover{text-decoration:underline}
@media(max-width:1100px){.chronicle-rulers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruler-profile-section .portal-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.chronicle-ruler-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.chronicle-rulers-grid{grid-template-columns:1fr}.ruler-profile-section .portal-feature-list{grid-template-columns:1fr}.ruler-profile{min-height:auto}.chronicle-ruler-realm{padding:18px 14px 20px}.chronicle-ruler-realm-head{gap:10px}.chronicle-ruler-sigil{width:66px;height:66px}.chronicle-ruler-sigil img{width:62px;height:62px}}
@media(max-width:410px){.chronicle-ruler-shortcuts{grid-template-columns:1fr}.chronicle-ruler h4{font-size:1.3rem}}

/* BALANDIR chapter IX: alliances and rivalries */
.chronicle-relations-chapter{padding-bottom:45px}
.chronicle-relations-chapter>h2{font-size:clamp(2.2rem,4.3vw,3.4rem);color:#f4dba8;margin:14px 0 22px}
.chronicle-relations-intro{border-left:3px solid #d0ab74;background:linear-gradient(105deg,#283a54a0,#121b2c);padding:22px clamp(17px,3vw,30px);margin:22px 0 25px}
.chronicle-relations-intro h3{color:#f3d6a5;font-size:clamp(1.45rem,2.5vw,2rem);margin:0 0 15px}
.chronicle-relations-intro p{font:16px/1.85 Georgia,serif;color:#e5e4dd;margin:0 0 14px}
.chronicle-relations-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 35px}
.chronicle-relations-tabs a{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border:1px solid #c3a16e80;background:#1a2b45;color:#ecd2a5;text-decoration:none;font:700 12px Arial,sans-serif;transition:border-color .2s,background .2s}
.chronicle-relations-tabs a:hover{background:#31415a;border-color:#efce98}
.chronicle-relation-group{scroll-margin-top:115px;margin:42px 0 58px}
.chronicle-relation-group-heading{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #bca06e70}
.chronicle-relation-group-heading h3{font-size:clamp(1.75rem,3.5vw,2.65rem);line-height:1.22;color:#f1d9ac;margin:8px 0}
.chronicle-relations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.chronicle-relation{scroll-margin-top:115px;display:flex;flex-direction:column;position:relative;border:1px solid #ac93676b;background:linear-gradient(140deg,#23334b,#101827 87%);padding:22px 22px 20px;box-shadow:0 11px 28px #0004;overflow:hidden}
.chronicle-relation[data-relation-kind=buendnis]{border-color:#c4aa728a}
.chronicle-relation[data-relation-kind=rivalitaet]{border-color:#bc766c82;background:linear-gradient(140deg,#402c38,#101827 85%)}
.chronicle-relation[data-relation-kind=spannung]{border-color:#9f80bd8a;background:linear-gradient(140deg,#302b47,#101827 85%)}
.chronicle-relation::after{content:"";position:absolute;right:-38px;top:-38px;width:150px;height:150px;border:1px solid #ebd0a315;border-radius:50%;pointer-events:none}
.chronicle-relation-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.chronicle-relation-icons{display:flex;align-items:center;gap:5px}.chronicle-relation-icons img{width:48px;height:48px;object-fit:contain;border-radius:50%;background:#071022aa}
.chronicle-relation-icons img[src$="nocthar.png"]{transform:scale(1.1)}
.chronicle-relation .portal-overline{letter-spacing:.1em;font-size:9px}
.chronicle-relation h4{font-size:clamp(1.25rem,2vw,1.65rem);color:#f6ddaf;line-height:1.25;margin:8px 0 16px}
.chronicle-relation p{font:15px/1.84 Georgia,serif;color:#e1e4e4;margin:0 0 17px;flex:1}
.chronicle-relation-links{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;border-top:1px solid #ad93625b;padding-top:14px;margin-top:auto}
.chronicle-relation-links a{font:700 11px Arial,sans-serif;color:#f0d09b;text-decoration:none}
.chronicle-relation-links a:hover{text-decoration:underline}
.chronicle-relations-ending{scroll-margin-top:115px;margin-top:62px;border:1px solid #d2b07999;background:radial-gradient(ellipse at top,#364865,#151f32 65%,#0b1422);padding:36px clamp(19px,4vw,42px);text-align:center;box-shadow:0 19px 60px #0009}
.chronicle-relations-ending h3{font-size:clamp(2rem,4vw,3.2rem);line-height:1.2;color:#f4dcae;margin:12px 0 26px}
.chronicle-relations-ending p{font:17px/1.86 Georgia,serif;color:#e4e5e6;max-width:740px;margin:0 auto 20px}
.chronicle-relations-ending .chronicle-relations-last{font-size:1.22rem;line-height:1.68;color:#f6d49f;font-style:italic;border-top:1px solid #e7b97866;padding-top:23px;margin-top:25px}
.ruler-relationship-preview{display:flex;flex-direction:column;gap:8px;margin:20px 0;padding:15px 0;border-top:1px solid #bba17263;border-bottom:1px solid #bba17263}
.ruler-relationship-preview>.portal-overline{font-size:10px;margin-bottom:3px}
.ruler-relationship-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px 11px;padding:9px 10px;background:#0b1528c7;border:1px solid #af96665c;color:#e8e3d6!important;font:12px/1.45 Arial,sans-serif;text-decoration:none!important;transition:background .2s,border-color .2s}
.ruler-relationship-link:hover{background:#263650;border-color:#e1bd82}
.ruler-relationship-kind{display:inline-block;border:1px solid #d9c0926e;color:#efd7a9;border-radius:3px;padding:3px 5px;white-space:nowrap;font:700 9px Arial,sans-serif}
.ruler-relationship-kind[data-kind=rivalitaet]{color:#ffb2a6;border-color:#c383796e}
.ruler-relationship-kind[data-kind=spannung]{color:#d3b0fb;border-color:#9c7bad6e}
@media(max-width:820px){.chronicle-relations-grid{grid-template-columns:1fr}.chronicle-relation{padding:19px 16px}.ruler-relationship-link{grid-template-columns:1fr auto}.ruler-relationship-kind{grid-column:1/-1;justify-self:start}}
@media(max-width:420px){.chronicle-relations-tabs a{width:100%}.chronicle-relation-icons img{width:40px;height:40px}.chronicle-relations-ending{padding:26px 17px}}

/* BALANDIR Chapter X: Awakening of the Heart */
.chronicle-awakening{position:relative;padding:39px clamp(20px,4vw,46px) 42px!important;border:1px solid #d2ad708c;background:radial-gradient(ellipse at 50% 3%,#3b4b6a 0%,#1d2b44 39%,#0b1525 90%);box-shadow:0 24px 75px #0009,0 0 56px #d0a6650f;overflow:hidden}
.chronicle-awakening::before{content:"";position:absolute;inset:11px;border:1px solid #cda86a3c;pointer-events:none}
.chronicle-awakening-title{position:relative;text-align:center;padding:12px 0 13px}
.chronicle-awakening-title h2{color:#f6dcb1;max-width:850px;font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.15;margin:18px auto 22px;text-shadow:0 5px 29px #0009}
.chronicle-awakening-emblem{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 15px;color:#d5b27b}
.chronicle-awakening-emblem span:nth-child(2){font-size:30px;text-shadow:0 0 26px #e3b974}
.chronicle-awakening-emblem span:not(:nth-child(2)){font-size:12px;opacity:.72}
.chronicle-awakening-text{position:relative}
.chronicle-awakening-text>p{max-width:820px;margin:0 auto 21px;color:#dfe7ea;font:clamp(16px,1.7vw,18px)/1.85 Georgia,'Times New Roman',serif}
.chronicle-awakening-text .chronicle-awakening-turn{margin-top:30px;margin-bottom:29px;text-align:center;font-size:clamp(1.28rem,2.55vw,1.7rem);color:#f1d19b;font-style:italic}
.chronicle-awakening-text .chronicle-awakening-unknown{text-align:center;color:#efcf98;font-style:italic;margin:29px auto}
.chronicle-awakening-factions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:790px;margin:26px auto 31px}
.chronicle-awakening-factions a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:11px 5px;border:1px solid #bd9b6c6c;background:#0c182ab5;color:#e9d7b8;text-decoration:none;font:700 11px Arial,sans-serif;transition:border-color .15s,transform .15s,background .15s}
.chronicle-awakening-factions a:hover{transform:translateY(-3px);background:#21314b;border-color:#f0ce96}
.chronicle-awakening-factions img{display:block;width:57px;height:57px;max-width:100%;object-fit:contain}
.chronicle-awakening-factions a:nth-child(6) img{transform:scale(1.16)}
.chronicle-awakening-text .chronicle-awakening-lead{text-align:center;font-style:italic;color:#f1d19b;margin:31px auto 12px}
.chronicle-awakening-text .chronicle-awakening-final{border-top:1px solid #d7b77a9e;border-bottom:1px solid #d7b77a9e;padding:25px 14px;margin:0 auto 30px;max-width:860px;text-align:center;font:clamp(1.38rem,2.85vw,2rem)/1.55 Georgia,'Times New Roman',serif;color:#f7dca6;text-shadow:0 2px 25px #d4a66936}
.chronicle-awakening .portal-buttons{position:relative;margin-top:14px}
.awakening-teaser{margin:22px 0 6px;padding:24px clamp(18px,3vw,32px);border:1px solid #c7a26c8f;background:radial-gradient(ellipse at top,#314360ad,#131e30 80%);box-shadow:0 12px 35px #0005}
.awakening-teaser h3{color:#f3d6a4;font-size:clamp(1.55rem,3vw,2.2rem);margin:9px 0 15px}
.awakening-teaser p{font:15.5px/1.8 Georgia,serif;color:#e1e5e7;margin:0 0 16px;max-width:850px}
.awakening-teaser .awakening-teaser-finale{font-style:italic;color:#f4d49e;border-top:1px solid #bb9c6977;padding-top:16px}
.awakening-teaser .portal-buttons{justify-content:flex-start}
@media(max-width:780px){.chronicle-awakening-factions{grid-template-columns:repeat(3,minmax(0,1fr))}.chronicle-awakening{padding:25px 18px!important}.chronicle-awakening::before{inset:6px}}
@media(max-width:410px){.chronicle-awakening-factions{grid-template-columns:repeat(2,minmax(0,1fr))}.chronicle-awakening-text .chronicle-awakening-final{padding:19px 7px}}

/* BALANDIR chapter XI: eras timeline */
.chronicle-timeline-chapter{position:relative;background:linear-gradient(155deg,#1e2d46a3,#0b1526 65%);border:1px solid #c8a36d65;padding:38px clamp(16px,4vw,43px) 44px!important}
.chronicle-timeline-heading h2{font-size:clamp(2.05rem,4vw,3.2rem);color:#f6deac;margin:12px 0 15px}
.chronicle-timeline-heading .portal-lead{max-width:780px;margin:0 0 37px}
.chronicle-era-timeline{position:relative;display:flex;flex-direction:column;gap:0;margin:25px 0 31px;padding:4px 0 4px 16px}
.chronicle-era-timeline::before{content:"";position:absolute;top:28px;bottom:40px;left:47px;width:2px;background:linear-gradient(180deg,#8daacc,#d2aa66 45%,#b7a9d8 78%,#e8bb74);box-shadow:0 0 12px #deb77452}
.chronicle-era{scroll-margin-top:115px;display:grid;grid-template-columns:66px minmax(0,1fr);gap:18px;position:relative;margin:0;padding:12px 0 21px}
.chronicle-era-index{position:relative;z-index:1;width:66px;display:flex;justify-content:center;align-items:flex-start;padding-top:20px}
.chronicle-era-index span{display:grid;place-items:center;border:2px solid #ba9a65;border-radius:50%;width:49px;height:49px;background:#111c2f;color:#f2dcb3;font:700 14px Georgia,serif;box-shadow:0 0 0 7px #101a2ba6,0 0 18px #d5ac6a22}
.chronicle-era-content{min-width:0;position:relative;padding:25px clamp(18px,3vw,29px);border:1px solid #bd9b6d5f;background:linear-gradient(122deg,#263853bb,#111b2c 76%);box-shadow:0 10px 29px #0004}
.chronicle-era-content h3{font-size:clamp(1.45rem,2.7vw,2.15rem);line-height:1.25;margin:10px 0 18px;color:#f4deb7}
.chronicle-era-prose p{font:clamp(15px,1.6vw,17px)/1.83 Georgia,serif;color:#dce4e8;margin:0 0 16px}
.chronicle-era-prose p:last-child{margin-bottom:0}
.chronicle-era-link{display:inline-block;margin-top:19px;padding-bottom:4px;border-bottom:1px solid #bca170a8;color:#f0d6a4!important;font:700 12px Arial,sans-serif;text-decoration:none!important}
.chronicle-era-link:hover{color:#fff3d9!important;border-color:#ffe2af}
.chronicle-era-zero .chronicle-era-index span{border-color:#f0c67d;color:#f7dfaf;box-shadow:0 0 0 7px #101a2ba6,0 0 23px #e3ba6a9e;background:#352f27}
.chronicle-era-zero .chronicle-era-content{border-color:#e1b878b1;background:linear-gradient(128deg,#453a3650,#192237 73%)}
.chronicle-era-present .chronicle-era-index span{background:#253855;border-color:#e4c08b}
.chronicle-era-present .chronicle-era-content{border-color:#dfb978a8;background:radial-gradient(ellipse at 25% 0%,#3c507060,#152239 74%)}
.chronicle-era-finale{margin:34px auto 0;padding:31px 20px 32px;text-align:center;border:1px solid #d6b27ba8;background:radial-gradient(ellipse at 50% 15%,#334665,#101d32 70%);box-shadow:0 13px 38px #0007}
.chronicle-era-finale p{font:clamp(1.4rem,2.9vw,2.15rem)/1.53 Georgia,serif;color:#f7dba6;margin:16px auto 25px;max-width:760px}
.chronicle-era-finale .portal-buttons{justify-content:center}
.eras-world-section{background:linear-gradient(180deg,#111d30,#0b1424)}
.eras-world-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:27px 0 26px}
.eras-world-preview a{display:flex;flex-direction:column;gap:12px;min-height:142px;padding:18px 13px;border:1px solid #c09e6e6e;background:linear-gradient(150deg,#26364d,#111b2b);color:#ead8b5;text-decoration:none;transition:transform .18s,border-color .18s,background .18s}
.eras-world-preview a:hover{transform:translateY(-4px);border-color:#f0ce99;background:#273a55}
.eras-world-preview strong{font:700 clamp(16px,2vw,23px) Georgia,serif;color:#f2d59f}
.eras-world-preview span{font:13px/1.5 Georgia,serif;color:#d4dfe9}
.eras-home-teaser{margin-top:26px;padding:25px 26px;border:1px solid #caaa757d;background:radial-gradient(ellipse at 80% 10%,#3449637a,#101b2f 75%)}
.eras-home-teaser h3{font-size:clamp(1.55rem,3vw,2.2rem);color:#f4d5a0;margin:11px 0}
.eras-home-teaser p{font:15.5px/1.8 Georgia,serif;color:#e0e5e9;max-width:850px}
.eras-home-teaser strong{color:#f3d6a3}
@media(max-width:950px){.eras-world-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.chronicle-timeline-chapter{padding:25px 13px 30px!important}.chronicle-era-timeline{padding-left:0}.chronicle-era-timeline::before{left:24px}.chronicle-era{grid-template-columns:48px minmax(0,1fr);gap:9px}.chronicle-era-index{width:48px}.chronicle-era-index span{width:37px;height:37px;font-size:12px}.chronicle-era-content{padding:19px 15px}.eras-world-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.eras-world-preview a{min-height:118px;padding:13px}.eras-home-teaser{padding:18px 15px}}
@media(max-width:390px){.eras-world-preview{grid-template-columns:1fr}.eras-world-preview a{min-height:90px}}

/* Chapter XII – Beyond the Known World: subtle unexplored horizon */
.chronicle-unknown-lands{position:relative;overflow:hidden;border:1px solid #c2a26e7d;background:radial-gradient(ellipse at 50% 2%,#38496177,#142039 49%,#090f1c 95%);padding:40px clamp(18px,4vw,44px) 43px!important;box-shadow:0 18px 57px #0009}
.chronicle-unknown-lands:before{content:"";position:absolute;inset:11px;border:1px solid #e3c38d25;pointer-events:none}
.chronicle-unknown-heading{position:relative;text-align:center;margin:9px auto 25px}
.chronicle-unknown-heading h2{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.19;color:#f5ddb4;margin:16px auto}
.chronicle-unknown-ornament{display:flex;align-items:center;justify-content:center;gap:16px;color:#c6ac7f;font:18px Georgia,serif}
.chronicle-unknown-ornament:before,.chronicle-unknown-ornament:after{content:"";display:block;width:min(15vw,98px);height:1px;background:linear-gradient(90deg,transparent,#bc9b6f)}
.chronicle-unknown-ornament:after{transform:rotate(180deg)}
.chronicle-unknown-ornament span{font-size:32px;color:#ebd2a7}
.chronicle-unknown-story{position:relative;max-width:810px;margin:0 auto}
.chronicle-unknown-story p{font:clamp(16px,1.72vw,18px)/1.88 Georgia,'Times New Roman',serif;color:#e0e8ed;margin:0 0 23px}
.chronicle-unknown-story .chronicle-unknown-question{font-style:italic;color:#f0d6ad;text-align:center;margin:32px auto}
.chronicle-unknown-story .chronicle-unknown-ending{color:#f4d8a9;border-top:1px solid #c1a07471;padding-top:22px;margin-top:27px;font-size:clamp(1.15rem,2vw,1.35rem)}
.chronicle-unknown-lands .portal-buttons{position:relative;margin-top:27px}
.unknown-world-teaser{margin-top:26px;padding:28px clamp(16px,3vw,32px);border:1px solid #bda37282;background:radial-gradient(ellipse at 50% 0%,#2b3d567e,#0d192c 85%);box-shadow:0 11px 34px #0005}
.unknown-world-teaser h2,.unknown-world-teaser h3{color:#f3dbb1;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.22;margin:10px 0 19px}
.unknown-world-teaser p{color:#dce3e8;font:clamp(15px,1.65vw,17px)/1.84 Georgia,serif;margin:0 0 16px}
.unknown-world-teaser .unknown-world-question{color:#f2d39e;font-style:italic}
.unknown-world-teaser .portal-buttons{justify-content:flex-start;margin-top:24px}
@media(max-width:650px){.chronicle-unknown-lands{padding:24px 16px 29px!important}.chronicle-unknown-lands:before{inset:7px}.unknown-world-teaser{padding:22px 17px}}

/* BALANDIR edition I: the Awakening. Official story prologue and campaign teaser. */
.chronicle-edition-one{position:relative;overflow:hidden;border:1px solid #d1ac728e;background:radial-gradient(ellipse at 50% 0%,#354c6d 0%,#17243b 49%,#0b1422 95%);padding:40px clamp(17px,4vw,46px) 46px!important;box-shadow:0 23px 64px #0009}
.chronicle-edition-one::before{content:"";position:absolute;inset:10px;border:1px solid #c6a4743e;pointer-events:none}
.chronicle-edition-one-title{text-align:center;position:relative;margin:10px auto 29px}
.chronicle-edition-one-title h2{font-size:clamp(2rem,4.25vw,3.5rem);line-height:1.17;color:#f7deaf;text-shadow:0 4px 24px #0008;margin:14px auto}
.chronicle-edition-one-motif{color:#c7a775;display:flex;justify-content:center;align-items:center;gap:13px;font:17px Georgia,serif}
.chronicle-edition-one-motif span{font-size:34px;color:#f0cf91;text-shadow:0 0 22px #e6bb7699}
.chronicle-edition-one-story{position:relative;max-width:820px;margin:0 auto}
.chronicle-edition-one-story p{font:clamp(16px,1.7vw,18px)/1.86 Georgia,'Times New Roman',serif;color:#e1e8eb;margin:0 0 21px}
.chronicle-edition-one-story .chronicle-edition-one-pause{text-align:center;font-size:clamp(1.19rem,2.3vw,1.55rem);font-style:italic;color:#f2d4a2;margin:27px auto 20px}
.edition-one-faction-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:800px;margin:31px auto}
.edition-one-faction-links a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:13px 6px;min-width:0;background:#0d182bbd;border:1px solid #bf9f7174;color:#eedfbe;text-decoration:none;font:700 11px Arial,sans-serif;transition:border-color .18s,transform .18s}
.edition-one-faction-links a:hover{transform:translateY(-3px);border-color:#f4d6a2}
.edition-one-faction-links img{width:63px;height:63px;max-width:100%;object-fit:contain}
.edition-one-faction-links a:nth-child(4) img{transform:scale(1.2)}
.chronicle-edition-one-ending{position:relative;text-align:center;max-width:820px;margin:19px auto 24px;padding:23px 10px 14px;border-top:1px solid #cfac6c8c;border-bottom:1px solid #cfac6c8c}
.chronicle-edition-one-ending .chronicle-edition-one-slogan{font:clamp(1.6rem,3.2vw,2.4rem)/1.4 Georgia,serif;color:#f8dba5;margin:0 0 13px}
.chronicle-edition-one-ending .chronicle-edition-one-last{font:clamp(1.13rem,2.2vw,1.55rem)/1.5 Georgia,serif;color:#e9d4b1;margin:0 0 12px}
.chronicle-edition-one .portal-buttons{position:relative;margin-top:24px}
.edition-one-home-section{background:radial-gradient(ellipse at 50% 15%,#2839518a,#0a1424 79%)}
.edition-one-home-feature{border:1px solid #cba9757c;padding:30px clamp(18px,4vw,44px);background:radial-gradient(ellipse at top,#344766a6,#151f31 70%);text-align:center;box-shadow:0 13px 43px #0006}
.edition-one-home-feature h2{font-size:clamp(2rem,4vw,3.2rem);color:#f3dbaa;margin:13px auto 18px}
.edition-one-home-feature p{max-width:790px;margin:0 auto 17px;color:#e1e7e9;font:clamp(15px,1.65vw,17px)/1.82 Georgia,serif}
.edition-one-home-feature .edition-one-home-slogan{color:#f5d9a7;font-size:clamp(1.2rem,2.5vw,1.8rem);margin:19px auto}
.edition-one-home-feature .portal-buttons{justify-content:center}
.edition-one-card-teaser{padding:24px clamp(17px,3vw,30px);border:1px solid #c1a06d83;background:linear-gradient(115deg,#273b57,#111d2f 85%);margin:0 auto}
.edition-one-card-teaser h2{font-size:clamp(1.65rem,3vw,2.4rem);color:#f3d9a6;margin:9px 0 16px}
.edition-one-card-teaser p{font:16px/1.8 Georgia,serif;color:#e2e5e7;margin:0 0 18px}
.edition-one-card-teaser .portal-buttons{justify-content:flex-start}
@media(max-width:760px){.edition-one-faction-links{grid-template-columns:repeat(3,minmax(0,1fr))}.chronicle-edition-one{padding:26px 16px 30px!important}.chronicle-edition-one::before{inset:6px}.edition-one-home-feature{padding:25px 17px}}
@media(max-width:390px){.edition-one-faction-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BALANDIR realm dossiers and ruler profile extension */
#reich-uebersicht,#fraktionsprofil,#herrscher-profil,#herrscher-beziehungen,#herrscher-weitere{scroll-margin-top:105px}
.realm-breadcrumb{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 auto 18px;font:700 11px/1.7 Arial,sans-serif;color:#d5c4a8}
.realm-breadcrumb a{color:#d7c4a3;text-decoration:none;border-bottom:1px solid transparent}.realm-breadcrumb a:hover{color:#f2dcab;border-color:#c7a46e}
.realm-breadcrumb span[aria-current=page]{color:#f4daae}
.realm-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:27px 0 34px}
.realm-overview-card{--accent:#c9ab7e;display:flex;flex-direction:column;min-width:0;min-height:290px;padding:23px 23px 20px;border:1px solid color-mix(in srgb,var(--accent),transparent 40%);background:linear-gradient(150deg,color-mix(in srgb,var(--accent),#102033 23%),#0c1627 85%);text-decoration:none;position:relative;transition:transform .2s,border-color .2s,box-shadow .2s}
.realm-overview-card:hover,.realm-overview-card:focus-visible{transform:translateY(-4px);border-color:#f0d19c;box-shadow:0 14px 30px #0007}
.realm-overview-card[aria-current=page]{border-color:#f4d79a}
.realm-overview-symbol{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:#080f1fba;border:1px solid color-mix(in srgb,var(--accent),transparent 45%);margin-bottom:10px}
.realm-overview-symbol img{display:block;width:108px;height:108px;object-fit:contain}
.realm-overview-card[href*="nocthar"] .realm-overview-symbol img{transform:scale(1.26)}
.realm-overview-name{font:700 clamp(1.45rem,2.5vw,1.9rem)/1.2 Georgia,serif;color:#f5e0ba;margin:6px 0 10px}
.realm-overview-description{font:14px/1.7 Georgia,serif;color:#d1dbe5;flex:1}
.realm-overview-action{font:700 11px Arial,sans-serif;color:#f2d398;text-transform:uppercase;letter-spacing:.08em;padding-top:19px}
.realm-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:25px 0 18px}
.realm-quick-facts>div{background:#0d192bbd;border:1px solid #c4a67b6d;padding:13px 14px;min-width:0}
.realm-quick-facts dt{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#e3c38c;margin:0 0 6px}
.realm-quick-facts dd{margin:0;font:15px/1.55 Georgia,serif;color:#e2e6eb;overflow-wrap:anywhere}
.ruler-card-facts{display:grid;grid-template-columns:1fr;gap:8px;margin:13px 0}
.ruler-card-facts>div{background:#08152975;border-left:2px solid var(--accent,#c9a875);padding:9px 11px}
.ruler-card-facts dt{font:700 10px Arial,sans-serif;text-transform:uppercase;color:#e3c28f;letter-spacing:.06em}
.ruler-card-facts dd{font:13px/1.65 Georgia,serif;color:#e4e5e9;margin:4px 0 0}
.ruler-profile-links .ruler-profile-primary{display:inline-block;color:#122033!important;background:linear-gradient(110deg,#cfaa6d,#f0d49f);padding:10px 12px;text-decoration:none;font-weight:800}
.ruler-profile-links .ruler-profile-primary:hover{text-decoration:none;background:#fbe7bd}
.ruler-detail-hero{padding-top:64px;padding-bottom:63px}
.ruler-detail-layout{display:grid;grid-template-columns:minmax(235px,.82fr) minmax(0,1.6fr);gap:27px;align-items:start}
.ruler-detail-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:375px;padding:30px 18px;text-align:center;border:1px solid color-mix(in srgb,var(--accent),transparent 35%);background:radial-gradient(ellipse at 50% 27%,color-mix(in srgb,var(--accent),#0e1a2b 17%),#0b1527 68%);box-shadow:0 14px 36px #0007}
.ruler-detail-portrait>img{display:block;width:min(215px,90%);height:195px;object-fit:contain}
.ruler-detail-portrait>img[src$="nocthar.png"]{transform:scale(1.18)}
.ruler-detail-portrait strong{font:700 clamp(1.4rem,2.8vw,2rem)/1.25 Georgia,serif;color:#f5ddae}
.ruler-detail-portrait small{font:12px/1.5 Arial,sans-serif;color:#aebdcc}
.ruler-detail-content{border:1px solid #bd9e6f6d;background:linear-gradient(135deg,#25375097,#0e192b);padding:clamp(19px,3vw,35px)}
.ruler-detail-content h2{font-size:clamp(1.65rem,3.3vw,2.3rem);color:#f4dcac;margin:10px 0 16px}
.ruler-detail-facts{grid-template-columns:1fr;gap:9px;margin:0 0 29px}
.ruler-detail-biography p{font:clamp(15.5px,1.8vw,18px)/1.87 Georgia,serif;color:#e1e7eb;margin:0 0 19px}
.ruler-detail-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}
.ruler-detail-relation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0 25px}
.ruler-detail-relation{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid #bda16f80;background:linear-gradient(145deg,#253650,#0d192b);text-decoration:none;transition:transform .17s,border-color .17s}
.ruler-detail-relation:hover{transform:translateY(-3px);border-color:#f1d09a}
.ruler-detail-relation strong{font:700 1.25rem/1.33 Georgia,serif;color:#f1d8ad}
.ruler-detail-relation>span:not(.ruler-relationship-kind){font:14px/1.7 Georgia,serif;color:#e0e3e7}
.ruler-detail-relation small{font:700 11px Arial,sans-serif;color:#edcc98}
.ruler-detail-relation .ruler-relationship-kind{align-self:flex-start}
.realm-related-rulers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.ruler-other-link{display:flex;flex-direction:column;gap:12px;border:1px solid color-mix(in srgb,var(--accent),transparent 47%);background:linear-gradient(115deg,color-mix(in srgb,var(--accent),#17243b 17%),#101b2c);padding:23px;text-decoration:none;transition:border-color .17s,transform .17s}
.ruler-other-link:hover{transform:translateY(-3px);border-color:#f0d39d}
.ruler-other-link>span{font:700 clamp(1.25rem,2.4vw,1.65rem) Georgia,serif;color:#f2dcb8}
.ruler-other-link small{color:#e3c38f;font:700 11px Arial,sans-serif}
@media(max-width:950px){.realm-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ruler-detail-layout{grid-template-columns:minmax(180px,1fr) minmax(0,1.5fr)}.realm-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.realm-overview-grid{grid-template-columns:1fr}.realm-overview-card{min-height:225px}.realm-quick-facts{grid-template-columns:1fr}.ruler-detail-layout{grid-template-columns:1fr}.ruler-detail-portrait{min-height:255px}.ruler-detail-portrait>img{height:120px;width:130px}.ruler-detail-relation-grid,.realm-related-rulers{grid-template-columns:1fr}.ruler-detail-hero{padding:46px 0}.ruler-detail-content{padding:20px 17px}}

.ruler-detail-portrait>img[hidden],.ruler-detail-portrait>small[hidden]{display:none!important}

/* BALANDIR guided world chronicles – six accessible thematic chapters */
.chroniken-hero{padding:75px 0 65px}
.chroniken-hero .portal-wrap{max-width:900px}
.chroniken-hero h1{color:#f3ddb4;font-size:clamp(3rem,6.5vw,5.6rem)}
.chroniken-hero p{font:clamp(15px,1.6vw,17px)/1.85 Georgia,'Times New Roman',serif;color:#dce4e9;margin:0 auto 17px}
.chroniken-hero .chroniken-intro-line{color:#f2d6a5;font-size:clamp(1.2rem,2.5vw,1.5rem)}
.chroniken-overview-section h2{font-size:clamp(1.9rem,4vw,2.9rem)}
.chroniken-chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:29px 0 0}
.chroniken-chapter-card{display:flex;flex-direction:column;min-width:0;min-height:220px;padding:23px 21px;text-decoration:none;border:1px solid #bda06f72;background:linear-gradient(150deg,#263750b8,#111a2b 85%);transition:transform .18s,border-color .18s,box-shadow .18s}
.chroniken-chapter-card:hover{border-color:#f3d39a;transform:translateY(-3px);box-shadow:0 12px 28px #0006}
.chroniken-chapter-label{font:800 10px Arial,sans-serif;letter-spacing:.12em;color:#dabb84;text-transform:uppercase}
.chroniken-chapter-card strong{font:700 clamp(1.28rem,2vw,1.7rem)/1.26 Georgia,serif;color:#f2ddba;margin:14px 0 10px}
.chroniken-chapter-card>span:not(.chroniken-chapter-label){font:14px/1.66 Georgia,serif;color:#d3dde7;flex:1}
.chroniken-chapter-card small{font:700 11px Arial,sans-serif;color:#e9c88a;margin-top:21px}
.chroniken-reader{padding-top:60px;padding-bottom:80px}
.chroniken-reader>.chroniken-source-note{border-left:3px solid #c4a475;background:#15243b;padding:13px 17px;margin-bottom:26px}
.chroniken-reading-chapter{scroll-margin-top:105px;border:1px solid #bea16e72;background:linear-gradient(144deg,#17253b,#0d1829 77%);padding:clamp(20px,3.5vw,37px);margin:30px 0 49px}
.chroniken-chapter-heading h2{font-size:clamp(1.8rem,3.7vw,2.95rem);line-height:1.18;color:#f6dfb6;margin:10px 0 14px}
.chroniken-chapter-heading>p{font:clamp(15px,1.6vw,18px)/1.75 Georgia,serif;color:#dce3e8;margin:0 0 24px}
.chroniken-text-details{border-top:1px solid #b99d7286;border-bottom:1px solid #b99d7286;margin-top:20px}
.chroniken-text-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;cursor:pointer;list-style:none;color:#edcc90;font:700 12px Arial,sans-serif;letter-spacing:.05em}
.chroniken-text-details>summary::-webkit-details-marker{display:none}
.chroniken-text-details>summary:hover{color:#ffebc2}
.chroniken-text-details>summary>span{transition:transform .15s}
.chroniken-text-details[open]>summary>span{transform:rotate(180deg)}
.chroniken-source{padding:12px 0 25px}
.chroniken-original-excerpt{margin:0 0 30px;padding-bottom:25px;border-bottom:1px solid #a88b5d65}
.chroniken-original-excerpt:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.chroniken-original-excerpt>.chronicle-chapter{margin:0!important;padding:0!important;border:0!important;background:transparent}
.chroniken-original-excerpt .chronicle-number{display:none}
.chroniken-original-excerpt .chronicle-chapter h2{font-size:clamp(1.5rem,3vw,2.15rem);color:#e9cea4;margin:0 0 18px}
.chroniken-original-excerpt .chronicle-text>p{font-size:clamp(15px,1.55vw,17px)}
.chroniken-original-excerpt .chronicle-map{max-width:100%}
.chroniken-original-excerpt .chronicle-realm-story{margin:19px 0}
.chroniken-original-excerpt .chronicle-ruler-realm{margin:26px 0}
.chroniken-original-excerpt .chronicle-relations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.chroniken-original-excerpt .chronicle-chapter>.portal-buttons{justify-content:flex-start}
.chroniken-original-excerpt .chronicle-realm-story,.chroniken-original-excerpt .chronicle-ruler,.chroniken-original-excerpt .chronicle-relation{min-width:0}
.chroniken-source-fallback{color:#f1d19b!important;text-decoration:underline}
.chroniken-step-navigation{display:flex;justify-content:space-between;align-items:center;gap:13px;flex-wrap:wrap;margin-top:27px}
.chroniken-step-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:11px 16px;border:1px solid #c2a36c8a;background:#1a2a43;color:#f0d4a0;text-decoration:none;font:700 12px Arial,sans-serif}
.chroniken-step-navigation a:hover{border-color:#f4d9a6;background:#2a3a55}
.chroniken-step-navigation .chroniken-next{background:linear-gradient(125deg,#a78048,#f0d39a);color:#171726}
.chroniken-extras{scroll-margin-top:100px;margin:58px 0 0;padding:29px clamp(17px,3vw,33px);border:1px solid #bda06c75;background:linear-gradient(145deg,#22334c,#0d1728)}
.chroniken-extras h2{font-size:clamp(1.8rem,3vw,2.45rem);color:#f3dbae;margin:10px 0 17px}
.chroniken-extra-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.chroniken-extra-links a{display:flex;flex-direction:column;gap:9px;padding:17px;border:1px solid #bda06c6e;background:#101c2e;text-decoration:none}
.chroniken-extra-links a:hover{border-color:#f0d49a}
.chroniken-extra-links strong{color:#f5d8a8;font:700 1.18rem/1.3 Georgia,serif}
.chroniken-extra-links span{color:#d0dbe6;font:13px/1.5 Arial,sans-serif}
@media(max-width:1000px){.chroniken-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chroniken-original-excerpt .chronicle-relations-grid{grid-template-columns:1fr}}
@media(max-width:700px){.chroniken-chapter-grid,.chroniken-extra-links{grid-template-columns:1fr}.chroniken-chapter-card{min-height:160px;padding:19px}.chroniken-reader{padding-top:35px}.chroniken-original-excerpt .chronicle-rulers-grid{grid-template-columns:1fr}.chroniken-step-navigation{flex-direction:column;align-items:stretch}.chroniken-step-navigation a{justify-content:center}.chroniken-reading-chapter{padding:20px 15px}}

/* Keep the added Chronicles nav item readable at desktop and tablet widths */
@media(min-width:781px){.portal-header-inner{gap:clamp(9px,1.3vw,18px)}.portal-nav{gap:clamp(7px,1.05vw,14px)}.portal-nav a{white-space:nowrap}}
@media(min-width:781px) and (max-width:1050px){.portal-brand{font-size:1.24rem}.portal-nav a{font-size:9.5px;letter-spacing:.035em}.portal-header-inner>.portal-button{padding:8px 10px;font-size:9px}}
