
:root{--bg:#f5f7fb;--surface:#fff;--surface2:#f8fafc;--line:#e3e8f0;--text:#1c2430;--muted:#687486;--accent:#d83150;--accent2:#b9203b;--blue:#2563eb;--shadow:0 10px 30px rgba(30,50,80,.08);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;line-height:1.72;min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.preview-strip{background:#fff3c8;color:#6b5310;text-align:center;font-size:12px;font-weight:700;padding:6px 12px;border-bottom:1px solid #f1df9c}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(30,50,80,.04)}.header-top{max-width:1280px;margin:auto;padding:11px 22px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-logo{width:48px;height:48px;object-fit:contain;padding:4px;border-radius:14px;border:1px solid #f0d5da;background:#fff}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy strong{font-size:20px;letter-spacing:.04em;color:#202733}.brand-copy small{color:var(--muted);font-size:12px;margin-top:4px}.header-actions{display:flex;align-items:center;gap:10px}.admin-link{padding:8px 13px;border-radius:10px;border:1px solid #e8b7c0;background:#fff7f8;color:#a71d37;font-size:13px;font-weight:700}.admin-link:hover{background:#feecef}.menu-toggle{display:none;border:1px solid var(--line);color:#222;background:#fff;border-radius:10px;padding:7px 12px;font-size:18px}.nav-shell{background:#fff;border-top:1px solid #f0f2f6}.primary-nav,.secondary-nav{max-width:1280px;margin:auto;display:flex;align-items:center;gap:4px;padding:0 22px}.primary-nav>a,.nav-dropdown>.dropdown-toggle{padding:10px 10px;font-size:13px;color:#364152;border-radius:8px;white-space:nowrap}.primary-nav>a:hover,.nav-dropdown>.dropdown-toggle:hover{background:#f8eef0;color:var(--accent2)}
.primary-nav>a[href="/"]{font-weight:800;color:#214d9a;background:#f3f7ff;border:1px solid #dce8fb}
.primary-nav>a[href="/market/"]{font-weight:800;color:#b54708;background:#fff4ec;border:1px solid #ffd8c3}
.primary-nav>a.is-current,.nav-dropdown>.dropdown-toggle.is-current{box-shadow:inset 0 -2px 0 var(--accent);font-weight:800}.nav-dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow)}.nav-dropdown:hover .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:9px 10px;border-radius:8px;font-size:13px}.dropdown-menu a:hover{background:#f6f8fb}.secondary-nav{border-top:1px solid #f4f5f7;padding-top:7px;padding-bottom:7px}.secondary-nav a{font-size:13px;padding:5px 10px;border-radius:999px;background:#f5f7fa;color:#465365}.secondary-nav a:hover{background:#eaf0fb;color:#214d9a}.nav-label{font-size:12px;color:#8b95a5;margin-right:3px}.app-shell{max-width:1200px;margin:0 auto;padding:32px 22px 64px;min-height:72vh}.hero{display:grid;grid-template-columns:1.45fr .8fr;gap:22px;margin-bottom:28px}.hero-main,.hero-stats{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.hero-main{padding:38px;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.82)),url('/assets/love-banner.jpg') center/cover no-repeat;min-height:300px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:800}.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.08;margin:10px 0 14px;color:#1e2733}.hero p{max-width:680px;color:#4f5c6c;font-size:16px}.hero-stats{display:grid;grid-template-columns:1fr 1fr}.stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:135px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:0}.stat:nth-last-child(-n+2){border-bottom:0}.stat strong{font-size:30px;color:var(--accent)}.stat span{color:var(--muted);font-size:13px}.search-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:var(--shadow);margin-bottom:20px}.search-box form{display:flex;gap:10px}.search-box input{flex:1;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font-size:15px;background:#fbfcfe;color:var(--text)}.search-box button{border:0;border-radius:11px;background:var(--accent);color:#fff;padding:0 22px;font-weight:800;cursor:pointer}.search-box button:hover{background:var(--accent2)}.category-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 25px}.pill{padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#4b5666;font-size:13px}.pill.active,.pill:hover{border-color:#e7aab6;background:#fff3f5;color:#a51e38}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:25px 0 16px}.section-title h1,.section-title h2{margin:0;color:#202936}.section-title p{margin:0;color:var(--muted)}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.article-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(30,50,80,.05);display:flex;flex-direction:column;min-width:0}.article-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(30,50,80,.1)}.card-media{height:180px;background:#f1f3f7;display:block;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-placeholder{height:100%;display:grid;place-items:center;color:#a7afba;font-size:28px;font-weight:900}.card-body{padding:17px;display:flex;flex-direction:column;flex:1}.meta,.article-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.badge{padding:3px 8px;background:#fff0f3;border:1px solid #f0c3cc;color:#a2263d;border-radius:999px}.article-card h3{font-size:18px;line-height:1.45;margin:10px 0}.article-card h3 a:hover{color:var(--accent)}.excerpt{font-size:13px;color:#657083;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card-arrow{margin-top:auto;color:#b02642;font-size:13px;font-weight:800}.article-wrap{max-width:920px;margin:auto}.breadcrumbs{font-size:13px;color:#7b8795;margin-bottom:14px}.article-header{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 32px;margin-bottom:18px;box-shadow:var(--shadow)}.article-header h1{font-size:clamp(28px,4vw,42px);line-height:1.28;margin:8px 0 14px}.article-content{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--shadow);overflow:hidden}.article-content p{margin:0 0 1.2em}.article-content h1,.article-content h2,.article-content h3,.article-content h4{line-height:1.35;margin-top:1.5em}.article-content img{display:block;margin:16px auto;border-radius:10px}.article-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;margin:14px 0}.article-content a{color:#1c63b7;text-decoration:underline;text-underline-offset:3px}.article-actions{display:flex;gap:10px;margin:18px 0}.btn{border:1px solid var(--line);background:#fff;color:#374151;border-radius:10px;padding:9px 14px;cursor:pointer}.btn:hover{background:#f8fafc}.empty-state{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;text-align:center;color:#667284}.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:30px}.footer-inner{max-width:1200px;margin:auto;padding:26px 22px;color:#7a8595;font-size:12px;display:flex;justify-content:space-between;gap:20px}.footer-inner strong{display:block;color:#293241;font-size:15px}.footer-inner span{display:block;margin-top:4px}.footer-inner p{max-width:600px;text-align:right}.search-results{margin-top:20px}
/* Admin */.admin-page{background:#f4f6fa}.admin-layout{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.admin-sidebar{background:#fff;border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.admin-brand{display:flex;align-items:center;gap:10px;padding:4px 4px 20px}.admin-brand img{width:42px;height:42px;border-radius:12px;object-fit:contain;padding:3px;background:#fff}.admin-brand strong{display:block}.admin-brand small{color:var(--muted)}.admin-nav{display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px;scrollbar-gutter:stable}.admin-nav button,.admin-nav a{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;color:#465264;font:inherit;cursor:pointer}.admin-nav button:hover,.admin-nav button.active,.admin-nav a:hover{background:#fff0f3;color:#a51e38}.admin-main{padding:26px 30px;min-width:0}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.admin-topbar h1{margin:0;font-size:28px}.admin-status{font-size:12px;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:999px;color:#627083}.admin-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(30,50,80,.04)}.admin-card strong{font-size:28px;display:block;color:#222c39}.admin-card span{font-size:13px;color:var(--muted)}.admin-panel{display:none}.admin-panel.active{display:block}.panel-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px rgba(30,50,80,.04)}.panel-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h2{margin:0;font-size:20px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar input,.toolbar select,.login-box input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 10px}.small-btn,.primary-btn,.danger-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;font-weight:700}.primary-btn{background:var(--accent);border-color:var(--accent);color:#fff}.danger-btn{color:#a42038}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.data-table th{color:#6b7787;font-size:12px;background:#fafbfc}.data-table tr:hover td{background:#fcfcfd}.status-chip{display:inline-block;padding:3px 7px;border-radius:999px;background:#edf2f7;font-size:11px}.status-published{background:#e8f7ee;color:#247445}.status-draft{background:#fff4d8;color:#8b6513}.status-hidden{background:#f5e9ec;color:#8b3144}.login-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notice{padding:10px 12px;border:1px solid #e7d8a3;background:#fff9e6;border-radius:10px;color:#745e1c;font-size:13px;margin-bottom:14px}.admin-editor{display:grid;gap:10px}.admin-editor label{font-size:12px;color:#6f7b8c}.admin-editor input,.admin-editor textarea,.admin-editor select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.admin-editor textarea{min-height:240px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.modal{display:none;position:fixed;inset:0;background:rgba(20,28,40,.34);z-index:100;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{background:#fff;border-radius:18px;padding:22px;width:min(820px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 70px rgba(30,40,60,.2)}
@media(max-width:980px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.primary-nav{flex-wrap:wrap}.admin-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header-top{padding:9px 14px}.brand-logo{width:42px;height:42px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:10px}.admin-link{display:none}.menu-toggle{display:block}.nav-shell{display:none;padding:8px 14px 14px}.nav-shell.open{display:block}.primary-nav,.secondary-nav{padding:0;display:flex;flex-direction:column;align-items:stretch;border:0;gap:7px}.primary-nav>a,.nav-dropdown>.dropdown-toggle,.secondary-nav a{display:block;padding:12px 14px;background:#fff;border:1px solid #edf0f4;border-radius:11px;font-size:16px;font-weight:700;line-height:1.35;color:#354052}.primary-nav>a[href="/"]{background:#f2f7ff;border-color:#d8e7fb;color:#174b91;font-weight:900}.primary-nav>a[href="/market/"]{background:#fff2e9;border-color:#ffd2ba;color:#c2410c;font-weight:900}.primary-nav>a.is-current,.nav-dropdown>.dropdown-toggle.is-current{border-color:#e4a5b2;box-shadow:inset 4px 0 0 var(--accent);background:#fff7f9;color:#9f1f39}.nav-dropdown{border:1px solid #edf0f4;border-radius:12px;background:#f8f9fb;overflow:hidden}.nav-dropdown>.dropdown-toggle{border:0;border-radius:0;background:#f6f7f9;font-weight:900;padding:12px 14px}.nav-dropdown:hover .dropdown-menu{display:none}.dropdown-menu{position:static;display:block!important;border:0;border-top:1px solid #edf0f4;border-radius:0;box-shadow:none;padding:5px 8px 7px 20px;background:#fbfbfc}.dropdown-menu a{padding:10px 11px;border-radius:9px;font-size:15px;font-weight:650;color:#4b5563}.dropdown-menu a:hover,.dropdown-menu a.is-current{background:#fff;color:#9f1f39}.nav-label{padding:9px 10px 2px}.app-shell{padding:22px 14px 50px}.hero-main{padding:28px 22px;min-height:280px}.article-grid{grid-template-columns:1fr}.card-media{height:205px}.article-header,.article-content{padding:22px 18px;border-radius:16px}.footer-inner{flex-direction:column}.footer-inner p{text-align:left}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);display:block;overflow:visible}.admin-nav{display:grid;grid-template-columns:repeat(2,1fr);min-height:auto;overflow:visible;padding-right:0;scrollbar-gutter:auto}.admin-main{padding:20px 14px}.admin-cards{grid-template-columns:1fr 1fr}.data-wrap{overflow:auto}.admin-topbar{align-items:flex-start;flex-direction:column}}

/* Contact + account */
.contact-intro{margin-bottom:24px;color:#526071;font-size:15px}.contact-form{display:grid;gap:18px;max-width:720px}.form-row{display:grid;gap:7px}.form-row label{font-weight:800;color:#283342}.form-row .required{color:#bb2943;font-size:12px;margin-left:5px}.form-row input,.form-row textarea{width:100%;border:1px solid #dce2ea;background:#fff;border-radius:10px;padding:11px 12px;font:inherit;color:#1c2430;outline:none}.form-row input:focus,.form-row textarea:focus{border-color:#e5a4b1;box-shadow:0 0 0 3px #fff0f3}.form-row textarea{min-height:210px;resize:vertical}.field-help{font-size:12px;color:#7a8595}.contact-submit{justify-self:start;border:0;border-radius:10px;background:var(--accent);color:#fff;padding:10px 20px;font-weight:800;cursor:pointer}.contact-submit:disabled{opacity:.55;cursor:wait}.form-result{display:none;padding:11px 13px;border-radius:10px;font-size:13px}.form-result.show{display:block}.form-result.success{background:#eaf8ef;color:#21683b;border:1px solid #c9ead5}.form-result.warn{background:#fff8e4;color:#755b12;border:1px solid #ead99d}.form-result.error{background:#fff0f2;color:#8d2137;border:1px solid #efc2cb}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.account-shell{max-width:720px;margin:0 auto}.account-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.account-card h1{margin-top:0}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.line-btn{border:0;border-radius:10px;background:#06c755;color:#fff;padding:11px 18px;font-weight:800;cursor:pointer}.account-grid{display:grid;gap:15px;margin-top:18px}.account-grid label{font-weight:700;font-size:13px}.account-grid input{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit}.complete-chip{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;background:#fff4d8;color:#7c5d17}.complete-chip.done{background:#e8f7ee;color:#247445}.privacy-note{font-size:12px;color:#7b8795;margin-top:14px}.admin-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-inline-form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.admin-inline-form input{border:1px solid var(--line);border-radius:9px;padding:9px 10px}.message-preview{max-width:440px;white-space:pre-wrap;line-height:1.5}.member-contact{font-size:12px;line-height:1.5}.role-select,.status-select{border:1px solid var(--line);border-radius:8px;padding:6px;background:#fff}.delivery-sent{color:#247445}.delivery-failed{color:#a42038}.delivery-not_configured{color:#8b6513}@media(max-width:860px){.admin-subgrid{grid-template-columns:1fr}}

/* Perfect World item database */
.item-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.item-card{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(30,50,80,.04)}.item-icon{width:72px;height:72px;flex:0 0 72px;border-radius:12px;background:#f3f5f8;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;color:#a1aab7;font-size:28px;font-weight:900}.item-icon img{width:100%;height:100%;object-fit:contain}.item-info{min-width:0;flex:1}.item-info h3{margin:7px 0 3px;font-size:19px;line-height:1.35}.item-alt{margin:0 0 8px;color:var(--muted);font-size:12px}.item-info .excerpt{margin-top:8px;-webkit-line-clamp:2}.item-facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.item-facts span{font-size:11px;background:#f5f7fa;border:1px solid #e7ebf1;border-radius:999px;padding:3px 7px;color:#566274}@media(max-width:760px){.item-results{grid-template-columns:1fr}.item-card{padding:13px;gap:12px}.item-icon{width:58px;height:58px;flex-basis:58px}}

/* Item directory v2 */
.items-page{max-width:1200px}.items-intro{margin:8px 0 20px}.items-intro h1{font-size:clamp(30px,5vw,46px);margin:5px 0}.items-intro p{margin:0;color:var(--muted)}.db-tabs{display:flex;gap:5px;overflow:auto;margin:0 0 14px;padding:5px;background:#eaf0f9;border-radius:13px}.db-tabs button{flex:1;min-width:92px;border:0;border-radius:9px;padding:10px 12px;background:transparent;font-weight:800;color:#566274}.db-tabs button.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px rgba(30,50,80,.08)}.db-tabs button:disabled{opacity:.45}.browse-panel{margin:20px 0}.category-directory{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.category-directory button{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px 9px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:22px;box-shadow:0 3px 12px rgba(30,50,80,.035)}.category-directory button:hover,.category-directory button.active{border-color:#e5a4b1;background:#fff5f7;transform:translateY(-1px)}.category-directory strong{font-size:14px;color:#293241}.category-directory span{font-size:10px;color:#8994a4}.filter-row{display:flex;gap:10px;align-items:end;margin:16px 0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px}.filter-row label{font-size:12px;font-weight:800;color:#566274}.filter-row select{display:block;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:8px 32px 8px 9px;background:#fff}.filter-row button{border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:8px 12px;cursor:pointer}@media(max-width:900px){.category-directory{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.category-directory{grid-template-columns:repeat(3,1fr)}.db-tabs button{min-width:75px}.filter-row{align-items:stretch;flex-direction:column}.filter-row select{width:100%}}


/* Item directory v3: second-level categories */
.subcategory-panel{margin-top:12px;padding:14px 15px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px rgba(30,50,80,.035)}
.subcategory-head{display:flex;align-items:baseline;gap:9px;margin-bottom:10px}.subcategory-head strong{font-size:14px;color:#293241}.subcategory-head span{font-size:11px;color:var(--muted)}
.subcategory-list{display:flex;flex-wrap:wrap;gap:7px}.subcategory-list button{border:1px solid var(--line);border-radius:999px;background:#f8fafc;color:#4d596a;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.subcategory-list button:hover,.subcategory-list button.active{border-color:#e5a4b1;background:#fff1f4;color:#a51e38}
@media(max-width:600px){.subcategory-panel{padding:12px}.subcategory-list{gap:6px}.subcategory-list button{padding:7px 10px;font-size:12px}}


/* Item directory v4: third-level categories */
.tertiary-panel{margin-top:12px;padding-top:12px;border-top:1px dashed #e6eaf0}
.tertiary-head{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}.tertiary-head strong{font-size:13px;color:#364152}.tertiary-head span{font-size:11px;color:var(--muted)}
.tertiary-list{display:flex;flex-wrap:wrap;gap:7px}.tertiary-list button{border:1px solid #dde4ee;border-radius:9px;background:#fff;color:#465365;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tertiary-list button:hover,.tertiary-list button.active{border-color:#d83150;background:#d83150;color:#fff}
@media(max-width:600px){.tertiary-head{align-items:flex-start;flex-direction:column;gap:1px}.tertiary-list button{flex:0 0 auto}}


/* Monster database v1 */
.database-panel[hidden],.monster-db-panel[hidden]{display:none!important}
.monster-level-directory{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.monster-level-directory button{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 8px;font:inherit;font-size:13px;font-weight:800;color:#465365;cursor:pointer}
.monster-level-directory button:hover,.monster-level-directory button.active{border-color:#e5a4b1;background:#fff1f4;color:#a51e38}
.monster-import-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff8e8;border:1px solid #f0dda1;color:#755b12;font-size:12px}
.monster-toolbar{display:flex;justify-content:flex-end;margin:12px 0}.monster-toolbar button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 12px;cursor:pointer}
.monster-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.monster-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(30,50,80,.04)}
.monster-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.monster-card-head>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.monster-level-badge{font-size:11px;font-weight:800;color:#174b91;background:#edf5ff;border:1px solid #d4e6fb;border-radius:999px;padding:3px 8px}
.monster-aggro,.monster-passive{font-size:11px;font-weight:800;border-radius:999px;padding:3px 8px}.monster-aggro{background:#fff0f2;color:#a42038}.monster-passive{background:#eaf8ef;color:#247445}
.monster-card h3{font-size:19px;margin:10px 0 2px}.monster-alt{margin:0 0 10px;color:var(--muted);font-size:12px}
.monster-facts{display:flex;gap:7px;flex-wrap:wrap}.monster-facts span{font-size:11px;background:#f7f9fc;border:1px solid #e7ebf1;border-radius:999px;padding:4px 8px;color:#566274}.monster-facts b{color:#364152}
@media(max-width:900px){.monster-level-directory{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.monster-results{grid-template-columns:1fr}}
@media(max-width:600px){.monster-level-directory{grid-template-columns:repeat(3,1fr)}}


/* Monster database v2: detail pages */
.monster-card-link{display:block;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.monster-card-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,50,80,.09)}.monster-open{margin-top:12px;color:#a51e38;font-size:12px;font-weight:800}
.monster-detail-shell{max-width:1100px}.monster-detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:16px}.monster-detail-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.1;margin:6px 0}.monster-detail-alt{margin:0 0 10px;color:var(--muted)}.monster-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.monster-detail-badges span{font-size:12px;border-radius:999px;padding:5px 9px;background:#f4f7fb;border:1px solid #e5eaf1;font-weight:800}.monster-detail-badges .danger{background:#fff0f2;color:#a42038;border-color:#f2c5cf}.monster-detail-badges .safe{background:#eaf8ef;color:#247445;border-color:#ccebd6}.monster-back-btn{white-space:nowrap;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff;font-weight:800;font-size:13px}.monster-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.monster-detail-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 5px 18px rgba(30,50,80,.04);margin-bottom:14px}.monster-detail-card h2{margin:0 0 13px;font-size:18px}.monster-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.monster-stat-list div{background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:9px 10px}.monster-stat-list dt{font-size:11px;color:var(--muted);font-weight:700}.monster-stat-list dd{margin:2px 0 0;font-weight:800;color:#2d3746}.monster-inline-stats{display:flex;flex-wrap:wrap;gap:8px}.monster-inline-stats span{background:#f8fafc;border:1px solid #e7ebf1;border-radius:999px;padding:6px 9px;font-size:12px;color:#566274}.monster-inline-stats b{color:#293241}.monster-map-group+ .monster-map-group{margin-top:15px}.monster-map-group h4{margin:0 0 8px;font-size:14px}.coordinate-list{display:flex;flex-wrap:wrap;gap:7px}.coordinate-list span{font-size:11px;background:#edf5ff;border:1px solid #dbe9fa;color:#315477;border-radius:8px;padding:5px 7px}.monster-detail-note{font-size:12px;color:var(--muted);margin:8px 0 0}.monster-quest-raw{background:#f8fafc;border:1px solid #e7ebf1;border-radius:11px;padding:12px;white-space:normal;line-height:1.8;font-size:13px;color:#465365}.monster-detail-empty{color:var(--muted);font-size:13px;padding:8px 0}.monster-table-wrap{overflow:auto;max-height:520px;border:1px solid #e7ebf1;border-radius:11px}.monster-detail-table{width:100%;border-collapse:collapse;font-size:12px}.monster-detail-table th,.monster-detail-table td{padding:9px 10px;border-bottom:1px solid #edf0f4;text-align:left;white-space:nowrap}.monster-detail-table th{position:sticky;top:0;background:#f8fafc;color:#667284;z-index:1}.monster-detail-table a{color:#1c63b7}.monster-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.monster-detail-section-head span{font-size:11px;color:var(--muted)}.monster-detail-sources{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}.monster-detail-sources a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 9px;color:#465365}
@media(max-width:760px){.monster-detail-hero{align-items:flex-start;flex-direction:column}.monster-detail-grid{grid-template-columns:1fr}.monster-stat-list{grid-template-columns:1fr 1fr}.monster-back-btn{width:100%;text-align:center}}
@media(max-width:480px){.monster-stat-list{grid-template-columns:1fr}}


/* NPC database v1 */
.npc-db-panel[hidden]{display:none!important}.npc-service-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.npc-service-directory button{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 8px;font:inherit;font-size:13px;font-weight:800;color:#465365;cursor:pointer}.npc-service-directory button:hover,.npc-service-directory button.active{border-color:#e5a4b1;background:#fff1f4;color:#a51e38}.npc-import-note{margin-top:10px;padding:9px 11px;border-radius:10px;background:#fff8e8;border:1px solid #f0dda1;color:#755b12;font-size:12px}.npc-toolbar{display:flex;justify-content:flex-end;margin:12px 0}.npc-toolbar button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 12px;cursor:pointer}.npc-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.npc-card{display:block;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(30,50,80,.04);transition:transform .15s ease,box-shadow .15s ease}.npc-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,50,80,.09)}.npc-card-head{display:flex;gap:7px;align-items:center}.npc-source{font-size:10px;font-weight:800;color:#315477;background:#edf5ff;border:1px solid #dbe9fa;border-radius:999px;padding:3px 7px}.npc-card h3{font-size:19px;margin:10px 0 2px}.npc-alt{margin:0 0 8px;color:var(--muted);font-size:12px}.npc-location{margin:8px 0;font-size:12px;color:#566274}.npc-service-badges{display:flex;gap:6px;flex-wrap:wrap}.npc-service-badges span{font-size:10px;font-weight:800;background:#eef8f2;border:1px solid #d9eddf;color:#30754a;border-radius:999px;padding:4px 7px}.npc-open{margin-top:12px;color:#a51e38;font-size:12px;font-weight:800}
.npc-detail-shell{max-width:1100px}.npc-detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-bottom:14px}.npc-detail-hero h1{font-size:clamp(30px,5vw,46px);line-height:1.1;margin:6px 0}.npc-detail-alt{margin:0 0 10px;color:var(--muted)}.npc-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.npc-detail-badges span{font-size:12px;border-radius:999px;padding:5px 9px;background:#f4f7fb;border:1px solid #e5eaf1;font-weight:800}.npc-dialogue{background:#fffaf2;border:1px solid #f1dfbe;border-radius:15px;padding:15px 17px;margin-bottom:14px}.npc-dialogue strong{font-size:12px;color:#8a6725}.npc-dialogue p{margin:6px 0 0;line-height:1.8;color:#4e5968}.npc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.npc-detail-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 5px 18px rgba(30,50,80,.04);margin-bottom:14px}.npc-detail-card h2{margin:0 0 13px;font-size:18px}.npc-detail-empty{color:var(--muted);font-size:13px;padding:8px 0}.npc-service-grid{display:flex;flex-wrap:wrap;gap:8px}.npc-service-grid span{background:#eef8f2;border:1px solid #d8ebdf;color:#277246;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.npc-location-list{display:grid;gap:8px}.npc-location-list div{display:flex;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:9px 10px}.npc-location-list strong{font-size:12px}.npc-location-list span{font-size:12px;color:#566274}.npc-quest-list{display:flex;flex-wrap:wrap;gap:7px;max-height:260px;overflow:auto}.npc-quest-list span{font-size:11px;background:#f7f9fc;border:1px solid #e7ebf1;border-radius:8px;padding:5px 7px;color:#566274}
@media(max-width:900px){.npc-service-directory{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.npc-results,.npc-detail-grid{grid-template-columns:1fr}.npc-detail-hero{align-items:flex-start;flex-direction:column}.npc-location-list div{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.npc-service-directory{grid-template-columns:repeat(2,1fr)}}


/* Monster detail v3: coordinate usability */
.coordinate-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px;padding:9px 11px;background:#f8fafc;border:1px solid #edf0f4;border-radius:10px}.coordinate-summary strong{font-size:12px}.coordinate-summary span{font-size:11px;color:var(--muted)}.monster-map-group h4 small{margin-left:6px;color:var(--muted);font-size:10px;font-weight:700}.coordinate-list .coord-copy{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe9fa;background:#edf5ff;color:#315477;border-radius:8px;padding:6px 8px;font:inherit;font-size:11px;cursor:pointer}.coordinate-list .coord-copy:hover{border-color:#9fc1e9;background:#e5f1ff}.coordinate-list .coord-copy em{font-style:normal;font-size:9px;color:#6b8198}
@media(max-width:760px){.coordinate-summary{align-items:flex-start;flex-direction:column;gap:2px}.coordinate-list .coord-copy{padding:7px 9px}}

.monster-quest-table-wrap{max-height:360px}


/* Monster browse v2: attribute filters */
.monster-filter-row{display:flex;gap:10px;align-items:flex-end;margin:12px 0 16px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px}.monster-filter-row label{font-size:12px;font-weight:800;color:#566274}.monster-filter-row select{display:block;min-width:130px;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:8px 30px 8px 9px;background:#fff}.monster-filter-row button{margin-left:auto;border:1px solid var(--line);border-radius:9px;background:#f8fafc;padding:8px 12px;cursor:pointer}
@media(max-width:600px){.monster-filter-row{align-items:stretch;flex-direction:column}.monster-filter-row select{width:100%}.monster-filter-row button{margin-left:0}}


/* Monster detail v4: quick navigation */
.monster-detail-actions{display:flex;gap:8px;align-items:center}.monster-detail-actions button{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#f8fafc;color:#465365;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.monster-detail-actions button:hover{background:#fff1f4;border-color:#e5a4b1;color:#a51e38}
.monster-detail-nav{position:sticky;top:6px;z-index:8;display:flex;gap:6px;overflow:auto;margin:0 0 14px;padding:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 18px rgba(30,50,80,.055);backdrop-filter:blur(10px)}.monster-detail-nav a{white-space:nowrap;padding:7px 10px;border-radius:9px;color:#4a5667;font-size:12px;font-weight:800}.monster-detail-nav a:hover{background:#fff1f4;color:#a51e38}.monster-anchor-section,#monsterOverview{scroll-margin-top:72px}
@media(max-width:760px){.monster-detail-actions{width:100%}.monster-detail-actions>*{flex:1;text-align:center}.monster-detail-nav{margin-left:-2px;margin-right:-2px}}


/* Monster detail v5: drop item enrichment */
.monster-drop-item{display:inline-flex;align-items:center;gap:8px;color:#1c63b7}.monster-drop-item img{width:30px;height:30px;object-fit:contain;border-radius:6px;background:#f5f7fa;border:1px solid #e5eaf0}.monster-drop-item span{display:flex;flex-direction:column;line-height:1.25}.monster-drop-item small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:600}


/* Items database completion v1 */
.item-card-link{color:inherit;transition:transform .15s ease,box-shadow .15s ease}.item-card-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,50,80,.09)}.item-open{margin-top:9px;color:#a51e38;font-size:11px;font-weight:800}.item-filter-row label+label{margin-left:4px}.item-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0 4px}.item-pager button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.item-pager button:disabled{opacity:.4;cursor:default}.item-pager span{font-size:12px;color:var(--muted);font-weight:700}
.item-detail-shell{max-width:1100px}.item-detail-hero{display:grid;grid-template-columns:92px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow);margin-bottom:14px}.item-detail-icon{width:92px;height:92px;border-radius:15px;background:#f6f8fb;border:1px solid #e5eaf0;display:grid;place-items:center;font-size:30px}.item-detail-icon img{width:78px;height:78px;object-fit:contain}.item-detail-title h1{font-size:clamp(28px,5vw,44px);line-height:1.08;margin:5px 0}.item-detail-title p{margin:0 0 9px;color:var(--muted)}.item-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.item-detail-badges span{font-size:11px;font-weight:800;background:#f4f7fb;border:1px solid #e5eaf1;border-radius:999px;padding:5px 8px}.item-detail-actions{display:flex;gap:7px;flex-direction:column;min-width:120px}.item-detail-actions button,.item-detail-actions a{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;font:inherit;font-size:12px;font-weight:800;text-align:center;cursor:pointer;color:#465365}.item-detail-actions button:hover,.item-detail-actions a:hover{background:#fff1f4;border-color:#e5a4b1;color:#a51e38}
.item-detail-nav{position:sticky;top:6px;z-index:8;display:flex;gap:6px;overflow:auto;margin:0 0 14px;padding:8px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:13px;box-shadow:0 5px 18px rgba(30,50,80,.055);backdrop-filter:blur(10px)}.item-detail-nav a{white-space:nowrap;padding:7px 10px;border-radius:9px;color:#4a5667;font-size:12px;font-weight:800}.item-detail-nav a:hover{background:#fff1f4;color:#a51e38}.item-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.item-detail-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 5px 18px rgba(30,50,80,.04);margin-bottom:14px}.item-detail-card h2{margin:0 0 13px;font-size:18px}.item-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.item-stat-list div{background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:9px 10px}.item-stat-list dt{font-size:11px;color:var(--muted);font-weight:700}.item-stat-list dd{margin:2px 0 0;font-weight:800;color:#2d3746;overflow-wrap:anywhere}.item-anchor,#itemOverview{scroll-margin-top:72px}.item-description{white-space:pre-line;line-height:1.8;color:#465365;margin:0}.item-detail-empty{color:var(--muted);font-size:13px;padding:8px 0}.item-subhead{font-size:13px;margin:15px 0 8px}.item-chip-list,.item-relation-chips{display:flex;flex-wrap:wrap;gap:7px}.item-chip-list span,.item-relation-chips a{font-size:11px;background:#f7f9fc;border:1px solid #e7ebf1;border-radius:999px;padding:5px 8px;color:#566274}.item-relation-chips a{display:flex;flex-direction:column;border-radius:9px}.item-relation-chips small{font-size:9px;color:var(--muted)}.item-addon-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.item-addon-list div{background:#f8fafc;border:1px solid #edf0f4;border-radius:9px;padding:9px 10px;font-size:12px;line-height:1.5;color:#465365}.item-quest-wrap{max-height:440px}.item-quest-id{color:var(--muted);font-size:9px}.item-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item-source-grid article{display:flex;flex-direction:column;gap:6px;background:#f8fafc;border:1px solid #edf0f4;border-radius:11px;padding:12px}.item-source-grid strong{font-size:13px}.item-source-grid span{font-size:11px;color:#566274;overflow-wrap:anywhere}.item-source-grid a{font-size:11px;color:#1c63b7;font-weight:800}
@media(max-width:760px){.item-detail-hero{grid-template-columns:72px 1fr}.item-detail-icon{width:72px;height:72px}.item-detail-icon img{width:62px;height:62px}.item-detail-actions{grid-column:1/-1;flex-direction:row}.item-detail-actions>*{flex:1}.item-detail-grid,.item-source-grid{grid-template-columns:1fr}.item-addon-list{grid-template-columns:1fr}.item-filter-row{align-items:stretch;flex-direction:column}.item-filter-row label+label{margin-left:0}.item-filter-row select{width:100%}}
@media(max-width:480px){.item-detail-hero{grid-template-columns:1fr}.item-detail-icon{width:82px;height:82px}.item-stat-list{grid-template-columns:1fr}.item-detail-actions{flex-direction:column}}


/* Items database completion v2 */
.item-pager{flex-wrap:wrap}.item-page-jump{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);font-weight:700}.item-page-jump input{width:68px;border:1px solid var(--line);border-radius:8px;padding:7px 6px;background:#fff;text-align:center}
@media(max-width:600px){.item-pager{gap:7px}.item-pager button{padding:8px 9px}.item-page-jump{order:3;width:100%;justify-content:center}}


/* Item detail v3: NPC relations */
.item-npc-sections{margin:0}.item-npc-sections>div{min-width:0}.item-npc-grid{display:grid;gap:7px}.item-npc-grid a{display:flex;flex-direction:column;gap:3px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:10px;padding:9px 10px;color:#465365}.item-npc-grid a:hover{border-color:#e5a4b1;background:#fff8fa}.item-npc-grid strong{font-size:12px}.item-npc-grid span{font-size:11px;color:#667284}.item-npc-grid small{font-size:10px;color:#7a8595}


/* Item detail v4: equipment stats and monster drop sources */
.item-equipment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.item-equipment-grid div{display:flex;flex-direction:column;gap:2px;background:#f8fafc;border:1px solid #edf0f4;border-radius:10px;padding:9px 10px}.item-equipment-grid span{font-size:10px;color:var(--muted);font-weight:700}.item-equipment-grid strong{font-size:13px;color:#2d3746}.item-socket-list,.item-refine-list,.item-extra-info{display:flex;flex-wrap:wrap;gap:7px}.item-socket-list span,.item-refine-list span,.item-extra-info span{font-size:11px;background:#f7f9fc;border:1px solid #e7ebf1;border-radius:8px;padding:6px 8px;color:#566274}.item-socket-list b,.item-refine-list b{color:#293241}.item-drop-source-wrap{max-height:520px}
@media(max-width:760px){.item-equipment-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:460px){.item-equipment-grid{grid-template-columns:1fr}}

/* Item detail v5: related items and smarter return */
.item-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.item-related-grid a{display:flex;align-items:center;gap:9px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:11px;padding:9px;color:#465365}.item-related-grid a:hover{border-color:#e5a4b1;background:#fff8fa}.item-related-grid img,.item-related-placeholder{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e7ebf1;display:grid;place-items:center}.item-related-grid div{min-width:0;display:flex;flex-direction:column;gap:3px}.item-related-grid strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-related-grid small{font-size:10px;color:var(--muted)}
@media(max-width:760px){.item-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.item-related-grid{grid-template-columns:1fr}}

/* Item detail v6: recipe and raw vendor fallback */
.item-craft-raw{margin-top:14px}.item-craft-raw article{background:#f8fafc;border:1px solid #e7ebf1;border-radius:10px;padding:10px;margin-top:7px}.item-craft-raw article strong{font-size:11px}.item-craft-raw article p{margin:5px 0;font-size:11px;line-height:1.65;color:#566274}.item-craft-raw article div{display:flex;gap:6px;flex-wrap:wrap}.item-craft-raw article span{font-size:10px;background:#fff;border:1px solid #e5eaf0;border-radius:999px;padding:4px 7px;color:#596576}.item-sold-fallback{margin-top:12px;border-top:1px dashed #dfe5ec;padding-top:10px}.item-sold-fallback summary{cursor:pointer;font-size:11px;font-weight:800;color:#596576}.item-sold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.item-sold-grid div{display:flex;flex-direction:column;gap:2px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:8px;padding:7px}.item-sold-grid strong{font-size:10px}.item-sold-grid span{font-size:9px;color:var(--muted)}
@media(max-width:520px){.item-sold-grid{grid-template-columns:1fr}}

/* Items database v3: complete category map */
.category-directory button{position:relative}.category-directory .category-count{position:absolute;top:7px;right:8px;min-width:28px;border-radius:999px;background:#f3f6fa;border:1px solid #e6ebf1;padding:2px 5px;font-size:9px;font-weight:800;color:#7a8595;line-height:1.2}.category-directory button.active .category-count{background:#fff;border-color:#f0c5cf;color:#a51e38}

/* Item detail v7: mall, craft usage and extra sources */
.item-mall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.item-mall-grid div{display:flex;flex-direction:column;gap:3px;background:#fff9ef;border:1px solid #f1e3c7;border-radius:10px;padding:10px}.item-mall-grid span{font-size:10px;color:#8a6a2b;font-weight:700}.item-mall-grid strong{font-size:12px;color:#55431d;overflow-wrap:anywhere}.item-craft-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.item-craft-use-grid>a,.item-craft-use-grid>div{display:flex;flex-direction:column;gap:3px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:10px;padding:9px;color:#465365}.item-craft-use-grid>a:hover{border-color:#e5a4b1;background:#fff8fa}.item-craft-use-grid strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-craft-use-grid span{font-size:10px;color:#667284}.item-craft-use-grid small{font-size:9px;color:#8791a0}.item-detail-note{font-size:11px;color:var(--muted);margin:9px 0 0}
@media(max-width:760px){.item-mall-grid{grid-template-columns:repeat(2,1fr)}.item-craft-use-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.item-mall-grid,.item-craft-use-grid{grid-template-columns:1fr}}

/* Items database v4: subcategory counts */
.subcategory-list button{display:inline-flex;align-items:center;gap:6px}.subcategory-list button small{font-size:9px;font-weight:800;color:#7a8595;background:#f3f6fa;border:1px solid #e5eaf0;border-radius:999px;padding:2px 5px}.subcategory-list button.active small{background:#fff;border-color:#f0c5cf;color:#a51e38}


/* NPC detail v2: item names and icons */
.npc-sell-item{display:inline-flex;align-items:center;gap:8px;color:#1c63b7}.npc-sell-item img{width:30px;height:30px;object-fit:contain;border-radius:6px;background:#f7f9fc;border:1px solid #e5eaf0}.npc-sell-item>span{display:flex;flex-direction:column;gap:2px}.npc-sell-item small{font-size:9px;color:var(--muted);font-weight:600}

/* Reference databases v1 */
.reference-db-panel[hidden]{display:none!important}.reference-chip-directory{display:flex;flex-wrap:wrap;gap:8px}.reference-chip-directory button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 13px;font:inherit;font-size:12px;font-weight:800;color:#465365;cursor:pointer}.reference-chip-directory button:hover,.reference-chip-directory button.active{border-color:#e5a4b1;background:#fff1f4;color:#a51e38}.reference-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference-card{display:block;width:100%;text-align:left;color:inherit;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(30,50,80,.04)}.reference-card-link,.reference-card-button{transition:transform .15s ease,box-shadow .15s ease}.reference-card-button{font:inherit;cursor:pointer}.reference-card-link:hover,.reference-card-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,50,80,.09)}.reference-card-head{display:flex;gap:7px;align-items:center;justify-content:space-between}.reference-kind{font-size:10px;font-weight:800;color:#315477;background:#edf5ff;border:1px solid #dbe9fa;border-radius:999px;padding:3px 7px}.reference-card h3{font-size:19px;margin:10px 0 2px}.reference-alt{margin:0 0 8px;color:var(--muted);font-size:12px}.reference-facts{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.reference-facts span{font-size:11px;background:#f7f9fc;border:1px solid #e7ebf1;border-radius:999px;padding:4px 8px;color:#566274}.reference-facts .reference-warn{background:#fff6e7;border-color:#f2ddb0;color:#85651e}.reference-inline-link,.reference-source,.reference-open{color:#a51e38;font-weight:800}.reference-source{display:inline-block;margin-top:12px;font-size:12px}.reference-open{margin-top:12px;font-size:12px}.drop-source-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.drop-source-list a{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 12px;color:inherit}.drop-source-list strong{font-size:13px}.drop-source-list span{font-size:11px;color:var(--muted);text-align:right}.title-ref-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.title-ref-list a{font-size:11px;border:1px solid #e2e7ef;background:#f8fafc;border-radius:999px;padding:5px 8px;color:#536276}.quest-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quest-item-grid{display:grid;gap:10px}.quest-item-grid .item-card{padding:11px}.quest-item-grid .item-icon{width:48px;height:48px;flex-basis:48px}.quest-item-grid .item-info h3{font-size:15px;margin-top:3px}.item-open{margin-top:8px;color:#a51e38;font-size:11px;font-weight:800}
@media(max-width:760px){.reference-results,.drop-source-list,.quest-detail-grid{grid-template-columns:1fr}}

/* Resource detail v1 */
.reference-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.reference-card-actions .reference-open,.reference-card-actions .reference-source{margin-top:0}.resource-detail-warning{margin:0 0 14px;padding:11px 13px;border-radius:11px;background:#fff8e8;border:1px solid #f0dda1;color:#755b12;font-size:12px}.resource-probability-list{display:flex;flex-wrap:wrap;gap:9px}.resource-probability-list span{background:#f8fafc;border:1px solid #e7ebf1;border-radius:10px;padding:10px 12px;font-size:13px}.resource-probability-list b{color:#a51e38}.resource-output-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.resource-output-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #e7ebf1;border-radius:11px;padding:11px 12px;color:inherit}.resource-output-list strong{font-size:14px}.resource-output-list span{font-size:11px;color:var(--muted);text-align:right}.resource-coordinate-group{border-top:1px solid #edf0f4;padding-top:11px;margin-top:11px}.resource-coordinate-group:first-of-type{border-top:0;padding-top:0;margin-top:0}.resource-coordinate-group summary{cursor:pointer;font-weight:800;font-size:14px}.resource-coordinate-list{max-height:360px;overflow:auto;padding-top:8px}.resource-coordinate-list button{font:inherit;font-size:11px;background:#edf5ff;border:1px solid #dbe9fa;color:#315477;border-radius:8px;padding:5px 7px;cursor:pointer}.resource-coordinate-list button:hover{background:#dfefff}.resource-output-list+.monster-detail-note{margin-top:8px}
@media(max-width:760px){.resource-output-list{grid-template-columns:1fr}.reference-card-actions{align-items:flex-start;flex-direction:column}}
