
:root{
  --bg:#f7f3ed; --panel:#fffaf2; --card:#ffffff; --ink:#243128; --muted:#667267;
  --line:#e4dacd; --accent:#2f6b4f; --accent-2:#e9f2ec; --shadow:0 10px 30px rgba(40,35,25,.08);
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",Arial,sans-serif;line-height:1.45}
.site-header{padding:24px clamp(16px,4vw,42px);background:linear-gradient(135deg,#fffaf2,#e8f1ea);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:16px;max-width:1180px;margin:auto}.mark{width:54px;height:54px;border-radius:18px;background:var(--accent);color:white;display:grid;place-items:center;font-size:28px;font-weight:800}h1{margin:0;font-size:clamp(1.45rem,3vw,2.35rem)}.brand p{margin:.25rem 0 0;color:var(--muted)}
.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;max-width:1180px;margin:22px auto;padding:0 18px}.panel{position:sticky;top:14px;align-self:start;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.label,.filter-title{font-weight:750;display:block;margin-bottom:8px}.search-row{display:flex;gap:8px}input[type=search]{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;font-size:1rem;background:white}button{border:0;border-radius:14px;padding:10px 14px;background:var(--accent);color:white;font-weight:700;cursor:pointer}button:hover{filter:brightness(.97)}#clearSearch{font-size:1.2rem;min-width:44px}.secondary{background:var(--accent-2);color:var(--accent);border:1px solid #c8ddcf}.hint{font-size:.9rem;color:var(--muted);margin:12px 0 18px}.letter-bar{display:flex;flex-wrap:wrap;gap:7px}.letter-button{background:white;color:var(--accent);border:1px solid var(--line);padding:8px 10px;border-radius:12px}.letter-button.active{background:var(--accent);color:white;border-color:var(--accent)}.content{min-width:0}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.active-filter{color:var(--muted);margin-left:8px}.entries{display:grid;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.headword{font-size:1.45rem;font-weight:850;color:var(--accent);word-break:break-word}.pos{display:inline-flex;background:#f1eee7;color:#4d594f;border-radius:999px;padding:3px 9px;font-size:.82rem;margin-left:6px}.definition{font-size:1.05rem;margin:8px 0;color:#28372d}.meta{color:var(--muted);font-size:.9rem}.media{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.audio-btn,.image-btn{background:var(--accent-2);color:var(--accent);border:1px solid #c8ddcf}.image-thumb{width:52px;height:52px;object-fit:cover;border-radius:13px;border:1px solid var(--line);vertical-align:middle;margin-right:6px}.entry-full{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}.entry-full audio{max-width:100%;height:30px}.entry-full .CmFile{display:none}details summary{cursor:pointer;color:var(--accent);font-weight:750;margin-top:10px}.empty-state{background:white;border:1px dashed var(--line);border-radius:18px;padding:28px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:22px;padding:16px;max-width:min(92vw,800px);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.45)}#dialogImage{display:block;max-width:100%;max-height:80vh;border-radius:16px}.close-dialog{position:absolute;right:8px;top:8px;border-radius:999px;min-width:38px}.footer{text-align:center;color:var(--muted);font-size:.9rem;padding:28px}
mark{background:#fff2a8;border-radius:4px;padding:0 2px}
@media (max-width:820px){.layout{grid-template-columns:1fr}.panel{position:static}.toolbar{align-items:flex-start;flex-direction:column}.card-head{display:block}.site-header{padding-top:18px}.brand{align-items:flex-start}.mark{width:46px;height:46px;border-radius:15px}}
