/* ================================================================
   The Wolf Project — MyAAC template "wolf"
   Moonlit-night theme: amber wolf-eye accent on deep blue-black.
   ================================================================ */
:root{
  --ground:#0b0d12; --ground-2:#0f131b; --surface:#151a24; --surface-2:#1b2130;
  --line:#262d3c; --line-strong:#37415a; --text:#cbd2e0; --text-dim:#8a93a6; --text-faint:#5e6678;
  --amber:#d9a441; --amber-2:#e2b155; --amber-soft:rgba(217,164,65,0.15); --moon:#7fa2cc;
  --good:#58b368; --danger:#d1616b; --warn:#d9a441;
  --maxw:1140px; --radius:14px;
  --display:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;
  --body:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:ui-monospace,'SF Mono','Cascadia Code',Menlo,monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{margin:0;background:var(--ground);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;vertical-align:middle;}
a{color:var(--moon);text-decoration:none;}
a:hover{color:var(--amber);}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px;}
.wwrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;}

/* ===================== TOP BAR ===================== */
.wtop{position:sticky;top:0;z-index:60;background:rgba(11,13,18,0.9);backdrop-filter:blur(9px);border-bottom:1px solid var(--line);}
.wtop-inner{display:flex;align-items:center;gap:20px;height:58px;}
.wbrand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.03em;color:var(--text);white-space:nowrap;}
.wbrand:hover{color:var(--text);}
.wbrand-ico{width:26px;height:26px;color:var(--text);flex:none;}
.wnav{display:flex;gap:2px;margin-left:6px;}
.wnav-item{position:relative;}
.wnav-cat{display:block;padding:8px 13px;font-size:14px;color:var(--text-dim);cursor:pointer;border-radius:8px;letter-spacing:.01em;white-space:nowrap;}
.wnav-item:hover .wnav-cat,.wnav-item:focus-within .wnav-cat{color:var(--text);background:var(--surface);}
.wnav-drop{position:absolute;top:100%;left:0;min-width:196px;background:var(--surface);border:1px solid var(--line-strong);border-radius:11px;padding:7px;box-shadow:0 22px 46px -18px #000d;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:70;}
.wnav-item:hover .wnav-drop,.wnav-item:focus-within .wnav-drop{opacity:1;visibility:visible;transform:translateY(0);}
.wnav-drop a{display:block;padding:8px 12px;font-size:13.5px;color:var(--text-dim);border-radius:7px;}
.wnav-drop a:hover{background:var(--amber-soft);color:var(--amber);}
.wstatus{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--text-dim);border:1px solid var(--line);padding:6px 12px;border-radius:999px;white-space:nowrap;}
.wdot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);flex:none;}
.wdot.off{background:var(--danger);box-shadow:none;}
@media (prefers-reduced-motion:no-preference){ .wdot:not(.off){animation:wpulse 2.4s ease-out infinite;} @keyframes wpulse{0%{box-shadow:0 0 0 0 rgba(88,179,104,.5);}70%{box-shadow:0 0 0 7px transparent;}100%{box-shadow:0 0 0 0 transparent;}} }

/* burger (mobile) */
.wburger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;padding:10px 8px;margin-left:auto;cursor:pointer;border-radius:9px;border:1px solid var(--line);}
.wburger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.wmenu-toggle:checked ~ .wburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.wmenu-toggle:checked ~ .wburger span:nth-child(2){opacity:0;}
.wmenu-toggle:checked ~ .wburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:900px){
  .wburger{display:flex;}
  .wstatus{order:-1;margin-left:auto;}
  .wnav{position:fixed;inset:58px 0 auto 0;flex-direction:column;gap:0;margin:0;background:var(--ground-2);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .28s ease;box-shadow:0 22px 40px -20px #000c;}
  .wmenu-toggle:checked ~ .wnav{max-height:80vh;overflow:auto;}
  .wnav-item{border-top:1px solid var(--line);}
  .wnav-cat{padding:14px 22px;font-size:15px;color:var(--text);font-family:var(--display);}
  .wnav-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 8px;min-width:0;background:transparent;}
  .wnav-drop a{padding:9px 34px;}
}

