/* AFXHQ Wiki. Visual language matches p-afxhq: black, cream, lime. */
@font-face { font-family: "Redaction"; src: url("/fonts/Redaction-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Redaction"; src: url("/fonts/Redaction-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
:root { --bg:#000; --ink:#fcfaf5; --lime:#d3f53d; --dim:rgba(252,250,245,.55); --faint:rgba(252,250,245,.28); --line:rgba(252,250,245,.16); --card:rgba(255,255,255,.035); --font:"Helvetica Now Display","Helvetica Neue",Helvetica,Arial,sans-serif; --redaction:"Redaction",Georgia,serif; --mono:ui-monospace,SFMono-Regular,Menlo,monospace; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--font); -webkit-font-smoothing:antialiased; }
a { color:var(--lime); text-decoration:none; }
a:hover { text-decoration:underline; }
::selection { background:var(--lime); color:#000; }
.w-wrap { max-width:1120px; margin:0 auto; padding:2rem 1.5rem 4rem; }
.w-top { display:flex; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:1rem; }
.w-brand { font-family:var(--redaction); font-size:1.7rem; color:var(--ink); }
.w-brand span { color:var(--lime); }
.w-mk { font-size:.68rem; letter-spacing:.32em; text-transform:uppercase; color:var(--lime); font-family:var(--mono); margin-bottom:.6rem; }
.w-top .w-mk { margin:0; color:var(--dim); }
.w-grid { display:grid; grid-template-columns:210px 1fr; gap:2.5rem; margin-top:2rem; }
.w-nav { display:flex; flex-direction:column; gap:.15rem; }
.w-nav a { color:var(--dim); padding:.45rem .6rem; border-left:2px solid var(--line); font-size:.95rem; }
.w-nav a:hover { color:var(--ink); text-decoration:none; }
.w-nav a.on { color:var(--lime); border-left-color:var(--lime); }
.w-main h1 { font-family:var(--redaction); font-weight:700; font-size:2.2rem; margin:.2rem 0 1.2rem; line-height:1.1; }
.w-main h2 { font-size:1.25rem; margin:2rem 0 .6rem; }
.w-main h3 { font-size:1.05rem; margin:1.5rem 0 .4rem; color:var(--lime); }
.w-main p, .w-main li { line-height:1.55; color:var(--ink); }
.w-main ul, .w-main ol { padding-left:1.3rem; }
.w-main li { margin:.25rem 0; }
.w-main hr { border:none; border-top:1px solid var(--line); margin:2rem 0; }
.w-main blockquote { border-left:2px solid var(--lime); margin:1rem 0; padding:.3rem 0 .3rem 1rem; color:var(--dim); }
.w-main code { font-family:var(--mono); font-size:.85em; background:var(--card); padding:.1em .35em; border-radius:3px; }
.w-main pre { background:var(--card); padding:1rem; overflow-x:auto; border-radius:6px; }
.w-main table { border-collapse:collapse; width:100%; margin:1rem 0; font-size:.95rem; }
.w-main th, .w-main td { border:1px solid var(--line); padding:.5rem .7rem; text-align:left; }
.w-main th { color:var(--lime); font-family:var(--mono); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.w-search { margin-top:2.5rem; }
.w-search input { width:100%; background:var(--card); border:1px solid var(--line); color:var(--ink); font-family:var(--font); font-size:1rem; padding:.8rem 1rem; border-radius:6px; outline:none; }
.w-search input:focus { border-color:var(--lime); }
.w-hit { display:block; padding:.7rem .4rem; border-bottom:1px solid var(--line); color:var(--ink); }
.w-hit span { display:block; color:var(--dim); font-size:.85rem; margin-top:.2rem; }
.w-none { color:var(--dim); padding:.7rem .4rem; }
.w-foot { margin-top:3.5rem; border-top:1px solid var(--line); padding-top:1rem; color:var(--faint); font-size:.8rem; font-family:var(--mono); }
@media (max-width:760px){ .w-grid{ grid-template-columns:1fr; } .w-nav{ flex-direction:row; flex-wrap:wrap; } .w-nav a{ border-left:none; border-bottom:2px solid var(--line);} .w-nav a.on{ border-bottom-color:var(--lime);} }
