@charset "UTF-8";
/* ============================================================
   MHF XiaoWu 7.0 · S7 theme layer
   Design tokens and shell adapted from the S7 "狩猎集" site.
   Content rules are scoped to legacy pages so old table layouts
   and scripts keep working untouched.
   ============================================================ */

:root{
  --sidebar-w:264px;
  --bg:#ebe3f6;--sidebar-bg:#e3d9f2;--card-bg:#f1eafa;--topbar-bg:rgba(235,227,246,.94);
  --text:#2c2738;--text-light:#6d647f;--text-faint:#9b91aa;
  --accent:#c0562a;--accent-soft:#f3e7f2;--accent-border:rgba(192,86,42,.25);
  --border:#d5c8e5;--border-soft:#e1d6ed;
  --table-header-bg:#e7dcf5;--table-hover-bg:#f6effd;--thumb-bg:#e9dff5;
  --callout-bg:#e9dff5;--callout-text:#615671;--scrollbar-thumb:#cbbde0;
  --overlay-bg:rgba(44,39,56,.35);
  --shadow-sm:0 1px 2px rgba(75,60,100,.06);--shadow-md:0 4px 14px rgba(75,60,100,.09);
  --sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",
    "HarmonyOS Sans SC","HarmonyOS Sans","MiSans","PingFang SC","PingFang TC",
    "Hiragino Sans GB","Hiragino Sans CNS","Microsoft YaHei UI","Microsoft YaHei",
    "Microsoft JhengHei UI","Microsoft JhengHei","Noto Sans CJK SC","Noto Sans CJK TC",
    "Noto Sans SC","Noto Sans TC","Source Han Sans SC","Source Han Sans TC",
    "Yu Gothic UI","Meiryo","Malgun Gothic",sans-serif;
  --serif:system-ui,"Songti SC","Songti TC","STSong","SimSun","NSimSun",
    "Noto Serif CJK SC","Noto Serif CJK TC","Noto Serif SC","Noto Serif TC",
    "Source Han Serif SC","Source Han Serif TC","Hiragino Mincho ProN","Yu Mincho",
    "Microsoft JhengHei",serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",
    "Noto Sans Mono CJK SC","Noto Sans Mono CJK TC",monospace;
  --ease:cubic-bezier(.4,0,.2,1);
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#1a1815;--sidebar-bg:#201d19;--card-bg:#262320;--topbar-bg:rgba(26,24,21,.92);
  --text:#e8e3da;--text-light:#a39c90;--text-faint:#6b6459;
  --accent:#e0855a;--accent-soft:#2e2420;--accent-border:rgba(224,133,90,.3);
  --border:#38332d;--border-soft:#2a2622;
  --table-header-bg:#2a2622;--table-hover-bg:#2c2824;--thumb-bg:#2e2a26;
  --callout-bg:#242120;--callout-text:#c4b8a8;--scrollbar-thumb:#3a3530;
  --overlay-bg:rgba(0,0,0,.55);
  --shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 14px rgba(0,0,0,.3);
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:var(--sans);font-size:13.5px;line-height:1.7;
  background:transparent;color:var(--text);transition:background-color .3s,color .3s}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border:0}
hr{border:0;border-top:1px solid var(--border);margin:18px 0}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:5px}
::-webkit-scrollbar-track{background:transparent}

/* ============================================================
   Shell: fixed S7 sidebar + content
   ============================================================ */
.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--border);
  position:fixed;top:0;left:0;bottom:0;z-index:100;display:flex;flex-direction:column;
  transition:transform .3s var(--ease),background-color .3s,border-color .3s;
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.sidebar-header{padding:22px 20px 18px;border-bottom:1px solid var(--border);flex-shrink:0}
.brand{display:flex;align-items:center;gap:12px}
.brand-seal{width:52px;height:42px;background:var(--accent);color:#fff;border-radius:6px;
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-weight:700;font-size:16px;letter-spacing:-.5px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),0 2px 6px rgba(192,86,42,.25);
  flex-shrink:0;user-select:none}
.brand-info{min-width:0}
.brand-name{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--text);
  line-height:1.3;white-space:nowrap}
.brand-sub{font-size:11px;color:var(--text-light);letter-spacing:.5px;margin-top:2px;white-space:nowrap}
.sidebar-nav{flex:1;padding:6px 0 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav-group{margin-bottom:2px}
.nav-group-title{font-family:var(--serif);font-size:10.5px;font-weight:600;letter-spacing:1.8px;
  color:var(--text-faint);padding:14px 20px 6px;user-select:none}
.nav-item{position:relative;display:flex;align-items:center;gap:8px;padding:7px 18px 7px 15px;
  border-left:3px solid transparent;color:var(--text-light);font-size:13.5px;cursor:pointer;
  transition:background-color .18s,color .18s,border-color .18s;background:none;
  border-top:none;border-right:none;border-bottom:none;width:100%;text-align:left;
  font-family:inherit;line-height:1.45;text-decoration:none}
.nav-item:hover{background:rgba(192,86,42,.045);color:var(--text);text-decoration:none}
[data-theme="dark"] .nav-item:hover{background:rgba(224,133,90,.07)}
.nav-item.active{border-left-color:var(--accent);background:var(--accent-soft);
  color:var(--accent);font-weight:600}
.nav-item::before{content:'';width:3px;height:13px;border-radius:2px;background:var(--border);
  flex-shrink:0;transition:background-color .18s,height .1s}
.nav-item:hover::before{background:var(--accent-border)}
.nav-item.active::before{background:var(--accent);height:17px}
.nav-sub{padding-left:14px}
.nav-sub .nav-item{font-size:12.5px;padding-top:5px;padding-bottom:5px;color:var(--text-faint)}
.nav-sub .nav-item:hover{color:var(--text)}
.sidebar-footer{padding:14px 16px 18px;border-top:1px solid var(--border);
  font-size:11px;color:var(--text-faint);flex-shrink:0;line-height:1.6}
.footer-line{display:flex;align-items:center;gap:6px}
.footer-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5;flex-shrink:0}
.theme-toggle{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;
  margin-bottom:12px;background:var(--card-bg);border:1px solid var(--border);border-radius:7px;
  color:var(--text-light);font-family:inherit;font-size:12.5px;cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s}