/* ===================== HERO ===================== */
.whero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--ground-2);}
#wfog{position:absolute;inset:0;width:100%;height:100%;display:block;}
.whero-inner{position:relative;z-index:2;text-align:center;padding:60px 22px 62px;max-width:780px;margin:0 auto;}
.whero-emblem{width:82px;height:82px;color:var(--text);filter:drop-shadow(0 6px 18px #0009);margin-bottom:14px;}
.wwordmark{margin:0;font-size:clamp(32px,6vw,56px);letter-spacing:.06em;text-transform:uppercase;text-wrap:balance;text-shadow:0 2px 26px rgba(217,164,65,0.2);}
.wtagline{color:var(--text-dim);font-size:clamp(14px,2vw,18px);margin:12px auto 0;max-width:48ch;}
.whero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.wmeta{font-family:var(--mono);font-size:12px;letter-spacing:.09em;color:var(--text-faint);margin-top:20px;}
@media (prefers-reduced-motion:no-preference){ .whero-emblem{animation:wrise .9s cubic-bezier(.2,.7,.2,1) both;} @keyframes wrise{from{opacity:0;transform:translateY(12px) scale(.96);}to{opacity:1;transform:none;}} }

.wbtn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:15px;font-weight:600;padding:12px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease;}
.wbtn-primary{background:linear-gradient(180deg,var(--amber-2),var(--amber));color:#1a1206;box-shadow:0 10px 26px -12px rgba(217,164,65,.6);}
.wbtn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(217,164,65,.7);color:#1a1206;}
.wbtn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong);}
.wbtn-ghost:hover{border-color:var(--amber);color:var(--amber);background:var(--amber-soft);}

/* stats strip (front page) — full-bleed edge to edge */
.wstats{background:var(--ground-2);border-bottom:1px solid var(--line);}
.wstats .wwrap{max-width:100%;padding:0;}
.wstats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);}
.wstat{background:var(--ground-2);padding:20px 12px;text-align:center;}
.wstat-num{font-family:var(--display);font-size:26px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;}
.wstat-num.on{color:var(--good);} .wstat-num.offv{color:var(--danger);}
.wstat-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);margin-top:5px;}
@media (max-width:760px){ .wstats-grid{grid-template-columns:repeat(3,1fr);} .wstat:nth-child(4),.wstat:nth-child(5){display:none;} }

/* sub-header (inner pages) */
.wsubhead{background:var(--ground-2);border-bottom:1px solid var(--line);}
.wsubhead-inner{display:flex;align-items:center;gap:14px;padding:26px 22px;}
.wsubhead-ico{width:36px;height:36px;color:var(--amber);opacity:.85;flex:none;}
.wsubhead-title{margin:0;font-size:clamp(22px,3.4vw,30px);letter-spacing:.02em;color:var(--text);}

/* ===================== MAIN / PANEL ===================== */
.wmain{padding:32px 22px 56px;}
.wcrumb{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--text-faint);margin-bottom:14px;}
.wcrumb a{color:var(--text-dim);}
.wcrumb span{margin:0 6px;color:var(--line-strong);}
.wpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;box-shadow:0 18px 40px -24px #000c;overflow-wrap:break-word;}
@media (max-width:600px){ .wpanel{padding:20px 15px;} }

/* ===================== GENERIC MyAAC CONTENT ===================== */
.wpanel h1,.wpanel h2,.wpanel h3,.wpanel h4{color:var(--text);letter-spacing:.02em;margin:0 0 .55em;line-height:1.25;}
.wpanel h1{font-size:26px;} .wpanel h2{font-size:22px;} .wpanel h3{font-size:19px;}
.wpanel p{margin:0 0 1em;}
.wpanel hr{border:0;border-top:1px solid var(--line);margin:18px 0;}
.wpanel small,.size_xs{font-size:12.5px;color:var(--text-dim);}
.white,.wpanel .white{color:var(--text)!important;}
.wpanel ul,.wpanel ol{padding-left:20px;} .wpanel li{margin:4px 0;}
.wpanel img[src*="nok.gif"],.wpanel img[src*="ok.gif"]{width:14px;height:14px;}

/* --- tables: modern myaac-table zebra comes from injected style (config.ini dark) --- */
.wpanel table{border-collapse:collapse;max-width:100%;}
.myaac-table{width:100%;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:14px;}
.myaac-table > tbody > tr > td{border-top:1px solid var(--line);color:var(--text);}
.myaac-table > thead > tr > td,.myaac-table > thead > tr > th{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-align:left;}
.myaac-table a{color:var(--moon);} .myaac-table a:hover{color:var(--amber);}
.sortarrow{filter:brightness(1.8) saturate(0.4);}

