/* Campaign catalog and tactical reflection. Existing battlefield scale stays fixed. */
.seed-field{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:.7rem 0;font-size:1rem;color:var(--bone)}
.seed-field small{color:var(--dim)}.seed-field input{width:10rem;padding:.45rem;background:#171a1d;color:var(--bone);border:1px solid #747a80;border-radius:.2rem;font:inherit}
.title .tbtns{flex-wrap:wrap}.title .tcard{max-height:95vh;overflow:auto}
.location-browser{position:absolute;left:1rem;top:1rem;bottom:5rem;width:min(38rem,58%);display:flex;flex-direction:column;background:rgba(17,21,23,.94);border:1px solid #646a6e;border-radius:.4rem;padding:.7rem;z-index:2}
.location-browser>label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;font-size:1.1rem;font-weight:600}
.location-browser select{background:#25292c;color:var(--bone);font:inherit;border:1px solid #737b81;padding:.4rem;max-width:100%}
.location-list{overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-content:start;min-height:0;scrollbar-width:thin}
.location-card{font:inherit;color:var(--bone);background:#22272a;border:1px solid #62696d;border-radius:.25rem;text-align:left;padding:.65rem;cursor:pointer;min-height:4.8rem;overflow-wrap:anywhere}
.location-card b{font-size:1.08rem;display:block}.location-card span{display:block;color:#d0ccbf;font-size:.9rem;margin-top:.35rem}.location-card.on{border-color:var(--amber);background:#332b19}
.location-dot{position:absolute;transform:translate(-50%,-50%);width:1.8rem;height:1.8rem;padding:0;border:2px solid #343c3e;border-radius:50%;background:#d8dfca;color:#121817;cursor:pointer;font-size:1.2rem;z-index:1}.location-dot.sel{outline:3px solid var(--amber);background:var(--amber)}
.location-record{padding:.6rem;border:1px solid #50575c;margin:.5rem 0;color:#e3dfd2}.location-record p{margin:.35rem 0;line-height:1.4}.location-record small{color:#bdb9ac}.campaign-code,.map-tactic{line-height:1.4}.campaign-code{color:var(--amber);font-size:1rem}
.readiness{font-size:1rem;line-height:1.4}.readiness h3{margin:.6rem 0}.readiness ul,.after-action ul{padding-left:1.25rem}.readiness li,.after-action li{margin:.45rem 0}.readiness-table{overflow:auto}.readiness table{width:100%;border-collapse:collapse;font-size:.9rem}.readiness th,.readiness td{padding:.35rem;text-align:left;border-bottom:1px solid #4b5257}.readiness caption{text-align:left;color:#c7c3b7;padding:.3rem 0}.readiness-details{margin:.7rem 0;border:1px solid #62686c;padding:.5rem}.readiness-details summary{cursor:pointer;color:var(--amber)}
.after-action{padding:.5rem 0;border-top:1px solid #52595d;margin-top:.7rem;line-height:1.4}.after-action h3{margin:.3rem 0}.dbf .panel.big{max-height:94vh;overflow-y:auto}.buy>[data-act="packselected"]{grid-column:1/3;font-size:.9rem;padding:.35rem}.detail{height:auto;min-height:14rem}
.mob .location-browser{left:.4rem;top:.4rem;bottom:3rem;width:62%;padding:.4rem}.mob .location-browser>label{font-size:.85rem;margin-bottom:.3rem}.mob .location-browser select{font-size:.85rem;padding:.3rem}.mob .location-list{grid-template-columns:1fr}.mob .location-card{min-height:3.2rem;padding:.4rem}.mob .location-card b{font-size:.9rem}.mob .location-card span{font-size:.75rem;margin-top:.15rem}.mob .location-record{font-size:.8rem}.mob .map-tactic{font-size:.85rem}.mob .detail{min-height:9rem}.mob .readiness{font-size:.8rem}.mob .readiness-table table{font-size:.75rem}.mob .seed-field{margin:.3rem 0;font-size:.85rem}
.radio-history{padding-left:1.5rem;max-height:55vh;overflow:auto}.radio-history li{padding:.45rem 0;border-bottom:1px solid #4b5257;line-height:1.4}.radio-history time{color:var(--amber);font-variant-numeric:tabular-nums}
.draft-tools{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0}.draft-tools .btn{font-size:.9rem;padding:.4rem .6rem}
.commendation-choice{padding:.6rem;border:1px solid #596169;margin:.5rem 0;font-size:.9rem}.commendation-choice label{display:flex;flex-direction:column;gap:.4rem}.commendation-choice select,#saved-plan,#plan-name{font:inherit;color:var(--bone);background:#20262b;border:1px solid #747d85;padding:.5rem;max-width:100%}.commendation-choice p{line-height:1.4;margin:.5rem 0}.commendation-result{margin:.5rem 0;padding:.6rem;border:1px solid var(--amber)}
#map-tools{position:absolute;left:.6rem;bottom:calc(var(--bot) + .4rem);display:flex;gap:.35rem;align-items:center;z-index:4;background:rgba(17,21,24,.94);padding:.3rem;border:1px solid #626d75;max-width:75vw;flex-wrap:wrap}#map-tools .btn{font-size:.8rem;padding:.3rem .5rem}#map-tools span{font-size:.75rem;color:#d7d4c8}
#commendation-status{position:absolute;left:.7rem;top:calc(var(--top) + .2rem);background:#1a252a;color:var(--amber);padding:.35rem .6rem;z-index:3;font-size:.85rem;max-width:38vw;pointer-events:none}
.mob #map-tools{max-width:65vw}.mob #map-tools span{display:none}.mob #map-tools .btn{font-size:.75rem}.mob .commendation-choice{font-size:.8rem}.mob .draft-tools .btn{font-size:.8rem}.mob #commendation-status{font-size:.7rem;max-width:45vw}

#selected-info #commendation-status{position:static;max-width:none;margin-top:.4rem;padding:.3rem;font-size:inherit}
#map-tools{left:auto;right:.6rem;max-width:48vw;bottom:calc(var(--bot) + .4rem)}
#selected-info #cursor-status{font-size:.8rem;line-height:1.4;margin-top:.4rem;border-top:1px solid #596169;padding-top:.35rem}
#plan-requirements{padding:.6rem;border:1px solid #66737c;line-height:1.5}
.mob #map-tools{right:.3rem;max-width:47vw}.mob #selected-info #cursor-status{font-size:.72rem}
.field-assembly{padding:.7rem;line-height:1.45}.field-assembly h2{font-size:1.2rem;margin:.4rem 0}.field-assembly p{margin:.6rem 0}.field-options{display:grid;gap:.6rem;border:1px solid #647078;padding:.65rem}.field-options label{display:flex;gap:.5rem;align-items:flex-start}.field-options input{margin-top:.25rem;flex:none}.field-targets{display:flex;gap:.4rem;flex-wrap:wrap;margin:.7rem 0}.field-assembly .btn{margin:.3rem .3rem .3rem 0}
.defense-thumb{object-fit:contain;flex:none;filter:drop-shadow(0 2px 2px #0008)}
.civilian-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.8rem 0}.civilian-person{padding:.65rem;border:1px solid #5b6b72;line-height:1.5}.civilian-person>b,.civilian-person>span{display:block}.civilian-person .btn{font-size:.85rem;margin:.25rem .2rem .1rem 0}.civilian-result{border-top:1px solid #68777b;margin-top:.8rem;padding-top:.5rem}#civilian-status{font-size:.8rem;margin:.3rem 0;color:#a9ded0}#pal{overflow-x:auto;min-width:0;max-width:100%}#pal>.pal{flex:none}#palpop{max-width:76vw;overflow-x:auto}.mob .civilian-list{grid-template-columns:1fr}

.recipe-art{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.rt{flex:none;overflow:hidden}#input-unit-art{display:block;max-height:10rem;max-width:14rem;object-fit:contain;margin:.4rem auto}#input-unit-art[hidden]{display:none}

/* Wrapped campaign controls stay in normal flow, including enlarged text. */
#screen.ops,#screen.vets,#screen.qm{display:flex!important;flex-direction:column}
#screen>.top.solid{position:relative;inset:auto;flex:none;height:auto;min-height:var(--top);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem .8rem;padding:.5rem .8rem;align-items:center}
#screen>.top.solid>.tl{grid-column:1;grid-row:1;min-width:0;width:auto;white-space:normal}
#screen>.top.solid>.tr{grid-column:2;grid-row:1;margin:0;min-width:0;max-width:100%;display:flex;flex-wrap:wrap;justify-content:flex-end;overflow:visible;gap:.5rem}
#screen>.top.solid>.tabs{position:static;left:auto;transform:none;grid-column:1/-1;grid-row:2;min-width:0;display:flex;flex-wrap:wrap;gap:.3rem .8rem;justify-content:center}
#screen>.top.solid>.tabs a,#screen>.top.solid .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
#screen>.top.solid+.opsbody,#screen>.top.solid+.vbody,#screen>.top.solid+.qbody{position:relative;inset:auto;height:auto;min-height:0;flex:1}
.session-duration{line-height:1.5;color:#d0ccbf}.recovery-sources{display:grid;gap:.6rem;margin:.8rem 0}.recovery-sources .btn{white-space:normal;text-align:left;line-height:1.4;min-height:44px}