.theme-toggle:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}
.theme-icon{font-size:15px;line-height:1;flex-shrink:0}
.theme-text{font-weight:600}
.theme-hint{margin-left:auto;font-size:10px;color:var(--text-faint)}

.overlay{display:none;position:fixed;inset:0;background:var(--overlay-bg);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:90;opacity:0;
  transition:opacity .3s}
.overlay.show{opacity:1}

.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;z-index:80;background:var(--topbar-bg);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);padding:0 14px;height:54px;align-items:center;
  gap:12px;flex-shrink:0}
.hamburger{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--border);border-radius:7px;cursor:pointer;
  flex-shrink:0;-webkit-tap-highlight-color:transparent}
.hamburger span{display:block;width:16px;height:2px;background:var(--text);border-radius:1px;position:relative}
.hamburger span::before,.hamburger span::after{content:'';position:absolute;left:0;width:100%;
  height:2px;background:var(--text);border-radius:1px}
.hamburger span::before{top:-5px}.hamburger span::after{top:5px}
.mobile-title{font-family:var(--serif);font-size:15px;font-weight:700;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-theme-btn{margin-left:auto;width:38px;height:38px;display:none;align-items:center;
  justify-content:center;background:none;border:1px solid var(--border);border-radius:7px;
  color:var(--text);font-size:16px;cursor:pointer;flex-shrink:0}

/* boot screen */
.boot-screen{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;
  justify-content:center;background:var(--bg);transition:opacity .42s var(--ease),visibility .42s var(--ease)}
.boot-screen.boot-done{opacity:0;visibility:hidden;pointer-events:none}
.boot-screen::after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,var(--accent-soft) 0%,transparent 68%);opacity:.9;pointer-events:none}
.boot-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:24px}
.boot-seal{width:84px;height:64px;background:var(--accent);color:#fff;border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-weight:700;font-size:23px;letter-spacing:-.5px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),0 6px 20px rgba(192,86,42,.28);
  animation:bootBreath 2.4s var(--ease) infinite}
[data-theme="dark"] .boot-seal{box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 6px 20px rgba(0,0,0,.42)}
.boot-name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--text);
  letter-spacing:.5px;margin-top:18px}
.boot-sub{font-size:11.5px;color:var(--text-light);letter-spacing:2.2px;text-transform:uppercase;margin-top:3px}
.boot-bar{position:relative;width:172px;height:3px;border-radius:3px;background:var(--border);
  overflow:hidden;margin:26px 0 12px}
.boot-bar span{position:absolute;top:0;bottom:0;width:42%;border-radius:3px;
  background:var(--accent);animation:bootSlide 1.25s var(--ease) infinite}
.boot-tip{font-size:12.5px;color:var(--text-faint);letter-spacing:.4px}
@keyframes bootSlide{0%{left:-45%}100%{left:100%}}
@keyframes bootBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
body.mhf-booting{overflow:hidden}

/* 非首页：首帧即出现的转圈载入遮罩（纯 CSS，避免正文先闪出） */
body.s7-page:not(.mhf-ready)::before{content:"";position:fixed;inset:0;z-index:2100;
  background:var(--bg);pointer-events:all}
body.s7-page:not(.mhf-ready)::after{content:"";position:fixed;z-index:2101;top:50%;left:50%;
  width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;
  border:2.5px solid var(--border);border-top-color:var(--accent);
  animation:loadSpin .8s linear infinite;pointer-events:none}
body.mhf-home:not(.mhf-ready)::before,
body.mhf-home:not(.mhf-ready)::after{content:none;display:none}
@keyframes loadSpin{to{transform:rotate(360deg)}}

/* ============================================================
   Legacy content pages
   ============================================================ */
body.s7-page{--side-gap:max(14px,calc((100% - var(--sidebar-w) - 1120px) / 2));
  background:var(--card-bg);max-width:1120px;width:auto!important;height:auto!important;
  margin:22px var(--side-gap) 22px calc(var(--sidebar-w) + var(--side-gap))!important;
  padding:30px 34px 52px;
  border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm);
  min-height:calc(100vh - 44px);overflow-x:auto;overflow-y:visible;font-size:16px;line-height:1.6}
body.s7-page td,body.s7-page th{font-size:14px}
body.s7-page p,body.s7-page li{font-size:14.5px}
body.s7-page td div{font-size:9.5px}
/* App-like legacy tools keep their own viewport layout */
body.s7-page.s7-app{max-width:none;width:100%!important;margin:0!important;padding:0!important;
  border:0;border-radius:0;box-shadow:none;min-height:100vh;height:100%!important;background:var(--bg)}
