:root{--paper:#fff;--soft:#f6f6f4;--ink:#1a1a1a;--mute:#5c5c5c;--rule:#1a1a1a;--hair:#d9d9d4;--yel:#f5d000;--link:#1a1a1a;--ok:#1d6b34;--warn:#8a5a00;--lead:#9a2b1f;--footbg:#1a1a1a;--footfg:#bdbdbd;--mono:"Courier New",Courier,monospace;--head:"Roboto Condensed","Arial Narrow",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#141414;--soft:#1e1e1e;--ink:#f2f2ee;--mute:#a8a8a2;--rule:#f2f2ee;--hair:#3a3a38;--link:#f5d000;--ok:#6fcf8a;--warn:#f0b955;--lead:#ff9a8c}}
:root[data-theme=dark]{--paper:#141414;--soft:#1e1e1e;--ink:#f2f2ee;--mute:#a8a8a2;--rule:#f2f2ee;--hair:#3a3a38;--link:#f5d000;--ok:#6fcf8a;--warn:#f0b955;--lead:#ff9a8c}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--mono)}
img,svg{max-width:100%}
a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yel);text-decoration-thickness:2px;text-underline-offset:2px}
a:hover{background:var(--yel);color:#1a1a1a;text-decoration:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) a{color:var(--ink)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.page{min-height:100vh}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
/* header */
.top{border-bottom:1px solid var(--rule);padding-top:18px}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;background:none!important}
.brand img{height:42px;width:auto}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .brand img{filter:invert(1)}}
:root[data-theme=dark] .brand img{filter:invert(1)}
.wikiname{font:700 13px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;background:var(--yel);color:#1a1a1a;padding:6px 8px}
.hsearch{display:flex;gap:0;flex:1 1 260px;max-width:380px}
.hsearch input{flex:1;min-width:0;font:15px var(--mono);padding:9px 10px;border:1px solid var(--rule);border-right:0;background:var(--paper);color:var(--ink);border-radius:0}
.hsearch button{font:700 14px var(--head);letter-spacing:.06em;text-transform:uppercase;background:#1a1a1a;color:var(--yel);border:1px solid #1a1a1a;padding:0 14px;cursor:pointer;border-radius:0}
.tabs{display:flex;flex-wrap:wrap;gap:0;font:700 14px/1 var(--head);letter-spacing:.08em;text-transform:uppercase}
.tabs a{padding:11px 14px;text-decoration:none;border:1px solid transparent;border-bottom:0;margin-bottom:-1px}
.tabs a:hover{background:var(--yel);color:#1a1a1a}
.tabs a[aria-current=page]{border-color:var(--rule);background:var(--paper);border-bottom:1px solid var(--paper);box-shadow:inset 0 3px 0 var(--yel)}
.tabs-gap{flex:1}
.tabs a.ext{color:var(--mute)}
main{padding:28px 0 40px}
/* titles */
.eyebrow{display:inline;font:700 13px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;background:var(--yel);color:#1a1a1a;padding:3px 7px;margin:0}
.titlebar h1{font:700 clamp(34px,6vw,56px)/1.02 var(--head);text-transform:uppercase;margin:14px 0 8px;letter-spacing:.005em}
.tag{margin:0 0 6px;color:var(--mute)}
.hat{font-size:14px;font-style:italic;color:var(--mute);margin:6px 0 0}
.titlebar{border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:22px}
.hero h1{font-size:clamp(38px,7vw,68px)}
/* article layout */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.art-side{order:2}
.lede{margin-top:0}
.sec h2,.pbox h2,.prose h2{font:700 24px/1.15 var(--head);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--rule);padding-bottom:4px;margin:30px 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.prose h2{display:block}
.edit{font:400 12px var(--mono);text-transform:none;letter-spacing:0;color:var(--mute)}
.edit::before{content:"[ "}.edit::after{content:" ]"}
/* infobox */
.infobox{border:1px solid var(--rule);background:var(--soft);font-size:14px;margin:0 0 18px}
.ib-title{margin:0;padding:9px 12px;background:#1a1a1a;color:var(--yel);font:700 17px/1.2 var(--head);text-transform:uppercase;letter-spacing:.04em;text-align:center}
.ib-fig{padding:14px 18px 2px;text-align:center;background:var(--paper);border-bottom:1px solid var(--hair)}
.ib-cap{margin:0;padding:4px 10px 12px;text-align:center;font-size:12px;color:var(--mute);background:var(--paper);border-bottom:1px solid var(--rule)}
.infobox dl{margin:0;padding:6px 12px 8px;display:grid;grid-template-columns:auto 1fr;gap:5px 12px}
.infobox dt{font:700 12px/1.6 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.infobox dd{margin:0}
.ib-btn{margin:0;padding:4px 12px 14px;text-align:center}
.plain{margin:0;padding:0;list-style:none}
.slot{border:1px dashed var(--mute);color:var(--mute);text-align:center;font-size:12px;padding:46px 10px;margin:0 0 18px;background:repeating-linear-gradient(45deg,transparent 0 8px,rgba(128,128,128,.06) 8px 16px)}
/* gate svg */
.gate .rail{stroke:var(--ink);stroke-width:3;stroke-linecap:round}
.gate .knob{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.gate .rev{fill:var(--yel);stroke:#1a1a1a}
.gate .crawl{fill:var(--soft);stroke-dasharray:3 2}
.gate .num{font:700 12px var(--head);fill:var(--ink)}
.gate .rev+.num{fill:#1a1a1a}
.gate.big{width:100%;max-width:240px;height:auto;max-height:150px}
.gate.sm{width:auto;height:64px;max-width:100%;display:block}
/* buttons */
.btn{display:inline-block;font:700 14px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;background:#1a1a1a;color:var(--yel);padding:12px 18px;border:1px solid #1a1a1a;text-decoration:none;cursor:pointer;border-radius:0}
.btn:hover{background:var(--yel);color:#1a1a1a}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn{background:var(--yel);color:#1a1a1a;border-color:var(--yel)}}
/* toc */
.toc{display:inline-block;min-width:240px;max-width:100%;border:1px solid var(--rule);background:var(--soft);padding:10px 16px 12px;margin:6px 0 10px;font-size:14px}
.toct{margin:0 0 4px;font:700 15px var(--head);text-transform:uppercase;letter-spacing:.08em}
.toc{display:block;max-width:560px}.toc ol{margin:0;padding-left:22px;columns:2 170px;column-gap:24px}.toc li{break-inside:avoid}.toc li span{color:var(--mute)}
/* tables */
.tw{overflow-x:auto}
.wikitable{width:100%;border-collapse:collapse;font-size:15px}
.wikitable th{font:700 13px var(--head);letter-spacing:.1em;text-transform:uppercase;text-align:left;background:#1a1a1a;color:var(--yel);padding:8px 10px}
.wikitable td{border-bottom:1px solid var(--hair);padding:8px 10px;vertical-align:top}
.wikitable tr:target td{background:rgba(245,208,0,.25)}
.wikitable tbody tr:nth-child(even) td{background:var(--soft)}
.wikitable .yr{white-space:nowrap}
.gen,.trim{color:var(--mute);font-size:13px}
.trim{margin-top:1px}
sup.ref,sup.cn{font-size:11px;line-height:0;margin-left:2px}
sup.cn{color:var(--lead);white-space:nowrap}
sup.ref a{text-decoration:none;color:var(--link)}
/* status */
.st,.b{display:inline-block;font:700 11px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;padding:4px 6px;border:1px solid currentColor;white-space:nowrap}
.st-v,.b-v{color:var(--ok)}.st-c,.b-c{color:var(--warn)}.st-l,.b-l{color:var(--lead);border-style:dashed}
.defs dt{margin-top:14px}.defs dd{margin:6px 0 0 0}
/* refs */
.refs{overflow-wrap:anywhere;font-size:13px;color:var(--ink);padding-left:28px}.refs li{margin:4px 0}
.refs .back{text-decoration:none;font-weight:700}
.rt{font-weight:700}
.leads details summary{cursor:pointer;font:700 14px var(--head);letter-spacing:.08em;text-transform:uppercase;padding:8px 0}
.leads .sec h2{font-size:18px}
.toolbar{margin:14px 0 0}
.tgl{display:inline-flex;gap:8px;align-items:center;font-size:14px;cursor:pointer;margin-top:8px}
.tgl input{accent-color:#1a1a1a;width:16px;height:16px}
.cats{border:1px solid var(--hair);background:var(--soft);padding:8px 12px;font-size:13px;margin:34px 0 8px}
.cats span{color:var(--mute);padding:0 4px}
.fine{font-size:12px;color:var(--mute)}
.empty{color:var(--mute)}
/* home */
.finder{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px}
.finder input{font:17px var(--mono);padding:13px 12px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0;min-width:0}
.finder input[type=search]{flex:2 1 220px}
.finder input[type=text]{flex:0 0 90px}
.finder .btn{padding:14px 24px;min-height:48px}
.hint{color:var(--mute)}
.chip{font:14px var(--mono);border:1px solid var(--rule);background:var(--paper);color:var(--ink);padding:4px 10px;margin:2px;cursor:pointer;border-radius:0}
.chip:hover{background:var(--yel);color:#1a1a1a}
#res{margin:0 0 8px}
.res-sum{font:700 15px var(--head);letter-spacing:.08em;text-transform:uppercase;margin:12px 0}
.rgroup{display:grid;grid-template-columns:150px 1fr;gap:18px;border:1px solid var(--rule);padding:14px;margin:0 0 14px;background:var(--paper)}
.rg-fig{text-align:center}
.rg-name{display:block;font:700 16px/1.2 var(--head);text-transform:uppercase;letter-spacing:.03em;margin:.3em 0}
.rg-fig .gate{margin:0 auto}
.vlist{list-style:none;margin:0;padding:0}
.veh{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:7px 0;border-bottom:1px solid var(--hair);align-items:start}
.veh:last-child{border-bottom:0}
.v-name{font-weight:700}.v-sub{font-size:13px;color:var(--mute)}.v-yr{white-space:nowrap}
.portal{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin-top:26px}
.pbox{margin-bottom:22px}.pbox h2{margin-top:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.tile{display:flex;flex-direction:column;align-items:center;gap:4px;border:1px solid var(--hair);padding:10px 6px;text-align:center;text-decoration:none;background:var(--paper)}
.tile:hover{background:var(--yel);color:#1a1a1a;border-color:#1a1a1a}
.tile:hover .gate .num{fill:#1a1a1a}.tile:hover .gate .rail{stroke:#1a1a1a}
.tile .tn{font:700 13px/1.2 var(--head);text-transform:uppercase;letter-spacing:.04em}
.dyk{margin:0;padding-left:18px;font-size:14px}.dyk li{margin:0 0 10px}
.help{border:1px solid var(--rule);padding:12px 14px;background:var(--soft)}
.help h2{border:0;padding:0;font-size:20px}
.jump{font:700 16px var(--head);letter-spacing:.1em}.jump a{padding:2px 6px}
.cols{columns:3 180px;list-style:none;padding:0;margin:0}.cols li{margin:0 0 4px}.cols span{color:var(--mute);font-size:13px}
.cform{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-width:560px}.cform input,.cform select,.cform textarea{width:100%}
.cform label{font:700 13px var(--head);letter-spacing:.1em;text-transform:uppercase;margin-top:8px}
.cform input,.cform select,.cform textarea{font:16px var(--mono);padding:10px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0}
.cform .btn{justify-self:start;margin-top:10px}
.cout{border:1px solid var(--rule);background:var(--soft);padding:12px 16px;margin-top:20px}.cout pre{white-space:pre-wrap;margin:0}
.prose{max-width:680px}
/* member band + footer */
.band{background:var(--yel);color:#1a1a1a;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;margin-top:20px}
.band-in{max-width:1080px;margin:0 auto;padding:22px 16px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center}
.band p{margin:0}.band a{color:#1a1a1a;font-weight:700;text-decoration-color:#1a1a1a}.band a:hover{background:#1a1a1a;color:var(--yel)}
.foot{background:var(--footbg);color:var(--footfg);font-size:13px}
.foot a{color:#fff;text-decoration-color:var(--yel)}.foot a:hover{color:#1a1a1a}
.foot-in{max-width:1080px;margin:0 auto;padding:28px 16px 36px}
.foot p{margin:0 0 8px}.soc a{margin-right:16px}.foot .fine{color:#8c8c8c}
@media (max-width:820px){.art{grid-template-columns:minmax(0,1fr)}.art-side{order:-1}.portal{grid-template-columns:1fr}.slot{padding:26px 10px}.tabs-gap{display:none}.tabs a.ext{display:none}}
@media (max-width:560px){.rgroup{grid-template-columns:1fr}.rg-fig{display:flex;align-items:center;gap:12px;text-align:left}.rg-fig .gate{margin:0}.veh{grid-template-columns:1fr auto}.v-b{grid-column:1 / -1}.brand img{height:34px}.hsearch{max-width:none}.wikitable{font-size:14px}.tabs a{padding:10px 10px}}

/* gearbox additions */
.gbc{font-size:13px;min-width:130px}
.gbst{display:inline-block;margin-left:6px;font:700 10px/1 var(--head);width:15px;height:15px;line-height:15px;text-align:center;border:1px solid currentColor;vertical-align:middle}
.gbst-v{color:var(--ok)}.gbst-c{color:var(--warn)}.gbst-l{color:var(--lead);border-style:dashed}
.gb-none{color:var(--mute)}
.ib-sub{margin:0;padding:8px 12px 0;font:700 12px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--hair)}
.gbpats{display:grid;gap:8px;padding:8px 12px 14px}
.gbpat{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:13px}
.gbpat .gate{flex:0 0 auto}.gbpat span{text-decoration:underline;text-decoration-color:var(--yel);text-decoration-thickness:2px}
.gbpat:hover{background:var(--yel);color:#1a1a1a}
.gjump{display:flex;flex-wrap:wrap;gap:4px 14px;font:700 14px var(--head);letter-spacing:.06em;text-transform:uppercase}
.cnt{font:400 13px var(--mono);color:var(--mute);text-transform:none}
.notes{font-size:13px;color:var(--mute)}
@media (max-width:820px){.gbc{min-width:100px}}

.legend{font-size:12px;color:var(--mute);margin:8px 0 0}.legend .gbst{margin:0 2px 0 8px}

@media (max-width:560px){
.tw{overflow:visible}
.wikitable,.wikitable tbody,.wikitable tr,.wikitable td{display:block;width:100%}
.wikitable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wikitable tbody tr{border-top:1px solid var(--rule);padding:10px 0 8px}
.wikitable td{border:0;padding:2px 10px;background:transparent!important}
.wikitable tbody tr:nth-child(even){background:var(--soft)}
.wikitable td[data-label]::before{content:attr(data-label);display:inline-block;min-width:92px;font:700 11px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.wikitable .yr{white-space:normal}
.gbc{min-width:0}
}
.nogate{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border:2px dashed #1A1A1A;border-radius:50%;font:700 28px "Roboto Condensed",sans-serif;color:#1A1A1A}
.infobox .nogate{width:110px;height:110px;font-size:48px}
.gate .neu{fill:var(--soft)}
.gate .unk{fill:var(--paper);stroke-dasharray:2 2}
.subpat{margin-top:2rem;border-top:1px solid var(--rule,#ccc);padding-top:1rem}
.subfig{display:flex;gap:1rem;align-items:flex-start;margin:.5rem 0 1rem}
.subfig p{margin:0}
.art-main>.ib-btn{text-align:left;margin:1.25rem 0}
.gate .tri{fill:var(--ink)}
.subfig .gate{flex:0 0 150px;width:150px;height:auto;max-height:100px}

/* member voting (hidden until vote.js confirms the server has voting switched on) */
.wikitable th.vote,.wikitable td.vote{display:none}
html.vote-on .wikitable th.vote,html.vote-on .wikitable td.vote{display:table-cell}
.wikitable td.vote{white-space:nowrap;min-width:150px}
.vv{display:flex;gap:6px;flex-wrap:wrap}
.vb{font:700 12px/1 var(--head);letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:6px 8px;cursor:pointer;border-radius:0;min-height:30px}
.vb span{font-weight:400;margin-left:4px;color:var(--mute)}
.vb:hover{background:var(--yel);color:#1a1a1a}.vb:hover span{color:#1a1a1a}
.vb[aria-pressed=true]{background:var(--ink);color:var(--paper)}.vb[aria-pressed=true] span{color:var(--paper)}
.vb-a[aria-pressed=true]{background:var(--yel);color:#1a1a1a;border-color:var(--yel)}.vb-a[aria-pressed=true] span{color:#1a1a1a}
.vb:focus-visible{outline:3px solid var(--yel);outline-offset:2px}
.vlogin,.vnote{white-space:normal;font-size:13px;margin-top:6px;padding:8px;background:var(--soft);border-left:4px solid var(--yel)}
.vnote{display:flex;flex-direction:column;gap:6px}.vnote input{font:14px var(--mono);padding:6px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);width:100%;box-sizing:border-box}
.vnote .vrow{display:flex;gap:6px}
.vbox{margin:1rem 0;padding:10px 12px;border:1px solid var(--hair);display:none}
html.vote-on .vbox{display:block}
.vbox .vq{margin:0 0 8px;font:700 13px var(--head);letter-spacing:.08em;text-transform:uppercase}
.vstat{display:none;font-size:14px;margin:0 0 1rem;padding:8px 12px;background:var(--soft);border-left:4px solid var(--yel)}
html.vote-on .vstat{display:block}
.verr{color:var(--lead);font-size:13px;margin-top:4px}
@media (max-width:560px){html.vote-on .wikitable td.vote{display:block;white-space:normal}.vb{min-height:40px;padding:8px 12px}}
