@font-face{font-family:Maple;src:url('../assets/Maplestory%20Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--forest:#173e34;--forest-light:#2b6452;--ink:#263b33;--muted:#6c776e;--paper:#f7f6ef;--line:#dedfd2;--gold:#aa8c4c;--white:#fffefa}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.65 'Malgun Gothic','Apple SD Gothic Neo',Arial,sans-serif;word-break:keep-all}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid #c79540;outline-offset:4px}.wrap{max-width:1264px;width:calc(100% - 72px);margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:12px;top:-70px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.mobile-only{display:none}
.topbar{height:86px;background:var(--forest);color:#eeeede;border-bottom:1px solid #b9ab7044}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:73px;height:73px;object-fit:contain}.brand span{font-family:Maple,sans-serif;font-size:19px}.brand small{display:block;font:8px/2 Arial,sans-serif;letter-spacing:2px;color:#b5c4ae}.topbar nav{display:flex;align-items:center;gap:34px;font-size:13px}.topbar nav [aria-current]{color:#f2d797}.topbar nav a:hover{color:#f2d797}.home-link{border-left:1px solid #ffffff30;padding-left:30px;font-size:11px;color:#c2d1c1}.home-link span{margin-left:20px}.atlas-hero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #d9dfcc;background:#dce6d2}.hero-landscape{position:absolute;inset:0;z-index:-2;background:url('../assets/hero-landscape.webp') center 48%/cover}.atlas-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#eff3e3fa 3%,#edf2e2ef 37%,#edf2e2b5 65%,#e8eedb1c);z-index:-1}.hero-content{padding:46px 0 39px}.eyebrow{color:#8c774c;font:9px/1.6 Arial,sans-serif;font-weight:700;letter-spacing:2px}.hero-content h1{font-family:Maple,sans-serif;font-size:35px;line-height:1.4;letter-spacing:-1px;margin:12px 0}.hero-content p{color:#5d735e;font-size:13px}.search-form{display:flex;align-items:center;gap:15px;width:640px;max-width:100%;background:#fffefb;border:1px solid #92a282;box-shadow:0 5px 15px #2943290a;margin-top:25px;padding:7px 7px 7px 20px}.search-icon{font:33px/1 Arial,sans-serif;transform:rotate(-15deg);color:#446d55}.search-form input{border:0;background:none;outline:none;flex:1;min-width:0;height:38px;font-size:14px}.search-form input:focus{box-shadow:0 2px #c4af73}.search-form kbd{font-size:10px;color:#939888;border:1px solid #e3e4d8;border-radius:3px;padding:1px 5px;white-space:nowrap}.search-form button{background:var(--forest);color:#fff7db;padding:10px 22px;font-weight:700}.search-form button:hover{background:#2f6750}.quick-search{display:flex;align-items:center;gap:14px;margin-top:13px;font-size:11px;color:#64755f}.quick-search button{padding:0;color:#385d46;text-decoration:underline;text-decoration-color:#a3b69d;text-underline-offset:3px}.quick-search span{color:#7b8774}
.atlas-body{padding-top:36px;padding-bottom:38px}.catalog-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.catalog-intro h2{font:700 26px/1.5 Maple,sans-serif;margin-top:5px}.catalog-intro p{font-size:11px;color:#8a8e7d}.category-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #c6cdb7;border-bottom:2px solid #264e3d}.category-tabs a{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 10px;font-size:14px;border-right:1px solid #e0e2d6}.category-tabs a:last-child{border-right:0}.category-tabs small{font:11px Arial,sans-serif;color:#8b927e}.category-tabs a[aria-current]{color:#fff9e4;background:var(--forest);font-weight:700}.category-tabs a[aria-current] small{color:#d1d6b9}.category-tabs a:hover:not([aria-current]){background:#eeeee1}.catalog-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:32px;margin-top:29px}.filters{border-right:1px solid var(--line);padding-right:24px}.filter-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.filter-heading h3{font-size:14px}.filter-heading button{font-size:10px;color:#8b8d7d;padding:0;text-decoration:underline;text-underline-offset:3px}.filters>label{display:block;font-size:11px;font-weight:700;margin:20px 0 7px}.filters select,.level-range input{width:100%;border:1px solid #d2d7c8;background:var(--white);border-radius:2px;min-height:36px;font-size:12px;padding:6px 8px}.level-range{display:flex;align-items:center;gap:7px}.level-range input{min-width:0}.level-range span{color:#8a927e}.filter-note{margin-top:31px;padding-top:25px;border-top:1px solid var(--line)}.tiny-leaf{display:block;color:#b89550;font-size:18px;margin-bottom:7px}.filter-note strong{font-size:12px}.filter-note p{font-size:11px;color:#8a907f;line-height:1.9;margin-top:8px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;min-height:30px}.results-toolbar p{font-size:13px}.results-toolbar strong{color:#376d4f}.results-toolbar select{border:0;background:transparent;font-size:11px;max-width:130px}.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entry{position:relative;display:flex;flex-direction:column;min-height:147px;border:1px solid #dedfd3;background:#fffefb;padding:15px 17px;transition:border-color .15s,transform .15s;text-align:left;border-radius:3px;overflow:hidden}.entry:hover{border-color:#889f78;transform:translateY(-2px);box-shadow:0 3px 10px #2d4b2910}.entry-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kind{font-size:9px;color:#8b8c77;letter-spacing:.02em}.entry-id{font:9px/1 Arial,sans-serif;color:#a9ad9f}.entry-main{display:flex;align-items:center;gap:14px;margin-top:15px;flex:1}.art{width:58px;height:62px;flex:0 0 58px;display:grid;place-items:center;background:radial-gradient(ellipse,#eff1e3 0%,#fafbf400 70%)}.art img{max-height:60px;max-width:56px;object-fit:contain;image-rendering:pixelated}.entry[data-type=map] .art{background:#f0f0e4;border:1px solid #e4e4d6}.entry[data-type=map] .art img{image-rendering:auto}.fallback{font-family:Maple,sans-serif;color:#a5b29a;font-size:27px}.entry-name{font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.entry-meta{font-size:10px;color:#88917d;margin-top:4px;line-height:1.6}.entry-arrow{color:#9da88f;position:absolute;right:16px;bottom:12px;font-size:14px}.entry.restricted{background:#f2f1ea}.entry.restricted .entry-meta{color:#a5824f}.entry[data-type=quest]{min-height:147px}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:28px 0 10px}.pagination button{width:32px;height:32px;border:1px solid transparent;font-size:12px;border-radius:2px}.pagination button[aria-current]{background:var(--forest);color:white}.pagination button:hover:not(:disabled){border-color:#98aa8a}.pagination button:disabled{cursor:default;color:#bbc2b3}.pagination span{color:#a8b09d}.loading-state,.empty-state{grid-column:1/-1;padding:65px 20px;text-align:center;color:#87917e;border:1px dashed #d4d8c8}.empty-state strong{display:block;font-size:18px;color:#4b664b;margin-bottom:10px}.empty-state p{font-size:12px}.empty-state button{margin-top:20px;background:var(--forest);color:white;padding:9px 18px}.data-note{border-top:1px solid #d3d8c6;margin-top:32px;padding-top:22px;display:grid;grid-template-columns:150px 1fr;column-gap:25px;font-size:11px;color:#8b907f}.data-note strong{color:#65795e;font-size:12px}.data-note p{line-height:1.9}.data-note button{grid-column:2;text-align:left;color:#75846a;font-size:10px;padding:8px 0 0}.data-note button span{margin-left:5px}footer{background:var(--forest);color:#bccab4;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-inner strong{color:#e7e5c7;font:700 13px Arial,sans-serif;letter-spacing:1px}.footer-inner span{display:block;font-size:10px;margin-top:5px}.footer-inner a{font-size:11px}
dialog{margin:auto;max-height:90vh;width:min(940px,calc(100% - 48px));padding:0;border:1px solid #a4b399;border-radius:5px;background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #10261b40}dialog::backdrop{background:#132a22b5;backdrop-filter:blur(3px)}.detail-toolbar{display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:3;background:var(--forest);color:#f3efdc;padding:9px 17px;min-height:48px}.detail-toolbar>span{font:9px Arial,sans-serif;letter-spacing:1.7px;margin-left:auto;color:#bec8ae}.detail-toolbar button{color:#f3efdc;font-size:11px}.detail-toolbar #detail-close{font-size:27px;line-height:1;margin-left:auto}.detail-toolbar #detail-back:disabled{opacity:.35;cursor:default}.detail-head{padding:28px 30px;display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line);background:#f0f0e3}.detail-art{width:100px;height:100px;display:grid;place-items:center;flex-shrink:0;background:#fafaf0;border:1px solid #d9ddca;border-radius:3px}.detail-art img{max-width:90px;max-height:90px;object-fit:contain;image-rendering:pixelated}.detail-art .fallback{font-size:43px}.detail-head h2{font:700 26px/1.5 Maple,sans-serif;margin:5px 0;overflow-wrap:anywhere}.detail-id{font:10px Arial,sans-serif;color:#91977f;margin-left:10px}.detail-subtitle{font-size:12px;color:#7f8c73}.share-link{margin-left:auto;align-self:flex-start;white-space:nowrap;border:1px solid #c5ceb8;border-radius:3px;padding:6px 10px;font-size:10px}.detail-body{padding:25px 30px 30px}.detail-description{white-space:pre-line;line-height:1.9;font-size:13px;margin-bottom:22px;color:#5f705c;overflow-wrap:anywhere}.detail-section{margin:24px 0 0}.detail-section:first-child{margin-top:0}.detail-section h3{font-size:14px;margin-bottom:11px;padding-left:10px;border-left:3px solid #b49a5e}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e0e3d4;border:1px solid #e0e3d4}.stat{background:#fffef8;padding:10px 13px}.stat small{display:block;color:#8b947e;font-size:10px}.stat strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.relation-list{display:flex;flex-direction:column;gap:5px}.relation{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid #e0e3d5;background:#fffefa;border-radius:2px;min-height:48px;text-align:left;width:100%;font-size:12px}.relation:hover{border-color:#9bae88}.relation img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.relation-name{flex:1}.relation-name small{display:block;font-size:10px;color:#929984;line-height:1.7}.relation-value{font:11px Arial,sans-serif;color:#688357;white-space:nowrap}.relation.static{cursor:default}.detail-note{padding:12px 15px;border:1px solid #dedac3;background:#f8f3e2;color:#948255;font-size:11px;line-height:1.8;margin-bottom:18px}.detail-small{font-size:11px;line-height:1.9;color:#8b937e;margin:10px 0;white-space:pre-line}.map-preview{background:#e5e9dc;min-height:100px;padding:20px;display:grid;place-items:center;border:1px solid #d1d8c3}.map-preview img{max-height:420px;object-fit:contain;image-rendering:pixelated}.more-relations{font-size:11px;color:#668056;border-bottom:1px solid #b1bea5;padding:7px 0;margin-top:6px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--forest);color:#fff8e2;padding:12px 22px;z-index:100;border:1px solid #c2b97c;box-shadow:0 4px 20px #0002;font-size:12px}.error-state{color:#9b6146}.relation-hint{font-size:10px;color:#89957e}.job-list{font-size:12px;color:#76856a;margin-top:10px}
@media(min-width:1600px){.hero-content{padding-top:51px;padding-bottom:44px}.hero-landscape{background-position:center 53%}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.topbar nav{gap:24px}.brand span{font-size:16px}.catalog-layout{grid-template-columns:175px minmax(0,1fr);gap:22px}.filters{padding-right:18px}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.entry{min-height:140px}.home-link{display:none}.detail-head h2{font-size:23px}}
@media(max-width:700px){.wrap{width:calc(100% - 32px)}.topbar{height:70px}.brand{gap:8px}.brand img{height:57px;width:57px}.brand span{font-size:14px}.brand small{font-size:6px;letter-spacing:1.2px}.topbar nav{gap:16px;font-size:12px}.topbar nav a[href="/#news"],.topbar nav a[href="/#support"]{display:none}.hero-content{padding:30px 0 27px}.hero-content h1{font-size:29px;margin-top:10px}.hero-content p{font-size:11px}.atlas-hero:after{background:linear-gradient(90deg,#eff3e3fa,#edf2e2d9 60%,#edf2e2a6)}.hero-landscape{background-position:63% center}.search-form{padding-left:13px;gap:9px;margin-top:20px}.search-form input{font-size:12px}.search-form kbd{display:none}.search-form button{font-size:12px;padding:10px 16px}.quick-search{gap:12px;font-size:10px;flex-wrap:wrap}.quick-search span{display:none}.atlas-body{padding-top:25px}.catalog-intro{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:18px}.catalog-intro h2{font-size:23px}.catalog-intro p{font-size:9px}.category-tabs a{flex-direction:column;gap:3px;padding:12px 5px;font-size:12px}.category-tabs small{font-size:9px}.catalog-layout{display:block;margin-top:19px}.filters{border:0;padding:0 0 17px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border-bottom:1px solid var(--line);margin-bottom:18px}.filter-heading{grid-column:1/-1;margin-bottom:2px}.filter-heading h3{font-size:12px}.filters>label{margin:5px 0 0}.filters>label[for=category]{grid-column:1;grid-row:2}.filters #category{grid-column:1;grid-row:3}.filters>label:not([for]){grid-column:2;grid-row:2}.level-range{grid-column:2;grid-row:3}.filters>label[for=availability]{grid-column:1;grid-row:4}.filters #availability{grid-column:1/-1;grid-row:5;max-width:100%}.filter-note{display:none}.results{gap:9px}.entry{padding:11px;min-height:147px}.entry-main{flex-direction:column;gap:7px;margin-top:7px;align-items:flex-start}.art{height:44px;flex-basis:auto;width:100%}.art img{max-height:44px;max-width:58px}.entry-name{font-size:12px;line-height:1.5}.entry-meta{font-size:9px}.entry-id{font-size:8px}.kind{font-size:8px}.entry-arrow{right:9px;bottom:8px;font-size:11px}.results-toolbar p{font-size:11px}.entry[data-type=quest]{min-height:147px}.data-note{grid-template-columns:1fr;gap:8px;margin-top:22px}.data-note button{grid-column:1}.data-note p{font-size:10px}.footer-inner{align-items:flex-start}.footer-inner strong{font-size:11px}.footer-inner a{font-size:10px}.footer-inner span{font-size:9px}dialog{width:calc(100% - 18px);max-height:94vh}.detail-toolbar{padding-inline:10px;gap:10px}.detail-toolbar>span{font-size:7px;letter-spacing:1px}.detail-head{padding:21px 16px;gap:14px;flex-wrap:wrap}.detail-art{width:70px;height:70px}.detail-art img{max-width:65px;max-height:65px}.detail-heading{flex:1;min-width:0}.detail-head h2{font-size:20px}.detail-id{font-size:9px;margin-left:5px}.share-link{width:100%;text-align:center}.detail-body{padding:20px 16px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.relation{padding:9px;font-size:11px;gap:8px}.relation-value{font-size:10px}.relation-name small{font-size:9px}.map-preview{padding:10px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.conditional-drops{margin-top:20px;border:1px solid #d9dfca;background:#f0f2e7;padding:12px 15px}.conditional-drops summary{cursor:pointer;color:#648050;font-size:12px}.conditional-drops .detail-section{margin-top:18px}

/* Browse by place, then follow the game data. */
.wrap{max-width:1380px}
.hero-content{padding:30px 0 27px}
.hero-content h1{font-size:30px;margin:8px 0}
.hero-content p{font-size:13px}
.search-form{margin-top:19px;width:710px}
.catalog-intro{margin-bottom:17px}
.catalog-intro h2{font-size:24px}
.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:26px;margin-top:24px}
.filters{align-self:start;position:sticky;top:20px}
.filter-heading{margin-bottom:15px}
.filter-field{margin-bottom:18px}
.filter-field>label{display:block;font-size:12px;font-weight:700;margin:0 0 7px;color:#536850}
.filter-field select,.filter-field input{min-height:39px;font-size:12px}
.filter-note{margin-top:23px;padding-top:20px}
.results-toolbar{gap:18px;margin:19px 0 12px}
.results-toolbar p{font-size:14px}
.results-toolbar small{display:block;color:#7d8974;font-size:11px;line-height:1.6;margin-top:3px}
.results-toolbar select{border:1px solid #cbd5c0;background:#fffef8;min-height:34px;padding:4px 9px;border-radius:4px;flex-shrink:0;font-size:12px}
.region-browser{background:#f0f3e8;border:1px solid #d6dfc8;border-radius:7px;padding:20px 21px}
.region-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.region-heading h3{font-size:17px;font-weight:700;color:#294f39}
.region-heading p{font-size:11px;color:#819073;margin-top:4px}
.region-heading>button{font-size:11px;color:#567747;text-decoration:underline;white-space:nowrap;padding:3px}
.region-groups{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #d0dac3;margin:17px 0 12px;padding-bottom:10px}
.region-groups button{padding:7px 10px;font-size:12px;border-radius:4px;color:#65805a}
.region-groups button[aria-pressed=true]{background:var(--forest);color:#fffce8;font-weight:700}
.region-groups small{font-size:10px;opacity:.72;margin-left:4px}
.region-options{display:flex;gap:6px;flex-wrap:wrap;max-height:142px;overflow:auto;padding:2px 3px 5px 0;scrollbar-width:thin;scrollbar-color:#bac9ad transparent}
.region-options button{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:33px;padding:5px 10px;background:#fffef8;border:1px solid #dce2d1;border-radius:4px;font-size:12px;color:#526749}
.region-options small{font:10px Arial,sans-serif;color:#929c83}
.region-options button[aria-pressed=true]{background:#fff1cd;border-color:#b9984f;color:#72501d;font-weight:700}
.region-options button:hover,.region-groups button:hover:not([aria-pressed=true]){border-color:#9ab185;background:#e4ebda}
.region-context{font-size:10px;color:#8a947c;margin-top:12px;line-height:1.7}
.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px}
.active-filters button{display:flex;align-items:center;gap:6px;background:#e9eee0;border:1px solid #d9e1ce;border-radius:20px;padding:5px 10px;font-size:10px;color:#738366}
.active-filters strong{font-weight:500;color:#3a5d35}
.active-filters span{margin-left:3px;font-size:15px;line-height:1}
.active-filters .clear-all{background:none;border-color:transparent;text-decoration:underline}
.results{gap:11px}
.entry{border-radius:5px;min-height:134px;padding:14px}
.entry-name{font-size:14px}
.entry-main{margin-top:12px}
.entry-copy{min-width:0}
.entry-meta{font-size:11px}
.mini-stats{display:flex;gap:14px;margin:12px 0 0;padding-top:9px;border-top:1px solid #edf0e5;color:#8a947e;font-size:9px}
.mini-stats b{font-weight:500;color:#5b744e;margin-left:3px}
.map-results{grid-template-columns:repeat(3,minmax(0,1fr))}
.map-results .entry-main{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.map-results .art{width:100%;height:118px;flex-basis:118px;background:#e8ecdf!important;border-radius:3px;overflow:hidden;padding:8px}
.map-results .art img{width:auto;max-width:100%;max-height:100%;image-rendering:pixelated!important}
.map-results .entry-copy{min-height:43px}
.map-results .entry-arrow{bottom:15px}
.quest-results{display:block;border-top:1px solid #cbd5bf}
.quest-group-title{font-size:12px;color:#57714b;padding:12px 14px;background:#e8eedf;border-bottom:1px solid #d3ddc8;letter-spacing:.02em}
.quest-group-title:not(:first-child){margin-top:16px;border-top:1px solid #d3ddc8}
.quest-row{display:grid;grid-template-columns:51px 42px minmax(130px,1fr) minmax(105px,.55fr) minmax(125px,.6fr) 12px;align-items:center;gap:12px;padding:14px 13px;background:#fffef9;border:1px solid #e0e4d7;border-top:0;min-height:100px;transition:background .12s,border-color .12s}
.quest-row:hover{background:#f6f8ef;border-color:#b7c7a7}
.quest-level{display:flex;flex-direction:column;align-items:center;border-right:1px solid #e2e7d8;padding-right:11px;color:#6e845b}
.quest-level small{font:10px/1.5 Arial,sans-serif;color:#8d9a7f}
.quest-level b{font:700 21px/1.3 Arial,sans-serif;color:#42643b}
.quest-level b.unspecified{font:11px/1.8 'Malgun Gothic',sans-serif;color:#929b88}
.quest-art{height:48px;width:42px;display:grid;place-items:center}
.quest-art img{object-fit:contain;max-height:48px;max-width:42px;image-rendering:pixelated}
.quest-art .fallback{font-size:22px}
.quest-main,.quest-require,.quest-reward{min-width:0}
.quest-title{display:block;font-weight:700;font-size:13px;line-height:1.6;overflow-wrap:anywhere;color:#324e32}
.quest-meta{display:block;font-size:10px;color:#849278;line-height:1.6;margin-top:3px}
.quest-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;font-size:9px;color:#98a08d}
.quest-tags em{font-style:normal;color:#a27e45}
.quest-require,.quest-reward{align-self:center;font-size:11px;color:#627855;line-height:1.65;overflow-wrap:anywhere}
.quest-require small,.quest-reward small{display:block;font-size:9px;color:#9da58f;margin-bottom:3px}
.quest-reward>span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.quest-chevron{font-size:22px;color:#a5b198}
.quest-row.restricted{background:#f2f1e9}
.quest-row.restricted .quest-title{color:#8b8f7e}
dialog[data-type=map]{width:min(1140px,calc(100% - 42px))}
.map-explorer{border:1px solid #c8d4bb;border-radius:5px;overflow:hidden;background:#f7f9ef}
.map-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;background:#f2f5ea;border-bottom:1px solid #d3dfc6}
.map-modes{display:flex;align-items:center;gap:4px}
.map-modes button,.map-mode-label{font-size:11px;padding:6px 10px;color:#6f855e;border-radius:3px}
.map-modes button[aria-pressed=true]{background:var(--forest);color:#fff7da}
.map-mode-label{font-weight:700}
.map-zoom{display:flex;align-items:center;gap:3px;font-size:11px;color:#789064}
.map-zoom button{min-width:31px;min-height:30px;border:1px solid #d2ddc7;border-radius:3px;font-size:16px;background:#fffef8}
.map-zoom button:disabled{opacity:.4;cursor:default}
.map-zoom span{width:43px;text-align:center;font:10px Arial,sans-serif}
.map-zoom button:last-child{font-size:10px;padding:0 8px;margin-left:4px}
.map-viewport{position:relative;overflow:auto;background:#cad9bc;max-height:500px;min-height:115px;scrollbar-width:thin;scrollbar-color:#90a57e #dfe7d4}
.map-canvas{position:relative;overflow:hidden;min-width:100%;isolation:isolate}
.map-base{width:100%;height:100%;max-width:none;object-fit:fill;image-rendering:pixelated;user-select:none;pointer-events:none}
.map-mob{position:absolute;display:flex;align-items:flex-end;justify-content:center;width:32px;height:40px;transform:translate(-50%,-100%);padding:0;z-index:2;isolation:isolate}
.map-mob img{object-fit:contain;max-width:32px;max-height:40px;min-width:10px;image-rendering:pixelated;filter:drop-shadow(0 1px 1px #123e296b);pointer-events:none}
.map-mob:before{content:'';position:absolute;bottom:-3px;width:14px;height:5px;background:#fffbd7b3;border:1px solid #37743a;border-radius:50%;z-index:-1}
.map-mob:hover,.map-mob:focus-visible{z-index:6}
.map-mob:hover img,.map-mob:focus-visible img{filter:drop-shadow(0 0 2px #fff9c0) drop-shadow(0 0 2px #fcfae2)}
.map-mob.selected:before{background:#ffda54;border-color:#895c14}
.map-mob-label{display:none;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1d4939ee;color:#fff9df;border:1px solid #b3c39c;padding:3px 6px;border-radius:3px;font-size:10px;line-height:1.5;white-space:nowrap;pointer-events:none}
.map-mob:hover .map-mob-label,.map-mob:focus-visible .map-mob-label{display:block}
.mob-dot{display:grid;place-items:center;background:#edc956;border:2px solid #fffbe5;width:23px;height:23px;border-radius:50%;color:#674b15;font:700 10px Arial,sans-serif;box-shadow:0 1px 3px #23492b44}
.map-position-status{position:sticky;left:0;bottom:0;min-width:100%;background:#eaf1e3ef;padding:7px 12px;border-top:1px solid #baccab;color:#5c784b;font-size:10px;z-index:8}
.map-selection{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:10px 14px;background:#fffdf3;border-top:1px solid #d7dfc8;font-size:11px;color:#8c987d}
.map-selection strong{color:#4e7540}
.map-monster-detail{color:#456f35;font-weight:700;white-space:nowrap;border-bottom:1px solid #b2c39f;padding-bottom:2px}
.map-legend{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;padding:12px;background:#f1f5e7;border-top:1px solid #dce5ce}
.map-legend button{border:1px solid #d0ddc0;border-radius:4px;background:#fffef8;color:#547244;min-height:47px}
.mob-legend-all{font-size:11px;padding:8px 13px}
.mob-legend-all b{display:block;font-size:11px;font-weight:400;color:#8ba078;margin-top:4px}
.mob-legend-entry{display:flex;align-items:center;gap:8px;text-align:left;padding:7px 11px;font-size:11px}
.mob-legend-entry img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}
.mob-legend-entry small{display:block;font-size:9px;color:#8ca27d;margin-top:3px}
.map-legend button[aria-pressed=true]{border-color:#83a56c;background:#dfebcf;box-shadow:inset 0 0 0 1px #b2c99b}
.map-footnote{line-height:1.8;font-size:10px}
@media(min-width:1600px){.hero-content{padding-top:34px;padding-bottom:30px}}
@media(max-width:1100px){.catalog-layout{grid-template-columns:165px minmax(0,1fr);gap:20px}.quest-row{grid-template-columns:44px 36px minmax(120px,1fr) 135px 10px;gap:10px}.quest-require{display:none}.quest-art{width:36px}.quest-art img{max-width:36px}.map-results{grid-template-columns:repeat(2,minmax(0,1fr))}.region-browser{padding:17px}.map-viewport{max-height:420px}}
@media(max-width:700px){
  .wrap{width:calc(100% - 28px)}.hero-content{padding:25px 0}.hero-content h1{font-size:24px;letter-spacing:-.7px}.hero-content p{font-size:11px;line-height:1.8;max-width:320px}.search-form{margin-top:15px}.catalog-intro h2{font-size:21px}.catalog-layout{display:block;margin-top:19px}.category-tabs a{padding:12px 3px;font-size:11px}.category-tabs small{font-size:9px}
  .filters{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:0 0 16px;margin:0 0 18px;border-right:0;border-bottom:1px solid #d9dfce}.filter-heading{grid-column:1/-1;margin:0}.filter-field{margin:0}.filter-field>label{font-size:10px;margin-bottom:4px}.filter-field select,.filter-field input{min-height:36px;font-size:11px}.filters .filter-field #category,.filters .filter-field #availability{grid-column:auto;grid-row:auto}.level-range{gap:5px}.filter-note{display:none}
  .region-browser{padding:14px 12px}.region-heading h3{font-size:14px}.region-heading p{font-size:10px;line-height:1.6;max-width:230px}.region-heading>button{font-size:10px}.region-groups{gap:3px;margin-top:12px;flex-wrap:nowrap;overflow:auto;padding-bottom:9px}.region-groups button{font-size:11px;padding:7px 9px;flex-shrink:0}.region-groups small{font-size:9px}.region-options{max-height:142px;gap:5px}.region-options button{font-size:11px;padding:5px 8px;min-height:31px;gap:8px}.region-options small{font-size:9px}.region-context{font-size:9px;margin-top:9px}
  .active-filters{gap:4px}.active-filters button{font-size:9px;padding:4px 8px}.results-toolbar{align-items:flex-start;margin-top:16px;gap:8px}.results-toolbar p{font-size:12px}.results-toolbar small{font-size:10px;max-width:250px}.results-toolbar select{font-size:10px;padding:4px;min-height:31px;max-width:102px}.entry{min-height:146px;padding:11px}.entry-name{font-size:12px}.entry-meta{font-size:10px}.entry-main{margin-top:8px}.mini-stats{font-size:8px;gap:7px;flex-wrap:wrap;margin-top:9px}.map-results .art{height:96px;flex-basis:96px;padding:6px}.map-results .entry-main{gap:9px}.map-results .entry-copy{min-height:42px}.map-results .entry-name{font-size:12px}.map-results .entry-meta{font-size:9px}
  .quest-row{grid-template-columns:38px 34px minmax(0,1fr) 9px;gap:9px;padding:12px 9px;min-height:91px}.quest-level{padding-right:7px;align-self:stretch;justify-content:center}.quest-level b{font-size:18px}.quest-level small{font-size:8px}.quest-level b.unspecified{font-size:9px}.quest-art{width:34px;height:43px}.quest-art img{max-width:34px;max-height:43px}.quest-title{font-size:12px;line-height:1.6}.quest-meta{font-size:9px}.quest-tags{font-size:8px;margin-top:4px}.quest-require{display:block;grid-column:3;grid-row:auto;font-size:9px;margin-top:-5px}.quest-require small{display:inline;font-size:8px;margin-right:6px}.quest-require span{display:inline}.quest-reward{grid-column:3;font-size:9px;line-height:1.6;margin-top:-5px}.quest-reward small{display:inline;font-size:8px;margin-right:6px}.quest-reward>span{display:inline}.quest-chevron{grid-column:4;grid-row:1;font-size:18px}.quest-group-title{font-size:11px;padding:10px}.quest-group-title:not(:first-child){margin-top:13px}
  dialog[data-type=map]{width:calc(100% - 12px);max-height:95vh}.detail-head{padding:17px 13px;gap:10px}.detail-body{padding:18px 12px}.detail-head h2{font-size:20px}.detail-description{font-size:12px}.detail-section h3{font-size:13px}.map-tools{gap:4px;padding:8px}.map-modes button,.map-mode-label{font-size:10px;padding:5px 7px}.map-zoom button{min-width:27px;min-height:28px;font-size:14px}.map-zoom span{width:34px;font-size:9px}.map-zoom button:last-child{font-size:9px;padding:0 5px}.map-viewport{max-height:365px}.map-mob{width:24px;height:30px}.map-mob img{max-width:24px;max-height:30px}.map-mob:before{width:10px;height:4px}.map-selection{font-size:10px;flex-wrap:wrap;padding:9px 10px;gap:5px}.map-position-status{font-size:9px;padding:6px 9px}.map-legend{padding:8px;gap:5px}.mob-legend-entry{font-size:10px;padding:6px 8px;gap:6px}.mob-legend-entry img{width:26px;height:28px}.mob-legend-entry small{font-size:8px}.mob-legend-all{font-size:10px;padding:6px 9px}.mob-legend-all b{font-size:9px}.map-footnote{font-size:9px}
}

.hero-content{padding:25px 0 24px}.hero-content h1{font-size:27px}.search-form{width:625px;max-width:100%;margin-top:15px}.quick-search{font-size:10px}
.item-browser{border:1px solid #d6dfc8;border-radius:7px;background:#f0f3e8;padding:20px}
.browse-heading h3{font-size:17px;color:#294f39}.browse-heading p{font-size:11px;color:#819073;margin-top:4px}
.item-categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:15px 0}
.item-categories button{border:1px solid #d5dfc8;border-radius:4px;background:#fffef8;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 6px;min-height:58px;font-size:13px;color:#537145}
.item-categories img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.item-categories small{display:block;font:10px/1.8 Arial,sans-serif;color:#96a285}
.item-categories button[aria-pressed=true]{background:#e0ebd4;border-color:#86a56c;box-shadow:inset 0 0 0 1px #adc895;font-weight:700;color:#31532a}
.weapon-browser{padding-top:4px}.weapon-browser h4,#consumable-browser h4{margin:7px 0 9px;font-size:12px;color:#6d815e}
.browse-options{display:flex;flex-wrap:wrap;gap:6px}
.browse-options button{display:flex;align-items:center;gap:7px;min-height:37px;padding:6px 9px;background:#fffef8;border:1px solid #d6dfca;border-radius:4px;font-size:11px;color:#56754a}
.browse-options img{width:23px;height:23px;object-fit:contain;image-rendering:pixelated}
.browse-options small{font:9px Arial,sans-serif;color:#98a48b}
.browse-options button[aria-pressed=true]{background:#fff0c8;border-color:#c2a25c;color:#7d5c28;font-weight:700}
.browse-options button:disabled{opacity:.45;cursor:default}
.equipment-matrix-wrap{overflow:auto;margin-top:17px;border:1px solid #d3dec5;border-radius:4px;background:#fffef8;scrollbar-width:thin;scrollbar-color:#b4c5a3 #f0f4e6}
.equipment-matrix{width:100%;border-collapse:collapse;text-align:center;font-size:10px;white-space:nowrap}
.equipment-matrix caption{text-align:left;padding:10px 12px;font-size:10px;white-space:normal;color:#889878;background:#f8faef}
.equipment-matrix th{font-weight:500;background:#e8efdc;color:#5b774c;font-size:10px;padding:9px 7px;border-top:1px solid #d7e1cb;border-right:1px solid #d7e1cb}
.equipment-matrix thead th:first-child{min-width:75px}
.equipment-matrix tbody th{position:sticky;left:0;z-index:1;padding:0;background:#eef3e4;border-bottom:1px solid #e0e6d6}
.equipment-matrix td{padding:0;border-top:1px solid #e6ebdf;border-right:1px solid #e6ebdf;min-width:42px}
.equipment-matrix td button,.equipment-matrix th button{width:100%;padding:10px 6px;font:10px Arial,'Malgun Gothic',sans-serif;min-height:34px;color:#668354}
.equipment-matrix th button{font-family:'Malgun Gothic',sans-serif;font-weight:700;color:#45633a}
.equipment-matrix td button:hover:not(:disabled),.equipment-matrix th button:hover{background:#edf4df}
.equipment-matrix button:disabled{color:#ccd4c0;cursor:default}
.equipment-matrix button[aria-pressed=true]{background:#e3ebd2;color:#315b28;font-weight:700;box-shadow:inset 0 0 0 2px #8daa70}
.browse-note{font-size:10px;color:#96a087;margin-top:9px;line-height:1.7}
.category-browser{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.category-browser button{display:flex;align-items:center;gap:12px;background:#fffef8;border:1px solid #d8e1cc;color:#657c54;font-size:13px;padding:10px 17px;border-radius:4px}
.category-browser button[aria-pressed=true]{background:var(--forest);color:#fff4d5;border-color:var(--forest)}
.category-browser small{font:10px Arial,sans-serif;opacity:.65}
.map-viewport{cursor:grab;touch-action:pan-x pan-y}.map-viewport.is-panning{cursor:grabbing;user-select:none}.map-mob{cursor:pointer}
.map-zoom #map-expand{font-size:10px;min-width:75px;padding:0 8px;margin-left:6px;background:#e8eedc;color:#587b42}
.map-explorer:fullscreen{display:flex;flex-direction:column;border:0;border-radius:0;background:#e8efdc;width:100vw;height:100dvh;padding:16px}
.map-explorer:fullscreen .map-viewport{flex:1;max-height:none;min-height:0}
.map-explorer:fullscreen .map-canvas{min-height:0}
.map-explorer:fullscreen .map-tools{padding:12px 16px}
.map-explorer:fullscreen .map-legend{max-height:145px;overflow:auto;flex-shrink:0}
.map-explorer:fullscreen .map-selection{flex-shrink:0}
.map-explorer:fullscreen .map-mob{width:38px;height:46px}.map-explorer:fullscreen .map-mob img{max-width:38px;max-height:46px}
.map-mob{transform:none;display:block}.map-mob img{width:100%;height:100%;max-width:none;max-height:none;min-width:0}.map-mob:before{left:var(--anchor-x);top:var(--anchor-y);bottom:auto;transform:translate(-50%,-50%)}
dialog.map-expanded{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
dialog.map-expanded .detail-shell{height:100%;display:flex;flex-direction:column}
dialog.map-expanded #detail-content,dialog.map-expanded .detail-body{flex:1;display:flex;flex-direction:column;min-height:0}
dialog.map-expanded .detail-body{padding:10px}
dialog.map-expanded .detail-head,dialog.map-expanded .detail-body>:not(.detail-section:has(.map-explorer)){display:none}
dialog.map-expanded .detail-section:has(.map-explorer){display:flex;flex-direction:column;flex:1;min-height:0;margin:0}
dialog.map-expanded .detail-section:has(.map-explorer)>h3{display:none}
dialog.map-expanded .map-explorer{display:flex;flex-direction:column;flex:1;min-height:0}
dialog.map-expanded .map-viewport{flex:1;max-height:none;min-height:0}
dialog.map-expanded .map-legend{max-height:145px;overflow:auto}
@media(max-width:700px){
  .hero-content{padding:21px 0}.hero-content h1{font-size:23px;max-width:335px;line-height:1.45}.hero-content p{font-size:10px}.search-form{margin-top:12px}.quick-search{margin-top:10px}.item-browser{padding:14px 11px}.browse-heading h3{font-size:14px}.browse-heading p{font-size:10px}.item-categories{gap:5px;margin:12px 0;grid-template-columns:repeat(3,minmax(0,1fr))}.item-categories button{min-height:49px;font-size:12px;padding:6px}.item-categories img{width:24px;height:24px}.item-categories small{font-size:9px}.browse-options{gap:5px}.browse-options button{font-size:10px;padding:5px 7px;gap:5px;min-height:32px}.browse-options img{width:19px;height:20px}.browse-options small{font-size:8px}.equipment-matrix-wrap{margin-top:13px}.equipment-matrix caption{font-size:9px;padding:8px}.equipment-matrix th{font-size:9px;padding:8px 5px}.equipment-matrix th:first-child{min-width:65px}.equipment-matrix td{min-width:38px}.equipment-matrix td button,.equipment-matrix th button{font-size:9px;padding:8px 4px}.browse-note{font-size:9px}.category-browser{gap:6px}.category-browser button{font-size:11px;padding:8px 12px;gap:9px}.category-browser small{font-size:9px}.map-tools{flex-wrap:wrap}.map-zoom #map-expand{min-width:67px;font-size:9px}.map-explorer:fullscreen{padding:0}.map-explorer:fullscreen .map-tools{padding:10px}.map-explorer:fullscreen .map-legend{max-height:140px}.map-explorer:fullscreen .map-mob{width:28px;height:34px}.map-explorer:fullscreen .map-mob img{max-width:28px;max-height:34px}
}
.map-explorer .map-mob img,.map-explorer:fullscreen .map-mob img{max-width:none;max-height:none;width:100%;height:100%}

/* Browse equipment by job, with readable wrapping slot buttons. */
.equipment-matrix-wrap{overflow:visible}
.equipment-matrix{table-layout:fixed;white-space:normal;font-size:13px}
.equipment-matrix caption{font-size:12px;line-height:1.7;padding:12px 14px}
.equipment-matrix tbody th{position:static;width:80px;min-width:0;vertical-align:top;padding:10px 0;background:#e8efdc}
.equipment-matrix th button{min-height:34px;padding:7px 5px;font-size:13px;line-height:1.5}
.equipment-matrix td{min-width:0;padding:10px 12px;vertical-align:top}
.equipment-slot-options{display:flex;flex-wrap:wrap;gap:7px}
.equipment-matrix .equipment-slot-options button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;width:auto;max-width:100%;min-height:34px;padding:6px 10px;border:1px solid #d5dfc8;border-radius:4px;background:#fffef8;font:12px/1.5 'Malgun Gothic','Apple SD Gothic Neo',Arial,sans-serif;color:#446039;white-space:normal;text-align:left}
.equipment-slot-options small{font:12px/1.5 Arial,sans-serif;color:#82946d}
.equipment-matrix .equipment-slot-options button:hover{background:#edf4df;border-color:#a3ba8b}
.equipment-matrix .equipment-slot-options button[aria-pressed=true]{background:#e3ebd2;border-color:#8daa70;box-shadow:inset 0 0 0 1px #8daa70;color:#315b28;font-weight:700}
.equipment-matrix .equipment-slot-options button[aria-pressed=true] small{color:#315b28}
/* The fit view contains both axes. All terrain sprites share its scale. */
.map-viewport{container-type:size;height:clamp(260px,56vh,520px);min-height:0;max-height:none}
.map-stage{display:flex;align-items:center;justify-content:center;width:max-content;min-width:100%;min-height:100%}
.map-canvas{flex:none;min-width:0;width:calc(min(100cqw,100cqh * var(--map-fit-ratio)) * var(--map-zoom));height:auto}
.map-base{display:block;width:100%;height:auto}
.map-mob{margin:0}
.map-mob.terrain-mob:before{width:6px;height:3px;border:0;background:#fff7b044}
.map-mob.selected img{filter:drop-shadow(1px 0 #d58c26) drop-shadow(-1px 0 #d58c26) drop-shadow(0 1px #fff0a8) drop-shadow(0 -1px #fff0a8)}
.map-position-status{position:static;flex-shrink:0}
.map-zoom #map-zoom-label{width:68px;white-space:nowrap}
.map-explorer:fullscreen .map-viewport,dialog.map-expanded .map-viewport{height:auto;min-height:0;max-height:none;flex:1}
@media(max-width:700px){
  .equipment-matrix caption{font-size:12px;padding:10px 9px}
  .equipment-matrix tbody th,.equipment-matrix th:first-child{width:65px;min-width:0;padding:9px 0}
  .equipment-matrix th button{font-size:12px;min-height:34px;padding:7px 4px}
  .equipment-matrix td{padding:9px 7px;min-width:0}
  .equipment-slot-options{gap:6px}
  .equipment-matrix .equipment-slot-options button{font-size:12px;min-height:34px;padding:6px 8px;gap:6px}
  .equipment-slot-options small{font-size:12px}
  .map-viewport{height:clamp(240px,47vh,365px);max-height:none}
  .map-zoom #map-zoom-label{width:59px}
}