body.s7-page.s7-app .s7-page-header{display:none}
body.s7-page.s7-app td,body.s7-page.s7-app th{font-size:13px}
body.s7-page.s7-app td{padding:2px 4px!important}
body.s7-page.s7-app th{padding:3px 5px!important}
body.s7-app .sidebar{transform:translateX(-100%)}
body.s7-app .sidebar.open{transform:translateX(0)}
@media(min-width:769px){
  /* desktop: keep the S7 sidebar visible on tool pages too */
  body.s7-page.s7-app{width:auto!important;margin:0 0 0 var(--sidebar-w)!important}
  body.s7-app .sidebar{transform:none}
  body.s7-app .s7-fab{display:none}
}

/* page header injected by theme.js */
.s7-page-header{margin:0 0 24px;padding:2px 0 16px;border-bottom:1px solid var(--border-soft)}
.page-label{font-family:var(--serif);font-size:10.5px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;color:var(--accent);margin-bottom:7px;display:flex;
  align-items:center;gap:8px}
.page-label::before{content:'';display:inline-block;width:18px;height:1.5px;
  background:var(--accent);border-radius:1px}
.page-title{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--text);
  letter-spacing:-.3px;line-height:1.25;margin:0}
.s7-subnav{position:sticky;top:0;z-index:20;display:flex;flex-wrap:nowrap;gap:2px;
  overflow-x:auto;scrollbar-width:none;margin:0 0 20px;padding:8px 0 9px;
  border-bottom:1px solid var(--border);background:var(--card-bg)}
.s7-subnav::-webkit-scrollbar{display:none}
.s7-subnav a{flex:0 0 auto;font-size:12.5px;color:var(--text-light);padding:5px 11px;
  border-radius:6px;white-space:nowrap;line-height:1.5}
.s7-subnav a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}
.s7-subnav a.active{background:var(--accent);color:#fff;font-weight:600}
.s7-subnav a.active:link,.s7-subnav a.active:visited{color:#fff!important}
body.s7-page div#tree{float:left;height:99%;overflow:auto;white-space:nowrap;
  width:22%!important;font-size:15.5px;line-height:1.7!important;color:var(--text-light);
  font-weight:500;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.s7-page div#tree a{color:var(--text)!important;font-size:15.5px;font-weight:500}
body.s7-page div#tree a:hover{color:var(--accent)!important}
body.s7-page div#tree a.new{color:var(--accent)!important}
body.s7-page div#tree small{font-size:11.5px!important}
body.s7-page div#tree span{color:var(--text-light)!important}
body.s7-page div#tree div>span{cursor:pointer}
body.s7-page div#tree div>span:hover{color:var(--accent)!important}
body.s7-page div#tree div{line-height:1.7!important}
body.s7-page div#tree div#t2,body.s7-page div#tree div#t3,body.s7-page div#tree div#t4,
body.s7-page div#tree div#t5,body.s7-page div#tree div#t6,body.s7-page div#tree div#t7,
body.s7-page div#tree div#t8{display:none}
body.s7-page div#bar{float:left;width:3px;height:99%;background:var(--border)!important;
  cursor:e-resize}
body.s7-page div#data{float:left;height:99%;overflow:auto;width:76%!important}
body.s7-page::after{content:"";display:block;clear:both}
body.s7-page div#data td div a{font-size:13px!important;color:var(--text)!important;
  display:block;margin:1px 0 0!important;line-height:1.5;text-decoration:none;font-weight:500}
body.s7-page div#data td div a:hover{color:var(--accent)!important;text-decoration:underline}
body.s7-page div#data td div a.new{color:var(--accent)!important}
body.s7-page table.topk{border:none!important;background:transparent!important;margin-bottom:10px}
body.s7-page table.topk td{border:none!important;background:transparent!important;padding:0!important}
body.s7-page table.topk span{display:inline-block;padding:4px 10px;margin:2px;border-radius:6px;
  background:var(--table-header-bg);color:var(--text-light)!important;cursor:pointer}
body.s7-page table.topk span:hover{background:var(--accent-soft);color:var(--accent)!important}
.s7-fab{position:fixed;right:18px;bottom:18px;z-index:120;width:46px;height:46px;
  border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:20px;
  line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.s7-fab:hover{filter:brightness(1.06)}

/* dashboard */
.s7-hero{padding:16px 0 26px;border-bottom:1px solid var(--border-soft);margin-bottom:26px}
.s7-hero .page-label{margin-bottom:10px}
.s7-hero-title{font-family:var(--serif);font-size:38px;line-height:1.2;letter-spacing:-.5px;
  color:var(--text);margin:0 0 14px;font-weight:700}
.s7-hero-title span{color:var(--accent)}
.s7-hero p{font-size:14.5px;color:var(--text-light);max-width:640px;margin:0 0 20px}
.s7-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.s7-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:7px;
  font-size:13px;font-weight:600;background:var(--accent);color:#fff;border:1px solid var(--accent)}
.s7-btn:link,.s7-btn:visited{color:#fff!important}
.s7-btn:hover{filter:brightness(1.06);text-decoration:none;color:#fff}
.s7-btn.ghost{background:var(--card-bg);color:var(--text-light);border-color:var(--border)}
.s7-btn.ghost:link,.s7-btn.ghost:visited{color:var(--text-light)!important}
.s7-btn.ghost:hover{color:var(--accent)!important;border-color:var(--accent-border);background:var(--accent-soft)}
.s7-about{margin:0 0 24px;padding:16px 20px;background:var(--card-bg);
  border:1px solid var(--border);border-radius:9px;box-shadow:var(--shadow-sm)}
.s7-about h2{font-family:var(--serif);font-size:13px;font-weight:700;color:var(--accent);
  letter-spacing:.4px;margin:0 0 7px;line-height:1.4}
.s7-about p{font-size:13.5px;line-height:1.8;color:var(--text-light);margin:0}
.s7-about strong{color:var(--text);font-weight:600}
.s7-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}
.s7-stat{background:var(--table-header-bg);border:1px solid var(--border);border-radius:8px;
  padding:16px 18px}
.s7-stat .k{font-family:var(--serif);font-size:10.5px;font-weight:700;letter-spacing:1.2px;
  color:var(--text-faint);text-transform:uppercase;margin-bottom:6px}
.s7-stat .v{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--accent);
  line-height:1.3;margin-bottom:5px}
.s7-stat p{font-size:12.5px;color:var(--text-light);margin:0;line-height:1.6}
.s7-section-title{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--text);
  margin:0 0 14px;display:flex;align-items:center;gap:9px}
