:root{color-scheme:light;--bg:#f5f1e8;--panel:#fffdf8;--panel2:#eee6d8;--line:#dcd2c2;--text:#302b32;--muted:#716674;--gold:#82536a;--blue:#456581;--green:#416b57;--plum:#34202f;--accent:#82536a;--gilt:#d7bb81}
body{background:radial-gradient(ellipse at 90% 0,#e7d7bd66,transparent 45%),var(--bg)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{background:var(--plum);border-bottom:3px solid var(--gilt);box-shadow:0 3px 16px #34202f12}
header .brand{display:flex;flex-shrink:0}.brand-logo{display:block;width:248px;height:96px;object-fit:contain}
header .search-area{background:transparent}
header .searchbox{background:#fffaf2;border:1px solid #dacbb6;border-radius:8px;color:var(--text);box-shadow:none}
.searchbox input::placeholder{color:#7a7076}.searchbox>span{color:var(--accent)}.searchbox kbd{color:#786978;border-color:#d6cbbd}
header .searchbox:focus-within{outline:2px solid var(--gilt);outline-offset:3px}
#clear-search{flex:none;background:transparent;border:0;padding:0;width:32px;min-height:36px;color:var(--muted);font-size:23px}
#language{background:#ffffff0d;color:#f6e9d4;border-color:#907487;font-size:12px}
.shell{max-width:1600px;grid-template-columns:234px minmax(0,1fr)}
aside{background:#eee8de80;border-color:var(--line)}.aside-title{font-size:12px;font-weight:700;letter-spacing:.06em}.aside-title span{font-size:9px;letter-spacing:.12em}
.navigation-panel>summary{display:none}.navigation-panel[open]>summary:before{content:none}.aside-note p{font-size:17px;line-height:1.8}.aside-note small{font-size:11px}
nav a.active{background:var(--plum);color:#fff5e3;box-shadow:inset 3px 0 var(--gilt)}nav a.active .count,nav a.active .navicon{color:#dfc7a7}nav a.active:hover{background:#503449}
.nav-group.current-group>summary{background:#82536a0a;color:var(--accent)}nav a{transition:background .15s}
main{max-width:none;padding:24px 36px 30px}
.intro{display:block;position:relative;margin:0 0 18px;padding:24px 28px;background:linear-gradient(115deg,#efe5d4,#faf6ed 65%,#e9dbe4);border:1px solid #d9cbb7;border-top:3px solid #b79a68;border-radius:3px}
.intro h1{font-family:Georgia,'Batang',serif;font-size:27px;margin:6px 0;color:#432d40;letter-spacing:-.04em}.intro p{font-size:14px;margin:0 0 18px;color:var(--muted)}.intro .eyebrow{font-size:9px;letter-spacing:.22em;color:#816a46}
.home-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.home-categories a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fffdf8c9;border:1px solid #dbcfbe;border-radius:4px;font-size:13px;font-weight:650}.home-categories a span{color:var(--accent)}.home-categories a:hover{border-color:var(--accent);background:#fff}
.page-filters .filter-panel{border-bottom:1px solid var(--line)}.filter-panel>summary{color:var(--muted);font-size:12px}.filters select,select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:5px}
.section-head{margin:18px 0 12px;align-items:center}.section-head h2{font-size:18px;letter-spacing:-.03em}.section-head small{font-variant-numeric:tabular-nums;background:var(--panel2);padding:2px 9px;border-radius:20px}
.cards{gap:10px}.compact-card{min-height:80px;padding:15px;border-radius:5px;border-color:#ded5c8;background:var(--panel);box-shadow:0 2px 3px #49344503}.compact-card h3{font-size:15px;line-height:1.45}.compact-card .card-meta{font-size:12px;color:var(--muted);margin-top:5px}.card:hover{box-shadow:0 3px 12px #4934450b}.compact-card:focus-visible{outline-offset:2px}
.community-shortcuts{gap:8px;margin:12px 0}.community-shortcuts .linkchip{padding:9px 12px;min-height:42px;border:1px solid var(--line);background:var(--panel);border-radius:5px;font-size:12px;color:#68475d}.community-shortcuts .linkchip:after{content:' ↗';padding-left:12px;color:#9c7c63}.community-shortcuts .linkchip:hover{border-color:var(--accent)}
.quick-disclosure{border-bottom:1px solid var(--line);padding-bottom:6px}.journey,.journey:nth-child(2){background:linear-gradient(110deg,#efe7da,#faf7ef)}.journey h3{color:#50394a}
.notice{background:#ece2d4;color:#655342;border-left-color:#b58d58}.card p{color:var(--muted)}
th{background:#eee7da;color:#655b62;font-weight:650}tr.selected{background:#efe1e8}tbody tr:hover{background:#82536a05}.table-wrap{background:var(--panel)}
.badge{color:#416b57;border-color:#a9b7a4;background:#edf2e9}.badge.pending,.badge.community{color:#765632;border-color:#c8b18c;background:#f5eddc}
.character-figure{background:linear-gradient(145deg,#eee5d7,#e4d8e2);border-color:#d3c3be}.character-figure .portrait{background:radial-gradient(ellipse at bottom,#c9b9cb66,transparent 72%)}
.detail h1{color:#432d40}.detail h2{padding-bottom:7px;border-bottom:1px solid var(--line)}.detail-title{padding-bottom:12px;border-bottom:1px solid var(--line)}
.relation:hover,.region a:hover{background:var(--panel2)}.source{background:var(--panel)}.empty{background:var(--panel);border-radius:7px}.load-more{color:var(--accent);background:#eee5da;min-height:48px}
.paralogue-row{background:var(--panel)}.paralogue-routes button[aria-pressed=true],.item-filter-row button[aria-pressed=true]{background:var(--plum);color:#fff1d8;border-color:var(--plum)}.paralogue-toolbar select{min-height:44px}.item-filter-row button{min-height:44px}.item-filter-row button small{opacity:1}.item-type-icon{background:#eee4d4}.item-filter-secondary{border-color:var(--line)}
summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{z-index:100;background:var(--plum);color:#fff5df}footer{font-size:11px}
@media(min-width:701px){header{height:104px;padding:0 28px;gap:30px}header .search-area{max-width:680px}header .searchbox{height:48px}aside{top:104px;height:calc(100dvh - 104px);padding:24px 14px}html{scroll-padding-top:122px}.detail-top,#entry-title{scroll-margin-top:122px}.navigation-panel:not([open])>nav{display:flex}}
@media(min-width:1450px){main{padding:28px 48px}}
@media(min-width:701px) and (max-width:1050px){.shell{grid-template-columns:200px minmax(0,1fr)}main{padding:20px}.brand-logo{width:215px}.home-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 :root{--search-height:calc(130px + env(safe-area-inset-top,0px))}
 html{scroll-padding-top:calc(var(--search-height) + 12px)}
 header{position:sticky;top:0;z-index:50;height:var(--search-height);display:grid;grid-template-columns:1fr auto;grid-template-rows:65px 48px;gap:4px 12px;padding:calc(3px + env(safe-area-inset-top,0px)) 12px 8px;background:var(--plum);border-bottom:2px solid var(--gilt)}
 header .brand{display:flex;grid-column:1;grid-row:1;width:max-content}.brand-logo{width:205px;height:65px}
 header .header-right{grid-column:2;grid-row:1}#language{position:static;width:auto;min-width:46px;min-height:40px;background:#ffffff0d}
 header .search-area{grid-row:2;grid-column:1/-1;width:100%;margin:0;padding:0}
 header .searchbox{position:static;display:flex;height:46px;padding:0 10px;border:1px solid #dacbb6;border-radius:6px;gap:6px;box-shadow:none;background:#fffaf2}
 header .searchbox input{height:42px;padding:6px 0;border:0;background:transparent;border-radius:0;font-size:16px}header .searchbox>span{display:block;font-size:25px}header .searchbox:focus-within{outline:2px solid var(--gilt)}
 .shell{display:block}aside{padding:0 12px;background:#ebe3d7;border-bottom:1px solid #d5c6b3}
 .navigation-panel>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:13px;font-weight:650;color:#604153;cursor:pointer;list-style:none}.navigation-panel>summary:after{content:'＋';font-size:18px}.navigation-panel[open]>summary:after{content:'−'}.navigation-panel>summary::-webkit-details-marker{display:none}
 #navigation>a,.nav-group>summary,.nav-children a{min-height:44px;font-size:13px}.nav-children{gap:5px}.nav-children a.active{box-shadow:inset 0 -2px var(--gilt)}
 main{padding:14px 12px 20px}.intro{padding:17px 16px;margin-bottom:12px}.intro h1{font-size:21px;max-width:none;line-height:1.5}.intro p{font-size:12px;margin-bottom:14px}.intro .eyebrow{font-size:8px}.home-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.home-categories a{padding:9px 10px;min-height:44px;font-size:12px}
 .cards{gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.compact-card{padding:11px 10px;min-height:78px;border-radius:5px;align-items:center}.compact-card h3{font-size:14px}.compact-card .card-meta{font-size:11px;line-height:1.45}.section-head{margin:14px 0 10px}.section-head h2{font-size:16px}.community-shortcuts{gap:6px}.community-shortcuts .linkchip{font-size:11px;padding:8px;min-height:40px}.community-shortcuts .linkchip:after{padding-left:4px}
 .filter-panel>summary{min-height:44px}.catalog-filter select{min-height:44px}.detail-top,#entry-title{scroll-margin-top:calc(var(--search-height) + 12px)}.detail h1{font-size:24px}.detail h2{font-size:17px}.detail .body{line-height:1.8}.item-filter-row button{min-height:44px}.paralogue-routes button{min-height:44px}.back{display:inline-block;min-height:44px;padding:8px 0}
}
@media(max-width:360px){.cards{grid-template-columns:1fr}.intro h1{font-size:19px}}
/* Local Google Material Icons Outlined. */
.ui-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle;background-color:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;pointer-events:none}
.icon-add{--icon:url("./assets/icons/add.svg")}
.icon-all{--icon:url("./assets/icons/all.svg")}
.icon-arrow{--icon:url("./assets/icons/arrow.svg")}
.icon-character{--icon:url("./assets/icons/character.svg")}
.icon-class{--icon:url("./assets/icons/class.svg")}
.icon-close{--icon:url("./assets/icons/close.svg")}
.icon-expand{--icon:url("./assets/icons/expand.svg")}
.icon-external{--icon:url("./assets/icons/external.svg")}
.icon-filter{--icon:url("./assets/icons/filter.svg")}
.icon-item{--icon:url("./assets/icons/item.svg")}
.icon-language{--icon:url("./assets/icons/language.svg")}
.icon-location{--icon:url("./assets/icons/location.svg")}
.icon-map{--icon:url("./assets/icons/map.svg")}
.icon-menu{--icon:url("./assets/icons/menu.svg")}
.icon-mount{--icon:url("./assets/icons/mount.svg")}
.icon-paralogue{--icon:url("./assets/icons/paralogue.svg")}
.icon-quest{--icon:url("./assets/icons/quest.svg")}
.icon-remove{--icon:url("./assets/icons/remove.svg")}
.icon-reset{--icon:url("./assets/icons/reset.svg")}
.icon-search{--icon:url("./assets/icons/search.svg")}
.icon-sources{--icon:url("./assets/icons/sources.svg")}
.icon-tip{--icon:url("./assets/icons/tip.svg")}
/* Shared sidebar and mobile navigation drawer. */
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sidebar-heading .aside-title{display:block;margin:0;padding:8px 10px;font-size:14px;line-height:1.5;letter-spacing:0}
#menu-close,#menu-toggle{display:none;align-items:center;justify-content:center;padding:10px;width:44px;height:44px;flex:none}
.sidebar-settings{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 8px 0;padding:12px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.search-shortcuts{margin:16px 0}.search-shortcut{display:flex;gap:12px;max-width:560px}.search-shortcut .card-copy{flex:1}.search-shortcut>.ui-icon{color:var(--accent)}
#language{position:static;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;padding:8px 10px;background:var(--panel);color:var(--text);border:1px solid var(--line);font-size:13px}
#language:hover{background:var(--panel2);border-color:var(--accent)}
#navigation .ui-icon{color:var(--muted)}#navigation a.active .ui-icon{color:var(--gilt)}
#navigation>a,#navigation .nav-children a{gap:10px;min-height:44px}
.nav-group>summary:after{content:none}.nav-group>summary>.icon-expand{width:18px;height:18px;flex-basis:18px;transition:transform .18s}.nav-group[open]>summary>.icon-expand{transform:rotate(180deg)}
.home-categories a{gap:9px;justify-content:flex-start}.home-categories a>span:not(.ui-icon){flex:1}.home-categories .icon-arrow{width:16px;height:16px;flex-basis:16px}
header .searchbox>.ui-icon{display:inline-block;width:22px;height:22px;flex-basis:22px}
#clear-search{display:flex;align-items:center;justify-content:center}
.relation>.ui-icon{margin-left:auto;color:var(--accent)}.path>.ui-icon{width:16px;height:16px;flex-basis:16px}
a>.icon-external,a>.icon-arrow{width:16px;height:16px;vertical-align:-3px}
.community-shortcuts .linkchip{display:inline-flex;align-items:center;gap:8px}.community-shortcuts .linkchip:after{content:'';display:inline-block;width:16px;height:16px;padding:0;background:currentColor;mask:url('./assets/icons/arrow.svg') center/contain no-repeat;-webkit-mask:url('./assets/icons/arrow.svg') center/contain no-repeat}
.filter-panel>summary:before{content:'';display:inline-block;width:18px;height:18px;background:currentColor;mask:url('./assets/icons/filter.svg') center/contain no-repeat;-webkit-mask:url('./assets/icons/filter.svg') center/contain no-repeat}
.quick-disclosure>summary:before,.source-disclosure>summary:before,.portrait-disclosure>summary:before{content:'';display:inline-block;width:18px;height:18px;background:currentColor;mask:url('./assets/icons/expand.svg') center/contain no-repeat;-webkit-mask:url('./assets/icons/expand.svg') center/contain no-repeat}
.quick-disclosure[open]>summary:before,.source-disclosure[open]>summary:before,.portrait-disclosure[open]>summary:before{transform:rotate(180deg)}
#mobile-menu{display:none}
@media(max-width:700px){
 #menu-toggle{display:flex;background:#ffffff0d;border-color:#907487;color:#fff1d8}
 #menu-close{display:flex;background:var(--panel);color:var(--text)}
 #mobile-menu[open]{display:block;position:fixed;inset:0 0 0 auto;margin:0;width:min(350px,90vw);height:100dvh;max-width:100vw;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--text);box-shadow:-8px 0 36px #160d2440;overflow-y:auto;overscroll-behavior:contain;animation:drawer-in .18s ease-out}
 #mobile-menu::backdrop{background:#1c122966;backdrop-filter:blur(2px)}
 body.menu-open{overflow:hidden}
 #mobile-menu #sidebar{display:block;position:static;width:100%;height:auto;min-height:100%;padding:0 14px calc(20px + env(safe-area-inset-bottom,0px));border:0;background:var(--bg)}
 #mobile-menu .sidebar-heading{position:sticky;top:0;z-index:2;background:var(--bg);padding:calc(12px + env(safe-area-inset-top,0px)) 0 12px;border-bottom:1px solid var(--line)}
 #mobile-menu .aside-title{font-size:16px;padding:0 6px;max-width:220px}
 #mobile-menu .sidebar-settings{margin:24px 6px 0;font-size:13px}
 #mobile-menu #navigation{display:flex;flex-direction:column;padding:0;gap:5px}
 #mobile-menu #navigation>a,#mobile-menu .nav-children a{min-height:46px;font-size:14px;padding:10px 12px}
 #mobile-menu .nav-group>summary{min-height:44px;padding:8px 12px;font-size:12px}
 #mobile-menu .nav-children{display:grid;gap:3px;margin:0 0 10px 12px;padding-left:8px}
 #mobile-menu nav a .count{display:block;font-size:12px}#mobile-menu .aside-note{display:block;margin:18px 12px 0;padding-top:16px}#mobile-menu .aside-note p{font-size:14px;margin:8px 0}
 #mobile-menu nav a.active{box-shadow:inset 3px 0 var(--gilt)}
 .header-right{margin:0}main{padding-top:14px}
}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#mobile-menu[open]{animation:none}}
.filter-panel[open]>summary:before{content:''}
.table-wrap td .ui-icon{display:inline-block}

.feedback-link{font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted);text-decoration:underline;text-underline-offset:3px;padding:8px 0;flex-shrink:0}.feedback-link:hover{color:var(--accent)}.feedback-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}.heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.detail-title>div{min-width:0}.detail-title{flex-wrap:wrap}