/* --- classic Tibia TableShadow/TableContent system → flat dark card --- */
.TableShadowContainer,.TableShadowContainerRightTop,.TableShadowRightTop,
.TableBottomShadow,.TableBottomLeftShadow,.TableBottomRightShadow,
.TableShadowContainerLeftTop,.TableShadowLeftTop,.TableTopShadow{
  background-image:none!important;background:transparent!important;height:auto!important;
}
.TableContentAndRightShadow{background-image:none!important;background:transparent!important;}
.TableContentContainer{background:transparent!important;}
.TableContent{border:1px solid var(--line)!important;border-radius:11px;background:var(--ground-2)!important;overflow:hidden;}
.CaptionContainer,.CaptionInnerContainer{background-image:none!important;background:transparent!important;}
.Text{font-family:var(--display)!important;font-size:19px!important;font-weight:600;letter-spacing:.02em;color:var(--text)!important;padding:4px 0 12px;display:block;}
/* neutralize any hardcoded light bgcolor cells */
.wpanel td[bgcolor],.wpanel tr[bgcolor]{background-color:var(--surface-2)!important;color:var(--text)!important;}

/* ===================== FORMS ===================== */
.LabelV,.LabelV150{color:var(--text-dim);font-size:13.5px;vertical-align:middle;}
.LabelV150{width:150px;}
.LabelV span,.LabelV150 span{color:var(--text-dim);}
.OptionContainer{background:var(--ground-2);border:1px solid var(--line);border-radius:9px;margin:4px 0;}
.OptionObjectContainer,.OptionsButtonContainer{color:var(--text);}
.FormFieldError{color:var(--danger);font-size:12.5px;}
/* cover ALL text-like inputs incl. typeless <input> (defaults to text) */
.wpanel input:not([type=submit]):not([type=button]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=image]):not([type=file]),
.wpanel select,.wpanel textarea{
  background:var(--ground);color:var(--text);border:1px solid var(--line-strong);
  border-radius:9px;padding:10px 12px;font-family:var(--body);font-size:14.5px;max-width:100%;
}
.wpanel input:focus,.wpanel select:focus,.wpanel textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);}
.wpanel input[type=checkbox],.wpanel input[type=radio]{accent-color:var(--amber);width:16px;height:16px;}
.wpanel input[type=submit],.wpanel button,.wpanel input[type=button],.wpanel a.button,.wpanel .NavButton{
  background:linear-gradient(180deg,var(--amber-2),var(--amber));color:#1a1206!important;border:1px solid transparent;
  border-radius:9px;padding:10px 22px;font-family:var(--body);font-weight:600;font-size:14.5px;cursor:pointer;display:inline-block;
  transition:transform .12s ease,box-shadow .2s ease;text-decoration:none;
}
.wpanel input[type=submit]:hover,.wpanel button:hover,.wpanel input[type=button]:hover,.wpanel a.button:hover,.wpanel .NavButton:hover{transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(217,164,65,.6);color:#1a1206!important;}
.wpanel label{color:var(--text-dim);}

/* ===================== TICKERS ===================== */
/* ticker renders as the first table in the panel (from tickers()) */
.wpanel > table:first-child:has(tr.white){width:100%!important;border:1px solid var(--line);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden;margin-bottom:14px;font-size:13px;}
.wpanel > table:first-child tr.white td{font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)!important;padding:9px 13px!important;}
.wpanel > table:first-child tr td{padding:9px 13px;color:var(--text-dim);vertical-align:middle;}
.wpanel > table:first-child a{color:var(--moon);}
.tickerCell,.ticker,.Ticker{background:var(--ground-2)!important;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:14px;color:var(--text-dim);font-size:13.5px;}

