:root{--bg:#080b0b;--panel:#111615;--panel2:#171d1b;--ink:#eee6d3;--muted:#a9a28f;--gold:#c9a64a;--red:#9b312b;--line:#3b4039}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -20%,#243029 0,transparent 38%),var(--bg);color:var(--ink);font-family:Inter,sans-serif}.war-header{min-height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px clamp(18px,4vw,64px);border-bottom:1px solid #4c4637;background:#090c0cdd;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-family:Cinzel,serif;font-weight:700}.brand img{width:46px;height:52px;object-fit:contain}.war-header>div{text-align:center}.war-header p,.eyebrow,.section-heading p{margin:0;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.2em}.war-header h1{margin:3px 0 0;font:700 24px Cinzel,serif}.war-header nav{justify-self:end;display:flex;gap:20px}.war-header nav a,.sources a{color:var(--muted);text-decoration:none}.war-header nav a:hover,.sources a:hover{color:var(--gold)}main{width:min(1180px,calc(100% - 32px));margin:auto}.hero{padding:72px 0 42px;max-width:850px}.hero h2{font:700 clamp(34px,6vw,68px)/1.02 Cinzel,serif;margin:12px 0 20px}.hero>p:last-child{color:var(--muted);font-size:17px;line-height:1.75}.doctrine-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.doctrine-card,.reach-section,.armor-section,.build-section,.sources{border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);padding:clamp(20px,3vw,34px)}.doctrine-card.wide{grid-row:span 2}.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-heading>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #645a3c;color:var(--gold);font:700 14px Cinzel}.section-heading h2{margin:3px 0 0;font:700 clamp(22px,3vw,34px) Cinzel}.phase-controls,.build-tabs{display:flex;gap:8px;flex-wrap:wrap}.phase-controls button,.build-tabs button{border:1px solid var(--line);background:#0a0e0d;color:var(--muted);padding:10px 14px;cursor:pointer}.phase-controls button.active,.build-tabs button.active{background:#5a271f;color:#fff;border-color:#b65c4b}.phase-display{margin:14px 0 22px;padding:18px;border-left:3px solid var(--gold);background:#0a0e0d}.phase-display p{margin:0 0 7px;color:var(--gold);font-weight:700}.phase-display strong{line-height:1.55}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:22px}.split-copy h3,.matchups h3,.armor-grid h3{font-family:Cinzel;margin-bottom:8px}.split-copy p,.caution,.field-list,.charge-list,.reach-section>p,.matchups p,.armor-grid article,.sources p{color:var(--muted);line-height:1.65}.caution{border-top:1px solid var(--line);padding-top:18px}.field-list{padding-left:20px}.field-list li{margin:0 0 14px}.field-list strong{color:var(--ink)}.charge-list{list-style:none;padding:0}.charge-list li{display:grid;grid-template-columns:100px 1fr;gap:10px;border-bottom:1px solid #30352f;padding:10px 0}.charge-list b{color:var(--gold)}.weapon-select{display:grid;gap:7px;color:var(--muted);font-size:12px}.weapon-select select{background:#090c0b;border:1px solid var(--line);color:var(--ink);padding:10px}.hold-result{display:flex;justify-content:space-between;margin-top:10px;padding:12px;background:#090c0b}.hold-result span{color:var(--muted)}.hold-result strong{color:var(--gold)}.reach-section,.armor-section,.build-section,.sources{margin-top:18px}.reach-bars{display:grid;gap:9px;margin:24px 0}.reach-row{display:grid;grid-template-columns:170px 1fr 40px;gap:14px;align-items:center}.reach-row span{display:grid}.reach-row small{color:var(--muted)}.reach-row i{height:10px;background:linear-gradient(90deg,var(--red) var(--reach),#252a26 var(--reach));border-radius:20px}.reach-row>strong{color:var(--gold)}.matchups,.armor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.matchups article,.armor-grid article{background:#0a0e0d;border:1px solid #30352f;padding:18px}.armor-grid{grid-template-columns:repeat(3,1fr)}.armor-grid strong{display:block;color:var(--gold);margin-top:10px}.build-tabs{margin-bottom:18px}.build-detail{display:grid;grid-template-columns:.75fr 1.5fr;gap:30px;background:#0a0e0d;padding:24px}.build-detail p,.build-detail dt{color:var(--gold);text-transform:uppercase;font-size:11px;letter-spacing:.15em}.build-detail h3{font:700 27px Cinzel;margin:6px 0 10px}.build-detail dl{margin:0;display:grid;gap:15px}.build-detail dl div{border-bottom:1px solid #30352f;padding-bottom:12px}.build-detail dd{margin:5px 0 0;color:var(--muted);line-height:1.5}.sources div{display:flex;gap:16px;flex-wrap:wrap}.sources a{border-bottom:1px solid #5d543b;padding-bottom:3px}footer{margin-top:50px;padding:30px clamp(18px,4vw,64px);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}.linked-panel .panel-link{display:inline-block;margin-top:12px;color:#d6b650;font-weight:700;text-decoration:none}.linked-panel .panel-link:hover{text-decoration:underline}@media(max-width:800px){.war-header{grid-template-columns:1fr auto}.war-header>div{display:none}.war-header nav a:not(:last-child){display:none}.doctrine-grid{grid-template-columns:1fr}.doctrine-card.wide{grid-row:auto}.split-copy,.matchups,.armor-grid,.build-detail{grid-template-columns:1fr}.reach-row{grid-template-columns:120px 1fr 35px}.hero{padding-top:44px}footer{display:grid;gap:8px}}.maneuver-section{margin-top:18px;border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);padding:clamp(20px,3vw,34px)}.maneuver-lead{max-width:840px;margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.7}.maneuver-order,.maneuver-examples{display:grid;gap:12px}.maneuver-order{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.maneuver-order article,.maneuver-examples article{background:#0a0e0d;border:1px solid #30352f;padding:18px}.maneuver-order article{position:relative}.maneuver-order span{position:absolute;top:10px;right:12px;color:var(--gold);font:700 12px Cinzel,serif}.maneuver-order h3,.maneuver-examples h3{margin:0 24px 9px 0;font:700 18px Cinzel,serif}.maneuver-order p,.maneuver-examples li{color:var(--muted);line-height:1.55}.maneuver-examples{grid-template-columns:repeat(3,1fr)}.maneuver-examples article{border-top:2px solid var(--red)}.maneuver-examples article>p{margin:0 0 5px;color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.maneuver-examples ol{margin:0;padding-left:20px}.maneuver-examples li{margin:0 0 10px}.maneuver-examples strong{color:var(--ink)}@media(max-width:800px){.maneuver-order,.maneuver-examples{grid-template-columns:1fr}}.battle-plans-section{margin-top:18px;border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);padding:clamp(20px,3vw,34px)}.battle-plans-lead{max-width:800px;color:var(--muted);line-height:1.7}.legend-title{margin-top:22px;padding:10px 14px;border-left:3px solid var(--gold);background:#0a0e0d;color:var(--gold);font:700 14px Cinzel,serif;letter-spacing:.05em;text-transform:uppercase}.legend-title span{color:var(--muted);font:500 11px Inter,sans-serif;letter-spacing:.08em}.battlemap-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 20px;padding:12px 14px;border:1px solid #30352f;border-top:0;background:#111715;color:var(--muted);font-size:12px}.battlemap-key span{display:inline-flex;align-items:center;gap:6px}.map-icon{font-size:18px}.battle-line{color:#d9c072}.assault{color:#c45443}.suppressor{color:#a0b8c5}.apothecary{color:#7aaf83}.foe{color:#6f4844}.arrow{color:#d9c072}.battle-plan{margin-top:12px;border:1px solid #30352f;background:#0a0e0d}.battle-plan summary{display:grid;grid-template-columns:70px minmax(150px,.8fr) 1.7fr;gap:14px;align-items:center;padding:18px;cursor:pointer;list-style:none}.battle-plan summary::-webkit-details-marker{display:none}.battle-plan summary span{color:var(--gold);font:700 12px Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.battle-plan summary strong{font:700 18px Cinzel,serif}.battle-plan summary em{color:var(--muted);font-style:normal;line-height:1.45}.battle-plan[open] summary{border-bottom:1px solid #30352f;background:#111715}.plan-body{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:22px;padding:20px}.plan-body h3{margin:6px 0 12px;font:700 20px Cinzel,serif}.plan-body ol{margin:0;padding-left:20px}.plan-body li{margin-bottom:9px;color:var(--muted);line-height:1.55}.plan-body strong{color:var(--ink)}.battle-reference{margin:0;color:var(--gold);font-size:12px;line-height:1.5}.sergeant-call{margin:10px 0 0;color:var(--muted);line-height:1.55}.battlemap{position:relative;min-height:230px;overflow:hidden;border:1px solid #4b4937;background:linear-gradient(90deg,transparent 49.5%,#655f412e 50%,transparent 50.5%),linear-gradient(#655f412e 1px,transparent 1px),linear-gradient(90deg,#655f412e 1px,transparent 1px),#171812;background-size:auto,40px 40px,40px 40px}.piece{position:absolute;display:grid;place-items:center;width:34px;height:34px;text-shadow:0 1px 8px #000;font-size:25px;line-height:1}.piece.battle-line{color:#d9c072}.piece.assault{color:#c45443}.piece.suppressor{color:#a0b8c5}.piece.apothecary{color:#7aaf83}.piece.foe{color:#6f4844}.piece.arrow{color:#f0cf65;font-size:30px}.rotation-map .f1{top:20px;left:12%}.rotation-map .f2{top:20px;left:30%}.rotation-map .f3{top:20px;left:48%}.rotation-map .f4{top:20px;left:66%}.rotation-map .f5{top:20px;left:84%}.rotation-map .l1{top:90px;left:12%}.rotation-map .l2{top:90px;left:30%}.rotation-map .l3{top:90px;left:48%}.rotation-map .l4{top:90px;left:66%}.rotation-map .l5{top:90px;left:84%}.rotation-map .a1{top:158px;left:36%}.rotation-map .a2{top:158px;left:60%}.rotation-map .rotate{top:126px;left:48%}.beak-map .f1{top:55px;left:32%}.beak-map .f2{top:55px;left:46%}.beak-map .f3{top:55px;left:60%}.beak-map .f4{top:90px;left:39%}.beak-map .f5{top:90px;left:53%}.beak-map .l1{top:155px;left:35%}.beak-map .l2{top:165px;left:47%}.beak-map .l3{top:155px;left:59%}.beak-map .l4{top:174px;left:71%}.beak-map .a1{top:135px;left:11%}.beak-map .a2{top:135px;left:82%}.beak-map .s1{top:75px;left:9%}.beak-map .s2{top:75px;left:85%}.beak-map .left-arrow{top:112px;left:20%;transform:rotate(-25deg)}.beak-map .right-arrow{top:112px;left:72%;transform:scaleX(-1) rotate(-25deg)}.hook-map .f1{top:50px;left:39%}.hook-map .f2{top:50px;left:54%}.hook-map .f3{top:92px;left:39%}.hook-map .f4{top:92px;left:54%}.hook-map .l1{top:166px;left:29%}.hook-map .l2{top:166px;left:43%}.hook-map .l3{top:166px;left:57%}.hook-map .l4{top:166px;left:71%}.hook-map .a1{top:130px;left:12%}.hook-map .a2{top:34px;left:12%}.hook-map .s1{top:117px;left:82%}.hook-map .h1{top:194px;left:48%}.hook-map .hook-arrow{top:77px;left:23%;transform:rotate(-72deg)}.advance-map .f1{top:20px;left:33%}.advance-map .f2{top:20px;left:48%}.advance-map .f3{top:20px;left:63%}.advance-map .f4{top:55px;left:48%}.advance-map .l1{top:107px;left:25%}.advance-map .l2{top:107px;left:42%}.advance-map .l3{top:107px;left:59%}.advance-map .l4{top:107px;left:76%}.advance-map .a1{top:157px;left:41%}.advance-map .a2{top:157px;left:61%}.advance-map .s1{top:92px;left:7%}.advance-map .s2{top:92px;left:88%}.advance-map .h1{top:191px;left:50%}.advance-map .advance-arrow{top:62px;left:49%;transform:rotate(-90deg)}.withdrawal-map .f1{top:22px;left:34%}.withdrawal-map .f2{top:22px;left:50%}.withdrawal-map .f3{top:22px;left:66%}.withdrawal-map .f4{top:58px;left:50%}.withdrawal-map .l1{top:108px;left:25%}.withdrawal-map .l2{top:108px;left:42%}.withdrawal-map .l3{top:108px;left:59%}.withdrawal-map .l4{top:108px;left:76%}.withdrawal-map .a1{top:154px;left:39%}.withdrawal-map .a2{top:154px;left:62%}.withdrawal-map .s1{top:95px;left:7%}.withdrawal-map .s2{top:95px;left:88%}.withdrawal-map .h1{top:192px;left:50%}.withdrawal-map .withdraw-arrow{top:144px;left:50%;transform:rotate(90deg)}.battlemap .bl1{top:116px;left:10%}.battlemap .bl2{top:116px;left:28%}.battlemap .bl3{top:116px;left:46%}.battlemap .bl4{top:116px;left:64%}.battlemap .bl5{top:116px;left:82%}.battlemap .as1{top:160px;left:18%}.battlemap .as2{top:160px;left:34%}.battlemap .as3{top:160px;left:50%}.battlemap .as4{top:160px;left:66%}.battlemap .as5{top:160px;left:82%}.battlemap .ss1{top:76px;left:5%}.battlemap .ss2{top:76px;left:86%}.battlemap .ss3{top:76px;left:49%}.battlemap .ap1{top:196px;left:40%}.battlemap .ap2{top:196px;left:60%}@media(max-width:800px){.battle-plan summary{grid-template-columns:1fr;gap:5px}.plan-body{grid-template-columns:1fr}.battlemap{min-height:210px}}.company-builds-lead{max-width:780px;margin:0 0 20px;color:var(--muted);line-height:1.65}.company-build-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.company-build-grid article{border:1px solid #30352f;border-top:2px solid var(--gold);background:#0a0e0d;padding:20px}.company-build-grid article>p{margin:0 0 6px;color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.company-build-grid h3{margin:0 0 16px;font:700 23px Cinzel,serif}.company-build-grid dl{display:grid;gap:12px;margin:0}.company-build-grid dl div{padding-bottom:10px;border-bottom:1px solid #30352f}.company-build-grid dl div:last-child{padding-bottom:0;border-bottom:0}.company-build-grid dt{color:var(--gold);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.company-build-grid dd{margin:5px 0 0;color:var(--muted);line-height:1.55}@media(max-width:800px){.company-build-grid{grid-template-columns:1fr}}.multiple-contact{margin-top:22px;padding:20px;background:#090d0c;border:1px solid #3d433c;border-left:3px solid var(--gold)}.multiple-contact h3{margin-top:0;font-family:Cinzel,serif}.multiple-contact p,.multiple-contact ol{color:var(--muted);line-height:1.65}.multiple-contact li{margin-bottom:8px}.multiple-contact strong{color:var(--ink)}.movement-section{margin-top:18px;border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);padding:clamp(20px,3vw,34px)}.movement-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}.movement-layout video{display:block;width:100%;aspect-ratio:16 / 9;background:#050706;border:1px solid #4b5048}.movement-layout h3{margin-top:0;font:700 22px Cinzel,serif}.controls-section{margin-top:18px;border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);padding:clamp(20px,3vw,34px)}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.control-grid article{padding:20px;border:1px solid #30352f;background:#0a0e0d}.control-grid article>p:first-child{margin-top:0;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.15em}.control-grid h3{font-family:Cinzel,serif}.control-grid p,.control-grid ul{color:var(--muted);line-height:1.6}.control-grid li{margin-bottom:9px}.control-grid strong{color:var(--ink)}.control-grid .required-bind{border-left:3px solid var(--gold)}@media(max-width:800px){.movement-layout,.control-grid{grid-template-columns:1fr}}:root{--bg: #17130e;--panel: #e2d1a7;--panel2: #d3be8e;--ink: #241d13;--muted: #5c4b32;--gold: #8a5b18;--red: #73261f;--line: #806a43}body{background:radial-gradient(ellipse at 50% 0%,#66532e 0,transparent 40%),repeating-linear-gradient(0deg,#17130e 0 3px,#1b160f 3px 6px);color:var(--ink);font-family:Georgia,Times New Roman,serif}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.26;background-image:repeating-radial-gradient(circle at 19% 13%,#000 0 1px,transparent 1px 4px),repeating-radial-gradient(circle at 82% 66%,#fff 0 1px,transparent 1px 5px);mix-blend-mode:soft-light}.war-header{min-height:96px;border-bottom:3px double #ad8d4a;background:linear-gradient(#282014f2,#16110bf2);box-shadow:0 6px 18px #0009}.brand,.war-header h1{color:#ecdeb8}.war-header p,.eyebrow,.section-heading p{color:#d4af55}.war-header nav a,footer{color:#dac99f}.war-header nav a:hover{color:#f3d77c}main{width:min(1130px,calc(100% - 32px));margin:32px auto 58px;padding:clamp(18px,3vw,42px);border:1px solid #a7874b;border-radius:3px;background:linear-gradient(90deg,#937744 0,#e3d1a4 4.5%,#ebdbb4,#e2cea2 95.5%,#8b6d39);box-shadow:0 14px 42px #000b,inset 0 0 60px #67451d33}.hero{max-width:880px;margin:auto;padding:38px 0 46px;text-align:center;border-bottom:3px double #886637}.hero h2{color:#352713;font-family:Cinzel,serif;text-shadow:0 1px #f8e9c4}.hero>p:last-child{color:#59462e}.doctrine-grid{margin-top:26px}.doctrine-card,.reach-section,.armor-section,.build-section,.sources,.maneuver-section,.battle-plans-section{border:1px solid #927548;background:linear-gradient(135deg,#f0dfb8,#dec99a);box-shadow:inset 0 0 35px #8c673222,0 2px 5px #3e2b1333}.section-heading{padding-bottom:13px;border-bottom:1px solid #987947}.section-heading>span{border:1px solid #80571c;background:#5f3b17;color:#f1d78e;box-shadow:inset 0 0 0 3px #8c6327}.section-heading h2,.split-copy h3,.matchups h3,.armor-grid h3,.company-build-grid h3,.maneuver-order h3,.maneuver-examples h3,.plan-body h3{color:#352713}.phase-controls button,.build-tabs button{border-color:#8f7240;background:#d0b881;color:#4e3b21;font-family:Cinzel,serif}.phase-controls button.active,.build-tabs button.active{background:#6e2a20;border-color:#4c1a14;color:#ffe8a5}.phase-display,.hold-result,.weapon-select select{background:#ead9b2}.split-copy p,.caution,.field-list,.charge-list,.reach-section>p,.matchups p,.armor-grid article,.sources p,.company-builds-lead,.battle-plans-lead,.maneuver-lead{color:#5b482e}.field-list strong,.maneuver-examples strong,.plan-body strong,.company-build-grid strong{color:#302311}.reach-row i{background:linear-gradient(90deg,#7c2c20 var(--reach),#bba572 var(--reach))}.matchups article,.armor-grid article,.company-build-grid article,.maneuver-order article,.maneuver-examples article,.battle-plan{background:#ead7ad;border-color:#9b7d4d;box-shadow:inset 0 0 22px #8e6a3118}.build-detail{background:#ead7ad}.sources a{color:#6f4614;border-color:#8c632b}.sources a:hover{color:#a32720}.battlemap{border-color:#72562f;background-color:#cdb88b}.battle-plan[open] summary{background:#d7bd88;border-color:#9b7d4d}.battle-plan summary strong{color:#362611}.battle-plan summary em,.plan-body li,.sergeant-call,.battlemap-key{color:#59462e}.legend-title{background:#d6bb82;color:#543711}.legend-title span{color:#5f4d30}.battlemap-key{background:#e3cda1;border-color:#9b7d4d}.battle-reference,.company-build-grid dt{color:#754b13}footer{border-top:3px double #a9894d;background:#19130c}@media(max-width:800px){main{width:calc(100% - 18px);margin-top:12px;padding:18px 12px}.hero{padding-top:24px}}:root{--ink: #1d1409;--muted: #3d2b17;--gold: #6b3f0b;--red: #6b211b;--line: #6f542d}body{background:radial-gradient(ellipse at 50% -15%,#806331 0,transparent 42%),#100c08}.war-header{position:sticky;isolation:isolate;background:linear-gradient(90deg,#120d08,#332313 50%,#120d08);border-bottom-color:#c8a65d}.war-header:before,.war-header:after{position:absolute;z-index:-1;top:22px;color:#d8b96a;font:700 34px Cinzel,serif;opacity:.8}.war-header:before{content:"✠";left:clamp(70px,10vw,180px)}.war-header:after{content:"✠";right:clamp(70px,10vw,180px)}main{position:relative;border:6px double #75552b;background:linear-gradient(90deg,#765529 0,#f6e8c7 3.5%,#f9edcf,#f2dfb9 96.5%,#765529);box-shadow:0 20px 60px #000d,inset 0 0 90px #67451d33}main:before,main:after{position:absolute;z-index:1;color:#70440d;font:700 20px Cinzel,serif;letter-spacing:.4em}main:before{content:"PRAEXIS OCHI LOGIA";top:12px;left:50%;width:80%;text-align:center;transform:translate(-50%)}.hero{padding-top:62px}main:after{content:"";right:22px;bottom:17px;font-size:34px}.hero,.section-heading{border-color:#715125}.hero h2{color:#211509;text-shadow:none}.hero>p:last-child{color:#382514;font-weight:500}.doctrine-card,.reach-section,.armor-section,.build-section,.sources,.maneuver-section,.battle-plans-section{background:linear-gradient(135deg,#fff4d8,#ead1a0);border:1px solid #76582d;box-shadow:inset 0 0 44px #714c1e1c,0 2px 7px #3e2b1355}.section-heading h2,.split-copy h3,.matchups h3,.armor-grid h3,.company-build-grid h3,.maneuver-order h3,.maneuver-examples h3,.plan-body h3{color:#211509}.section-heading p,.eyebrow{color:#6b3f0b;font-weight:800}.split-copy p,.caution,.field-list,.charge-list,.reach-section>p,.matchups p,.armor-grid article,.sources p,.company-builds-lead,.battle-plans-lead,.maneuver-lead,.maneuver-order p,.maneuver-examples li,.company-build-grid dd,.plan-body li,.sergeant-call,.battlemap-key{color:#392714;font-weight:500}.matchups article,.armor-grid article,.company-build-grid article,.maneuver-order article,.maneuver-examples article,.battle-plan,.build-detail{background:#fff0cd;border-color:#826234}.battle-plan[open] summary{background:#ead3a3}.battle-plan summary strong{color:#201408}.battle-plan summary em{color:#3f2c18}.phase-display,.hold-result,.weapon-select select{background:#fff0cc;color:#211509}.phase-controls button,.build-tabs button{background:#ead3a0;color:#2a1c0e;font-weight:700}.phase-controls button.active,.build-tabs button.active{background:#68251d;color:#fff4ce}.battlemap{border:2px solid #63471f;background-color:#dbc493;box-shadow:inset 0 0 32px #51341233}.battlemap-key{background:#f4dfb6;border-color:#806033}.legend-title{background:linear-gradient(90deg,#643f15,#876024,#643f15);color:#fff0b4;border-left-color:#cda54e}.legend-title span{color:#f4ddb0}.sources a,.battle-reference,.company-build-grid dt{color:#693e09;font-weight:700}.sources a:hover{color:#a01917}.company-build-grid article,.maneuver-order article,.maneuver-examples article,.battle-plan,.movement-section,.movement-rule,.multiple-contact,.control-grid article{background:linear-gradient(135deg,#fff7df,#ecd7a9)!important;border-color:#76582d!important;color:#25180b}.company-build-grid article>p,.maneuver-order span,.maneuver-examples article>p,.battle-plan summary span,.battle-reference,.company-build-grid dt{color:#5b3108!important}.company-build-grid dd,.maneuver-order p,.maneuver-examples li,.plan-body li,.sergeant-call,.movement-rule p,.multiple-contact p,.control-grid ul{color:#25180b!important;font-weight:600}.battle-plan[open] summary,.legend-title{background:#f0dbaa!important;color:#24170b!important}.legend-title span,.battle-plan summary em{color:#382513!important}.battlemap-key{background:#fff4d3!important;color:#25180b!important}@media(max-width:800px){.war-header:before,.war-header:after{display:none}main:before{font-size:10px;letter-spacing:.15em}.hero{padding-top:48px}}:root{--ink: #17100a;--muted: #362617;--gold: #85510d;--line: #61431e}body{background:radial-gradient(circle at 50% -10%,#6d321f 0,transparent 34%),repeating-linear-gradient(90deg,#110b08 0 3px,#1f130d 3px 6px)}.war-header{min-height:112px;background:linear-gradient(90deg,#110908,#4b1e16 49%,#110908);border-bottom:4px double #d1a857}.war-header h1{font-family:Uncial Antiqua,Cinzel,serif;font-size:26px;letter-spacing:.05em}.war-header p{color:#f2ca72}main{margin-top:28px;border:8px double #775126;background:linear-gradient(90deg,#64441f,#f8eaca 4%,#fff4d7,#f3dfb7 96%,#64441f);box-shadow:0 0 0 4px #270f0b,0 30px 80px #000c,inset 0 0 130px #72451444}main:before{content:"CODEX STRATEGIUM · PRAEXIS OCHI LOGIA · COMPANY ISSUE";color:#542d08;text-shadow:0 1px #f8dc9a}.legacy-hero-copy{display:none}.hero{max-width:960px;padding-bottom:35px}.hero h2{font-family:Uncial Antiqua,Cinzel,serif;font-size:clamp(34px,5.5vw,64px);letter-spacing:.02em}.codex-lead{max-width:720px;margin:0 auto}.verification-banner{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:30px auto 0;padding:13px 17px;max-width:800px;border:1px solid #8c5b24;border-left:5px solid #6e2018;background:#f5dfae;color:#211307;text-align:left;box-shadow:inset 0 0 18px #8a552422}.verification-banner>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#6d2118;color:#ffe6a2;font-size:21px;box-shadow:0 1px #f4cf72,0 3px 7px #3e130e99}.verification-banner strong{display:block;font:700 13px Cinzel,serif;color:#532604;text-transform:uppercase;letter-spacing:.08em}.verification-banner small{display:block;margin-top:4px;line-height:1.35}.verification-banner a{color:#651d18;font-weight:800;white-space:nowrap}.section-heading>span{border:2px solid #80521b;background:radial-gradient(circle at 30% 25%,#ad7832,#5f240f 75%);color:#fff1bd;box-shadow:0 1px #efc96f,inset 0 0 0 3px #7c3b19}.section-heading h2{font-family:Uncial Antiqua,Cinzel,serif;letter-spacing:.02em}.doctrine-card,.reach-section,.armor-section,.build-section,.sources,.maneuver-section,.battle-plans-section,.controls-section,.movement-section{border:1px solid #795125;border-top:4px double #a97932}.phase-controls button,.plan-command button{border:1px solid #6b261a;background:linear-gradient(#8a3424,#5d1712);color:#fff1c4;font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.05em;box-shadow:inset 0 1px #cf7450,0 2px 2px #49231355;cursor:pointer}.phase-controls button:hover,.phase-controls button:focus-visible,.plan-command button:hover,.plan-command button:focus-visible{outline:2px solid #e6bd63;outline-offset:2px;filter:brightness(1.14)}.phase-controls button.active{background:linear-gradient(#c19343,#70410d);color:#241304;border-color:#52310a}.plan-command{display:flex;justify-content:space-between;align-items:center;gap:16px}.plan-command .battle-plans-lead{margin:0}.plan-command>div{display:flex;flex-wrap:wrap;gap:8px}.plan-command button{padding:10px 12px}.battle-plan summary{border-left:5px solid #682119}.battle-plan summary strong{font-family:Uncial Antiqua,Cinzel,serif}.battle-plan[open] summary{box-shadow:inset 0 -1px #9a7139}.battlemap{background-color:#c8aa73;background-image:linear-gradient(90deg,transparent 49.5%,#573d1b38 50%,transparent 50.5%),linear-gradient(#573d1b38 1px,transparent 1px),linear-gradient(90deg,#573d1b38 1px,transparent 1px),radial-gradient(ellipse at center,#e5cf9d,#b59155)}.piece{text-shadow:0 1px 2px #fff8,0 2px 4px #281108bb}.sources{position:relative;overflow:hidden}.sources:after{content:"IG";position:absolute;right:18px;bottom:-25px;color:#6a2317;opacity:.13;font:100px Uncial Antiqua,serif;transform:rotate(-12deg)}@media(max-width:800px){.verification-banner{grid-template-columns:auto 1fr}.verification-banner a{grid-column:1/-1}.plan-command{display:grid}.plan-command>div{justify-content:flex-start}.war-header{min-height:82px}}.codex-pagination{position:sticky;top:118px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:14px;margin:-8px 0 26px;padding:10px 12px;border:1px solid #785126;background:linear-gradient(90deg,#3f160f,#6d2a1b,#3f160f);box-shadow:0 4px 12px #16070477}.codex-pagination button{min-width:126px;border:1px solid #e0b75e;background:linear-gradient(#8d3a26,#53130f);color:#fff2c8;padding:10px 15px;font:700 12px Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.codex-pagination button:disabled{cursor:not-allowed;opacity:.42;filter:grayscale(.8)}.codex-pagination button:not(:disabled):hover,.codex-pagination button:focus-visible{outline:2px solid #ffe29a;outline-offset:2px;filter:brightness(1.15)}.codex-pagination span{color:#ffdda0;font:700 12px Cinzel,serif;letter-spacing:.16em;text-transform:uppercase}.codex-folio{animation:folio-turn .32s ease-out both}.codex-folio[hidden]{display:none!important}.codex-folio.is-active{min-height:calc(100vh - 245px)}@keyframes folio-turn{0%{opacity:0;transform:perspective(1200px) rotateY(2deg) translate(18px);transform-origin:left center}to{opacity:1;transform:perspective(1200px) rotateY(0) translate(0)}}@media(max-width:800px){.codex-pagination{top:82px;margin:0 0 18px}.codex-pagination button{min-width:0;padding:9px 10px;font-size:10px}.codex-pagination span{font-size:10px;letter-spacing:.08em}.codex-folio.is-active{min-height:calc(100vh - 180px)}}:root{--bg:#080b0b;--panel:#111615;--panel2:#171d1b;--ink:#f3ead8;--muted:#c0b7a4;--gold:#d0ad59;--red:#984038;--line:#4b5149}body{background:radial-gradient(circle at 50% -15%,#26372f 0,transparent 38%),var(--bg);color:var(--ink)}.war-header{background:#090c0cf2;border-bottom:1px solid #5a5945}.war-header:before,.war-header:after{content:none}.war-header h1{font-family:Cinzel,serif}.war-header p{color:var(--gold)}main{border:1px solid var(--line);background:linear-gradient(145deg,#151a18,#0d1110);box-shadow:0 18px 42px #000b}main:before,main:after{content:none}.hero h2,.section-heading h2,.battle-plan summary strong{font-family:Cinzel,serif;color:var(--ink)}.hero>p:last-child,.codex-lead{color:var(--muted)}.verification-banner{border-color:#5b6259;border-left-color:var(--gold);background:#161c19;color:var(--ink);box-shadow:none}.verification-banner>span{border-radius:2px;background:#254035;color:#e5c06b;font:700 14px Cinzel,serif;box-shadow:none}.verification-banner strong,.verification-banner a{color:#e5c06b}.doctrine-card,.reach-section,.armor-section,.build-section,.sources,.maneuver-section,.battle-plans-section,.controls-section,.movement-section{border:1px solid var(--line);border-top:1px solid var(--line);background:linear-gradient(145deg,#171d1b,#101513);box-shadow:none}.matchups article,.armor-grid article,.company-build-grid article,.maneuver-order article,.maneuver-examples article,.battle-plan,.build-detail{background:#111715!important;border-color:#3d463f!important}.split-copy p,.caution,.field-list,.charge-list,.reach-section>p,.matchups p,.armor-grid article,.sources p,.company-builds-lead,.battle-plans-lead,.maneuver-lead,.maneuver-order p,.maneuver-examples li,.company-build-grid dd,.plan-body li,.sergeant-call,.battlemap-key{color:var(--muted)!important}.section-heading>span{border:1px solid #76673f;background:#1b2520;color:var(--gold);box-shadow:none}.phase-controls button,.plan-command button,.codex-pagination button{border-color:#596254;background:#151b18;color:#e8d9aa;box-shadow:none}.phase-controls button.active{background:#5c2d26;border-color:#a85b4d;color:#fff4d5}.battle-plan[open] summary,.legend-title{background:#1b2420!important;color:#e7d29a!important}.battlemap-key{background:#131a17!important;border-color:#485047!important}.sources:after{content:none}.codex-pagination{border-color:#4a554b;background:#101613;box-shadow:0 3px 12px #0008}.codex-pagination span{color:var(--gold)}.codex-pagination button{background:#1a2620;border-color:#606c5d}body.codex-reader{height:100vh;overflow:hidden}body.codex-reader .war-header{position:fixed;inset:0 0 auto;z-index:20}body.codex-reader main{height:calc(100vh - 112px);width:min(1180px,calc(100% - 32px));margin:112px auto 0;padding:clamp(18px,3vw,42px);overflow:hidden}body.codex-reader footer{display:none}body.codex-reader .codex-pagination{position:relative;top:auto;margin:0 0 18px}body.codex-reader .codex-folio.is-active{min-height:0;height:calc(100% - 67px);overflow:auto;padding:clamp(18px,3vw,34px);border:1px solid #5a655a;background:linear-gradient(90deg,#0c100f 0,#171e1b 4%,#141a18 96%,#080b0b);box-shadow:inset 18px 0 24px #0006,inset -5px 0 12px #0008,0 5px 14px #0008}body.codex-reader .codex-folio.is-active::-webkit-scrollbar{width:8px}body.codex-reader .codex-folio.is-active::-webkit-scrollbar-thumb{background:#5b675c;border-radius:8px}body.codex-reader .codex-folio.turn-forward{animation:codex-page-forward .58s cubic-bezier(.2,.78,.22,1) both;transform-origin:left center}body.codex-reader .codex-folio.turn-backward{animation:codex-page-backward .58s cubic-bezier(.2,.78,.22,1) both;transform-origin:right center}@keyframes codex-page-forward{0%{opacity:0;transform:perspective(1600px) rotateY(-58deg) translate(58px);filter:brightness(.45)}56%{opacity:1;filter:brightness(1.12)}to{opacity:1;transform:perspective(1600px) rotateY(0) translate(0);filter:brightness(1)}}@keyframes codex-page-backward{0%{opacity:0;transform:perspective(1600px) rotateY(58deg) translate(-58px);filter:brightness(.45)}56%{opacity:1;filter:brightness(1.12)}to{opacity:1;transform:perspective(1600px) rotateY(0) translate(0);filter:brightness(1)}}@media(max-width:800px){body.codex-reader .war-header{height:82px}body.codex-reader main{height:calc(100vh - 82px);width:calc(100% - 16px);margin-top:82px;padding:18px 14px}body.codex-reader .codex-folio.is-active{height:calc(100% - 58px)}}.assault,.piece.assault{color:#ff9580!important}.foe,.piece.foe{color:#e7a29a!important}.phase-controls button.active{background:#6f3b33;border-color:#d18475;color:#fff7df}.sources a:hover,.verification-banner a:hover{color:#ffe0a2}main h1,main h2,main h3,main h4,main p,main li,main dt,main dd,main strong,main em,main small,main label,main summary,main a,main .battle-reference,main .sergeant-call,main .battlemap-key,main .company-build-grid dt,main .phase-display p,main .hold-result strong,main .reach-row>strong,main .charge-list b,main .field-list strong{color:var(--ink)!important}main .section-heading p,main .eyebrow,main .legend-title,main .legend-title span,main .codex-pagination span{color:#ead596!important}main a:hover,main a:focus-visible{color:#fff1bf!important}main button,main select,main option{color:#f7ecd2!important}main .phase-controls button.active,main .build-tabs button.active{color:#fff8e7!important}main .phase-display,main .hold-result,main .weapon-select select{background:#101513!important;border-color:#485047!important;color:#f7ecd2!important}main .phase-display{border-left-color:#d0ad59!important}main .controls-section,main .control-grid article{background:#111715!important;border-color:#3d463f!important;color:var(--ink)!important}main .control-grid article>p:first-child{color:#ead596!important}main .control-grid article p,main .control-grid article li,main .control-grid article ul,main .controls-section .caution{color:var(--ink)!important}main .control-grid article strong,main .controls-section .caution strong{color:#fff8e7!important}
