*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{--paper:#f8f6ed;--ground:#efeee4;--ink:#29483f;--text:#354239;--muted:#6b7568;--line:#d4d8c8;--soft:#e4e9d8;margin:0;background:var(--ground);color:var(--text);font:16px/1.75 system-ui,sans-serif}a{color:var(--ink);text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8b9e67;outline-offset:3px}.skip{position:absolute;top:-60px;left:20px;z-index:10;background:var(--paper);padding:8px}.skip:focus{top:10px}.lib-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:16px 4%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.lib-brand{font:28px Georgia,serif;letter-spacing:4px;text-decoration:none}.lib-brand span{display:block;font:9px system-ui;letter-spacing:2.8px;margin-top:6px}.lib-header nav{display:flex;gap:25px;flex-wrap:wrap}.lib-header nav a{font-size:12px;text-decoration:none;padding:5px 0}.lib-header .current{border-bottom:2px solid var(--ink)}.lib-shell{display:grid;grid-template-columns:275px minmax(0,1fr);max-width:1600px;margin:auto}.lib-sidebar{padding:32px 26px;border-right:1px solid var(--line);position:sticky;top:88px;height:calc(100vh - 88px);overflow:auto}.eyebrow{font:10px/1.6 system-ui;letter-spacing:2px;font-weight:650;color:var(--muted)}.lib-sidebar h1{font:36px Georgia,serif;color:var(--ink);margin:8px 0}.lib-edition{font-size:12px;color:var(--muted);margin:0 0 28px}.lib-sidebar label{display:block;font-size:12px;margin:0 0 8px}.lib-sidebar input{width:100%;padding:12px 10px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--text)}.lib-small{font-size:12px;line-height:1.6;color:var(--muted)}#libSearchStatus{min-height:20px;margin:8px 0 18px}summary{cursor:pointer;font-size:12px;font-weight:650}.lib-sidebar nav{margin:12px 0 22px}.lib-sidebar nav a{display:block;text-decoration:none;border-bottom:1px solid var(--line);padding:10px 9px;font-size:13px;border-radius:3px}.lib-sidebar nav a[aria-current]{background:var(--soft);font-weight:650}.lib-sidebar nav small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.lib-upcoming{border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted)}.lib-upcoming ul{padding-left:20px}.lib-source{font-size:12px;display:block;margin-top:25px}.lib-cover{min-height:245px;background:linear-gradient(90deg,#132e27ec,#19382b60),url('assets/intro/world.webp') center 45%/cover;display:flex;align-items:center;color:#faf6e9;padding:35px 7%}.lib-cover .eyebrow{color:#d1d8b8}.lib-cover h1{font:44px/1.15 Georgia,serif;margin:12px 0}.lib-cover>div>p:last-child{font:16px/1.6 Georgia,serif;margin-bottom:0}.lib-reading{max-width:1000px;margin:auto;padding:24px 7% 55px}.lib-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:10px;color:var(--muted)}.lib-toolbar>div{display:flex;gap:6px;flex-wrap:wrap}.lib-toolbar button{font-size:10px}#libNotice:empty{display:none}.lib-callout,.lib-note{background:var(--soft);border-left:3px solid #87986f;padding:18px 22px;margin:24px 0;font:14px/1.7 system-ui}.lib-callout p,.lib-note p{margin:8px 0 0}.lib-note small{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}article{font:18px/1.9 Georgia,serif;overflow-wrap:anywhere}article h2{font:38px/1.2 Georgia,serif;color:var(--ink);margin:30px 0 22px}article h3{font:25px/1.3 Georgia,serif;margin:32px 0 14px;color:var(--ink)}article p{margin:14px 0;white-space:pre-line}article strong{font-weight:600}.lib-heading-link{font:13px system-ui;opacity:.65;text-decoration:none;margin-left:9px}.lib-book-source{font:11px/1.6 system-ui;margin:0 0 25px;color:var(--muted)}.lib-book-source a{color:var(--muted)}.lib-figure{text-align:center;margin:25px auto;max-width:680px}.lib-figure img{width:auto;max-width:100%;max-height:480px;object-fit:contain;height:auto;vertical-align:middle;border-radius:4px}.lib-figure figcaption{font:11px/1.6 system-ui;color:var(--muted);margin-top:8px}.lib-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:18px;margin:25px 0}.lib-card{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:20px;min-width:0;font-size:16px;line-height:1.8}.lib-card h3{font-size:21px;margin:12px 0}.lib-card .lib-figure{margin:10px auto 20px}.lib-card .lib-figure img{max-height:135px;max-width:150px}.lib-card figcaption{display:none}.lib-table-wrap{overflow:auto;margin:24px 0;border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;text-align:left;font:13px/1.7 system-ui;background:var(--paper)}td,th{padding:12px;min-width:110px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft);font-weight:600}td p,th p{margin:5px 0}table h3{font:16px/1.4 system-ui;margin:5px 0}.lib-term{text-decoration-style:dotted}.lib-pager{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:20px 0;margin-top:35px}.lib-pager a{text-decoration:none;font-size:13px;max-width:48%}.lib-pager small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.lib-related{padding:22px 0;font-size:13px}.lib-related h3{font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.lib-related a{display:inline-block;margin:5px 18px 5px 0}.lib-footer{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}mark{background:#d8dfb2;color:#253b2b;border-radius:2px}.lib-large article{font-size:21px}.lib-dark{--paper:#24372e;--ground:#1c2c25;--ink:#e0e7cf;--text:#e2e4d8;--muted:#b4c0a9;--line:#445742;--soft:#304634}.lib-error{border:1px solid #ab7a59;padding:20px;background:var(--paper)}@media(max-width:900px){.lib-shell{grid-template-columns:230px minmax(0,1fr)}.lib-sidebar{padding:25px 18px}.lib-reading{padding:20px 6% 45px}.lib-toolbar{align-items:start;flex-direction:column}.lib-header nav{gap:15px}.lib-cover h1{font-size:36px}}@media(max-width:680px){.lib-header{position:relative;display:block;padding:20px}.lib-header nav{margin-top:18px;gap:17px}.lib-brand{font-size:25px}.lib-shell{display:block}.lib-sidebar{position:static;height:auto;border-right:0;padding:22px}.lib-sidebar h1{font-size:29px}.lib-edition{margin-bottom:18px}.lib-sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:5px}.lib-sidebar nav a{font-size:12px}.lib-upcoming,.lib-source{display:none}.lib-cover{min-height:180px;padding:25px 6%}.lib-cover h1{font-size:32px}.lib-cover>div>p:last-child{font-size:14px}.lib-reading{padding:20px 6% 40px}article{font-size:17px}article h2{font-size:32px}article h3{font-size:23px}.lib-cards{grid-template-columns:1fr}.lib-toolbar button{padding:8px 9px}.lib-large article{font-size:20px}html{scroll-padding-top:20px}}
.lib-cards{grid-template-columns:1fr}.lib-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px}.lib-card-art{text-align:center;font:12px/1.6 system-ui}.lib-card-art h3{font-size:17px}.lib-card-art p{margin:5px 0}.lib-card-art .lib-figure{margin-top:0}.lib-card-art .lib-figure img{max-width:120px;max-height:120px}.lib-card-text p{margin:10px 0}.lib-card-text h3{margin-top:0}.lib-card-art h3{margin:8px 0}.lib-card-art h3:last-child{font:11px system-ui;color:var(--muted)}@media(max-width:680px){.lib-card{grid-template-columns:1fr;gap:15px}.lib-card-art .lib-figure{display:inline-block;margin:8px}.lib-card-art h3{font-size:18px}}
.lib-symbol-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:16px;margin:24px 0}.lib-symbol-card{padding:18px 14px;border:1px solid var(--line);border-radius:5px;background:var(--paper);text-align:center;font:14px/1.7 system-ui;min-width:0}.lib-symbol-card h3{font-size:18px;margin:12px 0}.lib-symbol-card p{margin:7px 0}.lib-symbol-card .lib-figure{margin:8px auto 15px}.lib-symbol-card img{max-height:125px;max-width:125px}.lib-section-menu{margin:24px 0;padding:14px 18px;border:1px solid var(--line);border-radius:4px}.lib-section-menu nav{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:15px;font:12px/1.6 system-ui}.lib-section-menu summary{font-size:13px}.lib-note p{font:14px/1.7 system-ui}
.lib-chapter-group{margin:10px 0;border-bottom:1px solid var(--line);padding-bottom:10px}.lib-chapter-group>summary{font-size:12px;color:var(--ink);padding:7px 0}.lib-chapter-group>summary span{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.lib-sidebar .lib-chapter-group a{font-size:12px;padding:8px 10px}.lib-sidebar .lib-chapter-group a:last-child{border-bottom:0}.lib-art-link{display:inline-block}.lib-art-link img{cursor:zoom-in}.lib-figure figcaption{font-size:10px}.lib-edition-change{border-top:1px solid var(--line);padding-top:20px;margin-top:25px}@media(max-width:680px){.lib-sidebar #libChapters{display:block}.lib-chapter-group[open]{max-height:380px;overflow:auto}}

/* Origins illustrations are part of the reading surface, with uncropped full figures. */
.lib-origins .lib-reading{max-width:1220px;padding-inline:4%}
.lib-origin-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;align-items:start;margin:28px 0}
.lib-origins .lib-origin-figure{max-width:100%;width:100%;margin:24px auto}
.lib-origins .lib-origin-figure img{width:auto;max-width:100%;height:auto;max-height:640px;object-fit:contain;cursor:default}
.lib-origin-gallery .lib-origin-figure{margin:0}
.lib-origin-gallery .lib-origin-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.lib-data-table table{min-width:560px}.lib-data-table th,.lib-data-table td{min-width:0;vertical-align:middle}
.lib-data-table th:first-child,.lib-data-table td:first-child{width:88px}
.lib-data-table .lib-table-icon{display:block;width:64px;height:64px;object-fit:contain;margin:auto}
.lib-data-table p{white-space:normal}.lib-data-table h3{font:600 13px/1.5 system-ui;margin:0}
@media(max-width:680px){.lib-origin-gallery{gap:16px}.lib-origins .lib-reading{padding-inline:6%}.lib-data-table{margin-inline:-2%}.lib-data-table td,.lib-data-table th{padding:10px}}

.lib-heroes .lib-token-figure{margin:22px auto;max-width:240px}.lib-heroes .lib-token-figure img{width:auto;max-width:100%;max-height:220px;object-fit:contain}

/* Heroes data tables use content-based columns; token faces get a dedicated layout. */
.lib-heroes .lib-data-table table{min-width:0;font-size:14px;line-height:1.75}
.lib-heroes .lib-data-table th:first-child,.lib-heroes .lib-data-table td:first-child{width:auto}
.lib-heroes .lib-data-table :is(th,td){min-width:100px;padding:14px;vertical-align:top;overflow-wrap:break-word}
.lib-heroes .lib-data-table .lib-table-icon{width:120px;height:120px;max-width:100%}
.lib-token-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}
.lib-token-pair{padding:22px 16px;border:1px solid var(--line);border-radius:6px;background:var(--paper);min-width:0}
.lib-token-pair>h3{text-align:center;margin:0 0 20px;font-size:26px}
.lib-token-face-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lib-token-face{text-align:center;min-width:0}
.lib-token-face img{display:block;width:100%;height:auto;max-width:190px;margin:0 auto 16px;object-fit:contain}
.lib-token-face h3{font:600 11px/1.6 system-ui;letter-spacing:.04em;margin:8px 0}
.lib-token-face p{font:600 20px/1.5 system-ui;margin:8px 0}
@media(max-width:1100px){.lib-token-pairs{grid-template-columns:1fr}}
@media(max-width:680px){.lib-heroes .lib-data-table :is(th,td){padding:11px;min-width:90px}.lib-token-pair{padding:18px 12px}.lib-token-face-grid{gap:12px}}

