:root{--bg:#fff;--fg:#151515;--mut:#666;--card:#f5f5f4;--ac:#c0392b;--bd:#e3e3e3}
[data-theme=dark]{--bg:#111214;--fg:#ececec;--mut:#9a9a9a;--card:#1c1d20;--ac:#ff6b5b;--bd:#2c2d31}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:inherit}header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--bd);z-index:9}
.bar{display:flex;align-items:center;gap:.6rem;max-width:1100px;margin:auto;padding:.6rem 1rem}.logo{display:flex;text-decoration:none;color:var(--fg)}.logo img{height:40px;width:auto}[data-theme=dark] .logo img{filter:invert(1) hue-rotate(180deg)}
.sp{flex:1}button,input{font:inherit;color:inherit;background:var(--card);border:1px solid var(--bd);border-radius:8px;padding:.35rem .6rem}
nav{display:flex;gap:1rem;overflow-x:auto;max-width:1100px;margin:auto;padding:0 1rem .5rem;white-space:nowrap;font-size:.92rem}nav a{text-decoration:none;color:var(--mut)}nav a.on,nav a:hover{color:var(--ac)}
main{max-width:1100px;margin:auto;padding:1rem}.grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--card);border-radius:12px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#333}.card div{padding:.8rem 1rem 1rem}.card h3{margin:.2rem 0 .4rem;font:700 1.12rem/1.3 Georgia,serif}.card p{margin:0;color:var(--mut);font-size:.93rem}
.lead{grid-column:1/-1}@media(min-width:760px){.lead{flex-direction:row}.lead img{width:60%}.lead h3{font-size:1.7rem}}
.k{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ac);font-weight:700;text-decoration:none}.m{color:var(--mut);font-size:.85rem}
article{max-width:720px;margin:auto}article h1{font:700 2rem/1.2 Georgia,serif;margin:.3rem 0}.dek{font-size:1.15rem;color:var(--mut)}article .body{font-size:1.08rem}article .body h2{font-family:Georgia,serif}
figure{margin:1rem 0}figure img{width:100%;border-radius:10px}figcaption{font-size:.8rem;color:var(--mut)}
.src{background:var(--card);border-radius:10px;padding:1rem 1.2rem}.src li{margin:.3rem 0}.tags a{display:inline-block;margin:.2rem;padding:.1rem .6rem;border:1px solid var(--bd);border-radius:99px;font-size:.8rem;text-decoration:none}
.note{font-size:.85rem;color:var(--mut);border-left:3px solid var(--ac);padding-left:.8rem}.ad{margin:1.5rem 0;min-height:100px;text-align:center}
footer{border-top:1px solid var(--bd);margin-top:2rem;padding:1.5rem 1rem;text-align:center;color:var(--mut);font-size:.9rem}footer a{margin:0 .5rem}