:root{--red:#d71920;--grey:#7f7f7f;--bg:#fff;--ink:#1c1c1c;--soft:#f0f0f0;--line:#d9d9d9;--mute:#5f5f5f;
--head:'Archivo','Arial Black',Arial,sans-serif;--body:'Source Serif 4',Georgia,serif}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#161616;--ink:#ececec;--soft:#232323;--line:#3a3a3a;--mute:#a5a5a5}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 var(--body)}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.top{border-bottom:4px solid var(--red)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-wrap:wrap}
.bar img{height:42px;display:block}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{font:800 15px var(--head);text-decoration:none;padding:8px 12px;background:var(--soft)}
nav a:hover{background:var(--grey);color:#fff}
nav a[aria-current=true]{background:var(--red);color:#fff}
.hero{padding:44px 0 28px}
.hero h1{font:900 clamp(2rem,5.5vw,3.6rem)/1.05 var(--head);margin:0 0 14px;letter-spacing:-.02em;max-width:16em}
.hero p{margin:0 0 22px;max-width:36em;color:var(--mute)}
.legend{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:720px}
.legend div{padding:12px 14px;font-size:15px;line-height:1.4;color:#fff}
.legend b{display:block;font:900 20px var(--head)}
.legend .a{background:var(--grey)}.legend .b{background:#3d3d3d}.legend .c{background:var(--red)}
@media(max-width:600px){.legend{grid-template-columns:1fr}}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;padding:20px 20px 60px}
@media(max-width:860px){.layout{grid-template-columns:1fr}}
.tools{display:flex;gap:10px;margin-bottom:8px}
.tools input{flex:1;font:16px var(--head);padding:10px 12px;border:2px solid var(--line);background:var(--bg);color:var(--ink)}
.row{display:block;text-decoration:none;padding:20px 0;border-top:1px solid var(--line)}
.row:hover h2{color:var(--red)}
.row h2{font:800 1.5rem/1.2 var(--head);margin:8px 0 6px}
.row p{margin:0;color:var(--mute)}
.meta{display:flex;align-items:center;gap:10px;font:500 14px var(--head);color:var(--mute);flex-wrap:wrap}
.tag{font:900 13px var(--head);color:#fff;padding:2px 9px}
.tag.Tip{background:var(--grey)}.tag.Trick{background:#3d3d3d}.tag.Trap{background:var(--red)}
.empty{padding:30px 0;color:var(--mute)}
article h1{font:900 clamp(1.8rem,4.5vw,2.8rem)/1.1 var(--head);margin:12px 0 18px;letter-spacing:-.015em}
article .lead{font-size:1.25rem;color:var(--mute)}
article h2{font:800 1.4rem var(--head);margin:1.8em 0 .4em}
article p,article li{max-width:38em}
article code,article kbd{font:500 .85em Consolas,monospace;background:var(--soft);padding:2px 6px;border:1px solid var(--line)}
article img{max-width:100%;height:auto;display:block;margin:1.4em 0;border:1px solid var(--line)}
article .trap{border-left:6px solid var(--red);background:var(--soft);padding:2px 18px;margin:1.4em 0}
.back{font:800 15px var(--head);text-decoration:none}
aside h3{font:900 18px var(--head);margin:0 0 4px}
aside .note{font-size:14px;color:var(--mute);margin:0 0 14px;line-height:1.4}
.partner{border:2px solid var(--line);padding:14px;margin-bottom:12px}
.partner strong{font:800 16px var(--head)}
.partner p{margin:4px 0 10px;font-size:15px;line-height:1.4;color:var(--mute)}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font:800 15px var(--head);padding:9px 16px}
.btn:hover{background:#a8121a}
footer{background:var(--soft);padding:28px 0;font-size:14px;color:var(--mute);line-height:1.5}
footer p{margin:0 0 8px;max-width:50em}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.crumbs{font:500 14px var(--head);color:var(--mute);margin:0}
.crumbs a{text-decoration:none}
article time{font:500 14px var(--head)}
h1.cat{font:900 clamp(1.8rem,4.5vw,2.6rem)/1.1 var(--head);margin:24px 0 6px}
.intro{color:var(--mute);margin:0 0 18px}
h2.rel{font:800 1.3rem var(--head);margin:2.2em 0 0}