.lib-homelands .lib-origin-figure img{max-height:650px;max-width:100%;object-fit:contain}.lib-homelands .lib-data-table table{font-size:14px;line-height:1.75}

/* Keep atlas columns readable inside narrow pages and embedded mobile readers. */
:is(.lib-homelands,.lib-cultures) #libMain,
:is(.lib-homelands,.lib-cultures) .lib-reading{min-width:0;max-width:100%}
:is(.lib-homelands,.lib-cultures) .lib-table-wrap{max-width:100%;margin-inline:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
:is(.lib-homelands,.lib-cultures) .lib-data-table table{table-layout:auto;width:100%;min-width:calc(var(--table-columns,4) * 9rem);font-size:14px;line-height:1.65}
:is(.lib-homelands,.lib-cultures) .lib-data-table :is(th,td){min-width:9rem;max-width:26rem;width:auto;padding:12px 14px;vertical-align:top;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
:is(.lib-homelands,.lib-cultures) .lib-data-table :is(p,h3,a){white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.lib-table-hint{font:12px/1.5 system-ui;color:var(--muted);margin:22px 0 -14px}
.lib-cultures .lib-origin-figure img{max-width:100%;height:auto;max-height:650px;object-fit:contain}
.lib-cultures .lib-origin-gallery .lib-origin-figure img{max-height:none}

/* One chapter tree per book, with a prominent phone navigation control. */
#chapterMenu{margin-top:22px}
#chapterMenu>summary{display:flex;align-items:center;gap:13px;list-style:none;padding:16px 18px;min-height:66px;border:1px solid #c7af77;border-radius:7px;background:#c7af77;color:#182e26;font-size:18px;line-height:1.2;box-shadow:0 3px 12px #0002}
#chapterMenu>summary::-webkit-details-marker{display:none}
#chapterMenu>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
#chapterMenu[open]>summary::after{transform:rotate(45deg)}
.lib-chapters-icon{flex:none}
.lib-chapters-label{display:block;font-weight:750;letter-spacing:.02em}
.lib-chapters-label small{display:block;margin-top:5px;font-size:11px;font-weight:500;letter-spacing:.025em}
#libChapters{display:block;margin-top:15px}
#libChapters .lib-chapter-group{margin:5px 0;padding-bottom:0;border-bottom:1px solid var(--line)}
#libChapters .lib-chapter-group[open]{max-height:none;overflow:visible}
#libChapters .lib-chapter-group>summary{padding:13px 8px;font-size:14px;line-height:1.5;font-weight:650}
#libChapters .lib-chapter-group[data-current-branch]>summary{color:var(--ink)}
.lib-chapter-children{padding:0 0 8px 14px;margin-left:7px;border-left:1px solid var(--line)}
#libChapters .lib-chapter-children .lib-chapter-group>summary{font-size:13px}
#libChapters a{font-size:13px;line-height:1.5;padding:12px 10px;min-height:44px}
#libChapters a[aria-current="page"]{border-left:3px solid #b89a5e}
@media(max-width:680px){#chapterMenu>summary{font-size:19px;min-height:72px;padding:17px 18px}#libChapters{max-height:65vh;max-height:65svh;overflow-y:auto;overscroll-behavior-y:contain;padding-right:5px}#libChapters .lib-chapter-group>summary{font-size:15px;min-height:48px}#libChapters .lib-chapter-children .lib-chapter-group>summary{font-size:14px}.lib-chapter-children{padding-left:11px;margin-left:4px}#libChapters a{font-size:14px}}
@media(prefers-reduced-motion:reduce){#chapterMenu>summary::after{transition:none}}

.lib-nav-book{font-size:2rem;font-weight:700;line-height:1.15;margin:.5rem 0}.lib-cover h1{font-weight:400}

.lib-fashion .lib-cover{background-image:linear-gradient(90deg,rgba(19,39,31,.95),rgba(19,39,31,.45)),url("assets/intro/landing-hero.webp")}.fashion-looks{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;margin:1.5rem 0 3rem}.fashion-look{min-width:0;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:8px}.fashion-look .lib-figure{margin:0 0 1rem}.fashion-look .lib-figure img{width:100%;height:auto;max-height:none;object-fit:contain}.fashion-look summary{padding:.6rem 0;font:600 .95rem/1.5 system-ui;cursor:pointer}.fashion-look p{font: .95rem/1.7 system-ui;overflow-wrap:break-word}.fashion-access{border-bottom:1px solid var(--line);padding-bottom:.5rem}.lib-fashion .lib-origin-figure img{max-height:850px}.lib-fashion .lib-origin-gallery .lib-origin-figure img{max-height:none}@media(max-width:700px){.fashion-looks{grid-template-columns:1fr}.fashion-look{padding:12px}}

.fashion-look details h3{font-size:1.05rem;line-height:1.5;margin:1.1rem 0 .5rem}

/* Mythos: unclipped artwork and continuous, readable narrative on every screen. */
.lib-mythos .lib-reading{max-width:860px}.lib-mythos #chapter>p{font-size:1.08rem;line-height:1.85;margin:1.2rem 0 2.4rem}.lib-mythos .mythos-art{margin:2.5rem 0 1rem}.lib-mythos .mythos-art img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}.lib-mythos .mythos-art a{display:block}.lib-mythos .mythos-art a:focus-visible{outline:3px solid currentColor;outline-offset:5px}@media(max-width:680px){.lib-mythos .mythos-art{margin:1.7rem 0 .85rem}.lib-mythos #chapter>p{font-size:1rem;line-height:1.8}}

.lib-breadcrumbs{padding:14px 28px;font:12px/1.6 system-ui;color:var(--muted);border-bottom:1px solid var(--line)}.lib-breadcrumbs a{text-underline-offset:3px}.lib-breadcrumbs span[aria-hidden]{margin:0 7px}@media(max-width:680px){.lib-breadcrumbs{padding:12px 22px;font-size:11px}}

.lib-data-table.lib-rules-table th:first-child,.lib-data-table.lib-rules-table td:first-child{width:30%;min-width:130px;overflow-wrap:normal;word-break:normal}

/* Override fixed prose sizes in every book when the reader asks for larger text. */
body.lib-large #chapter{font-size:22px}body.lib-large #chapter :is(p,li,td,th,blockquote,summary){font-size:22px;line-height:1.85}body.lib-large #chapter :is(figcaption,.lib-small){font-size:16px}
