/* A compact directory, with whitespace reserved for reading rather than decoration. */
.portal-toc{margin:18px 0;padding:14px;background:#f4f8fa;border-radius:7px}
.portal-toc .portal-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border:0}
.portal-toc .portal-links a{border:1px solid #cddde5;border-radius:5px;padding:11px 9px;gap:8px;font-size:14px;font-weight:700;justify-content:flex-start}
.portal-toc .portal-links svg{width:22px;height:22px;flex:0 0 22px;color:#2a6e7c}
.portal-toc .portal-links a>span:last-child{margin-left:auto}
.portal-toc .portal-links a>span:not(:last-child){color:#285774}
.portal-toc a[data-anchor=weapons] svg{color:#a25c21}.portal-toc a[data-anchor=armor] svg{color:#805aa3}.portal-toc a[data-anchor=monsters] svg{color:#ad5349}.portal-toc a[data-anchor=items] svg{color:#487e3d}
.portal-purpose-label{font-size:15px;font-weight:700;margin:16px 0 8px!important;color:#45616e}
.portal-main .purpose-grid{margin:0 0 22px}.portal-main .purpose-grid a{padding:12px 14px}.portal-main .purpose-grid i{font-size:12px}
.portal-main .purpose-grid strong{margin-block:2px;font-size:16px}
.portal-main .weapon-guide-grid{gap:8px}.portal-main .weapon-guide-title{padding-block:10px}.portal-main .weapon-card-links a{padding-block:9px}
.portal-section>h2{scroll-margin-top:80px}.portal-section{scroll-margin-top:20px}
.page-jump{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:10px;padding:9px 12px;margin:12px 0;background:#f1f7fa;border:1px solid #bbd2df;border-radius:6px;box-shadow:0 3px 9px #193c5010}
.page-jump label{font-size:14px;font-weight:700;white-space:nowrap;color:#275a72}
.page-jump select{min-width:0;flex:1;font-size:14px;min-height:40px;padding:7px;background:white;color:#294f62;border:1px solid #b6cbd7;border-radius:4px}
.page-jump button{flex-shrink:0;min-height:40px;padding:7px 12px;font-size:14px;font-weight:700;color:#275a72;background:white;border:1px solid #b6cbd7;border-radius:4px;cursor:pointer}
.page-jump{top:var(--global-nav-height,60px)}
#content .jump-target,#content [id^=data-],#weapon-stats,#references,#related,#hd-difference{scroll-margin-top:calc(var(--global-nav-height,60px) + 80px)}
#content .portal-section{scroll-margin-top:calc(var(--global-nav-height,60px) + 15px)}
.game-nav a[aria-current=page]{background:#386c62;box-shadow:inset 0 -4px #f2c46d}
.game-nav>a{flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center}
.game-nav>a:first-child{margin-inline-start:auto}
.game-nav>a:last-child{margin-inline-end:auto}
#reading-dock{display:none;position:fixed;right:18px;bottom:18px;z-index:30;background:white;border:1px solid #bfd1dc;border-radius:8px;box-shadow:0 3px 12px #22475d22}
#back-to-top{position:fixed;right:20px;bottom:20px;z-index:35;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:92px;min-height:68px;padding:10px 12px;border:1px solid #155143;border-radius:10px;background:#206c59;color:white;box-shadow:0 4px 14px #173d4033;font-size:12px;font-weight:700;line-height:1.4;cursor:pointer}
#back-to-top svg{width:26px;height:26px}#back-to-top:hover{background:#155442;box-shadow:0 5px 17px #173d4044}#back-to-top:focus-visible{outline:3px solid #e5a641;outline-offset:4px}
#reading-dock>a{display:none}#reading-dock button{display:flex;align-items:center;gap:7px;background:transparent;color:#2d5f70;border:0;padding:11px 16px;font-size:14px;font-weight:700;cursor:pointer}
#reading-dock svg{width:22px;height:22px;flex-shrink:0}
#reading-dock button[hidden]{display:none}
.site-catalog-search .site-search-fields{flex-basis:100%;display:flex;flex-wrap:wrap;gap:12px}
.site-search-fields>div{flex:1 1 110px;min-width:0}
.site-catalog-search .site-search-toggle{display:none}
.search-guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.search-guide-links a{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:9px 12px;border:1px solid #b9d5c8;border-radius:7px;background:#eef7f2;color:#215c4c}
.search-guide-links small{font-size:12px;color:#435e52}
@media(max-width:1000px){
 body{padding-bottom:calc(65px + env(safe-area-inset-bottom,0px))}
 #toast{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 #reading-dock{left:0;right:0;bottom:0;border-radius:0;border-width:1px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom,0px)}
 #back-to-top{display:none}
 #reading-dock.has-top-button{grid-template-columns:repeat(4,minmax(0,1fr))}
 #reading-dock>a,#reading-dock button{display:flex;flex-direction:column;justify-content:center;gap:0;padding:5px;min-height:58px;font-size:12px;line-height:1.5;color:#35596a;text-decoration:none;font-weight:700}
 #reading-dock span{font-size:23px;line-height:1.2}#reading-dock [aria-current=page]{color:#176552;background:#eaf5f0;box-shadow:inset 0 3px #28796a}
}
@media(max-width:760px){
 .site-catalog-search.catalog-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin:12px 0;padding:10px}
 .site-catalog-search .filter-search{min-width:0}
 .site-catalog-search .site-search-submit{padding-inline:14px}
 .site-catalog-search .site-search-toggle{display:block;justify-self:start;min-height:44px;padding:4px 9px;border:0;background:transparent;color:#285b50;font-size:14px;text-align:left;text-decoration:underline}
 .site-catalog-search .site-search-fields{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .site-search-toggle[aria-expanded=false]+.site-search-fields{display:none}
 .site-catalog-search .filter-reset{grid-column:2;grid-row:2;align-self:center;padding:6px}
 .portal-toc .portal-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.portal-toc .portal-links a{font-size:13px;padding:10px 7px}.portal-toc .portal-links svg{width:19px;height:19px;flex-basis:19px}
 .portal-toc{padding:11px}.portal-toc small{display:inline;font-size:11px;margin-left:5px}.portal-main .purpose-grid a{padding:10px}.portal-main .purpose-grid strong{font-size:14px}.portal-main .purpose-grid span{font-size:12px}
 .page-jump{padding:6px 8px;gap:7px}.page-jump button{padding:7px 8px}.page-jump select{max-width:100%;font-size:16px}
}