/* ===================== NEWS ===================== */
#News{margin-bottom:6px;}
.NewsHeadline,.newsHeadline{background:transparent!important;border:0!important;margin:0 0 12px;}
.NewsHeadlineBackground{
  background-image:none!important;background:var(--surface-2)!important;
  border:1px solid var(--line)!important;border-radius:10px!important;
  padding:11px 15px!important;height:auto!important;width:auto!important;
  display:flex!important;align-items:center;gap:11px;flex-wrap:wrap;position:static!important;
}
.NewsHeadlineIcon{width:22px!important;height:22px!important;flex:none;border-radius:5px;position:static!important;margin:0!important;}
.NewsHeadlineText,.newsText,.NewsText{font-family:var(--display)!important;font-size:18px!important;font-weight:600;color:var(--text)!important;order:1;margin-right:auto;position:static!important;line-height:1.2;}
.NewsHeadlineDate,.newsdate,.NewsDate{font-family:var(--mono)!important;font-size:11.5px!important;color:var(--text-faint)!important;order:2;position:static!important;}
.NewsHeadlineAuthor{font-size:12px!important;color:var(--text-dim)!important;order:3;position:static!important;}
.NewsHeadlineAuthor b{color:var(--text-faint)!important;font-weight:500;}
#News ~ table td,.wpanel #News + table td{color:var(--text);}
.news,.BoxFrame,.ArticleContainer{background:var(--ground-2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:16px;}
.ArticleHeadline{color:var(--text)!important;}

/* warnings / notices */
.warning,.error,.note,.success{border-radius:10px;padding:12px 16px;margin:0 0 16px;font-size:14px;border:1px solid var(--line);}
.warning{background:rgba(217,164,65,.08);border-color:rgba(217,164,65,.3);color:var(--warn);}
.error{background:rgba(209,97,107,.09);border-color:rgba(209,97,107,.35);color:var(--danger);}
.success{background:rgba(88,179,104,.09);border-color:rgba(88,179,104,.35);color:var(--good);}
.browsehappy{display:none!important;}

/* pagination */
.pagination,.Pagination{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 0;font-family:var(--mono);font-size:13px;}
.pagination a,.pagination span,.Pagination a,.Pagination span{padding:6px 11px;border:1px solid var(--line);border-radius:8px;color:var(--text-dim);}
.pagination a:hover{border-color:var(--amber);color:var(--amber);}
.pagination .current,.pagination .active{background:var(--amber-soft);border-color:var(--amber);color:var(--amber);}

/* wide-content guard */
.wpanel .TableContainer,.wpanel > table{overflow-x:auto;display:block;}

/* ===================== FOOTER ===================== */
.wfoot{border-top:1px solid var(--line);background:var(--ground-2);padding:34px 0 42px;margin-top:24px;}
.wfoot-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.wfoot-brand .wbrand{font-size:17px;}
.wfmeta{color:var(--text-faint);font-family:var(--mono);font-size:12px;letter-spacing:.04em;margin:12px 0 0;line-height:1.6;}
.wfmeta a{color:var(--text-dim);}
.wfoot-links{display:flex;gap:20px;flex-wrap:wrap;}
.wfoot-links a{color:var(--text-dim);font-size:14px;}
.wfoot-links a:hover{color:var(--amber);}
@media (max-width:600px){ .wfoot-links{gap:14px;} }

/* ===================== MONSTER PAGES ===================== */
.monster_name{font-family:var(--display);font-size:26px;font-weight:600;color:var(--text);letter-spacing:.02em;margin:0 0 2px;text-transform:capitalize;}
.monster_desc{color:var(--text-dim);font-style:italic;font-size:14.5px;margin:0 0 16px;}
.MonsterInfo{width:100%;border:1px solid var(--line);border-radius:11px;overflow:hidden;border-collapse:separate;border-spacing:0;margin-bottom:18px;}
.MonsterInfo thead th{background:var(--surface-2)!important;color:var(--text)!important;font-family:var(--display);font-size:16px;padding:11px 12px;border-bottom:1px solid var(--line);}
.MonsterInfo td{padding:12px;border-top:1px solid var(--line);color:var(--text-dim);font-size:14px;}
.MonsterInfo strong,.MonsterInfo b{color:var(--text);}
.monster_img{width:64px;height:64px;background-repeat:no-repeat;background-position:center;background-size:contain;image-rendering:pixelated;margin:0 auto;}
/* loot chips */
.loot_bg{display:inline-flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;margin:3px;background:var(--ground-2);border:1px solid var(--line);border-radius:9px;transition:border-color .15s ease,transform .1s ease;}
.loot_bg:hover{border-color:var(--amber);transform:translateY(-2px);}
.loot_image{max-width:32px;max-height:32px;image-rendering:pixelated;}
.loot_amount{position:absolute;bottom:-2px;right:1px;font-family:var(--mono);font-size:10px;color:var(--amber);background:var(--ground);border-radius:4px;padding:0 3px;line-height:1.4;}

/* ===================== DATATABLES (monsters list etc.) ===================== */
table.dataTable,table.dataTable tbody,table.dataTable thead,#monsters_datatable{background:transparent!important;color:var(--text);border-collapse:collapse;}
table.dataTable tbody tr,table.dataTable tbody tr.odd,table.dataTable tbody tr.even,
table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd,
table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background:transparent!important;}
table.dataTable tbody tr:hover{background:var(--surface-2)!important;}
table.dataTable thead th,table.dataTable thead td{color:var(--text)!important;border-bottom:1px solid var(--line-strong)!important;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;}
table.dataTable tbody td{color:var(--text-dim)!important;border-top:1px solid var(--line)!important;padding:10px 12px;font-size:14px;}
table.dataTable tbody td a,#monsters_datatable a{color:var(--moon);}
table.dataTable tbody td a:hover{color:var(--amber);}
.dataTables_wrapper{color:var(--text-dim)!important;}
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate{color:var(--text-dim)!important;}
.dataTables_wrapper .dataTables_length select,.dataTables_wrapper .dataTables_filter input,#ciSearch{
  background:var(--ground)!important;color:var(--text)!important;border:1px solid var(--line-strong)!important;border-radius:8px;padding:7px 10px;}
.dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--text-dim)!important;background:var(--ground-2)!important;border:1px solid var(--line)!important;border-radius:7px!important;margin:0 2px;padding:5px 11px!important;}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{background:var(--amber-soft)!important;border-color:var(--amber)!important;color:var(--amber)!important;}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--surface-2)!important;border-color:var(--line-strong)!important;color:var(--text)!important;}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled{opacity:.4;}

/* ===================== LIVING MARKET PAGE ===================== */
.market-intro{color:var(--text-dim);font-size:14.5px;max-width:70ch;margin:0 0 20px;}
.market-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px;}
.market-stat{background:var(--ground-2);padding:16px 12px;text-align:center;}
.ms-num{font-family:var(--display);font-size:24px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.ms-num.up{color:var(--good);} .ms-num.down{color:var(--danger);}
.ms-lbl{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-top:4px;}
.market-movers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
@media (max-width:700px){ .market-movers{grid-template-columns:repeat(2,1fr);} .market-stats{grid-template-columns:repeat(2,1fr);} }
.mover{display:flex;align-items:center;gap:11px;background:var(--ground-2);border:1px solid var(--line);border-radius:11px;padding:12px 14px;}
.mover-img{width:34px;height:34px;image-rendering:pixelated;flex:none;}
.mover-name{font-size:13px;color:var(--text);font-weight:500;line-height:1.2;}
.mover-change{font-family:var(--mono);font-size:13px;font-weight:600;margin-top:3px;}
.mover-change.up,.chg.up{color:var(--good);} .mover-change.down,.chg.down{color:var(--danger);} .mover-change.flat,.chg.flat{color:var(--text-faint);}
.market-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;}
.market-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;}
.market-table thead th{background:var(--surface-2);color:var(--text-dim);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:right;padding:11px 14px;border-bottom:1px solid var(--line-strong);}
.market-table thead th.mt-item{text-align:left;}
.market-table td{padding:10px 14px;border-top:1px solid var(--line);text-align:right;color:var(--text-dim);}
.market-table td.mt-item{text-align:left;display:flex;align-items:center;gap:10px;color:var(--text);}
.mt-img{width:28px;height:28px;image-rendering:pixelated;flex:none;}
.mt-strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;}
.mt-num{font-variant-numeric:tabular-nums;}
.market-table tr.mt-cat td{background:var(--ground);color:var(--amber);font-family:var(--display);font-size:15px;letter-spacing:.03em;text-align:left;padding:12px 14px;border-top:1px solid var(--line-strong);}
.chg{font-family:var(--mono);font-weight:600;font-size:13px;white-space:nowrap;}
.market-foot{color:var(--text-faint);font-family:var(--mono);font-size:12px;margin-top:16px;text-align:center;letter-spacing:.04em;}

/* ===================== MARKET — NPC DIRECTORY ===================== */
.npc-filter{width:100%;max-width:420px;margin:0 0 18px;padding:11px 15px;background:var(--ground);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;font-family:var(--body);font-size:14.5px;}
.npc-filter:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-soft);}
.npc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;}
.npc-card{display:flex;flex-direction:column;gap:4px;background:var(--ground-2);border:1px solid var(--line);border-radius:11px;padding:14px 16px;transition:transform .12s ease,border-color .15s ease,background .15s ease;}
.npc-card:hover{transform:translateY(-2px);border-color:var(--amber);background:var(--surface);}
.npc-name{font-family:var(--display);font-size:16px;font-weight:600;color:var(--text);letter-spacing:.02em;}
.npc-count{font-family:var(--mono);font-size:11.5px;color:var(--text-faint);letter-spacing:.06em;}
.npc-card:hover .npc-count{color:var(--amber);}

/* ===================== MARKET — SINGLE NPC SHOP ===================== */
.npc-shop-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.npc-back{font-family:var(--mono);font-size:13px;color:var(--text-dim);}
.npc-back:hover{color:var(--amber);}
.npc-shop-title{font-family:var(--display);font-size:26px;font-weight:600;color:var(--text);letter-spacing:.02em;margin:0;}
.npc-shop-sub{font-family:var(--mono);font-size:12px;color:var(--text-faint);letter-spacing:.05em;margin-left:auto;}
