:root{--bg:#f2f5f6;--fg:#12222a;--muted:#5d7280;--accent:#0f7f7a;--line:#dbe4e7;--card:#ffffff;--base:16px;--ratio:1.36;--lh:1.78;--hw:700;--ls:0.2px;--radius:10px;--bw:1px;--shadow:0 1px 2px rgba(0,0,0,.06);--cols:4;--gap:12px;--pad:12px;--imgr:4/3;}

*{box-sizing:border-box}
body.dx-body{margin:0;background:var(--bg);color:var(--fg);font-family:'Noto Serif SC', Georgia, 'Songti SC', serif;font-size:var(--base);line-height:var(--lh)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.dx-layout{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}
.dx-side{border-right:var(--bw) solid var(--line);background:var(--card);padding:calc(var(--pad)*1.2) var(--pad)}
.dx-mark{display:block;font-size:calc(var(--base)*1.2);font-weight:700;letter-spacing:var(--ls)}
.dx-mark-sub{margin:2px 0 16px;color:var(--muted);font-size:max(12px,calc(var(--base)*.74))}
.dx-menu h4{margin:14px 0 6px;color:var(--muted);font-size:max(12px,calc(var(--base)*.74));font-weight:500;text-transform:none}
.dx-menu ul{list-style:none;margin:0;padding:0}
.dx-menu li{border-bottom:1px dotted var(--line)}
.dx-menu a{display:flex;justify-content:space-between;padding:6px 0;font-size:max(12px,calc(var(--base)*.86))}
.dx-menu em{font-style:normal;color:var(--muted);font-size:max(12px,calc(var(--base)*.72))}
.dx-content{padding:calc(var(--pad)*1.2) calc(var(--pad)*1.6) calc(var(--pad)*3)}
h1{font-size:calc(var(--base)*var(--ratio)*1.25);font-weight:700;margin:0 0 10px}
.dx-alpha{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 calc(var(--pad)*1.2);padding:0;list-style:none}
.dx-alpha a{border:var(--bw) solid var(--line);border-radius:var(--radius);padding:3px 9px;font-size:max(12px,calc(var(--base)*.78));background:var(--card)}
.dx-note{color:var(--muted);margin:0 0 14px}
.dx-table{width:100%;border-collapse:collapse;font-size:max(12px,calc(var(--base)*.86));background:var(--card)}
.dx-table th,.dx-table td{border-bottom:var(--bw) solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.dx-table th{background:var(--bg);color:var(--muted);font-weight:500;white-space:nowrap}
.dx-table tr:hover td{background:var(--bg)}
.dx-dl{display:grid;grid-template-columns:110px 1fr;margin:0 0 16px;border-top:var(--bw) solid var(--line)}
.dx-dl dt{padding:7px 0;color:var(--muted);border-bottom:var(--bw) solid var(--line);font-size:max(12px,calc(var(--base)*.84))}
.dx-dl dd{padding:7px 0;margin:0;border-bottom:var(--bw) solid var(--line);font-size:max(12px,calc(var(--base)*.86))}
.dx-fig{margin:0 0 16px;aspect-ratio:var(--imgr);background:var(--line);border-radius:var(--radius);overflow:hidden;max-width:520px}
.dx-fig img{width:100%;height:100%;object-fit:cover}
.dx-prose p{margin:0 0 12px}
.dx-matrix{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin:0 0 calc(var(--pad)*1.4)}
.dx-cell{border:var(--bw) solid var(--line);border-radius:var(--radius);padding:8px;background:var(--card);font-size:max(12px,calc(var(--base)*.82))}
.dx-cell b{display:block;font-weight:600}.dx-cell em{font-style:normal;color:var(--muted);font-size:max(12px,calc(var(--base)*.72))}
.dx-pager{margin-top:calc(var(--pad)*1.2);display:flex;gap:6px;flex-wrap:wrap}
.dx-pager a,.dx-pager b{border:var(--bw) solid var(--line);padding:5px 10px;border-radius:var(--radius);background:var(--card);font-size:max(12px,calc(var(--base)*.82))}
.dx-pager b{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.dx-foot{display:flex;justify-content:space-between;gap:10px;padding:calc(var(--pad)*.9) calc(var(--pad)*1.6);border-top:var(--bw) solid var(--line);color:var(--muted);font-size:max(12px,calc(var(--base)*.74))}
@media(max-width:880px){.dx-layout{grid-template-columns:1fr}.dx-side{border-right:0;border-bottom:var(--bw) solid var(--line)}
.dx-table{font-size:max(12px,calc(var(--base)*.78))}}


@media(max-width:880px){
.dx-menu a{padding:10px 0}
.dx-alpha a{padding:8px 12px;display:inline-block}
.dx-pager a,.dx-pager b{padding:9px 12px;display:inline-block}
.dx-note a{display:inline-block;padding:4px 2px}
.dx-dl dt a{display:inline-block;padding:10px 0}
.dx-dl dd{padding:8px 0}
.dx-table th,.dx-table td{padding:9px 8px}
.dx-table td a{display:inline-block;padding:9px 0}
}