.s7-section-title::before{content:'';width:3px;height:16px;background:var(--accent);border-radius:2px}
.s7-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.s7-link-card{display:block;padding:13px 16px;background:var(--card-bg);border:1px solid var(--border);
  border-radius:7px;color:var(--text);font-size:13.5px;font-weight:600;
  transition:border-color .18s,background-color .18s,color .18s}
.s7-link-card span{display:block;font-size:11.5px;font-weight:400;color:var(--text-faint);margin-top:2px}
.s7-link-card:hover{border-color:var(--accent-border);background:var(--accent-soft);
  color:var(--accent);text-decoration:none}
.s7-callout{margin-top:24px;padding:15px 18px;background:var(--callout-bg);
  border:1px solid var(--border);border-radius:8px;color:var(--callout-text);font-size:13px;line-height:1.7}
@media(max-width:1024px){
  .s7-stat-grid,.s7-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s7-hero-title{font-size:30px}
}
@media(max-width:600px){
  .s7-stat-grid,.s7-link-grid{grid-template-columns:minmax(0,1fr)}
  .s7-hero-title{font-size:25px}
}
.s7-toolbar{margin:0 0 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.s7-hidden-title{display:none!important}

/* headings / text */
body.s7-page h1,body.s7-page h2,body.s7-page h3,body.s7-page h4{
  font-family:var(--serif);color:var(--text);line-height:1.35;font-weight:700;
  margin:20px 0 10px}
body.s7-page h1{font-size:24px}body.s7-page h2{font-size:19px}body.s7-page h3{font-size:16px}
body.s7-page p{margin:0 0 9px}
body.s7-page small{font-size:11px;color:var(--text-light)}
body.s7-page font{font-family:inherit!important}
body.s7-page b{color:#46587a;font-weight:600}
body.s7-page em{color:#46688a}
body.s7-page strong{color:var(--text)}

/* links: S7 accent, but keep rarity red */
body.s7-page a:link,body.s7-page a:visited{color:var(--accent)}
body.s7-page a:hover{color:var(--accent);text-decoration:underline}
body.s7-page a.r:link,body.s7-page a.r:visited,body.s7-page a.new:link,
body.s7-page a.new:visited{color:#b8432f}
body.s7-page .r{color:#b8432f!important}
body.s7-page .new{color:#c0562a!important}

/* tables */
body.s7-page table{background:transparent;border-color:var(--border-soft);color:var(--text);
  margin-left:auto!important;margin-right:auto!important}
/* 素材一览：迷你卡片网格 */
body[data-s7-rel^="sozai/itemlist"] ul{float:none!important;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;width:100%;
  box-sizing:border-box;margin:0 auto;padding:2px 0}
body[data-s7-rel^="sozai/itemlist"] li{float:none!important;margin:0!important;
  display:flex;align-items:center;justify-content:center;min-height:36px;
  padding:6px 9px!important;border:1px solid var(--border)!important;border-radius:8px;
  background:var(--bg);white-space:normal!important;text-align:center;
  transition:border-color .15s,background .15s,transform .15s}
body[data-s7-rel^="sozai/itemlist"] li:hover{border-color:var(--accent-border)!important;
  background:var(--accent-soft);transform:translateY(-1px)}
body[data-s7-rel^="sozai/itemlist"] li a{display:block;width:100%;font-size:12.5px;
  line-height:1.35;color:var(--text)!important;text-decoration:none;overflow-wrap:anywhere}
body[data-s7-rel^="sozai/itemlist"] li:hover a{color:var(--accent)!important}
body[data-s7-rel^="sozai/itemlist"] .item-toolbar{display:flex;flex-direction:column;
  gap:12px;margin:0 0 16px}
body[data-s7-rel^="sozai/itemlist"] .item-search{position:relative}
body[data-s7-rel^="sozai/itemlist"] .item-search input{width:100%;padding:11px 16px 11px 42px;
  background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);
  font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}
body[data-s7-rel^="sozai/itemlist"] .item-search input:focus{outline:none;
  border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
body[data-s7-rel^="sozai/itemlist"] .item-search input::placeholder{color:var(--text-faint)}
body[data-s7-rel^="sozai/itemlist"] .item-search::before{content:'';position:absolute;left:15px;
  top:50%;width:13px;height:13px;transform:translateY(-50%);border:2px solid var(--text-faint);
  border-radius:50%;opacity:.6;pointer-events:none}
body[data-s7-rel^="sozai/itemlist"] .item-search::after{content:'';position:absolute;left:26px;
  top:calc(50% + 4px);width:6px;height:2px;background:var(--text-faint);opacity:.6;
  transform:rotate(45deg);border-radius:1px;pointer-events:none}
body[data-s7-rel^="sozai/itemlist"] .item-count{font-size:12px;color:var(--text-faint);
  margin:0 0 12px;letter-spacing:.3px}
body[data-s7-rel^="sozai/itemlist"] .item-results{width:100%}
body[data-s7-rel^="sozai/itemlist"] .item-results ul:has(>li:only-child){display:flex;justify-content:center}
body[data-s7-rel^="sozai/itemlist"] .item-empty{grid-column:1/-1;padding:64px 20px;text-align:center;
  color:var(--text-faint);font-size:14px;border:1px dashed var(--border);border-radius:10px}
@media(max-width:768px){
  body[data-s7-rel^="sozai/itemlist"] .item-search input{padding:10px 14px 10px 40px;font-size:13.5px}
  body[data-s7-rel^="sozai/itemlist"] ul{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:6px}
  body[data-s7-rel^="sozai/itemlist"] li{min-height:34px;padding:6px 7px!important;border-radius:7px}
  body[data-s7-rel^="sozai/itemlist"] li a{font-size:12px}
}
body.s7-page table[border]:not([border="0"]):not([border=""]){
  border:1px solid var(--border)!important}
body.s7-page th{background:var(--table-header-bg)!important;color:var(--text-light)!important;
  font-weight:600!important;border:1px solid var(--border)!important;padding:3px 5px!important}
body.s7-page td{border:1px solid var(--border-soft)!important;padding:3px 5px!important;
  color:inherit}
body.s7-page table[style*="table-layout:fixed"],
body.s7-page table[style*="table-layout: fixed"]{table-layout:auto!important}
body.s7-page tr:hover>td{background:var(--table-hover-bg)!important}
body.s7-page th small,body.s7-page th em{color:var(--text-faint)!important}

/* structural silver backgrounds -> S7 header tone */
body.s7-page [bgcolor="silver"],body.s7-page [bgcolor="Silver"],
body.s7-page [bgcolor="gray"],body.s7-page [bgcolor="Gray"],
body.s7-page [bgcolor="#c0c0c0"],body.s7-page [bgcolor="#C0C0C0"],
body.s7-page [bgcolor="white"],body.s7-page [bgcolor="#ffffff"],
body.s7-page [bgcolor="#FFFFFF"]{background:var(--table-header-bg)!important}
body.s7-page table.damage col.dai,body.s7-page table.damagek col.dai,
body.s7-page table.gun col.dai,body.s7-page table.niku col.dai,
body.s7-page table.damage tr>td:first-child,body.s7-page table.damagek tr>td:first-child,
body.s7-page table.gun tr>td:first-child,body.s7-page table.niku tr>td:first-child,
body.s7-page td#sozai,body.s7-page .t{background:var(--table-header-bg)!important}
body.s7-page table.damagek col.dai,body.s7-page table.damagek tr>td:first-child{text-align:center}
body.s7-page tr.w,body.s7-page tr.w>td{background:var(--accent-soft)!important}
body.s7-page tr.g,body.s7-page tr.g>td{background:var(--border-soft)!important;
  color:var(--text-faint)!important}
body.s7-page tr.l th{background:var(--border-soft)!important}
body.s7-page tr.y,body.s7-page tr.y>td{background:var(--table-header-bg)!important}
[data-theme="dark"] body.s7-page tr.y,
[data-theme="dark"] body.s7-page tr.y>td{background:#302a24!important}
body.s7-page .sidebar a:hover{background:transparent!important}
body.s7-page .sidebar .nav-item:hover{background:var(--accent-soft)!important}
body.s7-page table a:hover{background:transparent!important}
body.s7-page li a:hover,body.s7-page td a:hover,body.s7-page p a:hover{background:transparent!important}
body.s7-page td.g{background:var(--table-header-bg)!important}
body.s7-page table.fue .w,body.s7-page table.fue .y,body.s7-page table.fue .r,
body.s7-page table.fue .b,body.s7-page table.fue .a,body.s7-page table.fue .g,
body.s7-page table.fue .p,body.s7-page table.fue .s{background:var(--table-header-bg)!important}
body.s7-page table.fue .s{background:transparent!important;color:transparent!important}
body.s7-page div#hosoku span em{background:var(--table-header-bg)!important;color:var(--accent)!important}
body.s7-page td#que_kai a.g,body.s7-page td#que_zyoui a.g,
body.s7-page td#que_sugo a.g,body.s7-page td#riyou a.g{
  background:var(--table-header-bg)!important;color:var(--text-light)!important}
body.s7-page select option{background:var(--card-bg)!important;color:var(--text)!important}
body.s7-page div#bar{background:var(--border)!important}
[data-theme="dark"] body.s7-page img[src*="img/saisyu"],
[data-theme="dark"] body.s7-page img[src*="img/fish"]{filter:brightness(.82) contrast(1.05)}
[data-theme="dark"] body.s7-page td[style*="background-color:white"],
[data-theme="dark"] body.s7-page td[style*="background-color:#FFFFFF"],
[data-theme="dark"] body.s7-page td[style*="background-color:#ffffff"],
[data-theme="dark"] body.s7-page td[style*="background-color:silver"],
[data-theme="dark"] body.s7-page td[style*="background-color: silver"],
[data-theme="dark"] body.s7-page td[style*="background-color:gray"],
[data-theme="dark"] body.s7-page td[style*="background-color:#F5F5F5"],
[data-theme="dark"] body.s7-page td[style*="background-color:#f5f5f5"],
[data-theme="dark"] body.s7-page tr[style*="background-color:white"],
[data-theme="dark"] body.s7-page tr[style*="background-color:#FFFFFF"],
[data-theme="dark"] body.s7-page tr[style*="background-color:#ffffff"],
[data-theme="dark"] body.s7-page tr[style*="background-color:silver"],
[data-theme="dark"] body.s7-page tr[style*="background-color: silver"],
[data-theme="dark"] body.s7-page tr[style*="background-color:gray"],
[data-theme="dark"] body.s7-page tr[style*="background-color:#F5F5F5"],
[data-theme="dark"] body.s7-page tr[style*="background-color:#f5f5f5"]{
  background:var(--table-header-bg)!important}
body.s7-page .l,body.s7-page a.f{background:var(--table-header-bg)!important}
body.s7-page .bb{background:var(--table-header-bg)!important;border:1px solid var(--border)!important}
body.s7-page table.s th,body.s7-page table.S th,body.s7-page table.sa th{
  background:#e8f3ec!important;color:#2f6b46!important}
body.s7-page table.h th{background:#fbeaf0!important;color:#8a3a5a!important}

/* 乐谱页：旧站用蓝字/黑字+银底表示音符，深色下需要提亮 */
body.s7-page table.fue td{color:var(--text)}
body.s7-page table.fue td.cc{color:var(--accent)!important;cursor:pointer}
body.s7-page table.fue span{color:var(--text)!important}
body.s7-page table.fue .w,body.s7-page table.fue .y,body.s7-page table.fue .r,
body.s7-page table.fue .b,body.s7-page table.fue .a,body.s7-page table.fue .g,
body.s7-page table.fue .p{background-color:transparent!important}
body.s7-page input[name="cpy"],body.s7-page input[name="add"]{display:none!important}
body.s7-tree div{line-height:1.45!important}
body.s7-tree a{color:var(--text-light)!important}
body.s7-tree a:hover{color:var(--accent)!important}
body.s7-tree span{color:var(--text-faint)!important}
body.s7-tree em{color:var(--accent)!important}
body.s7-tree .new{color:var(--accent)!important}

/* damage comparison snapshots */
.s7-compare-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.s7-mini-btn{font-family:inherit;font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;
  background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:600}
.s7-mini-btn:hover{filter:brightness(1.06)}
.s7-mini-btn.ghost{background:var(--card-bg);color:var(--text-light);border-color:var(--border)}
.s7-mini-btn.ghost:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}
.s7-compare-hint{font-size:11.5px;color:var(--text-faint)}
.s7-compare{display:flex;gap:12px;overflow-x:auto;margin-top:8px;padding-bottom:10px}
.s7-compare:empty{display:none}
.s7-compare-col{flex:0 0 360px;max-width:360px;background:var(--table-header-bg);
  border:1px solid var(--border);border-radius:8px;padding:10px 11px;overflow:auto}
.s7-compare-head{font-family:var(--serif);font-size:12.5px;font-weight:700;color:var(--accent);
  margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.s7-compare-col table{width:100%;font-size:11.5px!important;margin:0!important}
.s7-compare-col th,.s7-compare-col td{padding:2px 4px!important;font-size:11.5px!important}
.s7-compare-col input,.s7-compare-col select{display:none!important}
[data-theme="dark"] body.s7-page table.fue .w{color:#e8e3da!important}
[data-theme="dark"] body.s7-page table.fue .y{color:#e8c547!important}
[data-theme="dark"] body.s7-page table.fue .r{color:#ff8a80!important}
[data-theme="dark"] body.s7-page table.fue .b{color:#8ab4f8!important}
[data-theme="dark"] body.s7-page table.fue .a{color:#5fc8c8!important}
[data-theme="dark"] body.s7-page table.fue .g{color:#7ac07a!important}
[data-theme="dark"] body.s7-page table.fue .p{color:#d08ad0!important}
[data-theme="dark"] body.s7-page font[color="black"],
[data-theme="dark"] body.s7-page font[color="#000000"],
[data-theme="dark"] body.s7-page font[color="#000"],
[data-theme="dark"] body.s7-page [style*="color:black"],
[data-theme="dark"] body.s7-page [style*="color: black"],
[data-theme="dark"] body.s7-page [style*="color:#000"]{color:var(--text)!important}


/* 日间模式：旧表的浅灰单元格统一为米白表头色 */
body.s7-page td.t,
body.s7-page td[style*="background-color:#F5F5F5"],
body.s7-page td[style*="background-color:#f5f5f5"],
body.s7-page tr[style*="background-color:#F5F5F5"],
body.s7-page tr[style*="background-color:#f5f5f5"]{
  background:var(--table-header-bg)!important}

/* forms */
body.s7-page input,body.s7-page select,body.s7-page textarea,body.s7-page button{
  font-family:var(--sans)!important;font-size:12px!important;color:var(--text);
  background:var(--card-bg);border:1px solid var(--border);border-radius:5px;
  padding:2px 6px;line-height:1.4}
body.s7-page input[type="button"],body.s7-page input[type="submit"],
body.s7-page input[type="reset"],body.s7-page button{
  background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);
  font-weight:600;cursor:pointer;padding:3px 10px;transition:background-color .18s,color .18s}
body.s7-page input[type="button"]:hover,body.s7-page input[type="submit"]:hover,
body.s7-page button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
body.s7-page input[type="checkbox"],body.s7-page input[type="radio"]{
  padding:0;accent-color:var(--accent);vertical-align:middle}
body.s7-page select{padding:2px 4px}
body.s7-page option{background:var(--card-bg);color:var(--text)}

/* ============================================================
   Dark theme adjustments for legacy content
   ============================================================ */
[data-theme="dark"] body.s7-page{background:var(--card-bg);border-color:var(--border)}
[data-theme="dark"] body.s7-page th{background:var(--table-header-bg)!important;
  color:var(--text-light)!important}
[data-theme="dark"] body.s7-page td{border-color:var(--border-soft)!important}
[data-theme="dark"] body.s7-page tr:hover>td{background:var(--table-hover-bg)!important}
[data-theme="dark"] body.s7-page [bgcolor="silver" i],[data-theme="dark"] body.s7-page [bgcolor="gray" i],
[data-theme="dark"] body.s7-page [bgcolor="grey" i],[data-theme="dark"] body.s7-page [bgcolor="white" i],
[data-theme="dark"] body.s7-page [bgcolor="#c0c0c0" i],[data-theme="dark"] body.s7-page [bgcolor="#cccccc" i],
[data-theme="dark"] body.s7-page [bgcolor="#d3d3d3" i],[data-theme="dark"] body.s7-page [bgcolor="#f5f5f5" i],
[data-theme="dark"] body.s7-page [bgcolor="#ffffff" i],[data-theme="dark"] body.s7-page [bgcolor="#fff" i]{
  background:var(--table-header-bg)!important}
[data-theme="dark"] body.s7-page [bgcolor="#ccccff" i]{background:#2c2a44!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page [bgcolor="aqua" i]{background:#1f3a3a!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page [bgcolor="lime" i]{background:#2a3a1f!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page [bgcolor="yellow" i]{background:#3a341f!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page [bgcolor="#ff9999" i]{background:#3a2222!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page [bgcolor="#b0e0e6" i]{background:#22343a!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page span.on{background:#6b4a12!important;color:#fff!important}
[data-theme="dark"] body.s7-page span.kan{background:#144a66!important;color:#fff!important}
[data-theme="dark"] body.s7-page span.han{background:#1d5a1d!important;color:#fff!important}
[data-theme="dark"] body.s7-page select .listtop{background:var(--card-bg)!important;color:var(--text)!important}
[data-theme="dark"] body.s7-page table#ken ul,[data-theme="dark"] body.s7-page #d_spec ul{
  background:#59636e!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important}
[data-theme="dark"] body.s7-page tr.w,[data-theme="dark"] body.s7-page tr.w>td{
  background:#3a2a20!important}
[data-theme="dark"] body.s7-page tr.g,[data-theme="dark"] body.s7-page tr.g>td{
  background:var(--border-soft)!important;color:var(--text-faint)!important}
[data-theme="dark"] body.s7-page table.s th,[data-theme="dark"] body.s7-page table.S th,
[data-theme="dark"] body.s7-page table.sa th{background:#1e3328!important;color:#8fd0a8!important}
[data-theme="dark"] body.s7-page table.h th{background:#3a2230!important;color:#e0a0b8!important}
[data-theme="dark"] body.s7-page .r{color:#ff9a8a!important}
[data-theme="dark"] body.s7-page .new{color:#f0a080!important}
[data-theme="dark"] body.s7-page b{color:#9db4d8}
[data-theme="dark"] body.s7-page em{color:#8ab4f8}
[data-theme="dark"] body.s7-page a.r:link,[data-theme="dark"] body.s7-page a.r:visited,
[data-theme="dark"] body.s7-page a.new:link,[data-theme="dark"] body.s7-page a.new:visited{
  color:#ff9a8a}
[data-theme="dark"] body.s7-page input,[data-theme="dark"] body.s7-page select,
[data-theme="dark"] body.s7-page textarea{background:var(--card-bg);color:var(--text);
  border-color:var(--border)}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1024px){
  :root{--sidebar-w:232px}
  body.s7-page{max-width:100%;margin:14px 14px 14px calc(var(--sidebar-w) + 14px)!important;
    padding:24px 22px 44px}
}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);width:280px;max-width:85vw;
    box-shadow:4px 0 24px rgba(0,0,0,.12)}
  .sidebar.open{transform:translateX(0)}
  body.s7-app .sidebar{transform:translateX(-100%)}
  body.s7-app .sidebar.open{transform:translateX(0)}
  .overlay{display:block;pointer-events:none}
  .overlay.show{pointer-events:auto}
  .mobile-topbar{display:flex}
  .mobile-theme-btn{display:flex}
  body.s7-page{margin:0!important;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;
    padding:68px 14px 48px;max-width:none;min-height:100vh;width:100%!important}
  body.s7-page.s7-app{padding:0!important}
  body.s7-page div#tree{float:none!important;width:100%!important;height:260px!important;
    overflow:auto;margin:0 0 12px;border:1px solid var(--border);border-radius:8px;padding:8px 10px}
  body.s7-page div#bar{display:none!important}
  body.s7-page div#data{float:none!important;width:100%!important;height:auto!important;
    overflow:visible}
  body.s7-page .page-title{font-size:21px}
  body.s7-page .s7-page-header{margin-bottom:18px}
  body.s7-page .s7-subnav{top:54px;margin-bottom:16px}
  body.s7-page th,body.s7-page td{padding:3px 5px!important}
  body.s7-page table{font-size:12px}
  body.s7-page input,body.s7-page select{font-size:11.5px!important}
}
@media(min-width:769px){.mobile-topbar{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .boot-bar span{animation:none;left:0;width:100%;opacity:.5}
  .boot-seal{animation:none}
  body.s7-page:not(.mhf-ready)::after{animation:none;border-top-color:var(--border);border-left-color:var(--accent)}
  .sidebar{transition:none}
}

/* 任务详情：主表 + 奖励表统一对齐 */
body[data-s7-rel^="quest/"] .quest-detail{background:var(--card-bg);border:1px solid var(--border);
  border-radius:10px;padding:14px;margin:0 0 18px;overflow-x:auto;box-shadow:var(--shadow-sm)}
body[data-s7-rel^="quest/"] .quest-detail>table.mei{width:100%!important;min-width:0;
  margin:0!important;table-layout:auto;clear:none;font-size:13px}
body[data-s7-rel^="quest/"] .quest-rewards{display:flex;flex-wrap:wrap;gap:10px;
  align-items:flex-start;justify-content:flex-start;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--border-soft)}
body[data-s7-rel^="quest/"] .quest-rewards table.s,
body[data-s7-rel^="quest/"] .quest-rewards table.S,
body[data-s7-rel^="quest/"] .quest-rewards table.sa{float:none!important;width:auto!important;
  min-width:9.3em;margin:0!important;flex:0 0 auto}
body[data-s7-rel^="quest/"] .quest-rewards table.h{float:none!important;width:auto!important;
  min-width:11.3em;margin:0!important;flex:0 0 auto}
body[data-s7-rel^="quest/"] .quest-rewards div.con{width:auto!important;min-width:9.8em;
  margin:0!important;border:1px solid var(--border)!important;border-radius:6px;padding:7px 9px;
  flex:0 1 auto;align-self:flex-start}
body[data-s7-rel^="quest/"] .quest-detail>table.mei td{padding:4px 5px!important}
body[data-s7-rel^="quest/"] .quest-detail>table.mei th{white-space:nowrap!important;padding:4px 5px!important}
body[data-s7-rel^="quest/"] .quest-detail>table.mei td:first-child{white-space:nowrap!important}
@media(max-width:768px){
  body[data-s7-rel^="quest/"] .quest-detail{padding:10px;margin-bottom:14px}
  body[data-s7-rel^="quest/"] .quest-detail>table.mei{min-width:820px}
  body[data-s7-rel^="quest/"] .quest-rewards{gap:7px;margin-top:9px;padding-top:9px}
  body[data-s7-rel^="quest/"] .quest-rewards table.s,
  body[data-s7-rel^="quest/"] .quest-rewards table.S,
  body[data-s7-rel^="quest/"] .quest-rewards table.sa,
  body[data-s7-rel^="quest/"] .quest-rewards table.h{min-width:118px}
}

/* 武器页：双栏用内部滚动；只有表格的轻弩/重弩用整页滚动 */
html.s7-weapon-split{height:100%!important;overflow:hidden!important}
html.s7-weapon-split body{height:auto!important;overflow:visible!important}
html.s7-weapon-split #tree,
html.s7-weapon-split #data{height:calc(100vh - 330px)!important;overflow:auto!important}
html.s7-weapon-split #bar{height:calc(100vh - 330px)!important}
html.s7-weapon-split .s7-table-scroll{width:auto!important;max-width:none!important;
  overflow:visible!important}
html.s7-weapon-split #data{cursor:grab}
html.s7-weapon-split #data.is-dragging{cursor:grabbing;user-select:none}
html.s7-weapon-list,html.s7-weapon-list body{height:auto!important;overflow:visible!important}
html.s7-weapon-list{scroll-behavior:auto!important}
html.s7-weapon-list table#gun{width:max-content!important;min-width:100%;table-layout:auto}
html.s7-weapon-list .s7-table-scroll{max-height:calc(100vh - 330px);overflow:auto!important;cursor:grab}
html.s7-weapon-list .s7-table-scroll.is-dragging{cursor:grabbing;user-select:none}
@media(max-width:900px){
  html.s7-weapon-list .s7-table-scroll{max-height:none;overflow-x:auto!important;
    overflow-y:visible!important}
  html.s7-weapon-split,html.s7-weapon-split body{height:auto!important;overflow:visible!important}
  html.s7-weapon-split #tree{float:none;width:auto!important;height:auto!important;max-height:38vh;overflow:auto!important}
  html.s7-weapon-split #data{float:none;width:auto!important;height:auto!important;overflow:visible!important}
  html.s7-weapon-split #bar{display:none}
}

/* 武器/防具主表：手机端在卡片内左右滑动 */
.s7-table-scroll{max-width:100%;width:100%;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.s7-table-scroll::-webkit-scrollbar{height:8px}
.s7-table-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
.s7-table-scroll>table{margin-left:0!important;margin-right:0!important}
.s7-table-scroll:focus{outline:none}

/* 防具页：回到顶部 */
.s7-backtop{position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:130;
  width:42px;height:42px;border-radius:50%!important;border:1px solid var(--border);
  background:var(--card-bg);color:var(--accent);font-size:20px;font-weight:700;line-height:1;
  cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.22);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s,visibility .2s,transform .2s,background-color .2s,color .2s}
.s7-backtop.show{opacity:1;visibility:visible;transform:translateY(0)}
.s7-backtop:hover{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:768px){.s7-backtop{right:14px;bottom:max(74px,calc(env(safe-area-inset-bottom) + 58px))}}

/* 防具页：树栏/数据栏固定视口高度，数据表在两轴内滚动 */
@media(min-width:901px){
  html.s7-armor-page #tree,
  html.s7-armor-page #data{height:calc(100vh - 330px)!important;overflow:auto!important}
  html.s7-armor-page .s7-table-scroll{width:auto!important;max-width:none!important;
    overflow:visible!important}
  html.s7-armor-page #data{cursor:grab}
  html.s7-armor-page #data.is-dragging{cursor:grabbing;user-select:none}
}

/* itemName.js 中不存在的道具：先隐藏链接，item-hide.js 再清理数量与整行/整格 */
a[data-item-missing]{display:none!important}
