:root{
  --bg:#090b0a;--bg2:#0f120f;--panel:#151814;--panel2:#1c2019;--panel3:#22261d;
  --line:#3f3b2e;--line2:#6d5b31;--gold:#c7a45d;--gold2:#e4c982;--olive:#484b2e;--olive2:#62643b;
  --text:#e7e0d2;--muted:#aaa18d;--danger:#b04e3c;--green:#738359;
}
*{box-sizing:border-box} html{font-size:15px;background:var(--bg)}
body{margin:0;color:var(--text);font-family:"Segoe UI",Arial,sans-serif;background:
radial-gradient(circle at 78% 8%,rgba(108,94,54,.16),transparent 28rem),
radial-gradient(circle at 12% 30%,rgba(68,76,52,.11),transparent 30rem),
repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 9px),
linear-gradient(180deg,#101310,#080a09 72%);min-height:100vh}
a{color:var(--gold2);text-decoration:none}a:hover{color:#fff0c5}h1,h2,h3,h4,h5,h6{font-family:Georgia,"Times New Roman",serif;color:#efe5d2}.text-secondary,.text-muted,.form-text{color:var(--muted)!important}.preserve-lines{white-space:pre-line}.checksum{display:block;overflow-wrap:anywhere;margin-top:.5rem}

/* PUBLIC SITE */
.ace-public-header{position:sticky;top:0;z-index:1000;background:linear-gradient(#151815,#0b0d0c);border-bottom:1px solid var(--line2);box-shadow:0 7px 24px rgba(0,0,0,.55)}
.ace-public-nav{min-height:76px}.ace-nav-inner{display:flex;align-items:center;gap:24px;min-height:76px}.ace-public-brand{display:flex;flex-direction:column;align-items:center;min-width:255px;padding:8px 18px;color:var(--gold2)!important;font-family:Georgia,serif;font-weight:900;letter-spacing:.05em;text-shadow:0 2px #000}.ace-public-brand span{font-size:1.12rem}.ace-public-brand small{font-size:1.1rem;letter-spacing:.18em}.ace-public-brand:before,.ace-public-brand:after{content:"";display:block;width:92%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:3px 0}
.ace-public-links{display:flex!important;align-items:center;justify-content:center;gap:8px;flex:1}.ace-public-links a,.ace-admin-link{color:#ddd4c1;padding:11px 14px;border:1px solid transparent;border-radius:2px}.ace-public-links a:hover,.ace-public-links a:focus,.ace-admin-link:hover{color:#fff1cc;background:linear-gradient(#45462b,#292b1d);border-color:#6f6137}.ace-admin-link{white-space:nowrap;border-color:#3d392d;background:#101210}.ace-menu-toggle{display:none;color:var(--gold2);border:1px solid var(--line2)}
.ace-public-main{min-height:calc(100vh - 150px);padding:26px max(20px,calc((100vw - 1180px)/2)) 64px;position:relative}.ace-public-main:before{content:"";position:fixed;inset:76px 0 0;z-index:-1;pointer-events:none;background:
linear-gradient(90deg,rgba(8,10,9,.98),rgba(8,10,9,.73) 46%,rgba(8,10,9,.88)),
radial-gradient(ellipse at 70% 22%,rgba(104,89,47,.20),transparent 35%),
repeating-linear-gradient(25deg,transparent 0 42px,rgba(199,164,93,.018) 43px 44px)}
.ace-public-main>h1,.ace-public-main>section:first-child h1{font-size:clamp(2.2rem,4vw,4.1rem);text-transform:uppercase;letter-spacing:.035em;text-shadow:0 3px 0 #000,0 0 25px rgba(199,164,93,.16)}
.ace-public-main>section:first-child{border:1px solid var(--line);padding:clamp(28px,5vw,62px)!important;margin:10px 0 28px;background:
linear-gradient(90deg,rgba(15,17,14,.96),rgba(18,19,14,.72)),
radial-gradient(circle at 78% 25%,rgba(122,100,51,.18),transparent 26rem);box-shadow:inset 0 0 48px rgba(0,0,0,.55),0 14px 35px rgba(0,0,0,.3);position:relative;overflow:hidden}.ace-public-main>section:first-child:after{content:"✦  ✈  ✦  ⚙  ✦";position:absolute;right:4%;bottom:10%;font-size:clamp(2rem,5vw,5.5rem);letter-spacing:.4em;color:rgba(199,164,93,.08);transform:rotate(-6deg)}
.card,.auth-card,.alert,.setup-steps li{background:linear-gradient(#1d201a,#121510)!important;border:1px solid var(--line)!important;border-radius:2px!important;color:var(--text);box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.24)}.card-body{padding:1.35rem}.card h2,.card h3{color:#d8ba79}.border-primary{border-color:var(--gold)!important}.badge.text-bg-primary{background:#5a5936!important;color:#fff0c5!important;border:1px solid #817343}.alert-info{background:#17211d!important;color:#c9d9cc!important;border-color:#355346!important}.alert-success{background:#1a2418!important;color:#cfe0c2!important;border-color:#536d45!important}
.btn{border-radius:2px;text-transform:uppercase;font-weight:750;letter-spacing:.035em;padding:.72rem 1.1rem}.btn-primary,.ace-cta{color:#fff0ca!important;background:linear-gradient(#62643b,#3e4028)!important;border:1px solid #8a7540!important;box-shadow:inset 0 1px rgba(255,255,255,.09),0 3px 8px #000}.btn-primary:hover{background:linear-gradient(#777a48,#4e5030)!important;border-color:var(--gold)!important}.btn-outline-secondary,.btn-outline-primary{color:#d9cfb8!important;background:#151714!important;border-color:#595344!important}.btn-outline-secondary:hover,.btn-outline-primary:hover{background:#333629!important;border-color:#8a7746!important;color:#fff0ca!important}
.form-control,.form-select,.input-group-text{background:#0a0c0b!important;color:#eee7d8!important;border:1px solid #45463d!important;border-radius:2px!important}.form-control:focus,.form-select:focus{border-color:var(--gold)!important;box-shadow:0 0 0 .2rem rgba(199,164,93,.11)!important}.form-check-input{background-color:#101210;border-color:#615d4d}.form-check-input:checked{background-color:#65663c;border-color:#8c7a47}
.setup-steps{display:grid;gap:14px;max-width:900px;padding:0;list-style:none;counter-reset:step}.setup-steps li{position:relative;padding:20px 22px 20px 86px;counter-increment:step}.setup-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:22px;top:17px;color:var(--gold);font:700 1.45rem Georgia,serif;border-right:1px solid var(--line2);padding-right:18px}.setup-steps strong{display:block;color:#e5c982;font-family:Georgia,serif;font-size:1.08rem}.setup-steps span{color:var(--muted);display:block;margin-top:4px}.auth-card{max-width:470px;margin:70px auto;padding:28px}
.ace-public-footer{border-top:1px solid var(--line2);background:#0b0d0c;min-height:76px}.ace-footer-inner{min-height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;color:var(--muted);font-size:.88rem}.ace-footer-inner strong{font-family:Georgia,serif;letter-spacing:.06em;color:#b7985b}.ace-footer-inner a{justify-self:end}

/* ADMIN TOP BAR */
.ace-admin-body{overflow:hidden}.ace-admin-topbar{height:72px;display:grid;grid-template-columns:340px 1fr 190px;align-items:stretch;background:linear-gradient(#141714,#0b0d0c);border-bottom:1px solid var(--line2);box-shadow:0 5px 20px #000;position:relative;z-index:50}.ace-admin-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold2)!important;border-right:1px solid var(--line);font:800 1.2rem Georgia,serif;letter-spacing:.04em;text-shadow:0 2px #000}.ace-brand-sub{font-size:1.16rem;letter-spacing:.18em}.ace-admin-mainnav{display:flex;justify-content:center;align-items:stretch}.ace-admin-mainnav a{display:flex;align-items:center;gap:9px;padding:0 26px;color:#d9d0bd;border-left:1px solid transparent;border-right:1px solid transparent}.ace-admin-mainnav a:hover,.ace-admin-mainnav a.active{background:#111310;color:#fff0c8;border-color:#2e2b23;box-shadow:inset 0 -2px var(--gold)}.ace-admin-user{align-self:center;justify-self:end;margin-right:18px;padding:10px 14px;border:1px solid #3c392f;color:#e2d6bc;background:#101210;border-radius:2px}.ace-admin-main{height:calc(100vh - 72px);overflow:hidden}

/* WEBSITE EDITOR */
.ace-editor-shell{height:100%;display:grid;grid-template-columns:250px 1fr}.ace-editor-sidebar{background:linear-gradient(#111411,#090b0a);border-right:1px solid var(--line);overflow:auto;padding:12px 8px 24px}.ace-side-section-title{font-size:.78rem;color:#c3ad7e;padding:8px 10px;border:1px solid #2e2c25;background:#151815;letter-spacing:.03em}.ace-side-link{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;color:#e3dccd;background:transparent;border:0;border-left:1px solid transparent;border-right:1px solid transparent;text-align:left;font-size:.92rem}.ace-side-link span{flex:1}.ace-side-link b{color:#d5bb77}.ace-side-link:hover,.ace-side-link.active{color:#fff2ce;background:linear-gradient(90deg,#494a2d,#24271b);border-color:#665c39}.ace-side-button{cursor:pointer}.ace-theme-row{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #282923;color:#e0d6c3}.ace-theme-row b{background:#575934;border:1px solid #76683d;color:#fff0c6;padding:3px 8px;border-radius:2px;font-size:.75rem}.ace-theme-row.muted{color:#c3bba9}.ace-theme-card{margin:16px 8px 0;border:1px solid #6c5c35;background:linear-gradient(#191b16,#10120f);padding:13px 11px;display:flex;gap:12px;align-items:flex-start;box-shadow:inset 0 0 14px #000}.ace-theme-card strong{color:#dbbf7d;font:700 .9rem Georgia,serif}.ace-theme-card small{display:block;color:#a9a18e;line-height:1.45;margin-top:5px}.ace-medal{width:48px;height:48px;border:2px solid #8a7441;clip-path:polygon(50% 0,61% 34%,98% 35%,68% 56%,79% 94%,50% 71%,21% 94%,32% 56%,2% 35%,39% 34%);display:grid;place-items:center;background:#22251b;color:#e0bf75;text-shadow:0 1px #000}.ace-medal.small{width:54px;height:54px;flex:none;font-size:1.35rem}
.ace-editor-workspace{height:100%;overflow:auto;padding:12px 12px 92px;background:radial-gradient(circle at 70% 10%,rgba(91,79,47,.11),transparent 30rem),#0b0d0b}.ace-editor-tabs-content>.tab-pane.active{display:grid!important;grid-template-columns:minmax(480px,48%) 1fr;gap:12px;min-height:calc(100vh - 190px)}.ace-editor-column,.ace-preview-column{min-width:0}.ace-editor-heading{min-height:74px;border:1px solid var(--line);background:linear-gradient(#181b16,#101310);display:flex;align-items:center;gap:15px;padding:9px 14px;margin-bottom:9px}.ace-editor-heading h1{margin:0;color:#d9bc7a;font-size:1.25rem}.ace-editor-heading p{margin:5px 0 0;color:#b2aa98;font-size:.82rem}.ace-form-panel,.ace-preview-column{border:1px solid var(--line);background:#101310;box-shadow:inset 0 0 26px rgba(0,0,0,.45)}.ace-panel-title,.ace-preview-title{height:30px;display:flex;align-items:center;padding:0 11px;background:linear-gradient(#272a21,#181b16);border-bottom:1px solid var(--line);color:#d8bc7e;font-size:.78rem;letter-spacing:.03em}.ace-form-body{padding:9px 13px 16px}.ace-form-body label{display:block;margin:9px 0 4px;color:#d8d1c1;font-size:.79rem}.ace-form-body .form-control{min-height:34px;font-size:.84rem;padding:.42rem .55rem}.ace-form-body textarea.form-control{min-height:62px}.ace-two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ace-subsection{margin:13px -13px 4px;padding:7px 13px;border-top:1px solid #34342b;border-bottom:1px solid #34342b;background:#141711;color:#cbaa67;font-size:.75rem}.ace-preview-column{position:sticky;top:0;height:fit-content;max-height:calc(100vh - 98px);overflow:auto}.ace-site-preview{background:#0a0c0b;min-height:660px;border-top:0;overflow:hidden}.ace-preview-nav{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 20px;background:linear-gradient(#111411,#090b0a);border-bottom:1px solid #363329}.ace-preview-nav strong{color:#c9a863;font:800 .92rem Georgia,serif;letter-spacing:.035em}.ace-preview-nav strong small{display:block;text-align:center;letter-spacing:.14em}.ace-preview-nav span{font-size:.69rem;color:#d8d0be}.ace-preview-nav i{font-style:normal}.ace-preview-hero{padding:46px 9% 38px;min-height:310px;display:flex;flex-direction:column;justify-content:center;background:
linear-gradient(90deg,rgba(9,11,10,.93),rgba(9,11,10,.58)),
radial-gradient(circle at 75% 38%,rgba(120,93,44,.26),transparent 14rem),
repeating-linear-gradient(-17deg,transparent 0 44px,rgba(200,166,91,.028) 45px 46px);border-bottom:1px solid var(--line)}.ace-preview-hero:after{content:"✈   ✦    ⚙   ✦";position:absolute;right:6%;top:140px;font-size:2.7rem;letter-spacing:.55em;color:rgba(205,174,107,.08);transform:rotate(-8deg);pointer-events:none}.ace-preview-hero p:first-child{text-transform:uppercase;color:#c9ad70;font-size:.72rem;letter-spacing:.06em}.ace-preview-hero h2{font-size:clamp(1.8rem,3vw,3.1rem);text-transform:uppercase;margin:4px 0 10px;color:#f0e6d4;text-shadow:0 2px #000}.ace-preview-hero>p{max-width:680px;color:#e0d8c8}.ace-preview-actions{display:grid;gap:9px;width:min(285px,100%);margin-top:10px}.ace-preview-btn{display:inline-block;width:max-content;max-width:100%;padding:10px 17px;margin:6px 7px 0 0;background:linear-gradient(#565933,#373a25);border:1px solid #7b6939;color:#f8e9c4;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.06),0 2px 5px #000}.ace-preview-btn.alt{background:linear-gradient(#27291f,#181b16);border-color:#655b3c}.ace-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px}.ace-preview-cards article,.ace-release-card,.privacy-preview article,.ace-step-preview>div{background:linear-gradient(#191c17,#10130f);border:1px solid var(--line);padding:16px;box-shadow:inset 0 0 15px #000}.ace-preview-cards h3,.ace-release-card h3,.privacy-preview h3,.ace-step-preview h3{color:#d5b675;font-size:1rem}.ace-preview-cards p,.ace-release-card p,.privacy-preview p,.ace-step-preview p{color:#c7bfaf;font-size:.78rem}.ace-release-card{margin:12px 16px;display:grid;grid-template-columns:54px 1fr auto;gap:14px;align-items:start}.ace-release-icon{font-size:2rem;color:#c7aa6c}.ace-release-card b{font-size:.68rem;color:#e3c67d;border:1px solid #675d3a;background:#33351f;padding:5px 7px}.ace-release-card small{display:block;margin-top:9px;color:#a59b87}.ace-preview-empty{margin:12px 16px;color:#8d846f;font-size:.72rem}.ace-step-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px}.ace-step-preview b{color:#c8aa67;font:700 1.3rem Georgia,serif}.privacy-preview article{margin:12px 16px}.ace-preview-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:14px 16px;border-top:1px solid var(--line2);color:#9f9682;font-size:.68rem}.ace-preview-footer strong{color:#c4a35d;font-family:Georgia,serif}.ace-preview-footer span:last-child{text-align:right}
.ace-status{margin-bottom:9px;padding:9px 12px;border:1px solid #4f6945;background:#172015;color:#cfe1c4}.ace-editor-savebar{position:fixed;left:262px;right:12px;bottom:10px;height:56px;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:rgba(17,20,16,.97);border:1px solid var(--line);box-shadow:0 -5px 18px #000}.ace-editor-savebar span{color:#aea593;font-size:.82rem}.ace-editor-savebar strong{color:#eee5d4}.ace-save-button,.ace-reset-button{border:1px solid #89753f;background:linear-gradient(#5b5d37,#383b25);color:#fff0ca;padding:9px 17px;text-transform:none;border-radius:2px}.ace-reset-form{position:fixed;bottom:18px;left:278px;z-index:61;transform:translateY(-63px)}.ace-reset-button{border-color:#8b3b31;background:#1b1210;color:#e67f6d;padding:7px 10px;font-size:.75rem}

/* Admin pages other than editor */
.ace-admin-main>.container,.ace-admin-main>form{max-width:1200px}.ace-admin-main>div:not(.ace-editor-shell){padding:24px}.ace-admin-body .card,.ace-admin-body .auth-card{background:linear-gradient(#1b1e18,#11130f)!important}

@media(max-width:1200px){.ace-admin-topbar{grid-template-columns:260px 1fr 135px}.ace-admin-mainnav a{padding:0 14px}.ace-editor-shell{grid-template-columns:210px 1fr}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:1fr}.ace-preview-column{position:static;max-height:none}.ace-editor-savebar{left:222px}.ace-reset-form{left:238px}.ace-admin-brand{font-size:1rem}.ace-public-main{padding-inline:22px}}
@media(max-width:850px){.ace-admin-body{overflow:auto}.ace-admin-topbar{height:auto;min-height:64px;grid-template-columns:1fr auto}.ace-admin-brand{min-height:64px}.ace-admin-mainnav{grid-column:1/-1;order:3;overflow:auto}.ace-admin-mainnav a{min-height:46px;white-space:nowrap}.ace-admin-user{grid-column:2;grid-row:1;margin-right:8px}.ace-admin-main{height:auto;overflow:visible}.ace-editor-shell{grid-template-columns:1fr}.ace-editor-sidebar{display:none}.ace-editor-workspace{overflow:visible;padding-bottom:86px}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:1fr}.ace-editor-savebar{left:10px}.ace-reset-form{display:none}.ace-public-links{display:none!important;position:absolute;left:0;right:0;top:76px;background:#0d0f0e;padding:12px 20px;border-bottom:1px solid var(--line2);flex-direction:column}.ace-public-links.show{display:flex!important}.ace-menu-toggle{display:block}.ace-public-brand{min-width:0;margin-right:auto}.ace-admin-link{display:none}.ace-footer-inner{grid-template-columns:1fr;text-align:center;padding:15px}.ace-footer-inner a{justify-self:center}.ace-preview-cards{grid-template-columns:1fr}}

/* ===== APPROVED HOI4 MOCKUP MATCH: PUBLIC SITE ===== */
:root{--mock-gold:#c8a969;--mock-gold-bright:#e2c787;--mock-olive:#4f512c;--mock-olive-dark:#2c2f1c;--mock-black:#070908;--mock-panel:#111410;--mock-line:#4b4432}
.ace-public-body{background:#080a09;color:#eee8dc}
.ace-public-header{background:linear-gradient(180deg,#10120f 0%,#090b0a 100%);border-bottom:1px solid #4d432d;box-shadow:0 5px 18px #000}
.ace-public-nav,.ace-nav-inner{min-height:86px}
.ace-public-brand{min-width:320px;position:relative;color:#d8bc7a!important;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;line-height:1.05;text-shadow:0 2px 1px #000,0 0 14px rgba(199,164,93,.18)}
.ace-public-brand span{font-size:1.28rem;letter-spacing:.06em}.ace-public-brand small{font-size:1.28rem;letter-spacing:.22em;margin-top:3px}
.ace-public-brand:before,.ace-public-brand:after{height:2px;width:88%;box-shadow:0 1px 0 #000;background:linear-gradient(90deg,transparent,#8f743d 12%,#d1ad62 50%,#8f743d 88%,transparent)}
.ace-public-links{gap:2px}.ace-public-links a{font-size:.9rem;padding:13px 17px;border:1px solid transparent;text-transform:none}.ace-public-links a:hover{background:linear-gradient(#45472c,#242719);border-color:#75663b;box-shadow:inset 0 0 12px rgba(0,0,0,.45)}
.ace-admin-link{border-color:#4a4334;padding:11px 15px;color:#d9c79c}
.ace-public-main{max-width:none!important;padding:0 0 52px;min-height:calc(100vh - 170px)}
.ace-public-main:before{inset:86px 0 0;background:radial-gradient(circle at 72% 12%,rgba(107,87,44,.10),transparent 26rem),linear-gradient(#0d100d,#070908);z-index:-2}
.hoi4-hero{position:relative;min-height:540px;display:flex;align-items:center;border-bottom:1px solid #4b4230;overflow:hidden;background-image:linear-gradient(90deg,rgba(6,8,7,.96) 0%,rgba(7,9,8,.84) 38%,rgba(6,8,7,.20) 70%,rgba(6,8,7,.38) 100%),url('/images/battlefield-bg.jpg');background-size:cover;background-position:center;box-shadow:inset 0 -40px 60px #070908,inset 0 0 80px rgba(0,0,0,.75)}
.hoi4-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px),radial-gradient(circle at 35% 25%,rgba(190,154,78,.06),transparent 25rem);pointer-events:none}
.hoi4-hero-content{position:relative;z-index:2;width:min(720px,86vw);margin-left:max(40px,calc((100vw - 1160px)/2));padding:58px 0}.hoi4-hero-content.narrow{width:min(670px,86vw)}
.hoi4-kicker{color:#c4a66b;text-transform:uppercase;font-weight:700;font-size:.83rem;letter-spacing:.07em;margin-bottom:12px}
.hoi4-hero h1,.hoi4-page-hero h1{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;font-weight:900;color:#f0e7d8;letter-spacing:.025em;text-shadow:0 3px 0 #000,0 0 22px rgba(211,179,103,.16);font-size:clamp(2.7rem,5vw,4.9rem);line-height:1.03;margin:0 0 18px}
.hoi4-lead{font-size:1.04rem;line-height:1.65;color:#e3ddcf;max-width:700px;margin:0 0 22px}
.hoi4-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.hoi4-actions.vertical{display:grid;width:min(300px,100%);gap:10px}.hoi4-actions.vertical .hoi4-btn{width:100%}
.hoi4-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 20px;border:1px solid #665a39;background:linear-gradient(#292c20,#171a14);color:#f1dfb6!important;text-transform:uppercase;font-weight:800;letter-spacing:.035em;box-shadow:inset 0 1px rgba(255,255,255,.04),inset 0 0 15px rgba(0,0,0,.35),0 2px 5px #000;border-radius:2px}.hoi4-btn:hover{background:linear-gradient(#4a4d2b,#2d311d);border-color:#967a42}.hoi4-btn.primary{background:linear-gradient(#5a5c32,#34371f);border-color:#806c39}
.hoi4-feature-grid{width:min(1160px,calc(100% - 48px));margin:-28px auto 0;position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.hoi4-panel,.hoi4-release-card,.hoi4-steps article{background:linear-gradient(180deg,#181b16,#0f120f);border:1px solid #494334;box-shadow:inset 0 0 20px rgba(0,0,0,.55),0 8px 20px rgba(0,0,0,.24);position:relative}.hoi4-panel:before,.hoi4-release-card:before,.hoi4-steps article:before{content:"";position:absolute;inset:4px;border:1px solid rgba(194,162,92,.08);pointer-events:none}
.hoi4-panel{padding:22px;display:flex;gap:16px;min-height:155px}.hoi4-panel.large{width:min(1060px,calc(100% - 48px));margin:24px auto 0;min-height:230px}.hoi4-panel-icon{width:48px;height:48px;flex:0 0 48px;border:1px solid #75643e;background:#26281d;display:grid;place-items:center;color:#d0ad65;font-size:1.45rem;box-shadow:inset 0 0 13px #000}.hoi4-panel h2,.hoi4-release-card h2,.hoi4-steps h2,.hoi4-policy-grid h2{font-size:1.18rem;color:#d4b575;text-transform:uppercase;margin:0 0 9px}.hoi4-panel p,.hoi4-release-card p,.hoi4-steps p,.hoi4-policy-grid p{color:#c9c1b2;line-height:1.55;margin:0}
.hoi4-page-hero{width:min(1160px,calc(100% - 48px));margin:28px auto 0;padding:52px 56px;border:1px solid #4a4332;background:linear-gradient(90deg,rgba(10,12,10,.95),rgba(10,12,10,.58)),url('/images/battlefield-bg.jpg');background-size:cover;background-position:center;box-shadow:inset 0 0 50px #000}.hoi4-page-hero h1{font-size:clamp(2.4rem,4vw,4rem)}
.hoi4-download-stack{width:min(1060px,calc(100% - 48px));margin:22px auto}.hoi4-section-title{font-family:Georgia,serif;color:#d0ae68;font-size:1.2rem;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.hoi4-release-card{padding:23px 26px;margin:0 0 14px;display:grid;grid-template-columns:62px 1fr;gap:18px}.hoi4-release-icon{width:52px;height:52px;border:1px solid #71603b;background:#23261c;display:grid;place-items:center;color:#cfae69;font-size:1.75rem}.hoi4-release-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.hoi4-badge{font-size:.72rem;text-transform:uppercase;color:#f1dfb3;background:#4e512e;border:1px solid #7a6b40;padding:5px 8px;white-space:nowrap}.hoi4-meta{font-size:.82rem;color:#9f988a!important;margin:-3px 0 12px!important}.hoi4-details{margin-top:12px;color:#bbb2a1}.hoi4-details summary{cursor:pointer;color:#c9aa6a}.checksum{color:#a7b899}
.hoi4-steps{width:min(1060px,calc(100% - 48px));margin:20px auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.hoi4-steps article{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:24px}.hoi4-steps b{font-family:Georgia,serif;color:#c9a65d;font-size:2rem;border-right:1px solid #5d5032;padding-right:18px}.hoi4-checklist{padding-left:20px;margin:4px 0 0}.hoi4-checklist li{margin:10px 0;color:#d1c9ba}.hoi4-policy-grid{width:min(1060px,calc(100% - 48px));margin:20px auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.hoi4-policy-grid .hoi4-panel{min-height:220px}
.ace-public-footer{background:#090b0a;border-top:1px solid #4d432d;box-shadow:0 -3px 16px #000}.ace-footer-inner{min-height:84px}.ace-footer-inner strong{font-family:Georgia,serif;color:#c6a462;font-size:1.02rem;text-transform:uppercase;letter-spacing:.08em}

/* Make the admin editor match the approved three-column mock-up more closely */
.ace-admin-topbar{height:70px;grid-template-columns:365px 1fr 170px}.ace-admin-brand{font-size:1.25rem;text-transform:uppercase}.ace-editor-shell{grid-template-columns:265px 1fr}.ace-editor-workspace{padding:12px 12px 84px}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:minmax(520px,49%) minmax(520px,51%);gap:12px}.ace-editor-sidebar{background:linear-gradient(#10130f,#080a09);border-right-color:#4b4330}.ace-side-section-title{color:#d0b271;background:#151814}.ace-editor-heading h1{font-family:Georgia,serif;text-transform:uppercase}.ace-preview-title,.ace-panel-title{font-family:Georgia,serif}.ace-site-preview{background:#070908}.ace-preview-hero{background-image:linear-gradient(90deg,rgba(8,10,9,.90),rgba(8,10,9,.35)),url('/images/battlefield-bg.jpg');background-size:cover;background-position:center;min-height:360px}.ace-preview-hero:after{display:none}.ace-preview-btn{min-width:230px;text-align:center}.ace-preview-column{border-color:#544a34}.ace-form-panel{border-color:#484234}.ace-editor-savebar{left:277px}

@media(max-width:1000px){.hoi4-feature-grid,.hoi4-policy-grid,.hoi4-steps{grid-template-columns:1fr}.hoi4-feature-grid{margin-top:18px}.hoi4-hero{min-height:500px}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:1fr}.ace-preview-column{position:static}.ace-admin-topbar{grid-template-columns:280px 1fr 130px}}
@media(max-width:850px){.ace-public-nav,.ace-nav-inner{min-height:72px}.ace-public-brand{min-width:210px}.hoi4-hero-content{margin-left:24px}.hoi4-page-hero{padding:36px 24px}.hoi4-feature-grid,.hoi4-download-stack,.hoi4-steps,.hoi4-policy-grid,.hoi4-panel.large,.hoi4-page-hero{width:calc(100% - 28px)}.hoi4-release-card{grid-template-columns:1fr}.hoi4-release-heading{display:block}.ace-editor-savebar{left:10px}}
.ace-public-main>section.hoi4-hero:first-child{padding:0!important;margin:0!important;border-left:0;border-right:0;border-top:0;background-image:linear-gradient(90deg,rgba(6,8,7,.96) 0%,rgba(7,9,8,.84) 38%,rgba(6,8,7,.20) 70%,rgba(6,8,7,.38) 100%),url('/images/battlefield-bg.jpg')!important;box-shadow:inset 0 -40px 60px #070908,inset 0 0 80px rgba(0,0,0,.75)}
.ace-public-main>section.hoi4-hero:first-child:after{content:"";display:none}
.ace-public-main>section.hoi4-page-hero:first-child{padding:52px 56px!important;margin:28px auto 0!important;background:linear-gradient(90deg,rgba(10,12,10,.95),rgba(10,12,10,.58)),url('/images/battlefield-bg.jpg')!important}

/* Approved mock-up: Admin dropdown */
.ace-admin-user-menu{align-self:center;justify-self:end;margin-right:18px;position:relative}
.ace-admin-user-menu .ace-admin-user{margin:0;min-width:112px;height:46px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #292a25;border-radius:3px;background:linear-gradient(180deg,#111311,#090b0a);box-shadow:inset 0 0 0 1px #080908,0 2px 8px #0008;color:#eee4d0;font-size:15px}
.ace-admin-user-menu .ace-admin-user:hover,.ace-admin-user-menu .ace-admin-user:focus{border-color:#57513a;color:#fff3d2;background:#151713}
.ace-admin-shield{width:24px;height:27px;display:inline-grid;place-items:center;color:#d4ad58;border:2px solid #9c7a38;clip-path:polygon(50% 0,92% 14%,86% 70%,50% 100%,14% 70%,8% 14%);background:#151711;font-size:12px;text-shadow:0 0 5px #c79b42}
.ace-admin-user-menu .dropdown-toggle::after{margin-left:2px;color:#a9a28f;vertical-align:.15em}
.ace-admin-dropdown{min-width:180px;margin-top:8px!important;padding:6px;background:#0b0d0c;border:1px solid #34342d;border-radius:2px;box-shadow:0 10px 28px #000c,inset 0 0 0 1px #151713}
.ace-admin-dropdown .dropdown-item{padding:10px 12px;color:#d9d0bd;background:transparent;border-radius:1px}
.ace-admin-dropdown .dropdown-item:hover{background:#252617;color:#f0cf80}
.ace-admin-dropdown .dropdown-divider{border-color:#34342d;margin:5px 0}
.ace-admin-dropdown form{margin:0}.ace-logout-item{width:100%;text-align:left;border:0}
@media(max-width:850px){.ace-admin-user-menu{grid-column:2;grid-row:1;margin-right:8px}.ace-admin-user-menu .ace-admin-user{min-width:104px}}

/* ===== FULL APPROVED MOCK-UP COMPONENT MATCH PASS ===== */
:root{
  --ace-gold:#c6a25c;--ace-gold-hi:#e1c27e;--ace-bronze:#6c5732;--ace-olive:#4a4c29;
  --ace-olive-hi:#5a5d34;--ace-ink:#080a09;--ace-deep:#0b0d0b;--ace-panel:#111410;--ace-panel2:#171a15;
  --ace-rule:#37352c;--ace-rule-hi:#5d5032;--ace-copy:#eee6d7;--ace-muted:#aaa18e;
}

/* Public header - dimensions and component treatment from the approved mock-up */
.ace-public-header{background:linear-gradient(#10120f,#090b0a)!important;border-bottom:1px solid #413825!important;box-shadow:0 4px 18px #000c!important}
.ace-public-nav,.ace-nav-inner{min-height:70px!important}
.ace-nav-inner{max-width:1536px!important;padding:0 18px!important;gap:12px!important}
.ace-public-brand{min-width:335px!important;max-width:335px!important;padding:7px 18px!important;border-right:1px solid #262820;color:#d0ae68!important;line-height:.95!important}
.ace-public-brand span{font-size:1.2rem!important;letter-spacing:.035em!important}.ace-public-brand small{font-size:1.2rem!important;letter-spacing:.16em!important}
.ace-public-brand:before,.ace-public-brand:after{width:94%!important;height:1px!important;margin:3px 0!important}
.ace-public-links{justify-content:center!important;gap:0!important}.ace-public-links a{padding:25px 18px!important;border-left:1px solid transparent!important;border-right:1px solid transparent!important;border-radius:0!important;font-size:.88rem!important;color:#ddd5c6!important}
.ace-public-links a:hover,.ace-public-links a:focus{background:#11130f!important;border-color:#25271f!important;box-shadow:inset 0 -2px var(--ace-gold)!important;color:#f3e4bd!important}
.ace-public-admin-menu{margin-left:auto;position:relative;flex:0 0 auto}
.ace-public-admin-button{height:46px;min-width:122px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(#111311,#090b0a);border:1px solid #2d2e28;border-radius:3px;color:#eee4d0;box-shadow:inset 0 0 0 1px #080908,0 2px 8px #0009;font-family:inherit;font-size:.95rem}
.ace-public-admin-button:hover,.ace-public-admin-button:focus{border-color:#57513a;color:#fff0cc;background:#151713}
.ace-public-admin-button.dropdown-toggle::after{color:#9d9787;margin-left:1px}
.ace-public-admin-shield{width:25px;height:28px;display:inline-grid;place-items:center;color:#d6af5a;border:2px solid #9b7939;clip-path:polygon(50% 0,92% 14%,86% 70%,50% 100%,14% 70%,8% 14%);background:#171910;font-size:11px;box-shadow:inset 0 0 8px #000}

/* Use a clean battlefield crop - no accidentally enlarged mock-up text */
.hoi4-hero,.hoi4-page-hero,.ace-preview-hero{
  background-image:linear-gradient(90deg,rgba(6,8,7,.97) 0%,rgba(7,9,8,.85) 38%,rgba(7,9,8,.31) 67%,rgba(6,8,7,.53) 100%),url('/images/battlefield-clean.jpg')!important;
  background-size:cover!important;background-position:center 48%!important;
}
.ace-public-main>section.hoi4-hero:first-child{background-image:linear-gradient(90deg,rgba(6,8,7,.97) 0%,rgba(7,9,8,.85) 38%,rgba(7,9,8,.31) 67%,rgba(6,8,7,.53) 100%),url('/images/battlefield-clean.jpg')!important}
.ace-public-main>section.hoi4-page-hero:first-child{background-image:linear-gradient(90deg,rgba(6,8,7,.96),rgba(8,10,8,.58)),url('/images/battlefield-clean.jpg')!important}
.hoi4-hero{min-height:500px!important}.hoi4-hero-content{margin-left:max(54px,calc((100vw - 1180px)/2))!important;padding:68px 0 86px!important;width:min(690px,82vw)!important}
.hoi4-hero h1{font-size:clamp(3rem,4.5vw,4.45rem)!important;max-width:690px!important}.hoi4-kicker{font-size:.78rem!important;color:#c2a466!important}.hoi4-lead{font-size:.98rem!important;max-width:670px!important}
.hoi4-btn{min-height:47px!important;border-radius:2px!important;padding:9px 18px!important;background:linear-gradient(#292b1e,#161912)!important;border-color:#685a35!important;color:#f0dfb7!important;box-shadow:inset 0 0 0 1px #191b14,inset 0 1px rgba(255,255,255,.05),0 3px 8px #000b!important}
.hoi4-btn.primary{background:linear-gradient(#50522c,#30331e)!important;border-color:#7b6738!important}.hoi4-btn:hover{background:linear-gradient(#5d6034,#383b22)!important;border-color:#987b43!important}
.hoi4-feature-grid{width:min(1040px,calc(100% - 42px))!important;margin:-26px auto 0!important;gap:12px!important}.hoi4-panel{min-height:135px!important;padding:18px!important;border-color:#403b2e!important;background:linear-gradient(#151814,#0d100d)!important}.hoi4-panel:after,.hoi4-release-card:after,.ace-form-panel:after,.ace-preview-column:after,.ace-theme-card:after{content:"";position:absolute;inset:5px;border:1px solid rgba(197,159,84,.07);pointer-events:none}.hoi4-panel-icon{width:44px!important;height:44px!important;flex-basis:44px!important}
.ace-public-footer{min-height:58px!important}.ace-footer-inner{min-height:58px!important;max-width:1536px!important;padding:0 24px!important;font-size:.75rem!important}.ace-footer-inner strong{font-size:.95rem!important}

/* Admin top bar exact component scale */
.ace-admin-topbar{height:70px!important;grid-template-columns:340px 1fr 160px!important;background:linear-gradient(#10120f,#090b0a)!important;border-bottom:1px solid #3b3322!important;box-shadow:0 4px 18px #000c!important}
.ace-admin-brand{border-right:1px solid #25261f!important;font-family:Georgia,"Times New Roman",serif!important;text-transform:uppercase!important;font-size:1.18rem!important;color:#d2b16c!important;line-height:1!important;position:relative}
.ace-admin-brand:after{content:"";position:absolute;left:24px;right:24px;bottom:13px;height:1px;background:linear-gradient(90deg,transparent,#7c6336,transparent)}
.ace-admin-mainnav a{min-width:118px;padding:0 20px!important;font-size:.91rem!important;justify-content:center;color:#d5cebf!important}.ace-admin-mainnav a.active,.ace-admin-mainnav a:hover{background:#11130f!important;border-color:#25271f!important;box-shadow:inset 0 -2px var(--ace-gold)!important;color:#f1e2bc!important}
.ace-admin-user-menu{margin-right:16px!important}.ace-admin-user-menu .ace-admin-user{min-width:112px!important;height:46px!important;border-color:#2d2e28!important;background:linear-gradient(#111311,#090b0a)!important;box-shadow:inset 0 0 0 1px #080908,0 2px 8px #0009!important;font-size:.95rem!important}
.ace-admin-shield{width:25px!important;height:28px!important;border-color:#9b7939!important;color:#d6af5a!important;background:#171910!important}
.ace-admin-dropdown{background:#0a0c0b!important;border-color:#34342d!important;box-shadow:0 11px 28px #000e,inset 0 0 0 1px #151713!important}.ace-admin-dropdown .dropdown-item{color:#ddd4c2!important}.ace-admin-dropdown .dropdown-item:hover{background:#262719!important;color:#f0cf80!important}

/* Editor: dimensions, line weights and density copied from approved mock-up */
.ace-admin-main{height:calc(100vh - 70px)!important}.ace-editor-shell{grid-template-columns:250px minmax(0,1fr)!important;background:#090b0a!important}.ace-editor-sidebar{padding:10px 7px 18px!important;background:linear-gradient(#0e110e,#070908)!important;border-right:1px solid #343127!important}.ace-side-section-title{height:34px!important;display:flex!important;align-items:center!important;padding:0 11px!important;background:#121510!important;border-color:#2a2b25!important;color:#cbb27b!important;font-size:.77rem!important}.ace-side-link{height:39px!important;padding:0 12px!important;border-bottom:1px solid #21231e!important;font-size:.88rem!important}.ace-side-link.active,.ace-side-link:hover{background:linear-gradient(90deg,#3b3d23,#202318)!important;border-color:#5e5334!important;box-shadow:inset 0 0 15px #0007!important}.ace-theme-row{min-height:42px!important;padding:8px 11px!important}.ace-theme-card{margin:15px 7px 0!important;min-height:108px!important;padding:12px 10px!important;position:relative!important}
.ace-editor-workspace{padding:10px 10px 82px!important;background:#090b0a!important}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:minmax(520px,48.5%) minmax(520px,51.5%)!important;gap:10px!important;min-height:calc(100vh - 172px)!important}.ace-editor-heading{min-height:70px!important;margin-bottom:8px!important;padding:8px 12px!important;border-color:#39362c!important;background:linear-gradient(#151814,#0e110e)!important}.ace-editor-heading h1{font-size:1.17rem!important;color:#c9a967!important}.ace-editor-heading p{font-size:.77rem!important}.ace-medal.small{width:48px!important;height:48px!important;font-size:1.1rem!important}.ace-form-panel,.ace-preview-column{border-color:#3d392e!important;background:#0e110e!important;position:relative!important}.ace-panel-title,.ace-preview-title{height:28px!important;padding:0 10px!important;background:linear-gradient(#23261e,#151812)!important;border-bottom-color:#3a372d!important;color:#d1b375!important;font-size:.75rem!important}.ace-form-body{padding:8px 12px 14px!important}.ace-form-body label{margin:7px 0 3px!important;font-size:.75rem!important;color:#ddd5c6!important}.ace-form-body .form-control{min-height:31px!important;padding:.36rem .5rem!important;font-size:.79rem!important;background:#080a09!important;border-color:#3b3d35!important}.ace-form-body textarea.form-control{min-height:55px!important}.ace-subsection{margin:11px -12px 3px!important;padding:6px 12px!important;color:#cba963!important;background:#121510!important}.ace-preview-column{max-height:calc(100vh - 91px)!important}.ace-site-preview{min-height:650px!important;background:#080a09!important}.ace-preview-nav{min-height:54px!important;padding:8px 18px!important}.ace-preview-nav strong{font-size:.87rem!important}.ace-preview-hero{min-height:350px!important;padding:42px 9% 34px!important}.ace-preview-hero h2{font-size:clamp(1.8rem,2.5vw,2.85rem)!important}.ace-preview-actions{width:245px!important}.ace-preview-btn{min-width:225px!important;padding:9px 15px!important}.ace-release-card{margin:11px 14px!important;padding:15px!important;border-color:#3d392e!important}.ace-editor-savebar{left:260px!important;right:10px!important;bottom:8px!important;height:52px!important;padding:7px 11px!important;background:rgba(14,17,14,.985)!important;border-color:#403b2d!important}.ace-save-button{height:36px!important;padding:0 16px!important}.ace-reset-form{left:274px!important;bottom:10px!important}.ace-reset-button{height:31px!important;padding:0 10px!important}

/* Generic admin screens now carry the same framed military treatment */
.ace-admin-main>.ace-admin-page{max-width:none!important;margin:0!important;padding:22px 28px 60px!important;background:radial-gradient(circle at 82% 4%,rgba(92,76,42,.08),transparent 26rem),#090b0a!important;height:100%!important;overflow:auto!important}
.ace-admin-main>div:not(.ace-editor-shell):not(.ace-admin-page):not(.ace-admin-shell){height:auto!important;overflow:visible!important}
.ace-admin-body .card{position:relative!important;border-color:#3d392e!important;background:linear-gradient(#151814,#0e110e)!important}.ace-admin-body .card-header{background:#151814!important;border-bottom-color:#3d392e!important;color:#d8bd7e!important}.ace-admin-body .table{--bs-table-bg:#0c0f0c;--bs-table-color:#ded6c7;--bs-table-border-color:#34362e}.ace-admin-body h1{color:#d4b474!important;text-transform:uppercase!important;font-size:2rem!important}.ace-admin-body h2{color:#d4b474!important}

@media(max-width:1050px){.ace-public-brand{min-width:260px!important;max-width:260px!important}.ace-public-links a{padding-inline:10px!important}.ace-admin-topbar{grid-template-columns:270px 1fr 145px!important}.ace-editor-shell{grid-template-columns:215px 1fr!important}.ace-editor-tabs-content>.tab-pane.active{grid-template-columns:1fr!important}.ace-editor-savebar{left:225px!important}}
@media(max-width:850px){.ace-public-admin-menu{display:none}.ace-public-brand{min-width:220px!important;max-width:220px!important}.ace-editor-shell{grid-template-columns:1fr!important}.ace-editor-savebar{left:10px!important}}
/* Google accounts + database permissions */
.ace-google-login{max-width:520px;margin:8vh auto;padding:32px;border:1px solid #80754d;background:rgba(15,17,14,.96);box-shadow:0 12px 40px #000}
.ace-google-button{background:#fff;color:#222;border:1px solid #bbb;font-weight:700;padding:12px}.ace-google-button:hover{background:#eee;color:#111}
.ace-users-table-wrap{overflow:auto;background:rgba(10,12,10,.82);border:1px solid #6f6849;padding:14px}.ace-users-table{color:#e9e5d4}.ace-users-table th{color:#c7b979;border-color:#4e4a36}.ace-users-table td{border-color:#33382d;vertical-align:middle}.ace-role-form{display:flex;gap:8px;min-width:300px}.ace-role-form .form-select{background:#171a15;color:#eee;border-color:#6c674b}.ace-owner-badge{margin-left:8px;padding:2px 7px;border:1px solid #a58d45;color:#d7c36d;font-size:.7rem}.ace-permission-key{margin-top:16px;padding:14px;border-left:3px solid #8d7d45;background:#181b16;color:#bbb}

/* v4.2 Users & Permissions role controls */
.ace-role-form {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 360px;
}
.ace-role-form .form-select {
    min-width: 220px;
    flex: 1 1 220px;
}
.ace-role-form .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}
.ace-owner-role-lock {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}
.ace-owner-role-lock strong {
    color: #e4bd65;
}
.ace-owner-role-lock span {
    opacity: .72;
    font-size: .85rem;
}
@media (max-width: 900px) {
    .ace-role-form {
        min-width: 250px;
        align-items: stretch;
        flex-direction: column;
    }
    .ace-role-form .form-select {
        min-width: 0;
        width: 100%;
    }
}

/* v4.3.7 public side layout + crisp HTML branding (built from exact v4.2 baseline) */
.ace-public-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:#090b0a}
.ace-public-sidebar{position:sticky;top:0;height:100vh;z-index:1100;background:linear-gradient(180deg,#0d100d,#070908);border-right:1px solid #3a3528;overflow:auto}
.ace-side-brand{height:98px;display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid #2e2a21;color:#e4c982!important}
.ace-side-brand img{width:54px;height:58px;object-fit:cover;object-position:left top;flex:0 0 54px}
.ace-side-brand span{display:flex;flex-direction:column;line-height:1.03;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;text-shadow:0 2px #000}
.ace-side-brand strong{font-size:.92rem;letter-spacing:.02em}.ace-side-brand small{font-size:1.12rem;letter-spacing:.06em;color:#d2ad60}
.ace-public-side-section{margin:10px 7px 0}.ace-public-side-section .ace-side-section-title{height:34px;display:flex;align-items:center;padding:0 11px;background:#121510;border:1px solid #2a2b25;color:#cbb27b;font-size:.77rem}
.ace-public-side-nav{display:flex;flex-direction:column}.ace-public-side-nav a{height:39px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;padding:0 10px;border-bottom:1px solid #21231e;color:#e7e0d2;font-size:.88rem}.ace-public-side-nav a:hover,.ace-public-side-nav a:focus{background:linear-gradient(90deg,#3b3d23,#202318);border-color:#5e5334;color:#fff0c5}.ace-public-side-nav b{color:#d7b35f;font-size:.8rem}
.ace-side-account{margin-top:10px}.ace-side-account-button{width:100%;height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;background:linear-gradient(#111311,#090b0a);border:1px solid #2d2e28;color:#eee4d0;text-align:left}.ace-side-account-button.dropdown-toggle::after{margin-left:auto}.ace-side-account .dropdown-menu{min-width:200px}
.ace-theme-public{margin-top:12px}.ace-theme-public-row{min-height:42px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;padding:8px 11px;border-bottom:1px solid #21231e;color:#ddd5c6}.ace-theme-public-row b{font-size:.72rem;padding:4px 8px;background:#87712f;color:#fff2c9;border:1px solid #a58b3d}.ace-theme-public-card{margin:14px 7px 0;padding:12px 10px;display:flex;gap:10px;border:1px solid #7f672d;background:linear-gradient(#171a15,#0d100d);box-shadow:inset 0 0 18px #0008}.ace-theme-star{font-size:1.7rem;color:#d9b65f}.ace-theme-public-card strong{font-family:Georgia,serif;color:#d7b365}.ace-theme-public-card p{margin:.35rem 0 0;color:#c7bfaf;font-size:.82rem;line-height:1.45}
.ace-public-stage{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.ace-public-banner{height:112px;display:grid;grid-template-columns:minmax(300px,34%) 1fr minmax(390px,38%);align-items:stretch;background:#090b0a;border-bottom:1px solid #6a5630;box-shadow:0 4px 18px #000c;overflow:hidden}
.ace-banner-brand{display:flex;align-items:center;gap:12px;padding:10px 22px;background:linear-gradient(90deg,#0a0c0a 0%,#0a0c0af2 80%,transparent)}.ace-banner-brand img{width:74px;height:80px;object-fit:cover;object-position:left top}.ace-banner-brand div{display:flex;flex-direction:column;font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;line-height:1}.ace-banner-brand strong{font-size:1.33rem;color:#eee3cf;letter-spacing:.03em}.ace-banner-brand span{font-size:2.05rem;color:#d4aa55;letter-spacing:.05em;margin-top:6px}
.ace-banner-battlefield{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#0a0c0a 0%,rgba(10,12,10,.18) 18%,rgba(10,12,10,.18) 82%,#0a0c0a 100%),url('/images/hoi4-battlefield-full.png') center 45%/cover no-repeat;overflow:hidden}
.ace-banner-battlefield:before{content:"";position:absolute;inset:0;background:rgba(5,7,6,.18);pointer-events:none}
.ace-hoi4-title-banner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-transform:uppercase;font-family:Georgia,"Times New Roman",serif;text-shadow:0 2px 5px #000,0 0 14px #000;line-height:.9;filter:none}
.ace-hoi4-title-banner span{font-size:.72rem;letter-spacing:.24em;color:#e3d8c4;font-weight:700;margin-bottom:4px}
.ace-hoi4-title-banner strong{font-size:2rem;letter-spacing:.06em;color:#d7ad55;border-top:1px solid rgba(215,173,85,.62);border-bottom:1px solid rgba(215,173,85,.62);padding:3px 12px 5px}

.ace-banner-companion{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:8px 20px 8px 10px;background:linear-gradient(90deg,transparent,#080a09 22%)}.ace-banner-companion>div{display:flex;flex-direction:column;align-items:flex-end;text-transform:uppercase;font-family:Georgia,"Times New Roman",serif;text-shadow:0 2px #000}.ace-banner-companion small{font-family:"Segoe UI",Arial,sans-serif;color:#d7aa51;font-weight:700;letter-spacing:.05em;font-size:.72rem}.ace-banner-companion strong{color:#e0b966;font-size:1.55rem;line-height:1.1;white-space:nowrap}.ace-banner-companion span{font-family:"Segoe UI",Arial,sans-serif;color:#f0e8d7;font-weight:700;letter-spacing:.12em;font-size:.73rem;margin-top:5px}.ace-banner-companion img{width:72px;height:78px;object-fit:cover;object-position:left top;flex:0 0 auto}
.ace-public-main{padding:0!important;min-height:0!important;flex:1}.ace-public-main:before{display:none!important}.ace-public-main>section.hoi4-hero:first-child{margin:0!important}.hoi4-hero-content{margin-left:max(54px,calc((100vw - 1360px)/2))!important}
.ace-public-footer{margin-top:auto}.ace-footer-inner{width:100%;max-width:none!important;padding:0 32px!important}
@media(max-width:1180px){.ace-public-banner{grid-template-columns:320px 1fr 350px}.ace-banner-companion strong{font-size:1.25rem}.ace-banner-brand strong{font-size:1.08rem}.ace-banner-brand span{font-size:1.7rem}.ace-banner-battlefield{opacity:1}.ace-hoi4-title-banner strong{font-size:1.55rem}}
@media(max-width:900px){.ace-public-shell{grid-template-columns:1fr}.ace-public-sidebar{position:relative;height:auto}.ace-side-brand{height:82px}.ace-public-banner{grid-template-columns:1fr;height:auto;min-height:110px}.ace-banner-battlefield{display:none}.ace-banner-brand,.ace-banner-companion{min-height:90px}.ace-banner-companion{border-top:1px solid #2e2a21}.hoi4-hero-content{margin-left:24px!important}.ace-public-side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.ace-theme-public{display:none}}


/* v4.3.9 login page: no admin navigation before authentication */
.ace-login-body { margin: 0; min-height: 100vh; background: #080b09; color: #f2ead8; }
.ace-login-shell { min-height: 100vh; display: flex; flex-direction: column; background: #080b09; }
.ace-login-banner { min-height: 112px; display: grid; grid-template-columns: minmax(300px, 1fr) minmax(360px, 1.6fr) minmax(360px, 1fr); align-items: stretch; border-bottom: 1px solid rgba(194,155,58,.55); background: #080b09; overflow: hidden; }
.ace-login-brand, .ace-login-companion { display: flex; align-items: center; gap: 16px; padding: 16px 28px; color: #e1b756; text-decoration: none; }
.ace-login-brand img, .ace-login-companion img { width: 74px; height: 74px; object-fit: contain; flex: 0 0 auto; }
.ace-login-brand span { display: flex; flex-direction: column; line-height: 1.05; }
.ace-login-brand strong { color: #f0eee9; font-size: 1.35rem; letter-spacing: .04em; }
.ace-login-brand small { color: #d6a83d; font-size: 1.55rem; font-family: Georgia, 'Times New Roman', serif; }
.ace-login-battlefield { background: linear-gradient(90deg,rgba(8,11,9,.35),rgba(8,11,9,.05),rgba(8,11,9,.35)), url('/images/battlefield-clean.jpg') center/cover no-repeat; }
.ace-login-companion { justify-content: flex-end; text-align: center; }
.ace-login-companion > div { display: flex; flex-direction: column; line-height: 1.12; }
.ace-login-companion small { color: #d6a83d; font-size: .78rem; font-weight: 700; }
.ace-login-companion strong { color: #e0b453; font-family: Georgia, 'Times New Roman', serif; font-size: 1.6rem; }
.ace-login-companion span { color: #f0eee9; font-size: .82rem; letter-spacing: .08em; }
.ace-login-main { flex: 1; padding: 28px; }
@media (max-width: 900px) { .ace-login-banner { grid-template-columns: 1fr; } .ace-login-battlefield { min-height: 90px; } .ace-login-companion { justify-content: center; } }


/* v4.4.0 unified theme system + full battlefield canvas */
body[data-ace-theme="hoi4"], body.ace-hoi4-theme { --ace-theme-name:"HOI4 Theme"; }

/* Reusable theme selector. More options can be added later without changing the layout. */
.ace-theme-selector-wrap{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid #24261f;background:rgba(13,16,13,.76)}
.ace-theme-selector-icon{color:#d6b35f;font-size:1.1rem;text-align:center}
.ace-theme-select{width:100%;min-height:38px;padding:6px 30px 6px 10px;background:#0b0e0c!important;color:#efe6d4!important;border:1px solid #625535!important;border-radius:2px;font-weight:700;box-shadow:inset 0 0 12px #0008}
.ace-theme-select:focus{border-color:#c4a35e!important;box-shadow:0 0 0 .15rem rgba(196,163,94,.16)!important}
.ace-theme-select option{background:#0b0e0c;color:#efe6d4}

/* HOI4 theme across the complete public content area, not only the middle hero panel. */
.ace-public-stage{background:#080a09}
.ace-public-main{position:relative;isolation:isolate;background:
 linear-gradient(90deg,rgba(5,7,6,.91) 0%,rgba(7,9,8,.73) 42%,rgba(6,8,7,.48) 72%,rgba(5,7,6,.72) 100%),
 linear-gradient(180deg,rgba(8,10,9,.12),rgba(8,10,9,.64)),
 url('/images/battlefield-bg.jpg') center center/cover no-repeat fixed!important;
 min-height:calc(100vh - 196px)!important;padding-bottom:54px!important}
.ace-public-main:before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px)!important;pointer-events:none!important}
.ace-public-main>section.hoi4-hero:first-child{background:linear-gradient(90deg,rgba(7,9,8,.86),rgba(8,10,9,.48) 56%,rgba(8,10,9,.18))!important;box-shadow:inset 0 -25px 48px rgba(0,0,0,.52)!important}
.ace-public-main .hoi4-feature-grid{padding-bottom:26px}
.ace-public-main .hoi4-panel{background:linear-gradient(180deg,rgba(22,25,20,.94),rgba(11,14,11,.94))!important;backdrop-filter:blur(1px)}

/* Admin uses the same HOI4 visual theme and crisp image + HTML text branding. */
.ace-admin-body{background:#070908}
.ace-admin-topbar{grid-template-columns:330px minmax(520px,1fr) 190px 170px!important;background:linear-gradient(180deg,rgba(13,16,13,.98),rgba(7,9,8,.98)),url('/images/battlefield-clean.jpg') center/cover no-repeat!important}
.ace-admin-brand{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;padding:7px 16px!important;border-right:1px solid #3d3525!important}
.ace-admin-brand img{width:52px;height:56px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 5px #000)}
.ace-admin-brand-text{display:flex;flex-direction:column;line-height:1.02;text-align:left}
.ace-admin-brand-text strong{font:800 .98rem Georgia,"Times New Roman",serif;color:#efe8dc;letter-spacing:.025em;white-space:nowrap}
.ace-admin-brand-text small{font:800 1.25rem Georgia,"Times New Roman",serif;color:#d3a853;letter-spacing:.08em;margin-top:3px}
.ace-admin-theme-picker{display:flex;align-items:center;gap:8px;padding:0 10px;border-left:1px solid #25271f;border-right:1px solid #25271f;background:rgba(8,10,9,.72)}
.ace-admin-theme-picker label{margin:0;color:#c9ab6b;font-size:.68rem;font-weight:800;letter-spacing:.08em}
.ace-admin-theme-picker .ace-theme-select{min-width:120px;min-height:34px;font-size:.78rem;padding-top:4px;padding-bottom:4px}
.ace-admin-user-menu{margin-right:10px!important}
.ace-admin-main{position:relative;background:
 linear-gradient(90deg,rgba(7,9,8,.91),rgba(7,9,8,.73)),
 url('/images/battlefield-bg.jpg') center/cover no-repeat fixed!important}
.ace-editor-workspace{background:linear-gradient(90deg,rgba(8,10,9,.84),rgba(8,10,9,.66))!important}
.ace-editor-sidebar{background:linear-gradient(180deg,rgba(13,16,13,.98),rgba(5,7,6,.98))!important}
.ace-admin-main>.container,.ace-admin-main>div:not(.ace-editor-shell),.ace-admin-main>form{position:relative;z-index:1}
.ace-admin-body .card,.ace-admin-body .auth-card,.ace-form-panel,.ace-preview-column,.ace-users-table-wrap{backdrop-filter:blur(2px)}
.admin-editor-theme{margin:0}

@media(max-width:1250px){
 .ace-admin-topbar{grid-template-columns:270px 1fr 165px 140px!important}
 .ace-admin-mainnav a{padding-left:12px!important;padding-right:12px!important}
 .ace-admin-brand-text strong{font-size:.82rem}.ace-admin-brand-text small{font-size:1.05rem}
 .ace-admin-brand img{width:44px;height:48px}
}
@media(max-width:1000px){.ace-admin-theme-picker{display:none}.ace-admin-topbar{grid-template-columns:260px 1fr 140px!important}}
@media(max-width:900px){.ace-public-main{background-attachment:scroll!important}.ace-admin-main{background-attachment:scroll!important}}

/* v4.4.1 Theme Creator */
.ace-theme-manager-column{min-width:0}.ace-theme-create{margin-top:18px}.ace-three-theme-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 14px}.ace-color-input{width:100%!important;height:44px!important;padding:4px!important}.ace-theme-list-title{margin:22px 0 10px}.ace-theme-edit-card{margin-bottom:18px}.ace-theme-edit-card .ace-panel-title{display:flex;justify-content:space-between;align-items:center}.ace-theme-edit-card .ace-panel-title b{font-size:.65rem;color:#18160f;background:#d3a853;padding:3px 7px}.ace-theme-enabled-line{margin-bottom:12px;color:#ddd4c3}.ace-theme-enabled-line input{margin-right:7px}.ace-theme-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.ace-theme-thumb{height:130px;border:1px solid #625535;background-size:cover;background-position:center}.ace-theme-emblem-thumb{height:130px;display:flex;align-items:center;justify-content:center;border:1px solid #625535;background:#080a08}.ace-theme-emblem-thumb img{max-width:120px;max-height:110px;object-fit:contain}.ace-delete-theme{margin-top:16px}.ace-theme-manager-preview{min-height:520px;border:1px solid #625535;background:var(--ace-theme-background),#080a09;background-size:cover;background-position:center;position:sticky;top:10px;overflow:hidden}.ace-theme-preview-banner{display:flex;align-items:center;gap:10px;padding:14px;background:rgba(7,9,8,.92);border-bottom:1px solid var(--ace-theme-accent,#d3a853)}.ace-theme-preview-banner img{width:52px;height:56px;object-fit:contain}.ace-theme-preview-banner div{display:flex;flex-direction:column}.ace-theme-preview-banner strong{font-family:Georgia,serif;color:var(--ace-theme-text,#efe8dc)}.ace-theme-preview-banner span{font-family:Georgia,serif;font-size:1.35rem;color:var(--ace-theme-accent,#d3a853)}.ace-theme-preview-body{padding:36px;background:linear-gradient(rgba(7,9,8,.5),rgba(7,9,8,.68));min-height:440px}.ace-theme-preview-body h2,.ace-theme-preview-body h3{color:var(--ace-theme-accent,#d3a853)!important}.ace-theme-preview-body article{margin-top:28px;padding:18px;border:1px solid var(--ace-theme-accent,#d3a853);background:color-mix(in srgb,var(--ace-theme-panel,#11140f) 92%,transparent)}
@media(max-width:900px){.ace-three-theme-colors,.ace-theme-image-grid{grid-template-columns:1fr}}


/* v4.4.4: public banner layout fix. Keeps all three banner sections contained. */
.ace-public-banner > *{min-width:0}
.ace-banner-brand,.ace-banner-companion{overflow:hidden}
.ace-banner-companion>div{min-width:0}
.ace-banner-companion strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.ace-banner-companion img{display:block;align-self:center}

/* v4.4.6 consistent sidebar controls */
.ace-side-account{margin-top:0!important;border-bottom:1px solid #21231e}
.ace-side-account-button{height:39px!important;display:grid!important;grid-template-columns:22px 1fr auto!important;align-items:center!important;padding:0 10px!important;background:transparent!important;border:0!important;border-radius:0!important;color:#e7e0d2!important;font-size:.88rem!important;box-shadow:none!important}
.ace-side-account-button:hover,.ace-side-account-button:focus{background:linear-gradient(90deg,#3b3d23,#202318)!important;color:#fff0c5!important}
.ace-side-account-button.dropdown-toggle::after{margin-left:0!important}
.ace-theme-public{margin-top:10px!important}
.ace-theme-selector-wrap{height:39px!important;display:grid!important;grid-template-columns:22px 1fr!important;align-items:center!important;gap:0!important;padding:0 10px!important;background:transparent!important;border-bottom:1px solid #21231e!important}
.ace-theme-select{min-height:31px!important;height:31px!important;padding:3px 28px 3px 8px!important;background:#0b0e0c!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:.88rem!important}
.ace-theme-selector-icon{font-size:.9rem!important;text-align:left!important}

/* v4.4.6 gallery + support ticket */
.ace-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;padding:28px max(32px,5vw) 60px}
.ace-gallery-card{background:rgba(10,13,10,.94);border:1px solid #66542d;box-shadow:0 8px 24px #0008;overflow:hidden}.ace-gallery-card img{width:100%;height:230px;object-fit:cover;display:block}.ace-gallery-card>div{padding:14px 16px}.ace-gallery-card h2{font-size:1.15rem;margin:0 0 6px}.ace-gallery-card p{margin:0;color:#d2c8b5}
.ace-support-grid{display:grid;gap:20px;padding:0 max(32px,5vw) 60px}.ace-ticket-panel{align-items:flex-start!important}.ace-ticket-panel>div{width:100%}.ace-ticket-form label{display:block;color:#d9bd7b;margin-bottom:5px;font-weight:600}.ace-ticket-form .form-control,.ace-ticket-form .form-select{background:#090c0a;color:#eee5d3;border:1px solid #665a3b}.ace-ticket-form .form-control:focus,.ace-ticket-form .form-select:focus{background:#090c0a;color:#fff;border-color:#c4a35e;box-shadow:0 0 0 .15rem rgba(196,163,94,.14)}
.ace-admin-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ace-admin-gallery-grid .card{min-height:150px}


/* v4.4.8 editor text formatting + typography */
.ace-public-body,.ace-public-body button,.ace-public-body input,.ace-public-body select,.ace-public-body textarea{font-family:var(--ace-body-font,Arial,Helvetica,sans-serif);font-size:var(--ace-body-size,16px)}
.ace-public-body h1,.ace-public-body h2,.ace-public-body h3,.ace-public-body h4,.ace-public-body .hoi4-kicker,.ace-public-body .ace-side-brand strong,.ace-public-body .ace-banner-brand strong,.ace-public-body .ace-banner-companion strong{font-family:var(--ace-heading-font,Georgia,"Times New Roman",serif)}
.ace-public-body h1{font-size:calc(3.75rem * var(--ace-heading-scale,1))}.ace-public-body h2{font-size:calc(1.35rem * var(--ace-heading-scale,1))}.ace-public-body h3{font-size:calc(1.1rem * var(--ace-heading-scale,1))}
.ace-preserve-editor-lines{white-space:pre-line!important}
.ace-site-preview p[id],.ace-site-preview li[id],.ace-site-preview .ace-preview-empty{white-space:pre-line}
.ace-multiline-editor{white-space:pre-wrap;line-height:1.55;min-height:84px}
.ace-editor-note{margin:0 0 14px;padding:9px 11px;border-left:3px solid #d3a853;background:#0b0e0c;color:#d7cebc;font-size:.82rem}
.ace-typography-control{margin-bottom:10px}

/* v4.4.9 - Word-style rich text editing */
.ace-rich-content{white-space:pre-line;line-height:1.55}
.ace-rich-content p,.ace-rich-content div{margin:0 0 .7em}
.ace-rich-content p:last-child,.ace-rich-content div:last-child{margin-bottom:0}
.ace-rich-content ul,.ace-rich-content ol{margin:.6em 0 .8em 1.6em;padding:0}
.ace-rich-content blockquote{margin:.7em 0;padding:.55em .85em;border-left:3px solid var(--ace-accent,#d3a853);background:rgba(0,0,0,.25)}
.ace-rich-content a{color:var(--ace-accent,#d3a853);text-decoration:underline}

.ace-rich-editor{margin-bottom:14px;border:1px solid #4b4d42;background:#090c09;box-shadow:inset 0 0 0 1px rgba(211,168,83,.05)}
.ace-rich-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:7px;background:#13170f;border-bottom:1px solid #444738;position:sticky;top:0;z-index:2}
.ace-rich-toolbar button,.ace-rich-select,.ace-rich-color{height:30px;border:1px solid #565a49;background:#0b0e0b;color:#efe8dc;font:600 12px Arial,sans-serif;border-radius:2px}
.ace-rich-toolbar button{min-width:30px;padding:0 7px;cursor:pointer}
.ace-rich-toolbar button:hover,.ace-rich-toolbar button:focus,.ace-rich-select:focus{border-color:#d3a853;color:#f2c968;outline:none;background:#171b13}
.ace-rich-select{padding:0 6px;max-width:145px}
.ace-rich-font{min-width:115px}.ace-rich-size{width:64px}.ace-rich-block{min-width:92px}
.ace-rich-sep{width:1px;height:22px;background:#3e4136;margin:0 2px}
.ace-rich-color{display:inline-flex;align-items:center;gap:4px;padding:0 5px;cursor:pointer}
.ace-rich-color input{width:20px;height:20px;padding:0;border:0;background:transparent;cursor:pointer}
.ace-rich-color span{font-weight:800;border-bottom:3px solid currentColor;line-height:16px}
.ace-rich-highlight span{border:0}
.ace-rich-surface{min-height:92px;padding:11px 12px;color:#f1eee6;background:#080b09;line-height:1.5;overflow:auto;outline:none;white-space:normal}
.ace-rich-surface:focus{box-shadow:inset 0 0 0 1px #d3a853}
.ace-rich-surface p,.ace-rich-surface div{margin:0 0 .55em}.ace-rich-surface p:last-child,.ace-rich-surface div:last-child{margin-bottom:0}
.ace-rich-surface ul,.ace-rich-surface ol{margin:.5em 0 .7em 1.5em}
.ace-rich-surface blockquote{margin:.5em 0;padding:.45em .75em;border-left:3px solid #d3a853;background:#11150f}
.ace-rich-source[hidden]{display:none!important}
@media(max-width:700px){.ace-rich-toolbar{position:static}.ace-rich-select{max-width:110px}.ace-rich-font{min-width:95px}}
