:root{--bg:#fff5f8;--card-bg:#ffffff;--text:#333;--text-light:#666;--accent:#ff69b4;--border:#ffd1e8;--header-bg:#ff69b4;}body.dark{--bg:#1a0d12;--card-bg:#2a1a22;--text:#f0e0e8;--text-light:#c0a0b0;--accent:#ff8ac4;--border:#4a2a3a;--header-bg:#c03a7a;}*{margin:0;padding:0;box-sizing:border-box;}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;}header{background:var(--header-bg);padding:0.8rem 1rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;}.site-title{font-size:1.5rem;font-weight:bold;color:#fff;text-decoration:none;}nav a{color:#fff;margin:0 0.8rem;text-decoration:none;}.theme-toggle{background:rgba(255,255,255,0.25);border:none;color:white;padding:0.45rem 0.9rem;border-radius:999px;cursor:pointer;}.container{max-width:1100px;margin:1.5rem auto;padding:0 1rem;position:relative;}.page-title{font-size:1.6rem;color:var(--accent);margin-bottom:1.2rem;font-weight:600;}.update-date{font-size:0.85rem;color:var(--text-light);margin-left:0.8rem;font-weight:normal;}.latest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.2rem;}.latest-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;gap:1rem;align-items:flex-start;}.latest-card-cover{width:90px;flex-shrink:0;aspect-ratio:2/3;object-fit:cover;border-radius:8px;display:block;}.latest-card-body{flex:1;min-width:0;}.latest-title a{color:var(--accent);font-size:1.05rem;font-weight:600;text-decoration:none;}.latest-excerpt{margin:0.6rem 0;font-size:0.95rem;color:var(--text);}.latest-meta{font-size:0.85rem;color:var(--text-light);}.floating-pagination{position:fixed;top:50%;transform:translateY(-50%);width:50px;height:50px;background:var(--card-bg);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:999;color:var(--accent);font-size:1.2rem;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,0.1);display:flex;}.floating-pagination:hover{background:var(--accent);color:#fff;border-color:var(--accent);}.floating-prev{left:20px;}.floating-next{right:20px;}.pagination{display:flex;justify-content:center;gap:0.4rem;margin-top:2.5rem;flex-wrap:wrap;}.pagination a,.pagination span{padding:0.45rem 0.75rem;border:1px solid var(--border);border-radius:6px;text-decoration:none;font-size:0.9rem;color:var(--text);}.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent);}.pagination a:hover{background:var(--accent);color:#fff;}@media (max-width:600px){.latest-grid{grid-template-columns:1fr;}.floating-pagination{display:none !important;}}.pagination ul{display:flex;justify-content:center;gap:0.4rem;margin-top:2.5rem;flex-wrap:wrap;list-style:none;padding:0;}.pagination li{display:inline-block;}.pagination a,.pagination span{padding:0.45rem 0.75rem;border:1px solid var(--border);border-radius:6px;text-decoration:none;font-size:0.9rem;color:var(--text);}.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent);}.pagination a:hover{background:var(--accent);color:#fff;}.latest-meta a{text-decoration:none;color:var(--text-light);}

/* XS Pro latest cards: fixed rows keep long summaries from stretching the grid. */
.latest-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));}
.latest-card{height:216px;min-width:0;align-items:stretch;overflow:hidden;}
.latest-card-cover-link{flex:0 0 90px;align-self:flex-start;display:block;}
.latest-card-body{display:flex;flex-direction:column;min-height:0;}
.latest-title{flex-shrink:0;font-size:1.05rem;line-height:1.35;}
.latest-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.7em;overflow:hidden;overflow-wrap:anywhere;line-height:inherit;}
.latest-excerpt{flex-shrink:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.35em;overflow:hidden;overflow-wrap:anywhere;line-height:1.45;}
.latest-meta{margin-top:auto;flex-shrink:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.8em;overflow:hidden;overflow-wrap:anywhere;line-height:1.4;}
@media (max-width:600px){
.latest-card{height:196px;padding:.75rem;gap:.75rem;}
.latest-card-cover-link{flex-basis:72px;}
.latest-card-cover{width:72px;}
.latest-title,.latest-title a{font-size:1rem;}
.latest-excerpt{font-size:.875rem;margin:.4rem 0;}
.latest-meta{font-size:.75rem;}
}
