/* CIVARION War Theater v0.4 */
.maparea{position:relative;overflow:hidden;isolation:isolate}
.map-fx{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none!important;z-index:2}
.maparea #map{z-index:1;position:relative}
.mapcorner{z-index:3}
.map-buttons{display:flex;gap:6px;align-items:center}
.mapcontrol{border:1px solid #4e6c77;background:#1b3543;color:#dbe9e8;padding:9px 12px;border-radius:7px;letter-spacing:.7px;font-size:10px;font-weight:800}
.mapcontrol:hover{border-color:#d9b87b;color:#ffe0a6}
.map-intro{padding:11px 17px;font-size:11px;color:#94b6c0;border-top:1px solid #304a58;background:#102836}
.operations-hero{background:linear-gradient(120deg,#1e4647,#142e45 55%,#102334);border:1px solid #47757b;padding:28px;border-radius:15px;position:relative;overflow:hidden;margin-bottom:13px}
.operations-hero:after{content:"◎";position:absolute;right:25px;top:-83px;font-size:290px;color:#ffffff0a;pointer-events:none}
.operations-hero .eyebrow{color:#e7c68d}
.operations-hero h2{font-size:clamp(23px,3vw,35px);letter-spacing:-.8px;margin:14px 0 8px}
.operations-hero p{color:#bad2d7;line-height:1.75;max-width:650px;font-size:12px}
.ops-hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.ops-hero-meta span{font-size:9px;font-weight:850;letter-spacing:1px;border:1px solid #578286;border-radius:5px;color:#b6d6d4;padding:8px 10px;background:#17383e}
.op-layout{display:grid;grid-template-columns:minmax(230px,.74fr) minmax(350px,1.35fr);gap:13px;align-items:start}
.op-layout>.card{margin:0}
.op-layout .card h2{font-size:18px}
.op-layout .card p{line-height:1.6}
.target-list{max-height:475px;overflow:auto;display:flex;flex-direction:column;gap:7px;padding-right:3px}
.target-row{display:flex;gap:10px;align-items:center;background:#152c3a;color:#d5e7e9;border:1px solid #375263;border-radius:9px;padding:11px;text-align:left}
.target-row:hover,.target-row.active{background:#274451;border-color:#d0a56b}
.target-row>span:nth-child(2){flex:1;min-width:0}
.target-row b{font-size:11px;letter-spacing:.6px}
.target-row small{display:block;font-size:10px;color:#92b5c2;margin-top:3px}
.target-row strong{font-size:10px;white-space:nowrap;color:#d9bc89}
.target-dot{width:8px;height:8px;border-radius:50%;background:#e0a09b}
.empty-target{padding:28px 14px;text-align:center;border:1px dashed #456574;border-radius:12px;color:#b1cbd2;background:#152b3a}
.empty-target>div{font-size:44px;color:#e2c58a}
.empty-target h3{font-size:15px;margin:9px 0}
.operational-scene{height:255px;background:radial-gradient(ellipse at center,#254a56,#0b2537 75%);border:1px solid #4a6b73;border-radius:13px;position:relative;overflow:hidden;margin:18px 0}
.scene-grid,.training-map:before{position:absolute;inset:0;background-image:linear-gradient(#65acac20 1px,transparent 1px),linear-gradient(90deg,#65acac20 1px,transparent 1px);background-size:34px 34px;transform:perspective(420px) rotateX(19deg) scale(1.22)}
.scene-base,.scene-target{position:absolute;top:27%;width:110px;text-align:center}
.scene-base{left:9%}.scene-target{right:9%}
.scene-icon{font-size:70px;color:#e9d096;text-shadow:0 18px 28px #04111c}
.scene-target .scene-icon{color:#d68786}
.scene-base small,.scene-target small{display:block;font-size:9px;color:#d0e4e9;letter-spacing:.8px;font-weight:800}
.scene-flight,.training-route{height:2px;border-top:2px dashed #b9ddcb80;position:absolute;top:47%;left:32%;right:30%}
.scene-flight:after{content:"✈";position:absolute;right:25%;top:-23px;color:#ead49d;font-size:26px;animation:scenePatrol 4s ease-in-out infinite alternate}
@keyframes scenePatrol{from{transform:translateX(-45px)}to{transform:translateX(35px)}}
.scene-reticle{position:absolute;width:105px;height:105px;border:1px dashed #f0aa8c99;border-radius:50%;right:10%;top:23%;animation:spinRadar 15s linear infinite}
@keyframes spinRadar{to{transform:rotate(360deg)}}
.scene-hud{position:absolute;bottom:12px;left:15px;right:15px;display:flex;justify-content:space-between;font-size:9px;color:#a3c6cb;letter-spacing:1px}
.op-mini{margin-top:15px;margin-bottom:9px}
.plan-doctrines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.plan-doctrine{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;color:#d3e4e9;background:#1b3542;border:1px solid #416170;border-radius:8px;padding:11px 9px}
.plan-doctrine:hover,.plan-doctrine.active{border-color:#d7ae76;background:#354941;color:#ffe7b2}
.plan-doctrine b{font-size:11px}
.plan-doctrine small{font-size:8px;opacity:.65}
.plan-portion{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.plan-portion button{border:1px solid #446775;background:#173745;color:#ccdfeb;border-radius:7px;padding:11px 2px;font-size:12px}
.plan-portion button.active{border-color:#d9b078;background:#5d4a34;color:#ffe3ac}
.op-note{color:#acc5cd;font-size:11px;line-height:1.6}
.op-actions{display:flex;gap:9px;flex-wrap:wrap}
.op-actions button{flex:1;min-width:130px;text-align:center}
.mission-result{margin-top:13px;border:1px solid #395767;background:#132c3b;border-radius:10px;padding:14px;color:#a7c4cc;font-size:11px;line-height:1.7}
.plan-head{display:flex;justify-content:space-between;align-items:center;gap:9px;color:#87dcc4}
.plan-head small{color:#aac1c8}
.plan-warning b{color:#e7ac97}
.plan-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}
.plan-figures>div{background:#1c3946;padding:9px;border:1px solid #42646d;border-radius:7px}
.plan-figures span{font-size:8px;letter-spacing:1px;color:#a3bdc5}
.plan-figures strong{font-size:16px;display:block;color:#fbebc9;margin-top:5px}
.simulator-card{margin-top:13px}
.academy-stamp{color:#f1c88f;border:1px solid #9e8157;font-size:10px;font-weight:850;letter-spacing:1px;padding:8px;border-radius:5px}
.training-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:15px}
.training-map{height:235px;border:1px solid #3d6070;border-radius:12px;background:radial-gradient(ellipse at center,#285962,#102a3d 70%);position:relative;overflow:hidden}
.training-base,.training-target{position:absolute;top:31%;text-align:center;z-index:1}
.training-base{left:8%}.training-target{right:8%}
.training-base span,.training-target span{display:block;font-size:66px;color:#edcc8d;text-shadow:0 15px 22px #0008}
.training-target span{color:#dd9a86}
.training-base b,.training-target b{display:block;font-size:9px;color:#d7e7eb;letter-spacing:.6px}
.training-piece{position:absolute;z-index:4;top:36%;left:24%;font-size:37px;color:#ffdfa0;filter:drop-shadow(0 6px 13px #000);opacity:0}
.training-map.playing .training-piece{opacity:1;animation:deployUnit 5s ease-in-out 1 both}
@keyframes deployUnit{0%{left:24%;top:36%;transform:scale(.8)}40%{left:53%;top:26%;transform:scale(1.1)}85%{left:78%;top:35%;transform:scale(1.1)}100%{left:78%;top:35%;opacity:0;transform:scale(.5)}}
.training-burst{position:absolute;border:2px solid #ffdc96;border-radius:50%;right:13%;top:30%;height:90px;width:90px;opacity:0}
.training-map.playing .training-burst{animation:impact 5s ease-out 1}
@keyframes impact{0%,78%{opacity:0;transform:scale(.25)}89%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.8)}}
.training-label{position:absolute;left:11px;bottom:12px;font-size:9px;letter-spacing:1px;color:#bad5d8}
.training-brief{border:1px solid #3d5764;border-radius:12px;background:#1a3342;padding:18px}
.training-brief h3{font-size:17px;margin:9px 0}
.training-brief p{font-size:11px;min-height:40px}
.training-brief button{width:100%;margin:10px 0}
.training-message{padding:11px;background:#102b38;border-radius:8px;font-size:11px;color:#a1ccd2;line-height:1.6}
@media(max-width:1250px){.op-layout{grid-template-columns:1fr}.target-list{max-height:230px}.training-grid{grid-template-columns:1fr}.operations-hero{padding:19px}}
@media(max-width:700px){.plan-doctrines{grid-template-columns:1fr}.operations-hero h2{font-size:24px}.operational-scene{height:200px}.scene-base .scene-icon,.scene-target .scene-icon{font-size:45px}.scene-base,.scene-target{width:80px}.scene-flight{left:30%;right:30%}.training-base span,.training-target span{font-size:45px}.training-base b,.training-target b{font-size:8px}.academy-stamp{display:none}}
