:root{--red:#d4101f;--ink:#1a0a0a;--muted:#6b665f;--bg:#faf6f2;--card:#fff;--line:#eee3da}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ink:#f5efe9;--muted:#b4aaa2;--bg:#131011;--card:#1d191a;--line:#332b2c}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--red)}img,svg{max-width:100%;height:auto}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .in{max-width:1120px;margin:auto;padding:12px 16px;display:flex;align-items:center;gap:14px}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--ink);text-decoration:none;font-size:19px}.logo i{width:26px;height:26px;border-radius:8px;background:var(--red);display:grid;place-items:center}.logo i:after{content:"";width:9px;height:9px;border-radius:50%;background:#fff}
.top nav{margin-left:auto;display:flex;gap:16px;font-size:14.5px;font-weight:700}.top nav a{color:var(--ink);text-decoration:none}
.cta{background:var(--red);color:#fff!important;padding:8px 14px;border-radius:999px}
.wrap{max-width:1120px;margin:auto;padding:0 16px}
.hero{padding:46px 0 18px;text-align:center}.hero h1{font-size:clamp(30px,5vw,50px);line-height:1.08;letter-spacing:-.03em;margin:0 0 10px}.hero p{color:var(--muted);margin:0 auto;max-width:640px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:24px 0}.tabs a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}.tabs a.on{background:var(--ink);color:var(--bg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;padding-bottom:60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);transition:.25s;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px #0006}
.card img{display:block;aspect-ratio:1200/630;width:100%;object-fit:cover}.card .b{padding:16px 18px 18px}.card small{color:var(--red);font-weight:800;font-size:12px;letter-spacing:.06em}.card h2{font-size:19px;line-height:1.3;margin:6px 0 6px}.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
article{max-width:740px;margin:auto;padding:30px 0 40px}article .meta{color:var(--muted);font-size:14px}article h1{font-size:clamp(30px,5vw,44px);line-height:1.12;letter-spacing:-.03em;margin:10px 0}
article .cover{border-radius:20px;overflow:hidden;margin:22px 0;border:1px solid var(--line)}article .cover img{display:block;width:100%}
article h2{font-size:27px;letter-spacing:-.02em;margin:36px 0 8px;line-height:1.25}article h3{font-size:20px;margin:26px 0 6px}
article table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px;display:block;overflow-x:auto}article th,article td{border:1px solid var(--line);padding:9px 12px;text-align:left}article th{background:var(--card)}
article blockquote{margin:20px 0;padding:14px 18px;border-left:4px solid var(--red);background:var(--card);border-radius:0 12px 12px 0}
.fig{margin:26px 0}.fig svg{display:block;width:100%;border-radius:18px}
.faq{margin-top:40px}.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:10px 0}.faq summary{font-weight:800;cursor:pointer}
.box{margin:40px 0 0;padding:26px;border-radius:22px;color:#fff;background:linear-gradient(150deg,#d4101f,#6d0510)}.box h3{margin:0 0 6px;font-size:24px}.box a{display:inline-block;margin:12px 8px 0 0;padding:11px 18px;border-radius:999px;background:#fff;color:#8a0612;font-weight:900;text-decoration:none}.box a.l{background:transparent;border:2px solid #fff;color:#fff}
.rel{margin-top:40px}.rel h3{font-size:20px}.rel .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding-bottom:0}
footer{border-top:1px solid var(--line);padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}
@media (max-width:640px){.top nav a:not(.cta){display:none}body{font-size:16.5px}}