:root{--ac:#8a4d73;--ac2:#6d3a5a;--ink:#1f2430;--mut:#5f6673;--line:#e8e2e6;--bg:#fbf8fa;--card:#fff}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;overflow-wrap:break-word;word-wrap:break-word}
a{color:var(--ac)}
a:hover{color:var(--ac2)}
img,video,iframe{max-width:min(100%,600px);height:auto}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;padding-top:14px;padding-bottom:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--ac);color:#fff;font-weight:800;font-size:22px}
.logo-text{font-weight:800;font-size:24px;line-height:1.1}
.logo-text small{display:block;font-weight:400;font-size:13px;color:var(--mut)}
.nav{display:flex;flex-wrap:wrap;gap:4px 16px;padding-bottom:12px;font-size:15px}
.nav a{text-decoration:none;color:var(--mut);white-space:nowrap}
.nav a:hover{color:var(--ac)}
main.wrap{padding-top:18px;padding-bottom:40px}
.crumbs{font-size:14px;color:var(--mut);margin:0 0 12px}
.crumbs a{color:var(--mut)}
.crumbs .sep{margin:0 4px}
h1{font-size:clamp(26px,4.2vw,38px);line-height:1.2;margin:.2em 0 .5em}
h2{font-size:clamp(21px,3vw,27px);line-height:1.3;margin:1.6em 0 .6em}
h3{font-size:20px;line-height:1.35;margin:1.4em 0 .5em}
h4{font-size:18px;margin:1.2em 0 .4em}
.post{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 28px;max-width:820px}
.meta{color:var(--mut);font-size:14px;margin:-.3em 0 1.2em}
.meta a{color:var(--mut)}
.lead{font-size:18px;color:#3a404c}
.content{overflow-wrap:anywhere}
.content p,.content li{margin:0 0 .9em}
.content ul,.content ol{padding-left:1.3em}
.content blockquote{margin:1.2em 0;padding:10px 16px;border-left:4px solid var(--ac);background:#f8f1f5;border-radius:0 10px 10px 0}
.content .sep{text-align:center;color:var(--mut);letter-spacing:.3em}
.tbl{overflow-x:auto;margin:1em 0;-webkit-overflow-scrolling:touch}
.tbl table{border-collapse:collapse;min-width:100%;font-size:15px}
.tbl th,.tbl td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.tbl th{background:#f6eff3}
.rel{max-width:820px;margin-top:28px}
.rel-title,.home-sec h2{font-size:22px;font-weight:700;margin:0 0 12px}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.cards .card{min-width:0;overflow-wrap:anywhere;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.cards .card a{font-weight:700;text-decoration:none;font-size:17px;line-height:1.35}
.cards .card p{margin:.4em 0 0;color:var(--mut);font-size:15px;line-height:1.5}
.home-sec{margin:30px 0}
.cat-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.cat-grid li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.cat-grid a{font-weight:700;text-decoration:none;font-size:18px}
.cat-grid p{margin:.3em 0;color:var(--mut);font-size:15px;line-height:1.45}
.cat-grid .cnt{font-size:13px;color:var(--mut)}
.links{margin:0;padding-left:1.2em;columns:2;column-gap:32px}
.links li{margin:0 0 .5em;break-inside:avoid}
.more{margin:.6em 0 0;font-size:15px}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0}
.pager a,.pager span{display:inline-block;min-width:38px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;text-align:center;background:#fff;text-decoration:none}
.pager .cur{background:var(--ac);border-color:var(--ac);color:#fff}
.site-footer{background:#fff;border-top:1px solid var(--line);color:var(--mut);font-size:14px;padding:18px 0 26px}
.f-cats{display:flex;flex-wrap:wrap;gap:4px 14px}
.f-cats a{color:var(--mut)}
@media (min-width:900px){.cards-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:640px){body{font-size:16px}.post{padding:16px;border-radius:12px}.links{columns:1}.nav{font-size:14px;gap:4px 12px}.logo-text{font-size:21px}}
