:root{--bg:#000;--panel:#121212;--panel2:#1a1a1a;--line:#2c2c2c;--olive:#7d8754;--khaki:#d2c393;--red:#c8202a;--text:#e6e1d3;--muted:#a9aa97}
*{box-sizing:border-box}html{scroll-padding-top:60px}
html,body{background:#000}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 "Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
body.lb-open{overflow:hidden}
a{color:var(--khaki)}a:hover{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--khaki);outline-offset:2px}
h1,h2,h3{font-family:Impact,"Oswald","Haettenschweiler","Arial Narrow Bold","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.03em;font-weight:400;line-height:1.1;margin:0 0 .45em}
h1{font-size:clamp(34px,5vw,54px)}h2{font-size:clamp(24px,3.2vw,32px)}h3{font-size:20px}
img{max-width:100%}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;z-index:99;background:#000;padding:8px}
/* banner: natural-size artwork centred; sides continue its edge colours */
.banner{position:relative;height:auto;overflow:visible;margin:0;padding:0;background:#000;border-bottom:3px solid var(--red);line-height:0;font-size:0}
.banner:before,.banner:after{content:"";position:absolute;top:0;bottom:0;width:50%;background-repeat:repeat-x;background-size:1px 100%}
.banner:before{left:0;background-image:url(banner-edge-left.png?v=9)}
.banner:after{right:0;background-image:url(banner-edge-right.png?v=9)}
.banner-link{position:relative;z-index:1;display:block;width:max-content;max-width:100%;margin:0 auto}
.banner-img{display:block;width:auto;height:auto;max-width:100%;max-height:240px;margin:0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
nav{position:sticky;top:0;z-index:20;display:flex;gap:2px;justify-content:center;flex-wrap:wrap;align-items:center;background:#000000f2;border-bottom:1px solid var(--line);padding:0 12px}
nav a,nav .who,.linkbtn{padding:14px 13px;color:var(--text);text-decoration:none;font:600 12.5px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;cursor:pointer}
nav a.on,nav a:hover,.linkbtn:hover{color:#fff;box-shadow:inset 0 -3px var(--red)}nav .who{color:var(--khaki)}nav .navsep{width:1px;height:22px;background:var(--line);margin:0 6px}
form.inline{display:inline}
main,main.page,main.wide,section,.wrap{background:transparent}main.page{max-width:1000px;margin:auto;padding:44px 24px 60px}main.wide{padding-bottom:20px}
.wrap{max-width:1180px;margin:auto;padding:44px 24px 0}
.eyebrow{display:inline-block;font:700 12px Arial,sans-serif;letter-spacing:.2em;color:var(--olive);text-transform:uppercase;margin-bottom:6px}
.lead{font-size:19px;color:var(--text)}.small,.meta,.caption{font-size:13px;color:var(--muted)}.source{font-size:14px;color:var(--muted)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.head a{font-size:14px;white-space:nowrap}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(42px,6vw,72px);line-height:.95;margin:6px 0 16px}.hero h1 span{color:var(--red)}.hero p{color:var(--muted);font-size:18px;margin:.4em 0}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:11px 20px;font:700 13px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:10px 10px 0 0;border:1px solid var(--red);cursor:pointer}
.btn:hover{background:#e3262f;color:#fff}.btn.alt{background:transparent;border-color:var(--olive);color:var(--khaki)}.btn.alt:hover{background:var(--panel2)}.btn.danger{background:#3a1214;border-color:#7a2026;color:#f2b8b8}
/* video */
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#000 center/cover no-repeat;border:1px solid var(--line);cursor:pointer;padding:0}
.yt .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:12px;background:var(--red);box-shadow:0 4px 18px #000a;transition:.15s}
.yt .play:after{content:"";position:absolute;left:27px;top:14px;border-left:19px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.yt:hover .play{background:#e3262f;transform:translate(-50%,-50%) scale(1.08)}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:16px 0}.vcard{background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}.vcard .yt{border:0}.vcard>div{padding:12px 16px 14px}.vcard h3{font-size:18px;margin:0 0 4px}.vcard p{margin:0 0 6px;color:var(--muted);font-size:13px}.vcard .small{font-size:12px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--olive);padding:20px;display:flex;flex-direction:column;gap:4px}.card h3{margin:4px 0}.card p{color:var(--muted);margin:.2em 0 .6em;font-size:15px}.card a{margin-top:auto;font-size:14px}
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.links{display:flex;flex-direction:column;gap:2px}.links a{display:block;padding:12px 16px;background:var(--panel);border-left:3px solid var(--olive);text-decoration:none}.links a:hover{border-color:var(--red)}
.photos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.photos figure{margin:0}.photos img{width:100%;height:180px;object-fit:cover;border:1px solid var(--line);display:block}
/* boards */
.boards .row,.row{display:grid;grid-template-columns:52px 1fr 110px 150px;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:14px 18px;margin-bottom:6px;text-decoration:none;color:var(--text)}
.row:hover{border-color:var(--olive);background:var(--panel2);color:var(--text)}.row.topic{grid-template-columns:1fr 100px 150px}
.row .num{font-family:Impact,sans-serif;font-size:24px;color:var(--olive)}.row h3{font-size:19px;margin:0;color:var(--text)}.row p{margin:0;color:var(--muted);font-size:14px}.row small{color:var(--muted)}
.cat{margin:26px 0 8px;color:var(--khaki);font-size:18px}.archive-h{margin-top:44px;padding-top:24px;border-top:3px solid var(--red)}
.tag{display:inline-block;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.12em;padding:1px 7px;border:1px solid var(--olive);color:var(--khaki);margin-left:6px;vertical-align:middle;text-transform:uppercase}.tag.r{border-color:var(--red);color:#f08a8a}
.crumbs{font-size:14px;color:var(--muted)}.archived-note{font-size:13px;color:var(--muted);border-left:3px solid var(--olive);padding-left:10px}
.empty{color:var(--muted);font-style:italic}
.post{background:var(--panel);border:1px solid var(--line);margin:0 0 10px}.post header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 18px;background:var(--panel2);border-bottom:1px solid var(--line)}.post header strong{color:var(--khaki)}.post time{color:var(--muted);font-size:13px}
.post .body{padding:16px 18px;overflow-wrap:anywhere}.post .body img{max-width:100%;height:auto}.post blockquote{margin:10px 0;padding:10px 14px;border-left:3px solid var(--olive);background:#0a0a0a;color:var(--muted)}.post blockquote cite{display:block;font-style:normal;font-size:12px;color:var(--khaki);margin-bottom:4px}
.post pre{white-space:pre-wrap;background:#000;padding:10px}.post .c{text-align:center}.post table{border-collapse:collapse}.post td{border:1px solid var(--line);padding:4px 8px}.att{padding:0 18px 12px;font-size:13px;color:var(--muted)}.lost-img{font-size:13px;color:var(--muted)}
.poll{background:var(--panel2);border:1px solid var(--line);padding:14px 18px;margin-bottom:12px}.poll li span{color:var(--muted);font-size:13px;margin-left:6px}
.roster{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.roster li{background:var(--panel);border:1px solid var(--line);padding:10px 14px}.roster span{display:block;font-size:12px;color:var(--muted)}
/* forms */
.formpage{max-width:560px}.formpage.wide{max-width:none}
label{display:block;margin:14px 0 4px;font-size:14px;color:var(--khaki)}input,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;background:#0a0a0a;border:1px solid var(--line);color:var(--text);font:inherit}textarea{resize:vertical}
.compose{margin-top:26px;background:var(--panel);border:1px solid var(--line);padding:18px}
.alert{background:#3a1214;border:1px solid #7a2026;color:#ffd2d2;padding:12px 16px}.notice{background:#141a10;border:1px solid var(--olive);padding:12px 16px}
.member{background:var(--panel);border:1px solid var(--line);padding:14px 18px;margin-bottom:8px}.member h3{margin:0}details summary{cursor:pointer;color:var(--khaki);margin-top:8px;font-size:14px}.mod{margin-top:24px}
.addvideo{display:grid;grid-template-columns:2fr 1.5fr auto;gap:12px;align-items:end;background:var(--panel);padding:14px 18px;border:1px solid var(--line)}.addvideo label{margin:0}.addvideo .btn{margin:0}
.vlist{list-style:none;padding:0}.vlist li{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:8px 12px;margin-bottom:6px}.vlist .btn{padding:7px 11px;margin:0 0 0 4px;font-size:11px}
/* content pages carried over from the old site */
.prose p,.prose li{max-width:75ch}.prose article,.memorial-card{background:var(--panel);border:1px solid var(--line);padding:22px 24px;margin:22px 0}
.prose figure{margin:0}.picture-grid,.map-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 0 30px}
.picture-grid figure,.map-gallery figure{background:var(--panel);border:1px solid var(--line);margin:0}.picture-grid img,.map-gallery img{display:block;width:100%;height:190px;object-fit:cover;background:#000}.map-gallery img{object-fit:contain}
.picture-grid figcaption,.map-gallery figcaption{font-size:12px;color:var(--muted);padding:8px 10px;overflow-wrap:anywhere}.prose section{margin-top:28px}
.film{background:var(--panel);border:1px solid var(--line);padding:16px;margin:10px 0}
.timeline{list-style:none;padding:0;margin:30px 0;position:relative}.timeline:before{content:"";position:absolute;left:150px;top:0;bottom:0;width:2px;background:var(--line)}
.timeline>li{display:grid;grid-template-columns:150px 1fr;gap:34px;margin-bottom:36px;position:relative}.timeline>li:before{content:"";position:absolute;left:144px;top:8px;width:14px;height:14px;background:var(--red);border:3px solid var(--bg);border-radius:50%}
.timeline .when{font-family:Impact,sans-serif;font-size:20px;color:var(--khaki);text-align:right;letter-spacing:.04em;padding-top:2px}.timeline .summary{color:var(--muted);font-style:italic}
blockquote.extract,blockquote.tribute{margin:12px 0;padding:14px 20px;background:var(--panel);border-left:3px solid var(--olive)}blockquote.extract p{margin:.5em 0}blockquote cite{display:block;font-style:normal;font-size:13px;color:var(--muted);margin-top:8px}
/* memorial: quiet and plain */
.memorial-page{max-width:760px;margin:auto;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.8}
.memorial-page h1,.memorial-page h2,.memorial-page h3{font-family:Georgia,"Times New Roman",serif;text-transform:none;letter-spacing:0}
.memorial-page h1{font-size:44px;text-align:center}.memorial-page .eyebrow{display:block;text-align:center;color:var(--muted);letter-spacing:.25em}.memorial-page .lead{text-align:center;color:var(--muted)}
.memorial-page .fallen{border-top:1px solid var(--line);padding:34px 0 10px;margin-top:34px}.memorial-page .fallen h2{font-size:36px;text-align:center}.memorial-page h3{font-size:16px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:26px}
.portraits{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:10px 0 20px}.portraits figure{margin:0;text-align:center;max-width:340px}.portraits img{max-height:340px;border:1px solid var(--line)}.portraits figcaption{font-size:13px;color:var(--muted)}
.memorial-page blockquote.tribute{background:transparent;border-left:2px solid #555;font-size:17px}.memorial-page .memorial-links{text-align:center}.memorial-page .salute{text-align:center;font-size:26px;color:var(--text)}
.solemn .tag.r{border-color:#777;color:#ccc}
.memorial{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;background:#0d0d0d;border:1px solid var(--line);padding:24px;margin-bottom:30px}.memorial img{width:100%;filter:grayscale(.5)}.memorial .names{font-family:Georgia,serif;font-size:34px;letter-spacing:.04em}.memorial p{color:var(--muted);margin:.3em 0}.salute{font-size:24px;margin:6px 0 0}
footer{border-top:3px solid var(--red);text-align:center;color:var(--muted);padding:30px 20px;font-size:14px;margin-top:40px}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;padding:40px 60px}.lightbox[hidden]{display:none}
.lightbox figure{margin:0;text-align:center;max-width:100%;max-height:100%}.lightbox img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;display:block;margin:auto}.lightbox figcaption{color:var(--muted);font-size:14px;margin-top:10px}
.lightbox button{position:absolute;background:rgba(20,20,20,.7);color:#fff;border:1px solid #444;font-size:34px;width:52px;height:52px;cursor:pointer;line-height:1}.lb-close{top:14px;right:14px}.lb-prev{left:10px;top:50%;transform:translateY(-50%)}.lb-next{right:10px;top:50%;transform:translateY(-50%)}
@media(max-width:900px){.vgrid{grid-template-columns:1fr 1fr}.photos{grid-template-columns:repeat(3,1fr)}.photos figure:nth-child(n+4){display:none}}
@media(max-width:760px){
nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 4px}nav a,nav .who,.linkbtn{padding:12px 9px;font-size:11px;white-space:nowrap}nav .navsep{display:none}
.hero,.split,.memorial,.addvideo{grid-template-columns:1fr}.hero{gap:20px}.vgrid{grid-template-columns:1fr}.wrap{padding:30px 16px 0}main.page{padding:28px 16px 40px}
.photos{grid-template-columns:1fr 1fr}.photos img{height:130px}.photos figure:nth-child(n+5){display:none}.head{flex-direction:column;align-items:flex-start;gap:4px}
.row,.boards .row{grid-template-columns:36px 1fr;padding:12px}.row.topic{grid-template-columns:1fr}.row>small{display:none}.row.topic>small:first-of-type{display:block}
.timeline:before{left:6px}.timeline>li{grid-template-columns:1fr;gap:4px;padding-left:28px}.timeline>li:before{left:0}.timeline .when{text-align:left}
.memorial-page{font-size:17px}.memorial-page h1{font-size:34px}.lightbox{padding:50px 8px}.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:10px;transform:none}.vlist li{grid-template-columns:64px 1fr}.vlist li form{grid-column:1/-1}.vlist img{width:64px;height:auto}}

.staffgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px;margin:24px 0}.staff{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--olive);padding:18px 20px;margin:0!important}.staff h2{margin:0 0 2px;font-size:26px}.staff .role{color:var(--khaki);margin:0 0 6px;font-weight:600}.staff p{margin:.35em 0}.staff .sig img{display:block;width:100%;max-height:120px;object-fit:contain;background:#000;margin-bottom:12px;border:1px solid var(--line)}.uncertain{font-size:13px;color:#e0b070}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media(max-width:760px){.staffgrid{grid-template-columns:1fr}.sgrid{grid-template-columns:1fr}}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--red)}.stats div{background:var(--panel);padding:18px 20px}.stats b{display:block;font-family:Impact,sans-serif;font-weight:400;font-size:44px;line-height:1;color:var(--khaki)}.stats span{font-size:14px;color:var(--muted)}.statsrc{margin:6px 0 0}
.callout{background:var(--panel);border-left:4px solid var(--red);padding:16px 22px;margin:24px 0}.callout p{margin:0;font-size:19px}.callout cite{display:block;margin-top:6px;font-style:normal;color:var(--muted);font-size:14px}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}.stats b{font-size:34px}}

/* all pages on pure black */
main,.prose,.boards,.thread,.formpage,.memorial-page{background:#000}
.memorial-page blockquote.tribute{border-left-color:#444}
.badge-n{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;line-height:18px;text-align:center;letter-spacing:0;margin-left:4px}.msg.unread{border-left:3px solid var(--red)}.msgbody{margin:8px 0 10px;overflow-wrap:anywhere}
/* ---------- polish pass ---------- */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p{margin:0 0 .9em}
h1{letter-spacing:.02em;margin-bottom:.35em}h2{letter-spacing:.03em}
.eyebrow{font-size:11px;letter-spacing:.24em;color:#8f9a5e;margin-bottom:8px}
/* section headings with a thin rule */
.head{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:20px;position:relative}
.head:after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;background:var(--red)}
.head h2{margin:0}.head a{color:var(--khaki);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}.head a:hover{color:#fff;border-bottom-color:var(--red)}
.wrap{padding-top:52px}
/* nav */
nav{gap:0;padding:0 16px;box-shadow:0 1px 0 #000,0 6px 18px rgba(0,0,0,.6)}
nav a,nav .who,.linkbtn{transition:color .15s,box-shadow .15s}
nav a:not(.on):hover{box-shadow:inset 0 -2px var(--olive)}
/* buttons */
.btn{border-radius:2px;transition:background .15s,border-color .15s,color .15s,transform .1s}.btn:active{transform:translateY(1px)}
.btn.alt:hover{border-color:var(--khaki);color:#fff}
/* cards: one consistent style */
.card,.vcard,.staff,.member,.compose,.poll,.prose article,.memorial-card,.film,.row,.post,.picture-grid figure,.map-gallery figure,.stats{border-radius:3px}
.card,.vcard,.staff,.row,.picture-grid figure,.map-gallery figure{transition:border-color .18s,transform .18s,box-shadow .18s,background .18s}
.card:hover,.vcard:hover,.staff:hover,.picture-grid figure:hover,.map-gallery figure:hover{border-color:#4a4f36;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.7)}
.row:hover{transform:translateX(2px)}
.card{padding:22px 22px 18px}.card h3{font-size:19px;line-height:1.25}
/* video cards */
.vgrid{gap:20px}.vcard{overflow:hidden}.vcard .yt{border-bottom:1px solid var(--line)}.vcard>div{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}.vcard h3{font-size:17px;line-height:1.3}.vcard .small{margin-top:auto;color:var(--khaki)}
.yt{border-radius:3px;overflow:hidden}.vcard .yt{border-radius:0}.yt:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(0,0,0,.45);pointer-events:none;transition:box-shadow .2s}.yt:hover:after{box-shadow:inset 0 0 30px rgba(0,0,0,.25)}
.caption{margin-top:8px}
/* gallery framing */
.picture-grid,.map-gallery{gap:16px}
.picture-grid figure,.map-gallery figure{overflow:hidden;background:#0b0b0b}
.picture-grid img,.map-gallery img{height:200px;padding:8px;background:#0b0b0b;object-fit:contain;transition:transform .25s}
.picture-grid figure:hover img,.map-gallery figure:hover img{transform:scale(1.03)}
.picture-grid figcaption,.map-gallery figcaption{border-top:1px solid var(--line);padding:9px 12px}
.photos{gap:12px}.photos img{border-radius:3px;transition:opacity .2s,transform .2s}.photos a:hover img{opacity:.9;transform:translateY(-2px)}
/* stats */
.stats div{padding:20px 22px}.stats b{margin-bottom:6px}
/* forum rows */
.row{padding:15px 20px}.row h3{font-size:18px;letter-spacing:.04em}.cat{font-size:15px;letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:6px}
.post header{padding:10px 18px}.post .body{line-height:1.7}
/* forms */
input,textarea{border-radius:2px;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--olive);outline:none}
.formpage form{background:var(--panel);border:1px solid var(--line);padding:6px 20px 20px;border-radius:3px}
.formpage.wide form.inline,.member form{background:none;border:0;padding:0}
.formpage section{margin-top:34px}.formpage section>h2{border-bottom:1px solid var(--line);padding-bottom:10px}
/* footer */
footer{margin-top:64px;padding:34px 20px 40px;font-size:13px;letter-spacing:.04em;line-height:1.9;background:#000;border-top:1px solid var(--line);box-shadow:inset 0 3px 0 var(--red)}
footer a{color:var(--khaki);text-decoration:none}footer a:hover{color:#fff}
/* memorial stays quiet: no lifts or colour on hover */
.memorial-page .mcard *{transition:none!important}.memorial-page figure:hover{transform:none;box-shadow:none}
.memorial-page .fallen{border-top:1px solid #222}
@media(max-width:760px){
 .wrap{padding:34px 16px 0}main.page{padding:26px 16px 36px}
 h1{font-size:32px}.hero h1{font-size:40px}.head{margin-bottom:14px}
 .card,.vcard>div{padding:14px}.vgrid,.grid3{gap:14px}
 .picture-grid,.map-gallery{grid-template-columns:1fr 1fr;gap:10px}.picture-grid img,.map-gallery img{height:140px;padding:4px}
 .formpage form{padding:4px 14px 16px}footer{margin-top:44px}
 .card:hover,.vcard:hover,.staff:hover,.row:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.ahc{margin:34px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ahc-figs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.ahc-figs figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden}.ahc-figs img{display:block;width:100%;height:220px;object-fit:contain;background:#0b0b0b}.ahc-figs figcaption{font-size:13px;color:var(--muted);padding:9px 12px;border-top:1px solid var(--line)}@media(max-width:760px){.ahc-figs{grid-template-columns:1fr}}

/* roster */
.rstats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:3px;margin:8px 0 14px;max-width:520px}.rstats div{flex:1;background:var(--panel);padding:14px 18px}.rstats b{display:block;font-family:Impact,sans-serif;font-weight:400;font-size:36px;line-height:1;color:var(--khaki)}.rstats span{font-size:13px;color:var(--muted)}
.rjump{position:static;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;background:none;border:0;box-shadow:none;padding:0;margin:0 0 12px}.rjump a{padding:6px 12px;border:1px solid var(--line);border-radius:3px;font:600 12px Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--text);box-shadow:none}.rjump a:hover{border-color:var(--olive);box-shadow:none}.rjump b{color:var(--khaki);margin-left:4px}
.rgroup{margin-top:30px}.rgroup h2{border-bottom:1px solid var(--line);padding-bottom:8px;display:flex;align-items:center;gap:10px}.rgroup .count{font:700 12px Arial,sans-serif;letter-spacing:.08em;color:var(--khaki);border:1px solid var(--olive);border-radius:10px;padding:1px 9px}
.roster-table{width:100%;border-collapse:collapse;font-size:15px}.roster-table th,.roster-table td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.roster-table thead th{font:700 11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);border-bottom:1px solid #3a3a3a}
.roster-table tbody tr{background:var(--panel);transition:background .15s}.roster-table tbody tr:nth-child(even){background:#0e0e0e}.roster-table tbody tr:hover{background:var(--panel2)}
.roster-table tbody th{font-weight:600}.roster-table .cs{color:var(--text);font-size:16px;letter-spacing:.02em}.unknown{color:var(--muted);font-style:italic}
.stafflink{display:block;font-size:12px;font-weight:400;color:var(--khaki);text-decoration:none;margin-top:2px}.stafflink:hover{color:#fff}.stafflink.maybe{color:var(--muted);font-style:italic}
.fallen-mark{display:inline-block;margin-left:8px;font:italic 400 12px Georgia,serif;color:#cfcfcf;text-decoration:none;border:1px solid #555;border-radius:2px;padding:0 6px;vertical-align:middle}.fallen-mark:hover{color:#fff;border-color:#888}
.roster-table tr.is-fallen .cs{font-family:Georgia,serif}
@media(max-width:760px){.roster-table thead{display:none}.roster-table,.roster-table tbody,.roster-table tr,.roster-table th,.roster-table td{display:block;width:100%}
.roster-table tr{border:1px solid var(--line);border-radius:3px;margin-bottom:8px;padding:8px 12px}.roster-table tbody th,.roster-table td{border:0;padding:3px 0}
.roster-table td{display:flex;justify-content:space-between;gap:12px;font-size:14px}.roster-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.roster-table tbody th{padding-bottom:6px;border-bottom:1px solid var(--line);margin-bottom:4px}}
.siglink{display:block;font-size:12px;font-weight:400;color:var(--muted);text-decoration:none;margin-top:2px}.siglink:hover{color:#fff}

.squadpanel{display:grid;grid-template-columns:1fr auto;gap:1px;background:var(--line);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:3px;margin:10px 0 16px}.squadpanel>div{background:var(--panel);padding:18px 22px}.squadpanel h2{font-size:24px;margin:0 0 10px}
.squadpanel dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 22px;margin:0}.squadpanel dt{font:700 11px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}.squadpanel dd{margin:2px 0 0;color:var(--text)}
.sp-num{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:180px;text-align:center}.sp-num b{font-family:Impact,sans-serif;font-weight:400;font-size:56px;line-height:1;color:var(--khaki)}.sp-num span{font-size:13px;color:var(--muted)}
@media(max-width:760px){.squadpanel{grid-template-columns:1fr}.sp-num{flex-direction:row;gap:12px;justify-content:flex-start;min-width:0}.sp-num b{font-size:40px}}
.rjump a.ext{border-color:var(--olive);color:var(--khaki);text-transform:none;letter-spacing:.02em}.syncbox h3{margin-bottom:4px}.syncbox details{margin:4px 0}
.stats.mon{margin:10px 0 12px}.monlist{padding-left:30px;margin:6px 0}.monlist li{padding:3px 0;border-bottom:1px solid var(--line)}.monlist span{color:var(--muted);font-size:13px;margin-left:6px}.monlog td{font-size:14px}.monlog td:first-child{white-space:nowrap;color:var(--muted)}
.ahc-ours{border-left:3px solid var(--khaki);background:var(--panel);padding:10px 14px;margin:8px 0 12px}.ahc-ours ul{margin:6px 0 0;padding-left:18px}
.orbat details{border:1px solid var(--line);border-radius:3px;margin:6px 0;background:var(--panel)}.orbat summary{cursor:pointer;padding:8px 12px;font-weight:700}.orbat ul{list-style:none;margin:0;padding:4px 12px 10px;columns:2 260px}.orbat li{padding:2px 0;font-size:14px;break-inside:avoid}.orbat li span{color:var(--muted)}.orbat li.ours strong{color:var(--khaki)}.orbat .open{color:var(--muted);font-weight:400}
.rk{width:20px;height:20px;object-fit:contain;vertical-align:-5px;margin-right:6px}.ahc-ours ul{list-style:none;padding-left:0}

.rhead{display:block;font:700 12px Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin:18px 0 8px}
.rcards{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.rcard{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--olive);border-radius:3px;padding:10px 12px}.rcard.is-fallen{border-left-color:var(--muted)}
.rc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.rc-head .cs{font-weight:700;font-size:17px;color:var(--text)}.rc-role{font:700 11px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--khaki)}
.rcard dl{display:flex;gap:18px;margin:6px 0 0}.rcard dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.rcard dd{margin:0;font-size:14px}
.rc-links{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:13px}.rc-links a{margin:0}
.rsearch{margin:6px 0 10px}.rsearch input{width:100%;max-width:520px;box-sizing:border-box;background:#0b0b0b;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:11px 14px;font-size:16px}.rsearch input:focus{outline:none;border-color:var(--khaki)}
.rfull{margin:16px 0}.rfull>summary{cursor:pointer;display:inline-block;list-style:none;font:700 13px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--khaki);border:1px solid var(--khaki);border-radius:3px;padding:10px 16px}.rfull>summary::-webkit-details-marker{display:none}.rfull>summary::before{content:'▸ '}.rfull[open]>summary::before{content:'▾ '}.rfull[open]>summary{margin-bottom:12px}
.photos .comic img,.picture-grid img[src*="40-3cd-reunion"]{object-position:top}
.portraits.remembrance figure{max-width:340px}.portraits.remembrance img{width:100%;height:auto}
.portrait-native img{width:200px;max-width:100%;height:auto}



/* Fallen page: salute intro, then flags at half-mast as a fixed background */
body:has(.flagbg),body:has(.flagbg) main,body:has(.flagbg) .memorial-page,body:has(.flagbg) .prose{background:transparent}
.flagbg{position:fixed;inset:0;z-index:-1;background:#000 url(/assets/media/flags-half-mast.jpg) center 30%/cover no-repeat}
.flagbg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.45) 0,rgba(0,0,0,.72) 45vh,rgba(0,0,0,.86) 100%)}
@media(max-width:1100px){.flagbg{background-image:url(/assets/media/flags-half-mast-1024.jpg)}}
@media(max-width:700px) and (orientation:portrait){.flagbg{background-image:url(/assets/media/flags-half-mast-mobile.jpg);background-position:center 20%}}
.salute-hero{position:relative;width:100vw;margin:0 0 28px calc(50% - 50vw);height:66vh;max-height:760px;min-height:260px;overflow:hidden;background-color:#000;transition:background-color 2.2s ease,max-height 1.4s cubic-bezier(.65,0,.35,1),margin-bottom 1.4s cubic-bezier(.65,0,.35,1)}
.salute-hero[hidden]{display:none}
.salute-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 2.2s ease-in-out}
.salute-hero.out{background-color:rgba(0,0,0,0)}.salute-hero.out video{opacity:0}
.salute-hero.gone{min-height:0;margin-bottom:0}
.flagbg{transform-origin:50% 35%;transition:transform 3.2s cubic-bezier(.45,0,.55,1)}
.flagbg.pre{transform:scale(1.15);transition:none}
.hero-ctrl{position:absolute;right:14px;bottom:12px;display:flex;gap:8px;transition:opacity .6s}.salute-hero.out .hero-ctrl{opacity:0;pointer-events:none}
.hero-ctrl button,.salute-replay button{font:12px Arial,sans-serif;letter-spacing:.06em;color:#e6e0d6;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.35);border-radius:2px;padding:5px 11px;cursor:pointer}.hero-ctrl button:hover,.salute-replay button:hover{border-color:#fff}
.salute-replay{text-align:center;margin:0 0 14px}
.page-credits{font-size:12px;color:#8f8a83;text-align:center;margin:50px auto 0;max-width:720px}.page-credits a{color:#a9a39a}
.memorial-page .lead,.memorial-page p{text-shadow:0 1px 2px rgba(0,0,0,.6)}
@media(max-width:700px){.salute-hero{height:42vh;min-height:220px}}
@media(prefers-reduced-motion:reduce){.salute-hero video,.salute-hero,.flagbg{transition:none}.flagbg.pre{transform:none}}
body:has(.flagbg){overflow-x:hidden}

/* Fallen page: memorial cards */
.memorial-page{max-width:820px}
.memorial-page h1{font-weight:400;letter-spacing:.01em;margin:6px 0 10px}
.memorial-page .lead{max-width:620px;margin:0 auto 30px;color:#cfc9bf;font-style:italic}
.memorial-page .mcard{background:rgba(6,6,6,.84);border:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(201,182,140,.35);border-radius:2px;padding:38px 46px 30px;margin:0;box-shadow:0 18px 50px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#e9e4da}
.mc-head{display:flex;gap:30px;align-items:center;margin-bottom:22px}
.mc-portraits{display:flex;gap:12px;flex:0 0 auto}
.mc-portraits figure{margin:0;text-align:center;max-width:200px}
.mc-portraits img{display:block;width:auto;max-width:180px;max-height:220px;height:auto;padding:6px;background:#0d0d0d;border:1px solid #6d6556;box-shadow:inset 0 0 0 1px #000}
.mc-portraits figure+figure img{max-width:120px;max-height:150px}
.mc-portraits figcaption{font-size:12px;color:#a39d93;margin-top:6px;line-height:1.4;font-style:italic}
.mc-emblem{width:120px;height:120px;border:1px solid #6d6556;display:flex;align-items:center;justify-content:center;padding:6px}.mc-emblem svg{width:70px;height:70px;fill:#7d2222;opacity:.8}
.mc-id h2{font-size:46px!important;font-weight:400;letter-spacing:.03em;margin:0;text-align:left!important;line-height:1.1}
.mc-name{font-size:19px;color:#d9cfb8;margin:4px 0 8px;letter-spacing:.04em;font-variant:small-caps}
.mc-epitaph{font-style:italic;color:#c4beb3;margin:0;font-size:18px;line-height:1.6}
.mc-body>p{color:#e2ddd3}
.mc-body h3{font-family:Georgia,serif;font-size:13px!important;letter-spacing:.22em!important;color:#b8ad93!important;margin:30px 0 12px!important;display:flex;align-items:center;gap:12px}.mc-body h3::after{content:'';flex:1;height:1px;background:rgba(201,182,140,.25)}
.memorial-page .mcard blockquote.tribute{position:relative;margin:0 0 18px;padding:14px 18px 12px 26px;border-left:2px solid #7d2222;background:rgba(255,255,255,.025);font-size:17px;line-height:1.75;color:#ece7dd}
.memorial-page .mcard blockquote.tribute p{margin:0 0 6px}
.memorial-page .mcard blockquote.tribute cite{display:block;font-style:normal;font-size:13px;color:#a8a196;letter-spacing:.03em}.memorial-page .mcard blockquote.tribute cite::before{content:'— '}
.memorial-page .mcard a{color:#d6c49a}
.mc-body .portraits.remembrance{margin:22px 0}
.mc-photo{margin:16px auto;max-width:420px;text-align:center}.mc-photo img{width:100%;height:auto;padding:6px;background:#0d0d0d;border:1px solid #6d6556}.mc-photo figcaption{font-size:13px;font-style:italic;color:#a39d93}
.orn{display:flex;align-items:center;gap:16px;margin:34px auto;max-width:340px}.orn span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(201,182,140,.45),transparent)}.orn-leaf{width:22px;height:22px;fill:#8e2a2a;opacity:.85}
.share-memory{margin:46px auto 10px;max-width:620px;text-align:center;padding:24px 28px;border:1px solid rgba(201,182,140,.25);background:rgba(6,6,6,.75)}.share-memory h2{font-size:24px!important;font-weight:400;margin:0 0 8px}.share-memory p{margin:6px 0}
.closing{text-align:center;margin:56px 0 10px}.orn-poppy{width:34px;height:34px}.lest{font-size:24px;font-style:italic;letter-spacing:.06em;color:#e3ddd2;margin:10px 0 2px}.closing .salute{margin:0}
.memorial-page .source,.memorial-page .memorial-links{color:#b7b1a7;font-size:14px;text-align:center}
html.reveal-on .reveal{opacity:0;transform:translateY(18px);transition:opacity 1.1s ease,transform 1.1s ease!important}
html.reveal-on .reveal.in{opacity:1;transform:none}
@media(max-width:700px){.memorial-page .mcard{padding:26px 18px 20px}.mc-head{flex-direction:column;text-align:center;gap:16px}.mc-id h2{text-align:center!important;font-size:38px!important}.mc-portraits{justify-content:center}.mc-portraits img{max-width:150px}.memorial-page .mcard blockquote.tribute{padding:12px 12px 10px 16px;font-size:16px}}
@media(prefers-reduced-motion:reduce){html.reveal-on .reveal{opacity:1;transform:none;transition:none!important}}
/* live webmap tile */
.webmap-tile{position:relative;display:block;width:100%;max-width:340px;height:220px;margin-top:14px;padding:0;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--olive);border-radius:3px;background:#11130c;cursor:zoom-in;transition:border-color .18s,transform .18s,box-shadow .18s}
.webmap-tile:hover,.webmap-tile:focus-visible{border-color:#4a4f36;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.7)}
.webmap-tile iframe{position:absolute;top:0;left:0;width:300%;height:300%;border:0;transform:scale(.3333);transform-origin:0 0;pointer-events:none}
.webmap-modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:2vh 2vw}
.webmap-modal[hidden]{display:none}
.webmap-modal-box{width:96vw;height:94vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--olive);border-radius:6px;overflow:hidden}
.webmap-modal-bar{display:flex;align-items:center;gap:16px;padding:8px 12px}.webmap-modal-bar strong{flex:1}
.webmap-close{background:none;border:1px solid var(--line);color:inherit;font-size:16px;padding:4px 10px;border-radius:4px;cursor:pointer}.webmap-close:hover{border-color:var(--red)}
.webmap-modal-frame{flex:1}.webmap-modal-frame iframe{width:100%;height:100%;border:0;display:block}
body.modal-open{overflow:hidden}
@media (max-width:860px){.webmap-tile{max-width:none}.webmap-modal{padding:0}.webmap-modal-box{width:100vw;height:100vh;border-radius:0}}

/* =====================================================================
   DESIGN SYSTEM v31 — tokens + one consistent component layer.
   Palette unchanged (black + warm accent). Fallen page keeps its own
   solemn treatment (.memorial-page rules above win where scoped).
   ===================================================================== */
:root{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:19px;--fs-h3:20px;--fs-h2:clamp(26px,3vw,34px);--fs-h1:clamp(34px,4.6vw,56px);
  --r1:3px;--r2:6px;
  --b1:#262626;--b2:#3a3a32;--b-hover:#5a5f42;
  --sh1:0 1px 0 rgba(255,255,255,.03) inset,0 2px 8px rgba(0,0,0,.45);--sh2:0 12px 28px rgba(0,0,0,.7);
  --accent:var(--red);--accent-hi:#e3262f;--content:1180px;--prose:70ch;--section-gap:var(--s8);
  --line:var(--b1)
}
body{font-size:var(--fs-md);line-height:1.65}
h1,h2,h3{letter-spacing:.035em;line-height:1.08}
h1{font-size:var(--fs-h1);margin:0 0 var(--s3)}h2{font-size:var(--fs-h2);margin:0 0 var(--s3)}h3{font-size:var(--fs-h3);margin:0 0 var(--s2)}
p{margin:0 0 var(--s4)}
.lead{font-size:var(--fs-lg);line-height:1.6;max-width:var(--prose)}
.small,.meta,.caption{font-size:var(--fs-xs);letter-spacing:.02em}.source{font-size:var(--fs-sm);color:var(--muted)}
.eyebrow{font:700 11px/1 Arial,sans-serif;letter-spacing:.24em;margin:0 0 var(--s2);color:#8f9a5e}

/* layout rhythm */
.wrap{max-width:var(--content);padding:var(--section-gap) var(--s5) 0}
main.page{max-width:1040px;padding:var(--s7) var(--s5) var(--s8)}
main.wide{padding-bottom:var(--s5)}
.prose p,.prose li,.prose blockquote,.formpage p{max-width:var(--prose)}
.prose section{margin-top:var(--s7)}
.prose h2{margin-top:var(--s6)}.prose h3{margin-top:var(--s5)}
main.page>.eyebrow:first-child+h1,main.page h1:first-child{margin-top:0}

/* section header: eyebrow + title, optional action right */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s5);margin:0 0 var(--s5);padding:0 0 var(--s3);border-bottom:1px solid var(--b1)}
.head:after{width:56px;height:2px;background:var(--accent)}
.head h2{margin:0}.head .eyebrow{display:block}
.head a{font:600 13px/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:var(--s2) 0}
.head+.meta{margin:calc(var(--s3)*-1) 0 var(--s4)}
.cat,.rgroup h2,.formpage section>h2{border-bottom:1px solid var(--b1)}
.archive-h{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--b1);position:relative}
.archive-h:before{content:"";position:absolute;left:0;top:-1px;width:56px;height:2px;background:var(--accent)}

/* cards: one component */
.card,.vcard,.staff,.member,.compose,.poll,.prose article,.memorial-card,.film,.row,.post,.picture-grid figure,.map-gallery figure,.rcard,.squadpanel,.stats,.rstats,.addvideo,.vlist li,.formpage form,.webmap-tile,.callout,.memorial{border-radius:var(--r1)}
.card,.vcard,.staff,.member,.compose,.poll,.prose article,.memorial-card,.film,.post,.picture-grid figure,.map-gallery figure,.rcard,.addvideo,.vlist li,.formpage form{border-color:var(--b1);box-shadow:var(--sh1)}
.card{padding:var(--s5);gap:var(--s2);height:100%}
.card h3{font-size:var(--fs-h3);margin:0}.card p{font-size:15px;margin:0 0 var(--s3)}
.card:hover,.vcard:hover,.staff:hover,.picture-grid figure:hover,.map-gallery figure:hover,.webmap-tile:hover{border-color:var(--b-hover);box-shadow:var(--sh2);transform:translateY(-2px)}
.staff{padding:var(--s5)}.member,.compose,.poll,.film,.prose article,.memorial-card{padding:var(--s5)}
.grid3,.vgrid{gap:var(--s5);align-items:stretch}.vgrid{margin:0}
.vcard{height:100%}.vcard>div{padding:var(--s4)}
.staffgrid{gap:var(--s4);align-items:stretch}

/* images: consistent ratios */
.photos{gap:var(--s3)}.photos img{height:auto;aspect-ratio:4/3;object-fit:cover}
.picture-grid,.map-gallery{gap:var(--s4)}
.picture-grid img,.map-gallery img{height:auto;aspect-ratio:4/3}
.yt{aspect-ratio:16/9}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:42px;padding:0 var(--s5);border-radius:var(--r1);font:700 12.5px/1 Arial,sans-serif;letter-spacing:.12em;margin:var(--s3) var(--s3) 0 0;background:var(--accent);border:1px solid var(--accent);color:#fff;text-decoration:none}
.btn:hover{background:var(--accent-hi);border-color:var(--accent-hi);color:#fff}
.btn.alt,.btn.secondary{background:transparent;border-color:var(--b2);color:var(--khaki)}.btn.alt:hover,.btn.secondary:hover{border-color:var(--khaki);background:#141414;color:#fff}
.btn.link{background:none;border-color:transparent;color:var(--khaki);padding:0 var(--s2)}.btn.link:hover{color:#fff;text-decoration:underline}
button.btn{font-family:Arial,sans-serif}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.btn:focus-visible{outline:2px solid var(--khaki);outline-offset:3px;border-radius:var(--r1)}
.addvideo .btn,.vlist .btn{margin:0}

/* nav: single row on desktop */
nav{gap:0;padding:0 var(--s4);min-height:48px;border-bottom:1px solid var(--b1)}
nav a,nav .who,.linkbtn{padding:16px 11px 15px;font:600 12px/1 Arial,sans-serif;letter-spacing:.11em;white-space:nowrap}
nav a.on{color:#fff;box-shadow:inset 0 -3px var(--accent)}
nav a:not(.on):hover,.linkbtn:hover{color:#fff;box-shadow:inset 0 -2px var(--b-hover)}
nav .navsep{height:18px;margin:0 var(--s2);background:var(--b2)}
nav .who{color:var(--khaki);padding-right:4px}
@media(max-width:1380px) and (min-width:761px){nav a,nav .who,.linkbtn{padding-left:8px;padding-right:8px;letter-spacing:.08em;font-size:11.5px}}

/* footer */
footer{margin-top:var(--s8);padding:var(--s6) var(--s5) var(--s7);font-size:13px;line-height:2;letter-spacing:.04em;color:var(--muted);border-top:1px solid var(--b1);box-shadow:inset 0 2px 0 var(--accent)}

/* forms */
label{margin:var(--s4) 0 var(--s1);font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em}
input,textarea,select{padding:11px 12px;border:1px solid var(--b2);border-radius:var(--r1);background:#0a0a0a;color:var(--text);font:inherit;margin-top:var(--s1)}
input:hover,textarea:hover{border-color:#4a4a40}input:focus,textarea:focus{border-color:var(--khaki);box-shadow:0 0 0 3px rgba(210,195,147,.12);outline:none}
input[type=checkbox],input[type=radio]{width:auto;display:inline-block;margin:0 6px 0 0}
.formpage form{padding:var(--s2) var(--s5) var(--s5)}
.formpage form .btn{margin-top:var(--s5)}
.alert,.notice{border-radius:var(--r1);padding:var(--s3) var(--s4);margin:0 0 var(--s4)}

/* forum lists + tables */
.row,.boards .row{padding:var(--s4) var(--s5);margin-bottom:var(--s2);border-color:var(--b1);gap:var(--s4)}
.row:hover{border-color:var(--b-hover);background:#161616}
.row .num{font-size:22px}.row h3{margin:0 0 2px}.row small{font-size:var(--fs-xs);letter-spacing:.04em}
.post{margin:0 0 var(--s3)}.post header{padding:var(--s3) var(--s5)}.post .body{padding:var(--s4) var(--s5)}
.roster-table{font-size:15px}.roster-table th,.roster-table td{padding:var(--s3) var(--s4);border-bottom-color:var(--b1)}
.roster-table thead th{padding-top:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--b2)}
.rsearch input{border-color:var(--b2);border-radius:var(--r1)}
.rcards{gap:var(--s3)}.rcard{padding:var(--s3) var(--s4)}

/* content blocks formerly inline-styled */
.name-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s3) var(--s5);list-style:none;padding:0}
.ruled-block{margin:var(--s6) 0;padding:var(--s5) 0;border-top:1px solid var(--b2);border-bottom:1px solid var(--b2)}
.transcript{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}
.timeline>li>*{min-width:0}.timeline .what,.timeline h2{overflow-wrap:anywhere}

/* tile in history split */
.split{gap:var(--s6);align-items:start}.links{gap:var(--s1)}.links a{padding:var(--s3) var(--s4);border-radius:var(--r1)}
.webmap-tile{margin-top:var(--s3)}

@media(max-width:760px){
  :root{--section-gap:var(--s7)}
  .wrap{padding:var(--section-gap) var(--s4) 0}main.page{padding:var(--s6) var(--s4) var(--s7)}
  nav{padding:0 var(--s1);min-height:44px}nav a,nav .who,.linkbtn{padding:14px 9px 13px;font-size:11px}
  .head{flex-direction:column;align-items:flex-start;gap:var(--s1)}
  .card,.staff,.member,.compose,.poll,.film,.prose article,.memorial-card{padding:var(--s4)}
  .row,.boards .row{padding:var(--s3) var(--s4)}.post header,.post .body{padding-left:var(--s4);padding-right:var(--s4)}
  .formpage form{padding:var(--s1) var(--s4) var(--s4)}
  .btn{min-height:44px}
  footer{margin-top:var(--s7);padding:var(--s5) var(--s4) var(--s6)}
}
.vlist .btn,.member .btn,.msg .btn,form.inline .btn{min-height:30px;padding:0 var(--s3);font-size:11px;margin:0 0 0 var(--s1)}
.vlist li form{display:flex;align-items:center;gap:var(--s1)}
/* factory output panel (home, under map tile) */
.factory{margin-top:var(--s3);max-width:340px;background:var(--panel);border:1px solid var(--b1);border-top:3px solid var(--accent);border-radius:var(--r1);padding:var(--s3) var(--s4);box-shadow:var(--sh1)}
.fx-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s2)}.fx-head .eyebrow{margin:0}
.fx-srv{font:600 11px/1.4 Arial,sans-serif;letter-spacing:.06em;color:var(--muted)}.fx-srv:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#777;margin-right:6px;vertical-align:1px}
.fx-srv.fx-online:before{background:#6fbf4a}.fx-srv.fx-maintenance:before,.fx-srv.fx-locked:before{background:#d8932b}.fx-srv.fx-offline:before{background:var(--accent)}
.factory ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.fx-row{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm)}
.fx-flag{font:700 10px/1 Arial,sans-serif;letter-spacing:.08em;padding:3px 5px;border-radius:2px;border:1px solid var(--b2);color:var(--khaki)}
.fx-axis .fx-flag{color:#e0a080;border-color:#5a3a2a}
.fx-name{flex:1;color:var(--text)}.fx-pct{font-family:Impact,sans-serif;font-size:17px;color:var(--khaki);letter-spacing:.03em}
.fx-bar{height:6px;background:#0a0a0a;border:1px solid var(--b1);border-radius:3px;overflow:hidden;margin:5px 0 3px}.fx-bar i{display:block;height:100%;background:linear-gradient(90deg,#b5651d,#e08a2c)}
.fx-axis .fx-bar i{background:linear-gradient(90deg,#8a1c1c,var(--accent))}
.factory small{font-size:var(--fs-xs);color:var(--muted)}
.fx-upd{margin:var(--s3) 0 0;font-size:11px;color:var(--muted)}.fx-upd a{color:var(--muted)}.fx-upd a:hover{color:#fff}
@media(max-width:860px){.factory{max-width:none}}
.links .factory a{display:inline;padding:0;background:none;border:0;border-radius:0}
/* traffic panel (command desk) */
.tstats{grid-template-columns:repeat(5,1fr);margin:var(--s3) 0 var(--s4)}.tstats b{font-size:34px}.tstats span{font-size:var(--fs-xs);color:var(--muted);line-height:1.5}
.tchart{margin:0 0 var(--s5);background:var(--panel);border:1px solid var(--b1);border-radius:var(--r1);padding:var(--s4)}
.tchart svg{display:block;width:100%;height:140px}.tchart .tv{fill:#b5651d}.tchart .tu{fill:var(--khaki);opacity:.85}.tchart g:hover .tv{fill:#e08a2c}
.tchart figcaption{margin-top:var(--s2);font-size:var(--fs-xs);color:var(--muted)}.tchart .k{display:inline-block;width:10px;height:10px;margin:0 6px 0 10px;vertical-align:-1px;border-radius:2px}.tchart .k:first-child{margin-left:0}.kv{background:#b5651d}.ku{background:var(--khaki)}
.tcols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.tcols h3{font-size:16px;letter-spacing:.08em}
.tlist{list-style:none;margin:0;padding:0}.tlist li{display:flex;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s3);border-bottom:1px solid var(--b1);font-size:var(--fs-sm)}.tlist li:nth-child(odd){background:var(--panel)}.tlist span{overflow-wrap:anywhere}.tlist b{color:var(--khaki);font-weight:600}
label.chk{display:inline-flex;align-items:center;gap:6px;margin:var(--s4) var(--s3) 0 0}
.members-teaser{max-width:640px}.members-teaser .btn,.members-only .btn{margin-top:0}
@media(max-width:760px){.tstats{grid-template-columns:1fr 1fr}.tcols{grid-template-columns:1fr}}
/* command desk: searchable long lists */
.desklist{margin-top:var(--s4)}.dl-search{max-width:520px}.dl-search input{font-size:16px}
.dl-status{min-height:1.4em;margin:var(--s2) 0}
.dl-full>summary{display:inline-flex;gap:.35em;align-items:center;list-style:none;cursor:pointer;font:700 12.5px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--khaki);border:1px solid var(--b2);border-radius:var(--r1);padding:12px var(--s5);margin:0 0 var(--s3)}
.dl-full>summary::-webkit-details-marker{display:none}.dl-full>summary:hover{border-color:var(--khaki);color:#fff}
.dl-full>summary [data-dl-close],.dl-full[open]>summary [data-dl-open]{display:none}.dl-full[open]>summary [data-dl-close]{display:inline}
.desklist.filtering .dl-full>summary [data-dl-open],.desklist.filtering .dl-full>summary [data-dl-close]{display:none}
.desklist.filtering .dl-full>summary:before{content:"Clear search ·"}
.dl-item[hidden]{display:none}.dl-rows .member{margin-bottom:var(--s2)}
/* recruit (probation) badge */
.rk-recruit{color:var(--khaki)}.rk-recruit small{font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;border:1px solid var(--b2);border-radius:2px;padding:0 5px;margin-left:4px}
.tag.rk-badge{border-color:#6a5a2a;color:#e0b060}
select{display:block;width:100%;padding:11px 12px;margin-top:var(--s1);background:#0a0a0a;color:var(--text);border:1px solid var(--b2);border-radius:var(--r1);font:inherit}
select option:disabled{color:#666}
form.promote{display:block;margin:var(--s3) 0 0}
/* unified history page */
.secnav{position:sticky;top:48px;z-index:15;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin:var(--s5) 0 var(--s4);padding:var(--s2) 0;background:rgba(0,0,0,.94);border-bottom:1px solid var(--b1)}
.secnav::-webkit-scrollbar{display:none}
.secnav a{flex:0 0 auto;padding:8px 12px;font:600 11.5px/1 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-radius:var(--r1)}
.secnav a:hover{color:#fff;background:#141414}.secnav a.on{color:#fff;box-shadow:inset 0 -2px var(--accent)}
.history .hsec,.history #ahc{scroll-margin-top:110px;margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--b1)}
.history .hsec>h2{margin-top:0}
.orbat-grid,.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin:var(--s4) 0}
.people-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.orbat-grid .card ul{margin:0;padding-left:18px}.orbat-grid .card li{color:var(--text);font-size:15px}
.card.person h3{color:var(--khaki)}
.hfull{margin:var(--s4) 0;background:var(--panel);border:1px solid var(--b1);border-radius:var(--r1);padding:var(--s3) var(--s4)}
.hfull>summary{cursor:pointer;color:var(--khaki);font-weight:600}.hfull[open]>summary{margin-bottom:var(--s3)}
.history .timeline .what{max-width:var(--prose)}
.hbtns .btn{margin-top:var(--s2)}
@media(max-width:760px){.secnav{top:44px;margin-left:-16px;margin-right:-16px;padding-left:8px}.orbat-grid{grid-template-columns:1fr}}
.prose .timeline>li,.prose ol.timeline{max-width:none}.prose .timeline .what blockquote{max-width:none}
/* ===== History: staged exhibit ===== */
:root{--leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5 L56 20 L64 15 L61 37 L74 24 L77 31 L90 29 L86 42 L93 46 L72 62 L75 70 L53 67 L54 88 L46 88 L47 67 L25 70 L28 62 L7 46 L14 42 L10 29 L23 31 L26 24 L39 37 L36 15 L44 20 Z'/%3E%3C/svg%3E");--leafc:#d2412a}
.leaf{display:inline-block;width:26px;height:26px;flex:0 0 auto;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
main.page:has(.prose.history){max-width:1120px}
.history .h-hero{display:grid;grid-template-columns:1fr 220px;gap:var(--s6);align-items:center;padding:var(--s5) 0 var(--s4)}
.history .h-hero h1{font-size:clamp(44px,6vw,76px);margin:var(--s1) 0 var(--s3)}
.history .h-badge{width:220px;height:220px;filter:drop-shadow(0 12px 30px rgba(210,65,42,.25))}
.statstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--b1);border:1px solid var(--b1);border-top:3px solid var(--accent);border-radius:var(--r1);margin:var(--s4) 0 var(--s5)}
.statstrip div{background:var(--panel);padding:var(--s5) var(--s4);position:relative}
.statstrip div:before{content:"";position:absolute;top:12px;right:12px;width:14px;height:14px;background:var(--leafc);opacity:.35;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.statstrip b{display:block;font:400 clamp(28px,3.4vw,42px)/1 Impact,Oswald,sans-serif;letter-spacing:.02em;color:var(--khaki)}
.statstrip span{display:block;margin-top:var(--s2);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.history .secnav{margin-top:var(--s6)}
.chapter{margin-top:var(--s8);scroll-margin-top:110px}
.ch-head{display:flex;align-items:center;gap:var(--s4);padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:1px solid var(--b1);position:relative}
.ch-head:after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:2px;background:linear-gradient(90deg,var(--accent),transparent)}
.ch-num{font:400 64px/1 Impact,Oswald,sans-serif;color:transparent;-webkit-text-stroke:1px #5a4a3a;letter-spacing:.02em}
.ch-head .leaf{width:30px;height:30px}
.ch-head h2{margin:0;font-size:clamp(28px,3.6vw,42px)}.ch-head .eyebrow{margin-bottom:4px}
.ch-lede{font-size:clamp(20px,2.2vw,24px);line-height:1.45;color:#f1ead8;max-width:34ch;margin-bottom:var(--s4)}
.ch-split{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--s6);align-items:start}
.ch-split.rev{grid-template-columns:1fr 1.25fr}
.ch-fig{margin:0;background:var(--panel);border:1px solid var(--b1);border-radius:var(--r1);padding:var(--s2);position:relative}
.ch-fig:before{content:"";position:absolute;top:-9px;left:-9px;width:22px;height:22px;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.ch-fig img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;background:#0a0a0a}
.ch-fig figcaption{font-size:var(--fs-xs);color:var(--muted);padding:var(--s2) var(--s1) 0}
blockquote.pull{margin:var(--s6) 0;padding:var(--s5) var(--s5) var(--s4) var(--s7);position:relative;border:0;border-left:3px solid var(--accent);background:linear-gradient(90deg,rgba(210,65,42,.08),transparent 70%);max-width:none}
blockquote.pull:before{content:"";position:absolute;left:16px;top:26px;width:22px;height:22px;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
blockquote.pull p{font:400 clamp(22px,2.6vw,32px)/1.25 Impact,Oswald,sans-serif;letter-spacing:.02em;text-transform:uppercase;color:#f3ecda;margin:0 0 var(--s3);max-width:none}
blockquote.pull cite{font-size:var(--fs-sm);color:var(--muted);font-style:normal}
/* org chart */
.orgchart{margin:var(--s5) 0;text-align:center}
.oc-top{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:var(--s4) var(--s6);background:var(--panel);border:1px solid var(--b2);border-top:3px solid var(--accent);border-radius:var(--r2);position:relative}
.oc-top b{font:400 22px/1.1 Impact,Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase}.oc-top small,.oc-node small{color:var(--muted);font-size:var(--fs-xs)}
.oc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin-top:var(--s6);position:relative}
.oc-row:before{content:"";position:absolute;top:calc(var(--s6)*-1);left:50%;height:calc(var(--s6)/2);border-left:1px solid var(--b2)}
.oc-row:after{content:"";position:absolute;top:calc(var(--s6)/-2);left:12.5%;right:12.5%;border-top:1px solid var(--b2)}
.oc-node{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--s4) var(--s3);background:var(--panel);border:1px solid var(--b1);border-radius:var(--r2)}
.oc-node:before{content:"";position:absolute;top:calc(var(--s6)/-2);left:50%;height:calc(var(--s6)/2);border-left:1px solid var(--b2)}
.oc-node b{font:400 19px/1.1 Impact,Oswald,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--khaki)}
.oc-node.air{border-top:3px solid #b5651d}.oc-node .chip{margin-top:var(--s2)}
.chip{display:inline-block;padding:4px 10px;margin:3px;border:1px solid var(--b2);border-radius:999px;background:#0d0d0d;font-size:13px;color:var(--text);white-space:nowrap}
.oc-h{margin-top:var(--s6);font-size:18px;letter-spacing:.1em}
.oc-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.oc-group{background:var(--panel);border:1px solid var(--b1);border-radius:var(--r2);padding:var(--s4)}
.oc-group h4{margin:0 0 var(--s2);font:700 11px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8f9a5e}
.oc-group.air h4{color:#e08a2c}
/* timeline with maple-leaf nodes */
.ch-timeline .timeline:before{background:linear-gradient(to bottom,transparent,var(--b2) 40px,var(--b2) calc(100% - 40px),transparent)}
.ch-timeline .timeline>li:before{width:20px;height:20px;left:141px;top:4px;border:0;border-radius:0;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.ch-timeline .timeline .when span{display:inline-block;padding:2px 10px;border:1px solid var(--b2);border-radius:999px;background:#0d0d0d;font-size:16px}
.ch-timeline .timeline .what h2{font-size:clamp(22px,2.4vw,28px)}
.tl-more{margin-top:var(--s3)}.tl-more>summary{cursor:pointer;display:inline-block;font:700 11.5px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--khaki);border:1px solid var(--b2);border-radius:var(--r1);padding:9px 14px}
.tl-more>summary:hover{border-color:var(--khaki);color:#fff}.tl-more[open]>summary{margin-bottom:var(--s3)}
/* people */
.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s4);margin:var(--s5) 0;align-items:start}
.pcard{position:relative;background:var(--panel);border:1px solid var(--b1);border-radius:var(--r2);overflow:hidden}
.pcard:after{content:"";position:absolute;top:10px;right:10px;width:16px;height:16px;background:var(--leafc);opacity:.5;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.pcard>summary,.pcard .p-sum{display:grid;grid-template-columns:56px 1fr;gap:4px var(--s3);padding:var(--s4);list-style:none;cursor:pointer}
.pcard .p-sum{cursor:default}.pcard>summary::-webkit-details-marker{display:none}
.p-avatar{grid-row:span 2;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:400 20px/1 Impact,Oswald,sans-serif;letter-spacing:.04em;color:#111;background:radial-gradient(circle at 30% 30%,#f0b070,#b5651d);box-shadow:0 0 0 3px #0a0a0a,0 0 0 4px #5a3a1a}
.p-id{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.p-id b{font:400 20px/1.1 Impact,Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.p-role{font:700 10px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:4px 7px;border-radius:999px;border:1px solid #6a4a2a;color:#e0a060}
.p-note{grid-column:2;font-size:14px;color:var(--muted);line-height:1.5}
.p-more{grid-column:2;font:700 11px/1 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--khaki);margin-top:4px}
.pcard[open] .p-more{display:none}.pcard[open] .p-note{display:none}
.p-full{margin:0;padding:0 var(--s4) var(--s4) calc(56px + var(--s4) + var(--s3));font-size:14.5px;color:var(--text)}
.pcard:hover{border-color:var(--b-hover)}
.staff-chips{margin:var(--s6) 0 var(--s4);padding:var(--s5);background:var(--panel);border:1px solid var(--b1);border-radius:var(--r2)}
.staff-chips h2{font-size:22px}
.chip-grid{list-style:none;padding:0;margin:var(--s3) 0;display:flex;flex-wrap:wrap;gap:6px}
.chip-grid li{padding:6px 12px;border:1px solid var(--b2);border-radius:999px;background:#0d0d0d;font-size:14px;max-width:none}
.memory-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s4);margin:var(--s4) 0}
.memory-cards article{background:var(--panel);border:1px solid var(--b1);border-radius:var(--r2);padding:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.memory-cards article h3{font-size:18px;margin:0}.memory-cards article p{font-size:14.5px;color:var(--muted);margin:0}
.memory-cards article>a{margin-top:auto;font-size:13px}
.history .chapter.ahc,.history .chapter.squad-planning{margin-top:var(--s8);padding:0;border:0;background:none}
@media(max-width:860px){
 .history .h-hero{grid-template-columns:1fr;text-align:left}.history .h-badge{width:120px;height:120px;order:-1}
 .statstrip{grid-template-columns:1fr 1fr}.ch-split,.ch-split.rev{grid-template-columns:1fr}.ch-split.rev .ch-fig{order:2}
 .oc-row{grid-template-columns:1fr 1fr}.oc-row:after,.oc-row:before,.oc-node:before{display:none}.oc-groups{grid-template-columns:1fr}
 .ch-num{font-size:44px}.chapter{margin-top:var(--s7)}
 .ch-timeline .timeline>li:before{left:-3px;top:4px}
 blockquote.pull{padding-left:var(--s6)}
}
.p-id{min-width:0}.p-role{white-space:nowrap}
.p-avatar.img{overflow:hidden;background:#111}.p-avatar.img img{width:100%;height:100%;object-fit:cover;object-position:68% 15%}
.p-links{display:block;margin-top:6px;font-size:13px}.p-sig{display:block;width:calc(100% - 2*var(--s4));margin:0 var(--s4) var(--s4);border:1px solid var(--b1);border-radius:var(--r1)}
.subtimeline{list-style:none;margin:var(--s3) 0 0;padding:0 0 0 var(--s4);border-left:1px dashed var(--b2)}
.subtimeline>li{position:relative;margin:0 0 var(--s5);padding-left:var(--s3);max-width:none}
.subtimeline>li:before{content:"";position:absolute;left:calc(-1 * var(--s4) - 7px);top:4px;width:13px;height:13px;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.sub-when{display:block;font:700 11px/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e08a2c}
.subtimeline b{display:block;font:400 19px/1.2 Impact,Oswald,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:2px 0 4px}
.subtimeline p{margin:0 0 var(--s2);font-size:15px}
blockquote.extract.mini{margin:var(--s2) 0 0;padding:10px 14px}blockquote.extract.mini p{font-size:14.5px;font-style:italic}
.prose article.pcard{margin:0;padding:0}.p-role{white-space:normal;max-width:100%;line-height:1.3}
.pcard.is-fallen{border-color:#2e2e2e;background:#0d0d0d}.pcard.is-fallen:after{background:#8e8e8e;opacity:.6}
.p-avatar.fallen{background:radial-gradient(circle at 30% 30%,#9a9a9a,#4a4a4a);color:#0a0a0a;box-shadow:0 0 0 3px #0a0a0a,0 0 0 4px #444;filter:grayscale(1)}
.p-fallen{font:italic 400 11.5px/1 Georgia,serif;color:#cfcfcf;border:1px solid #555;border-radius:2px;padding:3px 6px}
.pcard.is-fallen .p-role{border-color:#555;color:#bbb}
.more-names{margin:-6px 0 var(--s5);font-style:italic}
/* people cards v3: nested details + in-game record */
.pcard>details>summary,.pcard .p-sum{display:grid;grid-template-columns:56px 1fr;gap:4px var(--s3);padding:var(--s4) var(--s4) var(--s3);list-style:none;cursor:pointer}
.pcard .p-sum{cursor:default}.pcard>details>summary::-webkit-details-marker{display:none}
.pcard>details[open] .p-more,.pcard>details[open]>summary .p-note{display:none}
.pcard .p-full{padding:0 var(--s4) var(--s3) calc(56px + var(--s4) + var(--s3))}.pcard .p-full>p{margin:0 0 var(--s2);font-size:14.5px}
.p-history{list-style:none;margin:var(--s2) 0;padding:0 0 0 var(--s3);border-left:1px dashed var(--b2)}
.p-history li{position:relative;font-size:13.5px;color:var(--text);margin:0 0 var(--s2);line-height:1.45;max-width:none}
.p-history li:before{content:"";position:absolute;left:calc(-1 * var(--s3) - 5px);top:4px;width:9px;height:9px;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.p-history li span{display:block;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e08a2c}
.pcard.is-fallen .p-history li:before{background:#8e8e8e}.pcard.is-fallen .p-history li span{color:#aaa}
.p-foot{border-top:1px solid var(--b1);padding:var(--s2) var(--s4) var(--s3);background:#0d0d0d}
.p-record{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;color:var(--muted)}
.p-record b{font:400 15px/1 Impact,Oswald,sans-serif;letter-spacing:.03em;color:var(--khaki);margin-right:2px}
.p-record .p-rank{color:#e0a060;font-weight:600}.p-record small{font-size:10.5px;color:#777;margin-left:auto}
.p-links2{display:flex;gap:var(--s3);margin-top:6px}.p-statform{margin:0;display:inline}
.p-link{background:none;border:0;padding:0;font-size:12px;font-weight:600;font-family:inherit;color:var(--khaki);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.p-link:hover{color:#fff}
.pcard{display:flex;flex-direction:column}.pcard>details,.pcard>.p-sum{flex:1}
.tl-note{margin-top:var(--s4);padding-top:var(--s3);border-top:1px dashed var(--b2)}.tl-note h3{font-size:16px;letter-spacing:.08em;margin:0 0 var(--s2)}.tl-note p{font-size:15px}

.mc-photo-wide{max-width:600px;margin:0 auto var(--s5)}.mc-photo-wide img{filter:saturate(.75)}
.selfvids{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4);margin:var(--s4) 0 var(--s5)}.selfvids video{width:100%;aspect-ratio:550/400;background:#000;border-radius:var(--r1);display:block}.selfvids .film h3{margin:var(--s3) 0 var(--s1)}.selfvids .film p{font-size:14px;margin:0}

.oldguard{position:relative;margin:var(--s5) 0 var(--s6);padding:8px;background:#0d0d0d;border:1px solid var(--b2);border-radius:var(--r1);box-shadow:var(--sh1)}.oldguard img{display:block;width:100%;height:auto;border-radius:2px}.oldguard figcaption{padding:var(--s3) var(--s2) var(--s1);font-size:14px;color:var(--muted);line-height:1.5;max-width:none}.oldguard .og-by{font-size:12px;color:#888;font-style:italic}.og-leaf{position:absolute;top:-12px;left:-12px;width:30px;height:30px;background:var(--leafc);-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat;z-index:1;filter:drop-shadow(0 0 2px #000)}

.feat-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);margin:var(--s5) 0 var(--s6)}.feat-pair .oldguard{margin:0}@media(max-width:820px){.feat-pair{grid-template-columns:1fr}}

.shot-legend{font-size:13.5px;color:var(--muted);border-left:3px solid #e08a2c;padding:6px 0 6px var(--s3);margin:0 0 var(--s4);max-width:70ch}
/* Black theme lock (CO): true black page/section/card backgrounds sitewide; orange/red accents, borders and dividers unchanged. Keep this block last. */
:root{--bg:#000;--panel:#000;--panel2:#000}
html,body,main,main.page,section,.chapter,.prose,.card,.links a,.row,.row:hover,.post,.film,.vcard,.pcard,.pcard.is-fallen,.picture-grid figure,.map-gallery figure,.ch-fig,.hfull,.oc-group,.staff-chips,.memory-cards article,.statstrip div,.stats>div,.squadpanel>*,.tchart,.factory,.tlist li:nth-child(odd),.roster-table tbody tr:nth-child(even),.roster-table tbody tr:hover,.webmap-modal-box,.p-avatar.img,.chip-grid li,.ahc-figs figure,.tl-note,.tl-shot,details.tl-more,blockquote.extract,blockquote.pull,.secnav a:hover,.btn.alt:hover,.btn.secondary:hover{background-color:#000}
blockquote.pull{background-image:none}
body:has(.flagbg) main,body:has(.flagbg) .memorial-page,body:has(.flagbg) .prose,body:has(.flagbg) section{background-color:transparent}
.webmap-tile,.memorial,.chip,.oldguard,figure.oldguard,.p-foot,.p-foot *,.picture-grid img,.ch-fig img,.ahc-figs img,.mc-photo img,.oldguard img,.pcard img,input,textarea,select{background-color:#000}
.picture-grid figure img,.oldguard img,#rq{background-color:#000}
.timeline .when span,.map-gallery img,.memorial img,.memorial-page img,.mcard img{background-color:#000}
.ch-timeline .timeline .when span{background-color:#000}
.mc-links{margin:18px 0 0;font-size:15px;color:#a39d93;letter-spacing:.02em}.mc-links a{color:#d9cfb8;text-decoration:none;border-bottom:1px solid rgba(201,182,140,.35)}.mc-links a:hover{color:#fff;border-bottom-color:var(--accent)}
.memorial-links.staff-fallen{font-size:13px;margin-bottom:4px}.memorial-links.staff-fallen a{color:#a39d93}
.permform{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}.permform .chk{display:inline-flex;gap:6px;margin-right:14px}
.mc-support{margin:10px 0 0;font-size:15px}.mc-support a{color:#e0b07a;text-decoration:none;border-bottom:1px solid rgba(224,176,122,.4)}.mc-support a:hover{color:#fff}
.mc-dates{font-size:16px;color:#c4beb3;margin:0 0 8px;letter-spacing:.06em}
.mc-foot{margin-top:22px;padding-top:12px;border-top:1px solid rgba(201,182,140,.18)}.mc-foot .mc-links{margin-top:0}
.fe-row{display:flex;gap:14px;align-items:flex-start;margin:10px 0;padding:10px 0;border-top:1px solid var(--line)}.fe-thumb{width:110px;height:auto;border:1px solid #333}.fe-row>div{flex:1}.fe-trib{margin:10px 0;padding:10px 0;border-top:1px solid var(--line)}
.mc-photo-wide img{width:auto;max-width:100%;max-height:480px;margin:0 auto;display:block}
.laston{margin:var(--s5) 0}.laston-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-top:3px solid var(--accent);background:#000}.laston-list li{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px;align-items:baseline;padding:10px 16px;border-top:1px solid var(--line)}.laston-list li:first-child{border-top:0}.laston-list .cs{font-weight:700;color:var(--text)}.lo-role{color:var(--muted);font-size:14px}.lo-when{color:#e08a2c;font-weight:600}.lo-date{color:var(--muted);font-size:14px;text-align:right}
.rel-ago{color:#e08a2c;font-size:.9em;white-space:nowrap}
@media(max-width:600px){.laston-list li{grid-template-columns:1fr 1fr}.lo-date{text-align:left}}
.laston-list{max-width:none;width:100%}.laston-list li{max-width:none}
nav a.nav-minor{opacity:.75}nav a.nav-minor:hover,nav a.nav-minor.on{opacity:1}
.games-tile{margin:0 0 6px;padding:10px 16px;border:1px solid var(--line);border-left:3px solid #e08a2c;color:var(--muted);font-size:14px;background:#000}.games-tile .eyebrow{margin:0 8px 0 0}
.games-page .game{margin:var(--s6,36px) 0;border:1px solid var(--line);border-top:3px solid #e08a2c;background:#000;padding:22px 24px}
.game-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:12px}.game-rune{font:400 22px/1 Georgia,serif;letter-spacing:.35em;color:#e08a2c;opacity:.85}.game-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;letter-spacing:.18em;text-transform:uppercase;color:#e6e1d3;text-shadow:0 0 18px rgba(224,138,44,.25)}
.game-body{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.game-server{border:1px solid var(--line);padding:12px 16px;background:#000}.game-server h3{margin-top:0}.game-server dl div{display:flex;gap:10px}.game-server dt{color:var(--muted);min-width:80px}
.game-links .btn{margin-right:8px}.discord-btn{background:#e08a2c;border-color:#e08a2c;color:#000}.discord-btn:hover{background:#f0a050;color:#000}.game-img{max-width:100%;margin-bottom:12px}
@media(max-width:760px){.game-body{grid-template-columns:1fr}}
.game-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:var(--s5,24px) 0}.game-card{display:block;padding:20px 22px;border:1px solid var(--line);border-top:3px solid #e08a2c;background:#000;color:var(--text);text-decoration:none}.game-card:hover{border-color:#e08a2c;color:#fff}.game-card img{width:100%;height:auto;margin-bottom:10px;border:1px solid var(--line)}.game-card h2{margin:4px 0 8px;font-family:Georgia,"Times New Roman",serif;letter-spacing:.18em;text-transform:uppercase}.game-card p{color:var(--muted);font-size:15px}.game-go{color:#e08a2c;font-size:14px}.game-go .small{display:block;color:var(--muted)}
.game-hero{margin:10px 0 24px;padding:44px 28px 30px;border:1px solid var(--line);border-top:3px solid #e08a2c;background-color:#000;background-size:cover;background-position:center}.game-hero .game-rune{display:block;font:400 22px/1 Georgia,serif;letter-spacing:.35em;color:#e08a2c;margin:6px 0}.game-hero h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px;text-shadow:0 0 22px rgba(224,138,44,.3),0 2px 6px #000}.game-roots{color:#cfc8b8;font-style:italic;text-shadow:0 1px 4px #000}
.game-back{font-size:14px;margin:6px 0 10px}.game-back a{color:#e08a2c}
.game-home .game .game-head{display:none}
.official-shots{margin:26px 0}.official-shots .shot-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.official-shots figure{margin:0;border:1px solid var(--line);background:#000}.official-shots img{display:block;width:100%;height:auto}.shot-credit{font-size:12px;color:var(--muted);font-style:italic;margin-top:8px}
.promo-row{margin:18px auto 8px}.promo-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:6px}
.promo-card{display:flex;align-items:stretch;min-height:74px;border:1px solid var(--line);border-left:3px solid #e08a2c;background:#000;color:var(--text);text-decoration:none;overflow:hidden}.promo-card:hover{border-color:#e08a2c;color:#fff}
.promo-img{flex:0 0 110px;background-size:cover;background-position:center;filter:brightness(.75)}.promo-card:hover .promo-img{filter:brightness(.95)}
.promo-txt{display:flex;flex-direction:column;justify-content:center;padding:8px 14px;font-size:14px}.promo-txt b{font-family:Georgia,"Times New Roman",serif;letter-spacing:.12em;text-transform:uppercase;font-size:15px}.promo-txt span{color:#e08a2c;font-size:13px}
.promo-card.promo-main{border-left-color:var(--accent)}.promo-card.promo-main .promo-txt span{color:var(--khaki)}
/* Game page header (replaces the 3CD banner on /<game> pages only; same height as the main banner) */
.banner.game-banner{height:clamp(99px,16.7vw,166px);background-color:#000;background-size:cover;background-position:center;line-height:1.2;font-size:16px;display:flex;align-items:center;justify-content:center}
.banner.game-banner:before,.banner.game-banner:after{display:none}
.gb-inner{width:100%;max-width:994px;padding:0 24px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.gb-name{font:400 clamp(26px,4.6vw,52px)/1 Georgia,"Times New Roman",serif;letter-spacing:.16em;text-transform:uppercase;color:#f3ede0;text-decoration:none;text-shadow:0 0 24px rgba(224,138,44,.45),0 2px 6px #000}
.gb-name:hover{color:#fff}
.gb-tag{font:600 clamp(11px,1.4vw,14px)/1.3 Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#e08a2c;text-shadow:0 1px 4px #000}
.gb-family{font-size:12px;color:#cfc8b8;text-decoration:none;border-bottom:1px solid rgba(224,138,44,.5);text-shadow:0 1px 3px #000;margin-top:4px}.gb-family:hover{color:#fff}
@media(max-width:600px){.gb-family{font-size:11px}.gb-name{letter-spacing:.08em}}
/* ---- Per-game themes: scoped to .gtheme-<key> (game pages only). Fonts: SIL OFL, self-hosted (assets/fonts). ---- */
@font-face{font-family:"Uncial Antiqua";src:url(fonts/uncial.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Cinzel";font-weight:700;src:url(fonts/cinzel.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Stardos Stencil";font-weight:700;src:url(fonts/stardos.woff2) format("woff2");font-display:swap}
/* Valheim: Norse firelight, dark wood and stone */
.gtheme-valheim{--g-acc:#f0a64a;--g-acc2:#c9692a;--g-ink:#f1e3c8;--g-line:#5a4330}
.banner.gtheme-valheim{border-bottom-color:#c9692a}
.gtheme-valheim .gb-name,.game-home.gtheme-valheim h1,.game-home.gtheme-valheim h2,.game-home.gtheme-valheim h3,.game-home.gtheme-valheim .promo-txt b{font-family:"Uncial Antiqua",Georgia,serif;letter-spacing:.06em;text-transform:none}
.gtheme-valheim .gb-name{color:#f6e2b8;text-shadow:0 0 22px rgba(240,140,40,.65),0 2px 6px #000}
.gtheme-valheim .gb-tag,.game-home.gtheme-valheim .game-rune{color:#f0a64a}
.game-home.gtheme-valheim .game,.game-home.gtheme-valheim .game-hero,.game-home.gtheme-valheim .game-server,.game-home.gtheme-valheim .promo-card,.game-home.gtheme-valheim .official-shots figure{border-color:#5a4330;border-top-color:#c9692a;background-color:#120c08;background-image:repeating-linear-gradient(90deg,rgba(255,220,170,.025) 0 2px,transparent 2px 23px),linear-gradient(180deg,rgba(240,140,40,.07),rgba(0,0,0,0) 60%)}
.game-home.gtheme-valheim .game-hero{background-blend-mode:normal}
.game-home.gtheme-valheim .btn,.game-home.gtheme-valheim .btn.alt{border-color:#c9692a;color:#f6e2b8;background:#1d130b}.game-home.gtheme-valheim .btn:hover{background:#c9692a;color:#120c08}
.game-home.gtheme-valheim .discord-btn{background:#f0a64a;border-color:#f0a64a;color:#120c08}
.game-home.gtheme-valheim a,.game-home.gtheme-valheim .game-back a,.game-home.gtheme-valheim .promo-txt span{color:#f0a64a}.game-home.gtheme-valheim .eyebrow{color:#c9a27a}
/* World of Warcraft: deep blue and gold, ornate borders */
.gtheme-wow{--g-acc:#e6c25a}
.banner.gtheme-wow{border-bottom:3px double #c9a43a}
.gtheme-wow .gb-name,.game-home.gtheme-wow h1,.game-home.gtheme-wow h2,.game-home.gtheme-wow h3,.game-home.gtheme-wow .promo-txt b{font-family:"Cinzel",Georgia,serif;font-weight:700;letter-spacing:.1em}
.gtheme-wow .gb-name{color:#f3d77a;text-shadow:0 0 18px rgba(80,140,255,.55),0 2px 4px #000}
.gtheme-wow .gb-tag,.game-home.gtheme-wow .game-rune{color:#8fb7ff}
.game-home.gtheme-wow .game,.game-home.gtheme-wow .game-hero,.game-home.gtheme-wow .game-server,.game-home.gtheme-wow .promo-card,.game-home.gtheme-wow .official-shots figure{border:2px solid #b8923a;box-shadow:inset 0 0 0 1px #000,inset 0 0 0 3px rgba(230,194,90,.35);background-color:#07102a;background-image:radial-gradient(ellipse at 50% 0,rgba(70,120,230,.22),rgba(0,0,0,0) 65%)}
.game-home.gtheme-wow .promo-card{border-left-width:2px}
.game-home.gtheme-wow .btn,.game-home.gtheme-wow .btn.alt{background:linear-gradient(#1c2f6b,#0c1840);border:1px solid #d4af4a;color:#f3d77a;font-family:"Cinzel",Georgia,serif}.game-home.gtheme-wow .btn:hover{background:linear-gradient(#2a46a0,#13225a);color:#fff}
.game-home.gtheme-wow .discord-btn{background:linear-gradient(#e6c25a,#b8923a);color:#07102a;border-color:#f3d77a}
.game-home.gtheme-wow a,.game-home.gtheme-wow .game-back a,.game-home.gtheme-wow .promo-txt span{color:#e6c25a}.game-home.gtheme-wow .eyebrow{color:#8fb7ff}
/* DayZ: gritty survival, desaturated greens and greys, grunge */
.banner.gtheme-dayz{border-bottom-color:#6b7a52;filter:saturate(.75)}
.gtheme-dayz .gb-name,.game-home.gtheme-dayz h1,.game-home.gtheme-dayz h2,.game-home.gtheme-dayz h3,.game-home.gtheme-dayz .promo-txt b{font-family:"Stardos Stencil","Arial Black",Impact,sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.gtheme-dayz .gb-name{color:#d9dccf;text-shadow:2px 2px 0 rgba(0,0,0,.8)}
.gtheme-dayz .gb-tag,.game-home.gtheme-dayz .game-rune{color:#a9b98a}
.game-home.gtheme-dayz .game,.game-home.gtheme-dayz .game-hero,.game-home.gtheme-dayz .game-server,.game-home.gtheme-dayz .promo-card,.game-home.gtheme-dayz .official-shots figure{border-color:#3b4232;border-top-color:#6b7a52;background-color:#0d0f0b;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px),repeating-linear-gradient(-45deg,rgba(0,0,0,.25) 0 2px,transparent 2px 7px),radial-gradient(circle at 20% 30%,rgba(110,125,85,.12),transparent 55%)}
.game-home.gtheme-dayz .game-hero,.game-home.gtheme-dayz .official-shots img,.game-home.gtheme-dayz .promo-img{filter:saturate(.7) contrast(1.05)}
.game-home.gtheme-dayz .btn,.game-home.gtheme-dayz .btn.alt{background:#20251b;border:1px dashed #8a9a6c;color:#d9dccf;font-family:"Stardos Stencil","Arial Black",sans-serif;border-radius:0}.game-home.gtheme-dayz .btn:hover{background:#4a5638;color:#fff}
.game-home.gtheme-dayz .discord-btn{background:#8a9a6c;color:#0d0f0b;border-style:solid}
.game-home.gtheme-dayz a,.game-home.gtheme-dayz .game-back a,.game-home.gtheme-dayz .promo-txt span{color:#b7c48f}.game-home.gtheme-dayz .eyebrow{color:#8f957f}
.game-home .promo-card.promo-main{font-family:inherit}
.gamepick{border:1px solid var(--line);padding:10px 14px;margin:12px 0}.gamepick legend{padding:0 6px;color:var(--khaki)}.gamepick .chk{display:inline-flex;gap:6px;margin:4px 16px 4px 0}
nav a.who{color:var(--khaki)}.game-count{font-size:14px;color:#e08a2c;margin:4px 0}
/* Game-themed forum boards/topics (same shared forum) */
.game-forum.gtheme-valheim .row,.game-forum.gtheme-valheim .post,.game-forum.gtheme-valheim .card{border-color:#5a4330;background:#120c08}.game-forum.gtheme-valheim .row:hover{border-color:#c9692a}
.game-forum.gtheme-wow .row,.game-forum.gtheme-wow .post,.game-forum.gtheme-wow .card{border:1px solid #b8923a;background:#07102a}.game-forum.gtheme-wow .row:hover{border-color:#e6c25a}
.game-forum.gtheme-dayz .row,.game-forum.gtheme-dayz .post,.game-forum.gtheme-dayz .card{border-color:#3b4232;background:#0d0f0b}.game-forum.gtheme-dayz .row:hover{border-color:#8a9a6c}
.game-forum h1{margin-top:6px}
/* ===== WWIIOL main-site theme: field-order / dossier look. Scoped to non-game pages (game pages carry header.game-banner). Background stays true black. ===== */
@font-face{font-family:"Oswald";src:url(/assets/fonts/oswald.woff2) format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"Special Elite";src:url(/assets/fonts/specialelite.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Black Ops One";src:url(/assets/fonts/blackopsone.woff2) format("woff2");font-display:swap}
:root{--ww-or:#e08a2c;--ww-or2:#f0a64a;--ww-kh:rgba(210,195,147,.55);--ww-ol:rgba(125,135,84,.7)}
/* faint map grid + paper grain over black (very low opacity; body color itself stays #000) */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))){background-color:#000;background-image:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
 linear-gradient(rgba(210,195,147,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(210,195,147,.025) 1px,transparent 1px),
 linear-gradient(rgba(210,195,147,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(210,195,147,.012) 1px,transparent 1px);
 background-size:160px 160px,120px 120px,120px 120px,24px 24px,24px 24px;background-attachment:fixed}
/* headlines: strong condensed military sans */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(h1,h2,h3){font-family:"Oswald",Impact,"Arial Narrow",sans-serif;font-weight:600;letter-spacing:.06em}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) main h1{font-family:"Black Ops One","Oswald",Impact,sans-serif;font-weight:400;letter-spacing:.05em;color:#f1ece0}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(main h2){border-bottom:1px solid var(--line);padding-bottom:.25em;box-shadow:0 1px 0 rgba(224,138,44,.0)}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(main h2)::after{content:"";display:block;width:56px;height:2px;background:var(--ww-or);margin-top:.3em;margin-bottom:-.3em;position:relative;top:calc(.25em + 1px)}
/* typewriter / stencil labels: field-order stamps */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(.eyebrow,.tag,.timeline .when,.statstrip span,.stats span,.rstats span,.lo-when,.lo-date,th,.chip,label,legend,small.meta,.secnav a){font-family:"Special Elite","Courier New",monospace;letter-spacing:.03em}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(.stats b,.rstats b,.row .num){font-family:"Black Ops One","Oswald",Impact,sans-serif;color:var(--ww-or)}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .eyebrow{display:inline-block;color:var(--ww-or);border:1px solid rgba(224,138,44,.6);padding:1px 8px;transform:rotate(-1.2deg);text-transform:uppercase;font-size:.8em}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .tag{border:1px dashed var(--ww-kh);background:transparent}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .timeline .when{color:var(--ww-or2)}
/* dossier cards: thin rules + orange corner brackets (backgrounds stay black) */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(.card,.pcard,.row,.post,.webmap-tile,.squadpanel,.laston,.desklist > li,.formpage form,.statstrip,.staffgrid > *){border:1px solid #262626;background-color:#000;background-image:
 linear-gradient(var(--ww-or),var(--ww-or)),linear-gradient(var(--ww-or),var(--ww-or)),linear-gradient(var(--ww-or),var(--ww-or)),linear-gradient(var(--ww-or),var(--ww-or)),
 linear-gradient(var(--ww-ol),var(--ww-ol)),linear-gradient(var(--ww-ol),var(--ww-ol)),linear-gradient(var(--ww-ol),var(--ww-ol)),linear-gradient(var(--ww-ol),var(--ww-ol));
 background-repeat:no-repeat;background-size:14px 2px,2px 14px,14px 2px,2px 14px,10px 1px,1px 10px,10px 1px,1px 10px;
 background-position:top left,top left,bottom right,bottom right,top right,top right,bottom left,bottom left}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(.row:hover,.card:hover,.pcard:hover){border-color:rgba(224,138,44,.55)}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) hr{border:0;border-top:1px dashed #3a3a3a}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) :is(.btn,button){font-family:"Oswald",Impact,sans-serif;text-transform:uppercase;letter-spacing:.08em}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) table{border-collapse:collapse}:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) th{color:var(--ww-or);border-bottom:1px solid var(--ww-or);background:#000}
/* maple-leaf touch on main section headings */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) main h2::before{content:"";display:inline-block;width:.7em;height:.7em;margin-right:.4em;vertical-align:-.02em;background:var(--red);clip-path:polygon(50% 0,58% 18%,72% 12%,68% 38%,88% 28%,84% 44%,100% 46%,82% 60%,86% 70%,58% 66%,56% 100%,44% 100%,42% 66%,14% 70%,18% 60%,0 46%,16% 44%,12% 28%,32% 38%,28% 12%,42% 18%)}
/* the memorial stays dignified: no stamps/brackets/maple marks inside it */
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .memorial-page :is(h1,h2,h3){font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.02em;color:inherit}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .memorial-page h2::before,:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .memorial-page h2::after{display:none}
:where(body:not(:has(header.game-banner)):not(:has(.memorial-page))) .memorial-page :is(.card,.post,.row){background-image:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body{background-attachment:scroll!important}}
/* ===== Grey old-map page background for WWIIOL pages (our own 060302ao.jpg, greyscale; see assets/map/NOTES.txt).
   Not on game pages; /fallen gets a near-black version. Content sits on solid black boards. ===== */
body:not(:has(header.game-banner)):not(:has(.memorial-page))::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 50% 45%,rgba(0,0,0,.1) 0%,rgba(0,0,0,.5) 65%,rgba(0,0,0,.92) 100%),url(/assets/map/map-bg-1920.jpg) center/cover no-repeat #000}
@supports (background-image:image-set(url(a.webp) type("image/webp"))){body:not(:has(header.game-banner)):not(:has(.memorial-page))::before{background:radial-gradient(ellipse at 50% 45%,rgba(0,0,0,.1) 0%,rgba(0,0,0,.5) 65%,rgba(0,0,0,.92) 100%),image-set(url(/assets/map/map-bg-1920.webp) type("image/webp"),url(/assets/map/map-bg-1920.jpg) type("image/jpeg")) center/cover no-repeat #000}}
@media (max-width:900px){body:not(:has(header.game-banner)):not(:has(.memorial-page))::before{background:radial-gradient(ellipse at 50% 40%,rgba(0,0,0,.2),rgba(0,0,0,.9)),url(/assets/map/map-bg-1000.jpg) center/cover no-repeat #000}}
@media (min-width:901px){body:not(:has(header.game-banner)):not(:has(.memorial-page))::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;border:8px solid #1e140c;box-shadow:inset 0 0 0 1px #3a2716,inset 0 0 16px 6px rgba(0,0,0,.85)}}
html:has(body:not(:has(header.game-banner)):not(:has(.memorial-page))){background:#000}
body:not(:has(header.game-banner)):not(:has(.memorial-page)){background-color:transparent!important;background-image:none!important}
body:not(:has(header.game-banner)):not(:has(.memorial-page)) main.page{background:#000;border:1px solid #2a2a2a;border-top:3px solid #e08a2c;margin:28px auto 36px;box-shadow:0 10px 40px rgba(0,0,0,.85)}
body:not(:has(header.game-banner)):not(:has(.memorial-page)) main.wide{background:transparent}
body:not(:has(header.game-banner)):not(:has(.memorial-page)) main.wide>*{background:#000;max-width:1180px;margin:22px auto;border:1px solid #2a2a2a;border-top:3px solid #e08a2c;padding-bottom:28px;box-shadow:0 10px 40px rgba(0,0,0,.85)}
body:not(:has(header.game-banner)):not(:has(.memorial-page)) :is(header.banner ~ nav,footer){background:#000}
/* Shared Fallen memorial on game pages: quiet and dark in every theme (no theme effects) */
.game-memorial-wrap{background:none!important}
.game-memorial{max-width:760px;margin:40px auto 30px;padding:26px 24px;text-align:center;background:#000!important;border:1px solid #2a2a2a;border-top:1px solid #3a3a3a;box-shadow:none;font-family:Georgia,"Times New Roman",serif;color:#cfcac0;animation:none!important;filter:none!important}
.game-memorial .gm-eyebrow{display:block;font:13px/1.4 Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:#8d8a82}
.game-memorial .gm-names{font:28px/1.4 Georgia,serif;letter-spacing:.04em;margin:8px 0 6px}
.game-memorial .gm-names a{color:#e8e3d8;text-decoration:none}.game-memorial .gm-names a:hover{text-decoration:underline}
.game-memorial p{margin:.3em 0;color:#9a978f;font-style:italic}
.game-memorial .gm-link{color:#c9c2b0;font-size:15px}
.gtheme-valheim .game-memorial{border-top-color:#6b4a2a}.gtheme-wow .game-memorial{border-top-color:#6e5a2c}.gtheme-dayz .game-memorial{border-top-color:#4a5240}
.game-memorial .gm-salute{font-style:normal;font-size:20px;color:#bdb6a6}
.game-forum-mem{margin:28px 0 6px;padding-top:10px;border-top:1px solid #2a2a2a;font:14px Georgia,serif;text-align:center}.game-forum-mem a{color:#a9a294}
.game-memorial .gm-link{color:#c9c2b0!important;text-decoration-color:#555}
/* Senior-officer insignia (our own SVGs): header row + per-card badge on /command-staff */
.ins-row{display:flex;justify-content:center;gap:clamp(18px,4vw,48px);flex-wrap:wrap;margin:18px 0 26px;padding:18px 10px 12px;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;background:#000}
.ins-row figure{margin:0;text-align:center;width:110px}
.ins-row img{width:96px;height:96px;display:block;margin:0 auto 6px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.9))}
.ins-row figcaption{font:11px/1.3 "Special Elite","Courier New",monospace;letter-spacing:.14em;text-transform:uppercase;color:#c9a75a}
.staff .ins-badge{float:right;margin:0 0 6px 12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.9))}
@media (max-width:600px){.ins-row figure{width:72px}.ins-row img{width:64px;height:64px}.staff .ins-badge{width:36px;height:36px}}
/* Squads of 3CD (history): field-order dossier panel */
.squads-panel{max-width:1120px;margin:40px auto;padding:30px 28px;background:#000;border:1px solid #2a2a2a;border-top:3px solid #e08a2c;position:relative}
.squads-panel::before,.squads-panel::after{content:"";position:absolute;width:18px;height:18px;border:2px solid #e08a2c}
.squads-panel::before{top:-3px;left:-1px;border-right:0;border-bottom:0}.squads-panel::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.squads-panel header p{color:#a9aa97;max-width:760px}
.sq-stamp{display:inline-block;font:12px "Special Elite","Courier New",monospace;letter-spacing:.14em;text-transform:uppercase;color:#e08a2c;border:1px solid rgba(224,138,44,.7);padding:2px 9px;transform:rotate(-1.5deg)}
.sq-unc{font:10px "Special Elite","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase;color:#b9a77a;border:1px dashed #6d6450;padding:0 5px;margin-left:4px;white-space:nowrap}
.sq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.sq-wide{grid-column:1/-1}
.sq-card{background:#000;border:1px solid #262626;padding:18px 20px}
.sq-card h3{font-family:"Oswald",Impact,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#f0a64a;margin:0 0 10px;padding-bottom:6px;border-bottom:1px dashed #3a3a3a}
.sq-line{margin:0;padding-left:20px}.sq-line li{margin:0 0 9px}.sq-line b,.sq-dl dt,.sq-list b{color:#f1ece0}
.sq-dl dt{font-family:"Oswald",Impact,sans-serif;letter-spacing:.05em;margin-top:8px}.sq-dl dd{margin:2px 0 6px;color:#cfcac0}
.sq-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px}
.sq-list li{border-left:2px solid #e08a2c;padding:4px 10px}.sq-list span{display:block;font:12px "Special Elite","Courier New",monospace;color:#b9a77a}
.sq-note{font-size:14px;color:#a9aa97}
.sq-logos>div{display:flex;gap:34px;flex-wrap:wrap;justify-content:center}
.sq-logos figure{margin:0;text-align:center}.sq-logos img{height:100px;width:auto;image-rendering:auto;border:1px solid #2a2a2a;padding:6px;background:#000}
.sq-logos figcaption{font:11px "Special Elite","Courier New",monospace;letter-spacing:.1em;text-transform:uppercase;color:#c9a75a;margin-top:6px}
@media(max-width:760px){.sq-grid{grid-template-columns:1fr}.squads-panel{padding:22px 14px}}
/* Command staff split: current / past */
.staff-sec{margin:30px 0 6px;padding-bottom:6px;border-bottom:2px solid #e08a2c;color:#f2ead8}
.staff.staff-current{border-top-color:#e08a2c}
#current-staff .cs-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
#current-staff .cs-row label{display:flex;gap:6px;align-items:center;margin:0}
.past-command{margin:34px 0;padding:22px 22px 10px;background:#000;border:1px solid #2a2a2a;border-top:3px solid #e08a2c}
.past-command .ch-head{display:flex;gap:12px;align-items:center}
.past-command .staffgrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
@media(max-width:600px){.past-command{padding:16px 12px}.past-command .staffgrid{grid-template-columns:1fr}}
/* ---- Past Command Staff: hall of honour (history) ---- */
.hoh{position:relative;margin:44px 0;padding:46px clamp(16px,4vw,48px) 30px;background:#000;border:1px solid #3a2a12;box-shadow:inset 0 0 0 1px #000,inset 0 0 0 6px #0b0b0b,inset 0 0 0 7px #4a3412;overflow:hidden}
.hoh::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,rgba(224,138,44,.14),transparent 60%)}
.hoh-head{position:relative;text-align:center;max-width:760px;margin:0 auto 30px}
.hoh-leaf{display:block;width:30px;height:30px;margin:0 auto 10px;background:#e08a2c;clip-path:polygon(50% 0,61% 30%,95% 22%,72% 48%,90% 62%,58% 62%,50% 100%,42% 62%,10% 62%,28% 48%,5% 22%,39% 30%)}
.hoh-head .eyebrow{display:block;color:#c9a75a;letter-spacing:.32em}
.hoh-head h2{font-family:"Oswald","Arial Narrow",sans-serif;font-size:clamp(30px,4.4vw,46px);letter-spacing:.08em;text-transform:uppercase;margin:6px 0 10px;color:#f4ecd8;border:0!important}
.hoh-head h2::before,.hoh-head h2::after{content:none!important}
.hoh-lede{color:#cfc6b2;font-size:16px;margin:0 auto}
.hoh-rule{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px auto 0}
.hoh-rule::before,.hoh-rule::after{content:"";height:1px;width:min(220px,30vw);background:linear-gradient(90deg,transparent,#c9a75a)}
.hoh-rule::after{transform:scaleX(-1)}
.hoh-rule span{width:14px;height:14px;background:#e08a2c;clip-path:polygon(50% 0,61% 30%,95% 22%,72% 48%,90% 62%,58% 62%,50% 100%,42% 62%,10% 62%,28% 48%,5% 22%,39% 30%)}
.hoh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;position:relative}
.hoh-card{position:relative;text-align:center;padding:22px 16px 16px;background:linear-gradient(180deg,#0a0a0a,#000 60%);border:1px solid #2b2216;border-top:2px solid #e08a2c;transition:border-color .25s,transform .25s,box-shadow .25s;animation:hohIn .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 60ms)}
.hoh-card::after{content:"";position:absolute;inset:5px;border:1px solid rgba(201,167,90,.14);pointer-events:none}
.hoh-card:hover{border-color:#c9a75a;transform:translateY(-3px);box-shadow:0 10px 28px rgba(224,138,44,.12)}
.hoh-ins img.ins-badge{position:static!important;display:block;width:64px!important;height:64px!important;margin:0 auto 12px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.9)) drop-shadow(0 0 10px rgba(201,167,90,.18))}
.hoh-name{font-family:"Oswald","Arial Narrow",sans-serif;font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:#f4ecd8;margin:0 0 4px}
.hoh-name::before,.hoh-name::after{content:none!important}
.hoh-role{color:#e08a2c;font-weight:600;font-size:14px;margin:0 0 2px}
.hoh-years{font:12px/1.4 "Special Elite","Courier New",monospace;letter-spacing:.08em;color:#a99c80;margin:0 0 10px}
.hoh-links{font-size:13px;margin:0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;color:#6d6556}
.hoh-links a{color:#c9a75a;text-decoration:none;border-bottom:1px solid rgba(201,167,90,.35)}
.hoh-links a:hover{color:#f0a64a;border-color:#f0a64a}
.hoh-foot{text-align:center;color:#8d846f;font-size:13px;margin:26px 0 0}
@keyframes hohIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hoh-card{animation:none;transition:none}.hoh-card:hover{transform:none}}
@media(max-width:520px){.hoh-grid{grid-template-columns:1fr 1fr;gap:10px}.hoh-card{padding:16px 8px 12px}.hoh-name{font-size:18px}.hoh-ins img.ins-badge{width:48px!important;height:48px!important}}
.hoh-name a{color:inherit;text-decoration:none;background:linear-gradient(#e08a2c,#e08a2c) 50% 100%/0 1px no-repeat;transition:background-size .25s}
.hoh-name a:hover,.hoh-name a:focus-visible{background-size:100% 1px;color:#fff}
.pcard{scroll-margin-top:110px}
.pcard:target{outline:2px solid #e08a2c;outline-offset:3px;animation:pcardGlow 2.4s ease-out 1}
@keyframes pcardGlow{0%{box-shadow:0 0 0 0 rgba(224,138,44,.75)}100%{box-shadow:0 0 0 18px rgba(224,138,44,0)}}
@media (prefers-reduced-motion:reduce){.pcard:target{animation:none}}
.appears{margin:12px 0 4px;padding-top:10px;border-top:1px dashed #2f2a20;text-align:left}
.appears .ap-h{display:block;font:11px/1.3 "Special Elite","Courier New",monospace;letter-spacing:.18em;text-transform:uppercase;color:#c9a75a;margin-bottom:6px}
.appears ul{list-style:none;margin:0;padding:0}
.appears li{font-size:13px;line-height:1.35;margin:0 0 5px;padding-left:12px;position:relative}
.appears li::before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;background:#e08a2c;transform:rotate(45deg)}
.appears .ap-k{color:#8d846f;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-right:4px}
.appears a{color:#d9cfb6}
.appears a:hover{color:#f0a64a}
.ap-more summary{cursor:pointer;color:#e08a2c;font-size:12px;margin:2px 0 4px}
.hoh-card .appears{margin-top:10px}
:target.subtimeline > li,li:target{outline:1px solid #e08a2c;outline-offset:4px}

/* AHC Honours (history, chapter six) */
.ahc-honours{position:relative;margin:34px 0 26px;padding:30px clamp(16px,3vw,36px) 26px;background:#000;border:1px solid #6b4a16;border-radius:4px;box-shadow:0 0 0 1px #000,0 0 0 4px #1a1206,0 18px 50px rgba(0,0,0,.6),inset 0 0 60px rgba(212,150,40,.06)}
.ahc-honours::before,.ahc-honours::after{content:"";position:absolute;width:22px;height:22px;border:2px solid #d4a23a}
.ahc-honours::before{top:8px;left:8px;border-right:0;border-bottom:0}.ahc-honours::after{bottom:8px;right:8px;border-left:0;border-top:0}
.ahch-head{text-align:center;margin-bottom:20px}
.ahch-head .eyebrow{color:#e08a2c;letter-spacing:.3em}
.ahch-head h3{margin:.2em 0 .3em;font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(180deg,#f8e3a6,#d4a23a 55%,#9c6d1c);-webkit-background-clip:text;background-clip:text;color:transparent}
.ahch-rule{display:flex;justify-content:center}.ahch-rule span{display:block;width:min(340px,70%);height:2px;background:linear-gradient(90deg,transparent,#d4a23a,#e08a2c,#d4a23a,transparent)}
.ahc-honours figure{margin:0}
.ahch-sig img{display:block;width:100%;max-width:1100px;margin:0 auto;border:1px solid #3a2a10;background:#000;image-rendering:auto}
.ahc-honours figcaption{color:#bfae8a;font-size:.85rem;text-align:center;margin-top:8px}
.ahch-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:center;margin:22px 0 10px}
.ahch-rack img,.ahch-cit img{display:block;width:100%;border:1px solid #d4a23a;padding:8px;background:#050505;box-shadow:0 0 24px rgba(212,162,58,.18)}
.ahch-cit figcaption b{color:#f1cf7a}
.ahch-cap{font-size:1.05rem;line-height:1.6;color:#eee;border-left:3px solid #d4a23a;padding:4px 0 4px 14px;margin:18px 0}
.ahch-cap b{color:#f1cf7a}.ahc-honours a{color:#e9a640}
.ahch-legend{border-top:1px solid #3a2a10;padding-top:12px}
.ahch-legend h4{color:#d4a23a;text-transform:uppercase;letter-spacing:.15em;font-size:.85rem;margin:0 0 6px}
.ahch-pending{color:#cfc3a8}.ahch-pending b{color:#e08a2c}
@media (max-width:720px){.ahch-grid{grid-template-columns:1fr}}

/* The Zipper Line featured story */
.zipper{background:#000;border:1px solid #5a3c12;border-radius:4px;padding:28px clamp(16px,3vw,34px);box-shadow:inset 0 0 60px rgba(224,138,44,.06)}
.zl-head{text-align:center;margin-bottom:18px}.zl-head .eyebrow{color:#e08a2c;letter-spacing:.25em}
.zl-head h2{margin:.15em 0;font-size:clamp(2rem,4.5vw,3rem);letter-spacing:.14em;text-transform:uppercase;color:#f2ead8}
.zl-lede{color:#bfae8a;font-style:italic;margin:0}
.zl-body{display:grid;grid-template-columns:1fr 1.1fr;gap:26px;align-items:start}
.zl-text p{line-height:1.65}.zl-text b{color:#f1cf7a}.zipper a{color:#e9a640}
.zl-orders{list-style:none;padding:0;margin:16px 0;border-left:2px solid #e08a2c}
.zl-orders li{padding:8px 0 8px 14px;border-bottom:1px dashed #2a1d0b;line-height:1.55}
.zl-tag{display:inline-block;min-width:96px;margin-right:8px;color:#e08a2c;font-family:Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.zl-end{font-size:1.1rem}.zl-fig{margin:0;position:sticky;top:90px}.zl-map{display:block;width:100%;height:auto;border:1px solid #e08a2c}
.zl-fig figcaption{color:#8f8470;font-size:.8rem;margin-top:6px;text-align:center}
@media (max-width:860px){.zl-body{grid-template-columns:1fr}.zl-fig{position:static}}
.zl-pull{margin:22px 0 14px;padding:18px 22px;border:1px solid #d4a23a;border-left:4px solid #e08a2c;background:linear-gradient(90deg,rgba(224,138,44,.08),transparent)}
.zl-pull p{margin:0;font-family:Oswald,"Arial Narrow",sans-serif;font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.35;color:#f2ead8;letter-spacing:.02em}
.zl-pull cite{display:block;margin-top:8px;color:#e08a2c;font-style:normal;letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}
.zl-panel{margin:18px 0;padding:14px 18px;border:1px solid #2c4a62;border-left:4px solid #8fb8d8;background:linear-gradient(90deg,rgba(143,184,216,.08),transparent)}
.zl-panel h3{margin:0 0 6px;font-size:1.15rem;color:#f2ead8;letter-spacing:.06em;text-transform:uppercase}.zl-panel .zl-tag{color:#8fb8d8;min-width:0}
.zl-panel b{color:#cfe3f2}
.zl-memories{margin:20px 0;padding:16px 18px;background:#0b0804;border:1px dashed #d4a23a;border-radius:3px;transform:rotate(-.4deg)}
.zl-memories h3{margin:0 0 6px;color:#f1cf7a;font-family:Oswald,"Arial Narrow",sans-serif;letter-spacing:.04em}
.zl-memories p{margin:.4em 0;line-height:1.6}.zl-mem-cite{color:#e08a2c;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.zl-after{margin:20px 0;padding:14px 18px;border:1px solid #5a3c12;background:#070502}
.zl-after h3{margin:0 0 8px;color:#e08a2c;text-transform:uppercase;letter-spacing:.12em;font-size:1rem}
.zl-chain{margin:0;padding-left:1.4em}.zl-chain li{margin:.45em 0;line-height:1.55}.zl-chain li::marker{color:#e08a2c;font-weight:700}.zl-chain b{color:#f1cf7a}
.zl-step{display:flex;align-items:center;gap:10px;margin:22px 0 6px;color:#f2ead8;font-size:1.05rem;text-transform:uppercase;letter-spacing:.1em}
.zl-step span,.zl-stepn{display:inline-grid;place-items:center;width:26px;height:26px;border:1.5px solid #e08a2c;border-radius:50%;color:#e08a2c;font-size:.85rem;letter-spacing:0;margin-right:6px}
.zl-asrem{color:#bfae8a;font-style:italic;font-size:.9em}
.zl-after p:first-of-type{font-family:Oswald,"Arial Narrow",sans-serif;font-size:1.15rem;color:#f2ead8}
.zl-pull-sm{padding:12px 18px;margin:16px 0}.zl-pull-sm p{font-size:clamp(1.05rem,2vw,1.25rem)}
.zl-comic{margin:10px 0 4px;display:flex;gap:12px;align-items:center}
.zl-comic img{width:120px;height:auto;border:1px solid #d4a23a;box-shadow:0 0 14px rgba(212,162,58,.2);transform:rotate(1.5deg)}
.zl-comic figcaption{font-size:.9rem;color:#cfc3a8}
/* History edits from the Command desk */
.hx-memory{margin:18px 0;padding:14px 18px;background:#0b0804;border:1px dashed #d4a23a;border-radius:3px}
.hx-memory h3{margin:0 0 6px;color:#f1cf7a;font-family:Oswald,"Arial Narrow",sans-serif;letter-spacing:.04em}
.hx-memory p,.hx-note p{margin:.4em 0;line-height:1.6}
.hx-credit{display:block;margin-top:8px;color:#e08a2c;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.hx-quote{margin:18px 0;padding:6px 0 6px 18px;border-left:3px solid #e08a2c;color:#f3e6cc;font-size:1.15rem;font-style:italic}
.hx-quote cite{display:block;margin-top:6px;color:#e08a2c;font-style:normal;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
.hx-quote cite::before{content:"— "}
.hx-note{margin-top:10px;padding-top:8px;border-top:1px solid rgba(224,138,44,.35)}
.hx-chbox{margin:10px 0}
#history-editor .inline{display:inline-flex;gap:6px;margin:6px 0}
/* ---------- Command desk: tabs, consistent forms, mobile ---------- */
.desk{background:#000;color:#eee}
.desk-tabs{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;margin:14px 0 10px;padding:8px 0;background:#000;border-bottom:2px solid #e08a2c}
.desk-tabs a{flex:0 0 auto;padding:9px 14px;border:1px solid #3a2a14;border-radius:4px 4px 0 0;color:#f3e6cc;text-decoration:none;font-family:Oswald,"Arial Narrow",sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;background:#0b0804}
.desk-tabs a:hover,.desk-tabs a:focus-visible{border-color:#e08a2c;color:#fff}
.desk-tabs a.on{background:#e08a2c;color:#000;border-color:#e08a2c;font-weight:600}
.dt-badge{display:inline-block;min-width:1.4em;margin-left:4px;padding:0 5px;border-radius:9px;background:#000;color:#e08a2c;font-size:.75rem;text-align:center;border:1px solid #e08a2c}
.desk-tabs a.on .dt-badge{color:#000;background:#f1cf7a;border-color:#000}
.desk-quick{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}
.desk-js .desk-group{display:none}.desk-js .desk-group.on{display:block}
.desk-group{margin:0 0 28px}
.dg-head{margin:6px 0 16px;padding:14px 16px;background:#0b0804;border-left:4px solid #e08a2c}
.dg-head h2{margin:0;color:#f1cf7a;font-family:Oswald,"Arial Narrow",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.dg-head p{margin:4px 0 0;color:#cbbfa8}
.desk-group>section{margin:0 0 18px;padding:16px 18px;background:#050505;border:1px solid #2a1d0c;border-radius:4px}
.desk-group>section>h2{margin-top:0;font-size:1.25rem;color:#e08a2c;border-bottom:1px solid #2a1d0c;padding-bottom:6px}
.desk label{display:block;margin:8px 0;color:#d9cdb5;font-size:.92rem}
.desk input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.desk select,.desk textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:9px 10px;background:#0d0d0d;color:#f3e6cc;border:1px solid #3a2a14;border-radius:3px;font:inherit}
.desk input:focus,.desk select:focus,.desk textarea:focus{outline:none;border-color:#e08a2c;box-shadow:0 0 0 2px rgba(224,138,44,.25)}
.desk label.chk{display:flex;align-items:center;gap:8px}
.desk .btn{min-height:40px;padding:8px 16px;background:#e08a2c;color:#000;border:1px solid #e08a2c;border-radius:3px;font-weight:600;cursor:pointer}
.desk .btn.alt{background:transparent;color:#f1cf7a;border-color:#6b4a1c}
.desk .btn.alt:hover{border-color:#e08a2c;color:#fff}
.desk .btn.danger{background:transparent;color:#ff8a7a;border-color:#7a2a20}
.desk .btn.small{min-height:32px;padding:4px 10px;font-size:.85rem}
.desk details.member{margin:8px 0;padding:8px 12px;background:#0a0a0a;border:1px solid #241a0c;border-radius:3px}
.desk details.member[open]{border-color:#6b4a1c}
.desk details.member>summary{cursor:pointer;padding:4px 0}
.desk .sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.desk-saved{margin:10px 0;padding:12px 16px;background:#1a1206;border:1px solid #e08a2c;border-left:6px solid #e08a2c;color:#f3e6cc;transition:opacity .6s}
.desk-saved b{color:#e08a2c;margin-right:4px}.desk-saved.fade{opacity:.55}
.desk .alert{border-left:6px solid #ff6a50}
.desk-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.desk-dl dt{color:#f1cf7a}.desk-dl dd{margin:0}
@media (max-width:640px){
  .desk-tabs a{padding:8px 10px;font-size:.8rem}
  .desk-group>section{padding:12px}
  .desk .sgrid{grid-template-columns:1fr}
  .desk .btn{width:100%;margin:4px 0}.desk .btn.small,.desk .inline .btn{width:auto}
  .desk-dl{grid-template-columns:1fr}
  .desk table{display:block;overflow-x:auto}
}
.dg-head h2{padding-bottom:8px;margin-bottom:6px}
/* ---------- Forum refresh: cards, avatars, ranks, unread, typography, editor ---------- */
.fx-av{--h:28;display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,hsl(var(--h) 85% 55%),hsl(var(--h) 80% 22%) 75%);color:#000;font:700 14px/1 Oswald,"Arial Narrow",sans-serif;letter-spacing:.04em;box-shadow:0 0 0 2px #000,0 0 0 3px #3a2a14}
.fx-av.sm{width:28px;height:28px;font-size:11px}.fx-av.lg{width:56px;height:56px;font-size:19px}
.fx-rank{display:inline-block;padding:2px 8px;border:1px solid #3a2a14;border-radius:10px;color:#cbbfa8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:#0b0804}
.fx-rank.co{background:#e08a2c;color:#000;border-color:#e08a2c;font-weight:700}.fx-rank.xo{color:#f1cf7a;border-color:#e08a2c}.fx-rank.former{color:#8d8270}
.boards .row.fx-board{grid-template-columns:52px minmax(0,1fr) minmax(180px,260px);align-items:center;border-left:3px solid #2a1d0c}
.boards .row.fx-board.is-unread,.boards .row.fx-topic.is-unread{border-left-color:#e08a2c}
.fx-main{min-width:0}.fx-main h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fx-meta{display:block;margin-top:6px;color:#9c8f78;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.fx-last{display:flex;gap:10px;align-items:center;min-width:0;padding-left:14px;border-left:1px solid #2a1d0c}
.fx-last>span:last-child{min-width:0;display:flex;flex-direction:column}.fx-last b{color:#f3e6cc;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-last em{color:#9c8f78;font-style:normal;font-size:12px}
.fx-last.empty{color:#6f6553;font-size:13px}
.fx-new{padding:1px 8px;border-radius:10px;background:#e08a2c;color:#000;font:700 11px/1.6 Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.boards .row.fx-topic{grid-template-columns:40px minmax(0,1fr) 90px 130px;border-left:3px solid #2a1d0c}
.fx-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#e08a2c;box-shadow:0 0 8px #e08a2c}
.row.fx-topic.is-unread h3{color:#fff}
.fx-count{text-align:center}.fx-count b{display:block;color:#e08a2c;font-size:18px;font-family:Oswald,sans-serif}
.fx-lastby{text-align:right;line-height:1.4}
.post.fx-post{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden}
.fx-author{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;background:#070604;border-right:1px solid #2a1d0c;text-align:center}
.fx-author strong{color:#f1cf7a;font-family:Oswald,"Arial Narrow",sans-serif;letter-spacing:.04em;font-size:16px;overflow-wrap:anywhere}
.fx-pbody{min-width:0}
.post.fx-post header{display:flex;justify-content:space-between;align-items:center;background:transparent;border-bottom:1px solid #1d150a}
.fx-perma{color:#6f6553;font-size:12px;text-decoration:none}.fx-perma:hover{color:#e08a2c}
.post.fx-post .body{font-size:16.5px;line-height:1.75;color:#ece3d2;max-width:72ch}
.post.fx-post .body blockquote{border-left:3px solid #e08a2c;background:#0b0804;color:#cbbfa8;margin:10px 0;padding:8px 14px}
.post.fx-post .body a{color:#f1a24a}
.post.fx-post.is-new{border-color:#6b4a1c}
.fx-unread-line{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#e08a2c;font:600 12px Oswald,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.fx-unread-line::before,.fx-unread-line::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#e08a2c,transparent)}
.fx-compose{border:1px solid #3a2a14;background:#050505}
.fx-ed-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#cbbfa8}
.fx-tools{display:flex;gap:4px;margin:0 0 -1px;padding:6px;border:1px solid #3a2a14;border-bottom:0;border-radius:4px 4px 0 0;background:#0b0804}
.fx-tools button{min-width:36px;height:32px;background:#000;color:#f1cf7a;border:1px solid #3a2a14;border-radius:3px;cursor:pointer}
.fx-tools button:hover{border-color:#e08a2c;color:#fff}
.fx-editor textarea{width:100%;box-sizing:border-box;min-height:140px;padding:12px 14px;background:#0a0a0a;color:#f3e6cc;border:1px solid #3a2a14;border-radius:0 0 4px 4px;font:16px/1.6 inherit;resize:vertical}
.fx-editor textarea:focus{outline:none;border-color:#e08a2c;box-shadow:0 0 0 2px rgba(224,138,44,.25)}
.fx-ed-foot{display:flex;align-items:center;gap:12px;margin-top:10px}.fx-ed-foot .btn{margin-left:auto}
.fx-hint,.fx-count-chars{color:#7d725f;font-size:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:700px){
  .boards .row.fx-board{grid-template-columns:36px minmax(0,1fr)}
  .boards .row.fx-board .fx-last{grid-column:1/-1;padding:8px 0 0;border-left:0;border-top:1px solid #2a1d0c}
  .boards .row.fx-topic{grid-template-columns:32px minmax(0,1fr) auto}.fx-topic .fx-av{width:32px;height:32px;font-size:12px}
  .boards .row.fx-topic>small.fx-lastby{display:none}.boards .row.fx-topic>small.fx-count{display:block}
  .post.fx-post{grid-template-columns:1fr}
  .fx-author{flex-direction:row;justify-content:flex-start;padding:10px 14px;border-right:0;border-bottom:1px solid #2a1d0c;text-align:left}
  .fx-author .fx-av.lg{width:36px;height:36px;font-size:13px}
  .post.fx-post .body{font-size:16px}
  .fx-hint{display:none}
}
/* History: one chronological arc */
.arc-act{position:relative;margin:56px 0 18px;padding:26px 24px 22px;background:#000;border:1px solid #2a1d0c;border-top:3px solid #e08a2c;box-shadow:inset 0 0 60px rgba(224,138,44,.06)}
.arc-act .arc-num{display:inline-block;padding:3px 10px;background:#e08a2c;color:#000;font:700 12px Oswald,"Arial Narrow",sans-serif;letter-spacing:.2em;text-transform:uppercase}
.arc-act h2{margin:10px 0 2px;color:#f1cf7a;font-family:"Black Ops One",Oswald,Impact,sans-serif;font-size:clamp(26px,4vw,40px);letter-spacing:.03em}
.arc-act .arc-yrs{display:block;color:#e08a2c;font:600 14px Oswald,sans-serif;letter-spacing:.14em}
.arc-act p{max-width:70ch;margin:10px 0 0;color:#d9cdb5;line-height:1.65}
.arc-act.beyond{border-top-color:#6b4a1c}.arc-act.beyond .arc-num{background:transparent;color:#e08a2c;border:1px solid #e08a2c}
.arc-beyond{margin-top:70px;padding-top:10px;border-top:1px dashed #3a2a14}
@media (max-width:640px){.arc-act{padding:18px 16px;margin-top:40px}}
.arc-act h2{border:0!important;padding:0!important;background:none!important}.arc-act h2::before,.arc-act h2::after{display:none!important;content:none!important}.arc-act .arc-yrs{margin-top:6px;text-decoration:none}
/* Past Command hall of honour: uniform cards + understated memorial */
.hoh-grid{align-items:stretch}
.hoh-card{display:flex;flex-direction:column;align-items:center;min-height:100%}
.hoh-ins img.ins-badge,.hoh-ins img.ins-badge.co{width:64px!important;height:64px!important}
.hoh-rank{display:block;margin:0 0 6px;color:#e08a2c;font:600 10.5px Oswald,"Arial Narrow",sans-serif;letter-spacing:.2em;text-transform:uppercase}
.hoh-card:not(.is-co) .hoh-rank{color:#8d7f66}
.hoh-role,.hoh-years{margin:0 0 4px}
.hoh-card .appears{width:100%;text-align:left;margin-top:12px;flex:1}
.hoh-card .appears.ap-none p{margin:4px 0 0;color:#6d6556;font-size:13px;font-style:italic}
.hoh-links{margin-top:12px!important;padding-top:10px;border-top:1px solid #1d170e;width:100%}
.hoh-card.is-fallen{border-top-color:#8a6a3a;background:linear-gradient(180deg,#0b0907,#000 65%)}
.hoh-card.is-fallen .hoh-ins img{filter:grayscale(.55) drop-shadow(0 3px 8px rgba(0,0,0,.9))!important}
.hoh-ribbon{position:absolute;top:0;right:14px;width:14px;height:30px;background:#111;border:1px solid #2a2a2a;border-top:0;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.hoh-memoriam{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0;padding:6px 10px;border:1px solid #2b2216;border-radius:2px;background:#050403}
.hoh-memoriam span{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.hoh-memoriam b{color:#d9c9a6;font:600 11px Oswald,"Arial Narrow",sans-serif;letter-spacing:.2em;text-transform:uppercase}
.hoh-memoriam em{color:#a08f70;font-size:12px}
.hoh-poppy{flex:0 0 auto;opacity:.9}
.hoh-nosrc{color:#5a5246;font-style:italic}
/* Gallery: filter tabs and separated sections */
.gal-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 8px;padding:10px 0;border-bottom:2px solid #e08a2c}
.gal-tabs a{padding:8px 14px;border:1px solid #3a2a14;border-radius:3px;background:#0b0804;color:#f3e6cc;text-decoration:none;font:600 13px Oswald,"Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.gal-tabs a span{margin-left:4px;color:#e08a2c;font-weight:400}
.gal-tabs a:hover{border-color:#e08a2c;color:#fff}
.gal-tabs a.on{background:#e08a2c;border-color:#e08a2c;color:#000}.gal-tabs a.on span{color:#000}
.gal-sec{margin-top:34px;padding-top:6px;border-top:1px solid #1d150a}
.gal-sec>h2 .gal-n{font-size:.6em;color:#e08a2c;vertical-align:middle;margin-left:6px}
.gal-help{color:#bdb19a;max-width:75ch}
.picture-grid.sig-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.picture-grid.sig-grid img{width:100%;height:auto;object-fit:contain;background:#000}
@media (max-width:640px){.gal-tabs{flex-wrap:nowrap;overflow-x:auto}.gal-tabs a{flex:0 0 auto}.picture-grid.sig-grid{grid-template-columns:1fr}}
.picture-grid.sig-grid img{aspect-ratio:auto!important;height:auto!important;padding:10px}
/* Hall of honour v2: clearly PAST, maple-leaf 3rd Canadian Division feel */
.hoh-card{overflow:hidden;border-top:2px solid #e08a2c;box-shadow:inset 0 3px 0 -1px rgba(178,34,34,.55)}
.hoh-card::before{content:"";position:absolute;right:-26px;bottom:-22px;width:150px;height:150px;background:#b22222;opacity:.07;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat;pointer-events:none;transform:rotate(-12deg)}
.hoh-past{position:absolute;top:22px;left:-40px;width:160px;padding:3px 0;transform:rotate(-38deg);background:#000;border-top:1px solid #8b1a1a;border-bottom:1px solid #8b1a1a;color:#d9c9a6;font:600 9.5px Oswald,"Arial Narrow",sans-serif;letter-spacing:.22em;text-transform:uppercase;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.6)}
.hoh-mark{position:absolute;top:10px;right:12px;width:16px;height:16px;background:#b22222;opacity:.85;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.hoh-card.is-fallen .hoh-mark{right:36px}
.hoh-rank{color:#c9a75a!important}
.hoh-card.is-co .hoh-rank{color:#e08a2c!important}
.hoh-rank::before,.hoh-rank::after{content:"";display:inline-block;width:14px;height:1px;background:#8b1a1a;vertical-align:middle;margin:0 6px}
.hoh-headleaf{display:block;width:34px;height:34px;margin:6px auto 0;background:#b22222;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat;filter:drop-shadow(0 0 8px rgba(178,34,34,.35))}
.hoh-card>*{position:relative}
.hoh-card>.hoh-past,.hoh-card>.hoh-mark,.hoh-card>.hoh-ribbon{position:absolute}
.hoh-rank{white-space:nowrap;font-size:10px!important;letter-spacing:.16em!important}.hoh-rank::before,.hoh-rank::after{width:10px;margin:0 5px}
/* Phew: contained Pirates Battle Group memorial theme */
.memorial-page .mcard#phew,.pcard.pbg{position:relative;overflow:hidden;border:1px solid rgba(201,182,140,.28);outline:3px double rgba(176,148,96,.35);outline-offset:-9px;background-image:radial-gradient(ellipse at 50% 0,rgba(176,148,96,.07),transparent 65%)}
.memorial-page .mcard#phew::after,.pcard.pbg::after{content:'';position:absolute;right:-60px;bottom:-60px;width:340px;height:340px;background:url(/assets/compass-rose.svg) no-repeat center/contain;opacity:.07;pointer-events:none}
.pcard.pbg::after{width:200px;height:200px;right:-40px;bottom:-40px}
.memorial-page .mcard#phew::before{content:'';position:absolute;left:12px;right:12px;top:12px;height:6px;background:repeating-linear-gradient(115deg,#8a7350 0 4px,#4d3e27 4px 7px);opacity:.45;border-radius:3px}
.pbg-banner{position:relative;z-index:1;text-align:center;margin:4px auto 20px;padding:9px 18px 8px;max-width:420px;background:linear-gradient(#1a140c,#0f0b06);border:1px solid rgba(176,148,96,.45);border-radius:2px;box-shadow:inset 0 0 0 3px rgba(0,0,0,.6),inset 0 0 0 4px rgba(176,148,96,.2)}
.pbg-banner span{display:block;font-family:Georgia,serif;font-size:15px;letter-spacing:.28em;text-transform:uppercase;color:#d6c49a}
.pbg-banner small{display:block;margin-top:3px;font-family:Georgia,serif;font-style:italic;font-size:13px;color:#a8a196}
.pbg-line{position:relative;z-index:1;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:18px;color:#c9b68c;letter-spacing:.04em;margin:22px 0 6px}
.pbg-line::before,.pbg-line::after{content:'~';color:#7a6544;margin:0 10px}
.pcard.pbg .pbg-banner{margin:0 0 12px;max-width:none}.pcard.pbg .pbg-line{font-size:15px;margin:10px 0}
/* Ubique: contained Royal Canadian Artillery memorial theme (gunner red and navy) */
.memorial-page .mcard#ubique,.pcard.rca{position:relative;overflow:hidden;border:1px solid rgba(155,28,31,.45);box-shadow:inset 0 0 0 1px rgba(11,20,38,.9),inset 0 0 0 5px rgba(155,28,31,.18),0 18px 50px rgba(0,0,0,.55);background-image:linear-gradient(180deg,rgba(11,20,38,.35),transparent 40%)}
.memorial-page .mcard#ubique::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(#9b1c1f 0 50%,#1b2c55 50% 100%)}
.memorial-page .mcard#ubique::after,.pcard.rca::after{content:'';position:absolute;right:-50px;bottom:-50px;width:300px;height:300px;background:var(--leaf,none) no-repeat;background:url(/assets/ubique-gunner-emblem.svg) no-repeat center/contain;opacity:.06;pointer-events:none}
.pcard.rca::after{width:180px;height:180px;right:-30px;bottom:-30px}
.rca-banner{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin:4px auto 22px;padding:12px 18px;max-width:520px;background:linear-gradient(90deg,rgba(155,28,31,.16),rgba(11,20,38,.55));border:1px solid rgba(227,199,125,.35);border-left:4px solid #9b1c1f;border-radius:2px}
.rca-banner img{flex:none;width:88px;height:88px;background:transparent!important}
.rca-banner span{display:block;font-family:Georgia,serif;font-size:15px;color:#ece7dd;letter-spacing:.04em}
.rca-banner b{display:block;font-family:Georgia,serif;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#e3c77d;margin-top:2px}
.rca-banner small{display:block;font-family:Georgia,serif;font-style:italic;font-size:13px;color:#a8a196;margin-top:4px}
.rca-line{position:relative;z-index:1;text-align:center;font-family:Georgia,serif;font-size:19px;letter-spacing:.06em;color:#e3c77d;margin:22px 0 6px}
.rca-line::before,.rca-line::after{content:'';display:inline-block;width:14px;height:14px;margin:0 10px;vertical-align:-1px;background:#9b1c1f;-webkit-mask:var(--leaf) center/contain no-repeat;mask:var(--leaf) center/contain no-repeat}
.rca-src{position:relative;z-index:1;text-align:center;font-size:12px;color:#8f897f;margin:0 0 8px}
.pcard.rca .rca-banner{margin:0 0 12px;max-width:none;padding:8px 10px}.pcard.rca .rca-banner img{width:56px;height:56px}.pcard.rca .rca-line{font-size:15px;margin:10px 0}
@media(max-width:700px){.rca-banner{flex-direction:column;text-align:center}}
.pcard.pbg .pbg-banner{padding:6px 8px}.pcard.pbg .pbg-banner span{font-size:12px;letter-spacing:.18em}.pcard.pbg .pbg-banner small{font-size:11.5px}
/* Phew v3: pirate fleet header (supplied by Jea3) behind the Pirates Battle Group banner */
.pbg-fleet{position:relative;z-index:1;margin:0 0 22px;min-height:260px;display:flex;align-items:flex-end;justify-content:center;padding:20px 16px 34px;border:1px solid rgba(176,148,96,.35);border-radius:2px;overflow:hidden;background:#000 url(/assets/gallery/phew-pirate-fleet.jpg) center 38%/cover no-repeat;background-image:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.88) 100%),image-set(url(/assets/gallery/phew-pirate-fleet.webp) type("image/webp"),url(/assets/gallery/phew-pirate-fleet.jpg) type("image/jpeg"));filter:saturate(.8)}
.pbg-fleet .pbg-banner{margin:0;background:rgba(10,8,5,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.pbg-fleet figcaption{position:absolute;right:8px;bottom:6px;font-family:Georgia,serif;font-style:italic;font-size:11px;color:#a8a196;text-shadow:0 1px 2px #000}
.pcard.pbg .pbg-fleet{min-height:170px;margin:0 0 12px;padding:12px 8px 26px}
/* Phew portrait (People card) */
.p-portrait{flex:none;margin:0;width:84px;text-align:center}.p-portrait img{width:84px;height:84px;object-fit:cover;object-position:50% 30%;border-radius:50%;border:2px solid rgba(176,148,96,.55);box-shadow:0 0 0 4px rgba(0,0,0,.6)}
.p-portrait figcaption{font-family:Georgia,serif;font-style:italic;font-size:11px;color:#a8a196;margin-top:4px;line-height:1.2}
.memorial-page .mcard#phew .mc-portraits img{object-fit:cover;object-position:50% 30%}
.p-portrait{margin-right:12px}
/* Phew: From her guestbook */
.pbg-guestbook{position:relative;z-index:1;margin:26px 0 8px;padding:18px 20px 8px;border:1px solid rgba(176,148,96,.3);background:rgba(20,15,8,.55)}
.memorial-page .pbg-guestbook h3{font-family:Georgia,serif;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#d6c49a;margin:0 0 6px}
.pbg-gb-note{font-size:14px;color:#a8a196;margin:0 0 14px}
.pbg-q{margin:0 0 14px;padding:0 0 0 16px;border-left:2px solid rgba(176,148,96,.5)}
.pbg-q p{margin:0 0 3px;font-family:Georgia,serif;font-style:italic;font-size:16.5px;line-height:1.6;color:#ece7dd}
.pbg-q cite{font-style:normal;font-size:12.5px;color:#a8a196;letter-spacing:.03em}.pbg-q cite::before{content:'— '}
/* Phew tribute wall */
.pbg-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0 0 12px}
.pbg-wall .pbg-q{margin:0;padding:12px 14px 10px 16px;background:rgba(0,0,0,.35);border:1px solid rgba(176,148,96,.18);border-left:2px solid rgba(176,148,96,.55);border-radius:2px}
.pbg-wall .pbg-q p{font-size:15.5px;line-height:1.55}
.pbg-q cite b{color:#d6c49a;font-weight:normal;letter-spacing:.04em}
.pbg-tag{display:inline-block;margin-left:6px;padding:0 6px;border:1px solid rgba(176,148,96,.35);border-radius:2px;font-size:11px;color:#c9b68c;letter-spacing:.04em}
.pbg-date{display:block;margin-top:2px;font-size:11.5px;color:#8f897f}
.pbg-more summary{list-style:none;cursor:pointer;display:block;width:max-content;margin:4px auto 14px;padding:8px 18px;border:1px solid rgba(176,148,96,.5);border-radius:2px;font-family:Georgia,serif;font-size:14px;letter-spacing:.08em;color:#d6c49a;background:rgba(20,15,8,.7)}
.pbg-more summary::-webkit-details-marker{display:none}.pbg-more summary:hover,.pbg-more summary:focus-visible{background:rgba(176,148,96,.15);outline:none}
.pbg-more[open] summary{font-size:0}.pbg-more[open] summary::after{content:'Show fewer';font-size:14px}
.pbg-more[open] .pbg-wall{max-height:900px;overflow-y:auto;padding-right:4px}
/* Tribute walls: Railrd (memorial style) and Ubique (RCA red/navy) */
.tw-share{font-family:Georgia,serif;font-style:italic;font-size:14px;color:#a8a196;margin:6px 0 12px}
.tw-railrd{background:rgba(255,255,255,.025);border-color:rgba(201,182,140,.28)}
.tw-railrd .pbg-q{border-left-color:#7d2222;border-color:rgba(255,255,255,.08);border-left:2px solid #7d2222}
.tw-railrd h3,.tw-railrd .pbg-q cite b{color:#d6c49a}.tw-railrd .pbg-tag{border-color:rgba(201,182,140,.35);color:#c9b68c}
.tw-ubique{background:linear-gradient(180deg,rgba(11,20,38,.55),rgba(11,20,38,.3));border-color:rgba(155,28,31,.45);border-top:3px solid #9b1c1f}
.tw-ubique .pbg-q{background:rgba(11,20,38,.45);border-color:rgba(227,199,125,.15);border-left:2px solid #9b1c1f}
.tw-ubique h3,.tw-ubique .pbg-q cite b{color:#e3c77d}.tw-ubique .pbg-tag{border-color:rgba(155,28,31,.6);color:#e3c77d;background:rgba(155,28,31,.15)}
.tw-ubique .pbg-more summary{border-color:rgba(155,28,31,.6);color:#e3c77d;background:rgba(11,20,38,.7)}
.tw-ed li.is-hidden{opacity:.55}
/* Tribute walls: optional full text (Read more / Show less) */
.tw-full{margin:2px 0 6px}
.tw-full summary{list-style:none;cursor:pointer;display:inline-block;font-family:Georgia,serif;font-size:13px;letter-spacing:.06em;color:#e8822a;border-bottom:1px dotted rgba(232,130,42,.6);padding:0 0 1px}
.tw-full summary::-webkit-details-marker{display:none}.tw-full summary:hover,.tw-full summary:focus-visible{color:#ffa552;outline:none}
.tw-full summary::after{content:' ▾';font-size:11px}.tw-full[open] summary::after{content:' ▴'}
.tw-full .tw-less,.tw-full[open] .tw-more{display:none}.tw-full[open] .tw-less{display:inline}
.tw-full[open] summary{margin-bottom:8px}
.pbg-q .tw-full p{font-style:normal;font-size:15px;line-height:1.65;color:#ddd6c8;margin:0 0 8px;padding:10px 12px;background:rgba(0,0,0,.55);border-left:2px solid rgba(232,130,42,.55)}
.tw-railrd .tw-full p{border-left-color:#7d2222}
.tw-ubique .tw-full p{background:rgba(11,20,38,.6);border-left-color:#9b1c1f}.tw-ubique .tw-full summary{color:#e3c77d;border-bottom-color:rgba(227,199,125,.6)}
.tw-phew .tw-full p{border-left-color:rgba(176,148,96,.7)}
/* Malus' Combat Log */
.combatlog .aar-years{position:static;display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.combatlog .aar-years a,.aar-tags a{border:1px solid #ff8c1a;color:#ff8c1a;border-radius:999px;padding:.15rem .7rem;text-decoration:none;font-size:.85rem}
.combatlog section>h2{color:#ff8c1a;border-bottom:1px solid #332010;padding-bottom:.3rem;margin-top:2rem}
.aar{background:#000;border:1px solid #2a1a0a;border-left:3px solid #ff8c1a;border-radius:8px;padding:1rem 1.2rem;margin:1rem 0}
.aar time{color:#ff8c1a;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.aar h3{margin:.2rem 0 .4rem}
.aar-sum{font-weight:600}.aar-ex{border-left:2px solid #553010;margin:.6rem 0;padding-left:.8rem;color:#ccc;font-style:italic}
.aar-tags{display:flex;gap:.4rem;flex-wrap:wrap}.aar-full summary,.aar-other summary{cursor:pointer;color:#ff8c1a}.aar-full div{color:#ddd}
.aar-src a,.aar-hist a,.aar-credit a{color:#ff8c1a}.aar-note{font-size:.85rem;opacity:.75}
/* Combat Log: squad AARs, submit form, desk */
.combatlog .aar-part-h{font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;border-left:4px solid #ff8c1a;padding-left:.7rem;margin-top:2.4rem}
.aar-post{margin:1rem 0}.aar-by{margin:.1rem 0;color:#ff8c1a;font-size:.9rem}.aar-tags span{border:1px solid #555;color:#ccc;border-radius:999px;padding:.15rem .7rem;font-size:.85rem}
.aar-shots{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.aar-shots img{max-height:160px;border:1px solid #332010;border-radius:4px}
.aar-form{display:grid;gap:.9rem}.aar-form label{display:grid;gap:.3rem}.aar-form .chk{display:inline-flex;gap:.35rem;align-items:center;margin:0 .9rem .4rem 0}
.aar-tagpick{border:1px solid #2a1a0a;border-radius:8px;padding:.7rem 1rem}.aar-tagpick legend{color:#ff8c1a;padding:0 .4rem}
.aar-submit{background:#000;border-top:3px solid #ff8c1a}.aar-shot-ed img{border:1px solid #333}
.aar-ed .tag.st-pending{background:#ff8c1a;color:#000}.aar-ed .tag.st-rejected,.aar-ed .tag.st-hidden{background:#333;color:#bbb}.aar-pending .aar{margin:0}.aar-status{display:inline-block;margin-top:.5rem}
.aar-acts .inline{display:inline}
/* Squad credits at the end of the History timeline */
.squad-credits{background:#000;border:1px solid #2a1a0a;border-top:3px solid #ff8c1a}.sc-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem 1.4rem;margin:1rem 0}
.sc-list li{border-left:2px solid #553010;padding-left:.7rem}.sc-list b a,.sc-list b{color:#ff8c1a}.sc-list span{display:block;color:#ccc;font-size:.92rem}
.sc-closing{font-size:1.15rem;font-style:italic;color:#fff;text-align:center;margin:1.4rem 0 .4rem}
.tl-caveat{max-width:760px;margin:0 auto 1.4rem;padding:.6rem 1rem;border:1px dashed #553010;border-radius:6px;color:#ccc;font-size:.92rem;text-align:center;background:#000}.tl-caveat a{color:#ff8c1a}
/* Command staff: community head, WWII Online command, per-game staff */
.cs-head{background:#000;border:1px solid #2a1a0a;border-top:3px solid #ff8c1a;border-radius:8px;padding:1rem 1.3rem;margin:1rem 0 2rem}
.cs-headcard{display:flex;gap:1rem;align-items:center;margin:.6rem 0}.cs-ini{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#ff8c1a;color:#000;font-weight:800;font-size:1.2rem}
.cs-headcard b{display:block;font-size:1.3rem}.cs-headcard b a{color:#fff}.cs-headcard span{color:#ff8c1a;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem}
.cs-wwiiol{margin:1.5rem 0 2.5rem}.cs-wwiiol>h2{display:flex;align-items:center;gap:.5rem}
.cs-games{margin-top:2.5rem}.cs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.cs-game{background:#000;border:1px solid #2a1a0a;border-left:3px solid #ff8c1a;border-radius:8px;padding:.9rem 1.1rem}.cs-game header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.cs-game h3{margin:0;color:#fff}.cs-game header a{color:#ff8c1a}
.cs-list{list-style:none;padding:0;margin:.7rem 0 0}.cs-list li{padding:.35rem 0;border-top:1px solid #1d1209}.cs-list b,.cs-list b a{color:#fff;display:block}.cs-list span{color:#ff8c1a;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.cs-tbn b{color:#888!important;font-style:italic;font-weight:500}
.cs-form{display:grid;gap:.6rem;margin:.5rem 0}
.cs-head h2::before,.cs-head h2::after,.cs-games h2::before,.cs-games h2::after{content:none!important;display:none!important}
.cs-ini{color:#000!important;font-family:inherit;line-height:1}.cs-row{display:flex;gap:.5rem;flex-wrap:wrap}.cs-row .btn{width:auto!important}
/* Two-tier structure: legend, tiers, realm tiles */
.cs-legend{border:1px solid #f60;background:#000;color:#fff;padding:1rem 1.2rem;margin:1rem 0 1.5rem;border-radius:6px}
.cs-legend h2::before,.cs-tier h2::before{content:none!important;display:none!important}
.cs-tree{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:.6rem 0 1rem}
.cs-node{border:2px solid #f60;background:#111;color:#fff;padding:.45rem .8rem;border-radius:6px;text-align:center;min-width:8rem}
.cs-node b{display:block;color:#ff7a00}.cs-node span{font-size:.8rem;opacity:.85}
.cs-node.top{background:#f60;color:#000}.cs-node.top b{color:#000}
.cs-node.main{border-width:3px;box-shadow:0 0 0 2px #000,0 0 0 4px #f60}
.cs-branch{width:2px;height:1.2rem;background:#f60}
.cs-nodes{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;border-top:2px solid #f60;padding-top:.5rem}
.cs-plain{margin:0;padding-left:1.1rem}.cs-plain li{margin:.25rem 0}
.cs-tier{margin-bottom:1.5rem}
.cs-role{display:inline-block;min-width:9rem;color:#ff7a00;font-weight:700}
.cs-tbn,.tbn{color:#ffb070;font-style:italic}
.realm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.8rem}
.realm-tile{background:#000;border:1px solid #f60;border-radius:6px;padding:.8rem;color:#fff}
.realm-tile.is-main{border-width:3px}
.realm-tile h3{margin:.1rem 0 .4rem;color:#ff7a00}
.rt-links{display:flex;flex-wrap:wrap;gap:.35rem}.rt-links a{background:#f60;color:#000;padding:.15rem .5rem;border-radius:3px;font-weight:700;text-decoration:none;font-size:.85rem}
.lead-list{list-style:none;padding:0}.lead-list li{margin:.35rem 0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
form.inline{display:inline-flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:0}
form.inline input,form.inline select{width:auto}
.dt-sep{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#ff7a00;padding:.3rem .4rem;align-self:center}
.home-notice{background:#f60;color:#000;font-weight:700;text-align:center;padding:.5rem 1rem}.home-notice p{margin:0}
.cf-section{margin-top:2.5rem;border-top:3px solid #f60;padding-top:1rem}
.cf-section h2::before{content:none!important;display:none!important}
.cf-note{background:#000;color:#fff;border-left:4px solid #f60;padding:.5rem .8rem}
.cf-badge{display:inline-block;background:#000;color:#ff7a00;border:1px solid #f60;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.05rem .4rem;border-radius:3px}
.home-trailer{background:#000;border:1px solid #f60;border-left:6px solid #f60;max-width:1100px;margin:1.4rem auto;padding:1rem;color:#fff}
.home-trailer.mirror{border-left:1px solid #f60;border-right:6px solid #f60}
.ht-card{margin:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"video cap";gap:1.2rem;align-items:center}
.mirror .ht-card{grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"cap video"}
.ht-card .ht-frame{grid-area:video}.ht-card figcaption{grid-area:cap}
.ht-card .eyebrow{display:inline-block;margin-bottom:.4rem}
.ht-frame{position:relative;aspect-ratio:16/9;width:100%;background:#000;border:1px solid #333}
.ht-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ht-card h2{color:#ff7a00;margin:.2rem 0 .4rem}.ht-card h2::before{content:none!important;display:none!important}
.ht-card p{margin:.3rem 0}.ht-card a{color:#ff7a00}
@media (max-width:800px){.home-trailer{margin:1rem .6rem}.ht-card,.mirror .ht-card{grid-template-columns:1fr;grid-template-areas:"video" "cap"}}
/* PBG leader variant (Jarhead9, Puma55) */
.pcard.pbg-leader{outline-color:rgba(214,196,154,.6)}
.pbg-rank{display:block;font-style:normal;font-family:Georgia,serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#000;background:#c9b68c;margin:-2px auto 5px;padding:1px 10px;width:max-content}
