@font-face { font-family:"KyMon Extension Serif"; src:url("/fonts/kymon-extension-serif-v01010.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; unicode-range:U+2E80-10FFFF; }
.extension-panel, .extension-palace, .extension-matrix button { font-family:var(--sans),"KyMon Source Serif","KyMon Extension Serif",serif; overflow-wrap:anywhere; }
.extension-panel { grid-template-columns:minmax(0,1fr); min-width:0; }
.extension-panel > * { min-width:0; max-width:100%; }
.extension-notice { padding:14px 16px; border-left:3px solid var(--gold, #c99c44); background:rgba(201,156,68,.08); line-height:1.7; }
.extension-card { padding:16px; margin:12px 0; border:1px solid rgba(201,156,68,.24); border-radius:8px; min-width:0; }
.extension-card h4 { margin:0 0 10px; }
.extension-card p, .extension-card li { line-height:1.7; }
.extension-card a, .extension-panel a { display:block; overflow-wrap:anywhere; }
.extension-panel details { padding:12px 0; }
.extension-panel summary { cursor:pointer; line-height:1.6; }
.extension-panel ul { padding-left:22px; }
.extension-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:14px 0; }
.extension-toolbar .check-field { margin:0; }
.extension-badge { display:block; width:100%; padding:5px; margin-top:6px; border:1px solid rgba(133,187,174,.55); color:#bedfd5; font-size:12px; line-height:1.5; border-radius:4px; white-space:normal; }
.extension-palace { margin-top:20px; }
.extension-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; }
.extension-grid .extension-card { margin:0; }
.extension-matrix { overflow-x:auto; max-width:100%; margin:16px 0; }
.extension-matrix table { width:100%; min-width:690px; border-collapse:collapse; font-size:13px; }
.extension-matrix caption { padding:10px; text-align:left; }
.extension-matrix th, .extension-matrix td { padding:4px; text-align:center; border:1px solid rgba(201,156,68,.2); }
.stem-cell { width:100%; min-height:38px; border:1px solid transparent; border-radius:3px; cursor:pointer; font:inherit; }
.stem-existing_rule { color:#d5e6df; background:#243a32; }
.stem-reference_only { color:#f8e5b5; background:#483c23; }
.stem-unverified { color:#dadada; background:#333; }
.stem-cell[aria-pressed=true] { outline:2px solid #f8dc95; outline-offset:1px; }
.stem-cell:focus-visible { outline:3px solid #fff; }
.extension-shensha-list { columns:3 180px; }
.extension-shensha-list li { break-inside:avoid; padding:4px 0; }
#extensionCalendarStrip button { font-size:13px; text-align:left; margin-bottom:10px; white-space:normal; }
#extensionStemDetail { scroll-margin-top:90px; }
.source-han { font-family:"KyMon Source Serif","KyMon Extension Serif",serif; font-size:17px; }
@media(max-width:600px) { .extension-card { padding:12px; } .extension-grid { grid-template-columns:1fr; } }
