:root { --ax-font: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial; --ax-text:#111827; --ax-muted:#6b7280; --ax-border:#e5e7eb; --ax-surface:#ffffff; --ax-link:#0ea5e9; }
*{ box-sizing:border-box; } body{ margin:0; font-family:var(--ax-font); background:#ffffff; color:var(--ax-text); }
a{ color:var(--ax-link); }
.container{ max-width:1200px; margin:0 auto; padding:0 20px; }
.site-header{ position:sticky; top:0; z-index:10; background:#ffffff; border-bottom:1px solid var(--ax-border); }
.site-header-row{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.site-title{ font-weight:800; text-decoration:none; color:var(--ax-text); }
.ax-card{ background: var(--ax-surface); border:1px solid var(--ax-border); border-radius:14px; padding:16px; }
.ax-grid{ display:grid; gap:18px; }
.ax-grid-4{ grid-template-columns:1fr; }
@media (min-width:640px){ .ax-grid-4{ grid-template-columns:repeat(2,1fr);} }
@media (min-width:992px){ .ax-grid-4{ grid-template-columns:repeat(4,300px); justify-content:center;} }
.ax-tile300{ width:300px; padding:0; overflow:hidden; }
.ax-tile300-media{ width:100%; height:300px; overflow:hidden; border-bottom:1px solid var(--ax-border); }
.ax-tile300-img{ width:100%; height:100%; object-fit:cover; display:block; }
.ax-titlebox{ padding:12px; }
.ax-stack-title, .ax-stack-title a{ font-weight:700; font-size:20px; line-height:1.35; color:var(--ax-text); text-decoration:none; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.ax-article-title{ font-size:32px; margin:8px 0 4px; }
.ax-article-meta{ color:var(--ax-muted); margin:0 0 12px; }
.ax-table { width:100%; border-collapse:collapse; } .ax-table th,.ax-table td{ border-bottom:1px solid var(--ax-border); padding:10px; text-align:left; }
.ax-form .ax-field{ margin:10px 0; display:flex; flex-direction:column; gap:6px; }
.ax-form input, .ax-form textarea, .ax-form select{ background:#fff; border:1px solid var(--ax-border); border-radius:10px; padding:10px; color:var(--ax-text); }
.ax-cta{ background:#111827; color:white; border:0; border-radius:10px; padding:10px 14px; cursor:pointer; }
.nav-primary .menu{ list-style:none; display:flex; gap:10px; padding:0; margin:0; }
.nav-primary a{ text-decoration:none; color:var(--ax-text); padding:8px 12px; border-radius:8px; border:1px solid transparent; }
.nav-primary a:hover{ border-color:var(--ax-border); background:#f9fafb; }
.ax-ad-block{ border:1px dashed var(--ax-border); padding:12px; margin:16px 0; border-radius:12px; text-align:center; }
