:root { --armor-black:#090806; --armor-gold:#d0aa55; --armor-gold-light:#f0d487; --armor-paper:#eee5d0; --armor-paper-dark:#d8cbb0; --armor-red:#7e261e; }

.armor-page-body { margin:0; color:#211b13; background-color:#070503; }
.armor-page-main { width:min(1500px, calc(100% - 24px)); min-height:calc(100vh - 130px); margin:0 auto; padding:38px 0 70px; }
.armor-frame { padding:14px; }
.armor-frame .breadcrumb { background:rgba(8,7,5,.88); }
.armor-frame .armor-catalog { overflow:hidden; border-radius:0 0 9px 9px; }
.armor-guide-content { padding:clamp(14px,2vw,24px); }
.armor-guide-categories a { display:grid; grid-template-columns:30px 1fr; grid-template-rows:auto auto; gap:2px 12px; align-items:center; padding:12px 10px; border:1px solid rgba(181,132,48,.7); border-radius:10px; color:#cdbd9f; background:linear-gradient(105deg,rgba(48,25,9,.9),rgba(15,12,9,.9)); text-align:left; text-decoration:none; box-shadow:inset 0 1px rgba(255,220,142,.08); }
.armor-guide-categories a>span { grid-row:1/3; color:#c98d28; font-family:Georgia,serif; font-size:1.05rem; }
.armor-guide-categories a b { color:#f3dab0; font-size:1rem; }
.armor-guide-categories a small { color:#9f917a; font-size:.74rem; }
.armor-guide-categories a:hover, .armor-guide-categories a:focus-visible, .armor-guide-categories a.active { border-color:#e0ac4d; background:linear-gradient(105deg,rgba(111,42,12,.92),rgba(32,17,9,.92)); box-shadow:inset 0 -3px #c9821f,0 7px 18px rgba(0,0,0,.34); }
.armor-catalog { color:#211b13; background:#e9dfc9; border:1px solid #4a3618; font:14px/1.55 "PMingLiU", "新細明體", "MingLiU", serif; }
.armor-catalog *, .armor-catalog *::before, .armor-catalog *::after { box-sizing:border-box; }
.armor-catalog button, .armor-catalog input, .armor-catalog select { font:inherit; }
.armor-catalog button { cursor:pointer; }

.armor-catalog-heading { display:none; min-height:126px; padding:24px 32px; color:#fff6d5; background:radial-gradient(circle at 82% 50%,rgba(194,145,53,.2),transparent 35%),linear-gradient(115deg,#080705,#21180d 65%,#0b0906); border-bottom:3px solid var(--armor-gold); }
.armor-catalog-heading p { margin:0 0 7px; color:var(--armor-gold); letter-spacing:.25em; font-size:11px; font-weight:bold; }
.armor-catalog-heading h1 { margin:0; color:#fff4cf; font-size:clamp(28px,3.2vw,44px); letter-spacing:.08em; text-shadow:0 3px 0 #000,0 0 18px rgba(208,170,85,.2); }
.armor-catalog-heading span { display:block; margin-top:9px; color:#cbbd9d; }

.armor-intro-panel { display:grid; grid-template-columns:160px 160px 190px 1fr; margin:24px 24px 22px; border:1px solid #95743a; background:#f8f2e4; box-shadow:0 3px 12px rgba(30,20,8,.15); }
.armor-intro-panel>div { min-height:88px; padding:14px 18px; border-right:1px solid #c3ac76; display:grid; grid-template-columns:auto 1fr; align-items:end; column-gap:8px; }
.armor-intro-panel>div>span { grid-column:1/-1; font-size:11px; color:#756341; }
.armor-intro-panel strong { font-size:28px; color:#5a3514; }
.armor-intro-panel small { padding-bottom:4px; color:#77684d; }
.armor-intro-panel>p { margin:0; align-self:center; padding:16px 20px; color:#62543c; line-height:1.8; font-size:12px; }
.armor-intro-panel code { color:var(--armor-red); }

.armor-category-index { margin:0 24px 20px; padding:13px 14px 17px; border:1px solid #9f7a37; background:#ddd0b4; text-align:center; }
.armor-category-index h2 { margin:0 0 13px; color:#2c2113; font-size:14px; }
.armor-category-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; }
.armor-category-links button { margin:4px 0; padding:2px 10px; border:0; border-right:1px solid #8b6c35; color:#6f2619; background:transparent; font-weight:bold; line-height:1.1; }
.armor-category-links button:hover, .armor-category-links button.active { color:#c13c21; text-decoration:underline; }
.armor-category-links b { display:inline-block; min-width:18px; color:#786a50; font-size:10px; font-weight:normal; }

.armor-search-panel { position:sticky; top:66px; z-index:4; display:flex; align-items:end; gap:12px; margin:0 24px; padding:12px 14px; border:1px solid #b08a42; background:#21180d; box-shadow:0 5px 14px rgba(20,12,4,.3); }
.armor-search-panel label { display:grid; gap:5px; color:#dcc58f; font-size:11px; }
.armor-search-panel label:first-child { position:relative; flex:1; }
.armor-search-panel input, .armor-search-panel select { min-height:36px; padding:7px 10px; border:1px solid #8e713c; color:#211b13; background:#fffaf0; outline:none; }
.armor-search-panel input:focus, .armor-search-panel select:focus { border-color:#e0bb65; box-shadow:0 0 0 2px rgba(224,187,101,.2); }
.armor-search-panel label:first-child button { position:absolute; right:6px; bottom:6px; height:25px; border:0; color:#674f29; background:#e4d8bd; font-size:11px; }
.armor-search-panel>strong { margin-left:auto; padding:10px 6px; color:#f0d487; white-space:nowrap; }

[data-armor-results] { padding:0 24px 34px; }
.armor-section { margin-top:27px; scroll-margin-top:125px; }
.armor-section-title { min-height:64px; display:flex; align-items:center; padding:8px 13px; border:1px solid #a37e39; color:#f3deb0; background:linear-gradient(90deg,#271c0e,#4a361a); }
.armor-section-emblem { width:34px; height:34px; display:grid; place-items:center; margin-right:10px; border:1px solid #a9843e; color:#deb963; transform:rotate(45deg); }
.armor-section-title h2 { margin:0; color:#ffe5a3; font-size:17px; }
.armor-section-title div>span { color:#ad9870; font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.armor-section-title>b { margin-left:auto; color:#e3c878; font-size:12px; }
.armor-table-scroller { overflow-x:auto; border:1px solid #92713a; border-top:0; }
.armor-catalog table { width:100%; min-width:1120px; border-collapse:separate; border-spacing:0; table-layout:fixed; background:#efe6d2; font-size:12px; }
.armor-catalog th, .armor-catalog td { border-right:1px solid #f8f1e1; border-bottom:1px solid #f8f1e1; }
.armor-catalog th:last-child, .armor-catalog td:last-child { border-right:0; }
.armor-catalog thead th { padding:10px 6px; color:#21170b; background:#b99a5c; text-align:left; font-weight:bold; }
.armor-catalog thead th:nth-child(1) { width:58px; text-align:center; }
.armor-catalog thead th:nth-child(2) { width:190px; }
.armor-catalog thead th:nth-child(3) { width:64px; text-align:center; }
.armor-catalog thead th:nth-child(4) { width:72px; text-align:center; }
.armor-catalog thead th:nth-child(5) { width:78px; text-align:center; }
.armor-catalog thead th:nth-child(6) { width:58px; text-align:center; }
.armor-catalog thead th:nth-child(7) { width:150px; }
.armor-catalog thead th:nth-child(8) { width:260px; }
.armor-catalog thead th:nth-child(9) { width:130px; }
.armor-catalog tbody tr:nth-child(odd) td { background:#e5dac3; }
.armor-catalog tbody tr:nth-child(even) td { background:#d7c9aa; }
.armor-catalog tbody tr:hover td { background:#fff1c3; }
.armor-catalog td { padding:8px 7px; vertical-align:middle; line-height:1.55; }
.armor-catalog td:nth-child(3), .armor-catalog td:nth-child(4), .armor-catalog td:nth-child(5), .armor-catalog td:nth-child(6) { text-align:center; }
.armor-image-cell { width:58px; padding:2px!important; text-align:center; background:#000!important; }
.armor-item-image { width:48px; height:48px; display:grid; place-items:center; margin:auto; overflow:hidden; background:#000; }
.armor-item-image img { display:block; width:48px; height:48px; object-fit:contain; image-rendering:crisp-edges; image-rendering:pixelated; }
.armor-missing-icon { color:#735d33; font:bold 22px serif; }
.armor-name-cell strong { display:block; color:#6e2517; font-size:13px; }
.armor-name-cell span { display:block; margin-top:2px; color:#766b59; font:9px/1.45 monospace; }
.armor-defense-cell b { color:#771d16; font-size:16px; }
.armor-safe-cell { color:#d95700; font-weight:bold; }
.armor-class-cell { color:#3c2c19; font-size:11px; white-space:nowrap; }
.armor-bonus-cell span { display:inline-block; margin:2px 6px 2px 0; color:#343027; }
.armor-bonus-cell em { color:#817864; font-style:normal; }
.armor-limit-cell b, .armor-limit-cell span { display:block; }
.armor-limit-cell b { color:#563d1c; }
.armor-limit-cell span { color:#8a2d1d; font-size:10px; }
.armor-status-box, .armor-loading { padding:80px 20px; margin:20px 24px; border:1px solid #a98b53; color:#6d5c3d; background:#f8f2e4; text-align:center; }

.armor-page-footer { width:min(1500px, calc(100% - 24px)); margin:auto; padding:26px 28px 40px; border-top:1px solid #a47b36; color:#a79573; background:#1b140c; text-align:center; font:11px/1.7 "PMingLiU", "新細明體", "MingLiU", serif; }
.armor-page-footer strong { display:block; color:#e6c775; font-size:14px; }
.armor-page-footer p { margin:8px 0 0; }

@media(max-width:800px) {
  .armor-page-main { width:100%; padding-top:14px; }
  .armor-catalog-heading { min-height:112px; padding:20px; }
  .armor-intro-panel { grid-template-columns:repeat(3,1fr); margin:14px 10px 18px; }
  .armor-intro-panel>div { min-height:76px; padding:10px; }
  .armor-intro-panel>p { grid-column:1/-1; border-top:1px solid #c3ac76; }
  .armor-category-index { margin-inline:10px; }
  .armor-search-panel { top:66px; flex-wrap:wrap; margin-inline:10px; }
  .armor-search-panel label:first-child { flex-basis:100%; }
  .armor-search-panel .armor-sort-control { flex:1; }
  .armor-search-panel select { width:100%; }
  [data-armor-results] { padding-inline:10px; }
  .armor-page-footer { width:100%; }
}

@media(max-width:480px) {
  .armor-catalog-heading h1 { font-size:26px; letter-spacing:.03em; }
  .armor-intro-panel strong { font-size:22px; }
  .armor-intro-panel small { font-size:9px; }
  .armor-category-links { justify-content:flex-start; }
}

@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
