:root { --ink:#163c36; --ink-soft:#53736c; --paper:#f7f1e5; --paper-deep:#ede2ce; --card:#fffdf8; --seal:#c95538; --line:#ddd0bb; --shadow:0 18px 45px rgba(43,55,45,.12); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:radial-gradient(circle at 85% 0, #e9d4ad 0, transparent 28rem),var(--paper); font:16px/1.7 "Noto Serif SC","Songti SC",STSong,serif; }
a { color:inherit; text-decoration:none; }
.site-shell { width:min(1080px,calc(100% - 32px)); margin:auto; }
.masthead { display:flex; justify-content:space-between; align-items:center; padding:28px 0; border-bottom:1px solid rgba(22,60,54,.14); }
.brand { font-size:1.35rem; font-weight:700; letter-spacing:.18em; }.brand-mark { color:var(--seal); margin-right:.3em; }.home-link { color:var(--ink-soft); font-size:.92rem; }
.hero { padding:76px 0 62px; text-align:center; }.eyebrow { margin:0 0 10px; color:var(--seal); letter-spacing:.22em; font-size:.76rem; }.hero h1,.entry-title { margin:0; font-size:clamp(2.25rem,7vw,4.9rem); line-height:1.14; letter-spacing:.08em; }.hero-copy { max-width:36rem; margin:20px auto 30px; color:var(--ink-soft); }
.search-form { display:grid; grid-template-columns:1fr auto; gap:10px; max-width:660px; margin:auto; padding:8px; background:var(--card); border:1px solid var(--line); border-radius:15px; box-shadow:var(--shadow); }.search-form input { min-width:0; padding:13px 17px; border:0; outline:0; font:inherit; font-size:1.1rem; color:var(--ink); background:transparent; }.search-form button { padding:12px 28px; border:0; border-radius:10px; color:#fff; background:var(--ink); font:inherit; cursor:pointer; }.search-form button:hover { background:var(--seal); }.search-message { min-height:1.7em; margin:14px 0 0; color:var(--seal); }
.ad-slot { max-width:660px; margin:14px auto 0; }.text-ad-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.text-ad { display:flex; align-items:center; justify-content:center; min-height:42px; padding:8px 14px; border:1px solid var(--line); border-radius:10px; background:rgba(255,253,248,.76); color:var(--ink); font-size:.93rem; letter-spacing:.04em; transition:.18s ease; }.text-ad::before { margin-right:.45em; color:var(--seal); content:'荐'; font-size:.75em; }.text-ad:hover { border-color:var(--seal); color:#fff; background:var(--seal); transform:translateY(-1px); }.text-ad:hover::before { color:#fff4dc; }
.recent-section { margin-top:-8px; padding:0 0 78px; }.section-heading { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:15px; }.section-heading h2 { margin:0; font-size:1.16rem; }.section-heading span,.recent-empty { color:var(--ink-soft); font-size:.88rem; }.directory-refresh { padding:0; border:0; color:var(--ink-soft); background:transparent; font:inherit; font-size:.88rem; cursor:pointer; }.directory-refresh:hover { color:var(--seal); }.recent-list { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }.character-chip { display:grid; width:44px; height:44px; place-items:center; border:1px solid var(--line); border-radius:10px; background:rgba(255,253,248,.75); font-size:1.2rem; transition:.18s ease; }.character-chip:hover { transform:translateY(-2px); color:#fff; border-color:var(--seal); background:var(--seal); }
.entry-layout { padding:58px 0 42px; }.entry-hero { display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center; padding-bottom:38px; }.entry-character { display:grid; width:120px; height:120px; place-items:center; border:1px solid var(--line); border-radius:22px; color:var(--seal); background:var(--card); box-shadow:var(--shadow); font-size:4.4rem; }.entry-subtitle { margin:10px 0 0; color:var(--ink-soft); }.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:22px; }.info-card,.definition-card { background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:0 8px 28px rgba(43,55,45,.06); }.info-card { display:flex; min-height:104px; margin:0; padding:16px; flex-direction:column; justify-content:center; }.info-card dt { color:var(--ink-soft); font-size:.82rem; }.info-card dd { margin:5px 0 0; font-size:1.15rem; overflow-wrap:anywhere; }.definition-card { margin-top:20px; padding:26px; }.definition-card h2 { margin:0 0 16px; font-size:1.3rem; }.definition-text { color:#274b45; white-space:pre-wrap; overflow-wrap:anywhere; }.definition-text p { margin:0 0 12px; }.definition-text p:first-child { font-weight:700; color:var(--ink); }.random-section { padding:0 0 42px; }.random-section .section-heading { margin-bottom:14px; }.footer { padding:24px 0; color:var(--ink-soft); text-align:center; font-size:.82rem; border-top:1px solid rgba(22,60,54,.14); }
@media (max-width:680px) { .masthead { padding:20px 0; }.hero { padding:55px 0 38px; }.search-form { grid-template-columns:1fr; }.search-form button { min-height:50px; }.entry-layout { padding-top:38px; }.entry-hero { grid-template-columns:1fr; gap:16px; }.entry-character { width:92px; height:92px; font-size:3.2rem; }.info-grid { grid-template-columns:repeat(2,1fr); }.definition-card { padding:20px; } }
@media (max-width:390px) { .text-ad-row { gap:7px; }.text-ad { padding:8px 6px; font-size:.84rem; } }
