/* Photo Setup / Shot Picker (additive add-on for Plan Mission). Drone Force dark HUD palette. */
#psBg{position:fixed;inset:0;z-index:3000;background:#07090c;color:#f5f7fa;font-family:"Segoe UI",Inter,Arial,sans-serif;display:flex;flex-direction:column}
#psBg.hidden{display:none}
#psBg *{box-sizing:border-box}
.psHdr{height:56px;flex:none;border-bottom:1px solid #27303a;display:flex;align-items:center;padding:0 22px;gap:14px;background:linear-gradient(180deg,#0d1310,#07090c)}
.psHdr h2{font-size:20px;font-weight:600;margin:0;color:#f5f7fa}.psCrumb{color:#8a96a5;font-size:14px}
.psHdr .psSp{margin-left:auto;display:flex;gap:10px;align-items:center}
.psChip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;border:1px solid #289E32;background:#0b1f0e;color:#7dff8a;font-size:13px;box-shadow:0 0 12px #37D74433;white-space:nowrap}
.psDot{display:inline-block;width:9px;height:9px;border-radius:5px;background:#37D744;box-shadow:0 0 8px #37D744;flex:none}
.psDot.amb{background:#e4bc49;box-shadow:0 0 8px #e4bc49}
#psBg button{font-family:inherit;cursor:pointer}
.psGhost{background:transparent;border:1px solid #2f4a34;color:#d7e6da;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}
.psGhost:hover{border-color:#37D744;color:#7dff8a}
.psBody{flex:1;min-height:0;padding:18px 24px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.psLbl{font-size:11px;letter-spacing:3px;color:#5fbf6a;text-transform:uppercase;font-family:"Cascadia Mono",Consolas,monospace}
.psTitle{font-size:24px;font-weight:600}.psMut{color:#8a96a5}
.psHud{position:relative;background:linear-gradient(180deg,#0c1210,#080b0d);border:1px solid #1d3a22;border-radius:10px;box-shadow:0 0 0 1px #0d1a10 inset,0 0 30px #37D74410}
.psHud:before,.psHud:after{content:'';position:absolute;width:20px;height:20px;border:2px solid #37D744;pointer-events:none;filter:drop-shadow(0 0 4px #37D744);z-index:2}
.psHud:before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.psHud:after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.psLine{height:190px;flex:none;overflow:hidden}
.psLine svg{width:100%;height:100%}
.psRow{display:flex;align-items:center;gap:16px;padding:14px 18px;cursor:pointer}
.psRow:hover{border-color:#37D744}
.psRow .nm{font-size:18px;font-weight:600}.psRow .pl{color:#8a96a5;font-size:13px}
.psRow .st{margin-left:auto;font-size:15px;color:#4be35a;text-align:right}.psRow .st.amb{color:#e4bc49}
.psRow .go{color:#c9d1da;font-size:13px;border:1px solid #2f4a34;border-radius:8px;padding:6px 12px;white-space:nowrap}
.psRow .go.amb{color:#e4bc49;border-color:#6b5a22}
.psFoot{display:flex;align-items:center;gap:18px;margin-top:4px}
.psPrimary{background:linear-gradient(180deg,#46e553,#2bb838)!important;color:#03140a!important;border:0!important;border-radius:8px;font-size:20px!important;font-weight:700!important;height:56px;padding:0 60px;box-shadow:0 0 24px #37D74466,inset 0 1px 0 #ffffff55}
.psPrimary:disabled{filter:grayscale(1) brightness(.6);cursor:default}
/* shot picker */
.psPick{flex:1;min-height:0;display:flex;gap:18px;padding:16px 20px}
.psStage{flex:1;min-width:0;position:relative;overflow:hidden}
.psStage canvas.main{position:absolute;inset:0;width:100%;height:100%;cursor:grab;display:block}
.psStage canvas.main:active{cursor:grabbing}
.psTags{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.psTag{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;pointer-events:auto;cursor:pointer;white-space:nowrap}
.psTag .n{min-width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:#37D744;color:#03140a;box-shadow:0 0 10px #37D744aa}
.psTag .t{font-size:12px;padding:3px 8px;border:1px solid #37D744;border-radius:5px;background:#07130bcc;color:#e8ffe9}
.psTag.off .n{background:#1b2228;color:#8a96a5;box-shadow:none;border:1px solid #56636b}.psTag.off .t{border-color:#3a464f;color:#8a96a5}
.psTag.hi .t{background:#123d18;box-shadow:0 0 12px #37D744}
.psStageLbl{position:absolute;left:18px;top:14px;z-index:3;max-width:calc(40% - 24px);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.psStageChip{position:absolute;right:18px;top:12px;z-index:3;max-width:calc(60% - 24px);flex-wrap:wrap;justify-content:flex-end}
.psCam{position:absolute;right:16px;bottom:16px;width:340px;border:1px solid #37D744;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 0 24px #37D74466;z-index:3}
.psCam .h{display:flex;justify-content:space-between;padding:6px 10px;font-size:12px;background:#0b1f0e;gap:8px}
.psCam canvas{display:block;width:340px;height:220px}
.psCam .f{padding:5px 10px;font-size:11px;color:#8a96a5;background:#050805}
.psHelp{position:absolute;left:18px;bottom:14px;font-size:12px;color:#5f6f66;z-index:3;max-width:calc(100% - 392px)}
.psSide{width:400px;flex:none;display:flex;flex-direction:column;min-height:0}
.psList{flex:1;overflow:auto;margin-top:8px;padding-right:4px}
.psItem{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:8px;margin-bottom:4px;border:1px solid transparent;cursor:pointer;font-size:15px}
.psItem:hover,.psItem.hi{border-color:#37D744;background:#0b1f0e}
.psItem .bx{width:24px;height:24px;flex:none;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:900;border:2px solid #3a464f;font-size:14px}
.psItem.on .bx{background:#37D744;border-color:#37D744;color:#03140a;box-shadow:0 0 10px #37D74488}
.psItem:not(.on) .lb{color:#7a868e}.psItem .lb{flex:1}.psItem .no{color:#8a96a5;font-family:Consolas,monospace;font-size:13px}
.psSum{border-top:1px solid #1d3a22;padding-top:10px;margin-top:8px}
.psSum .big{font-size:18px;margin-bottom:4px}.psSum .big b{color:#37D744}
.psSum .det{font-size:12px;color:#8a96a5;margin-bottom:10px}
.psToast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#0b1f0e;border:1px solid #37D744;color:#e8ffe9;padding:10px 18px;border-radius:8px;z-index:3100;display:none;font-size:14px}
.psList{position:relative}
.psItem{transition:transform .18s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s;position:relative}
.psItem .grip{width:16px;flex:none;color:#4f6a55;cursor:grab;font-size:16px;line-height:1;text-align:center;touch-action:none;user-select:none}
.psItem .grip:hover{color:#37D744;text-shadow:0 0 8px #37D744}
.psItem.dragging{z-index:5;transition:none;background:#0f2a14;border-color:#37D744;box-shadow:0 8px 24px #000a,0 0 18px #37D74466;cursor:grabbing}
.psItem.dragging .grip{cursor:grabbing;color:#37D744}
.psItem.moved{animation:psMoved .45s ease-out}
@keyframes psMoved{0%{box-shadow:0 0 0 1px #37D744,0 0 22px #37D744aa}100%{box-shadow:none}}
.psItem .mv{display:flex;flex-direction:column;gap:1px;flex:none}
.psItem .mv button{width:22px;height:14px;padding:0;border:1px solid #2f4a34;border-radius:3px;background:#0b1410;color:#8fbf96;font-size:8px;line-height:1}
.psItem .mv button:hover:not(:disabled){border-color:#37D744;color:#37D744}
.psItem .mv button:disabled{opacity:.25;cursor:default}
.psDrop{position:absolute;left:4px;right:4px;height:3px;border-radius:2px;background:#37D744;box-shadow:0 0 10px #37D744,0 0 20px #37D744aa;display:none;pointer-events:none;z-index:6}
.psStage canvas.main{touch-action:none}
.psItem .grip.press{color:#37D744;text-shadow:0 0 10px #37D744;transform:scale(1.25)}
/* touch (iPad): bigger targets */
@media (pointer:coarse){
 .psItem{padding:10px 10px;font-size:17px;gap:12px;margin-bottom:6px}
 .psItem .bx{width:32px;height:32px;font-size:18px}
 .psItem .grip{width:30px;font-size:24px;padding:6px 0}
 .psItem .mv{flex-direction:row;gap:6px}.psItem .mv button{width:40px;height:36px;font-size:13px;border-radius:6px}
 .psRow{padding:18px 20px}.psRow .go{padding:10px 16px;font-size:15px}
 .psGhost{padding:12px 18px;font-size:16px}
 .psTag .t{font-size:14px;padding:5px 10px}
 .psPrimary{height:64px}
}
/* narrow / portrait: checklist under the 3D view */
@media (max-width:980px){
 .psPick{flex-direction:column;padding:10px}.psSide{width:auto;flex:1;min-height:0}.psStage{flex:none;height:46%}
 .psCam{width:220px;right:10px;bottom:10px}.psCam canvas{width:220px;height:142px}.psHelp{display:none}
}

/* DEMO: manual shot editor */
.psEd{position:absolute;left:16px;top:44px;bottom:40px;width:310px;z-index:4;display:flex;flex-direction:column;background:linear-gradient(180deg,#0c1210f2,#080b0df2);border-color:#289E32}
.psEd.hidden{display:none}
.psStage.edOpen .psHelp{display:none}
.edHd{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px 6px;gap:8px}
.edT{font-size:17px;font-weight:600;margin-top:2px}
.psEd .edX{padding:4px 9px;font-size:12px}
.edSeg{display:flex;border:1px solid #2f4a34;border-radius:8px;overflow:hidden;margin:4px 14px 6px;flex:none}
.edSeg button{flex:1;background:transparent;border:0;color:#a9b6ad;padding:7px 0;font-size:13px;font-weight:600}
.edSeg button.on{background:#1A6420;color:#dfffe2;box-shadow:inset 0 0 10px #37D74455}
.edSeg.sm{margin:0;border-radius:6px}.edSeg.sm button{padding:2px 7px;font-size:11px;flex:none}
.edBody{flex:1;min-height:0;overflow:auto;padding:2px 14px 6px}
.edNote{font-size:12px;color:#8a96a5;background:#0b1410;border:1px dashed #2f4a34;border-radius:6px;padding:6px 8px;margin-bottom:6px}
.edRow{padding:5px 0;border-bottom:1px solid #13241a}
.edL{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#c9d1da}
.edV{display:inline-flex;align-items:center;gap:3px}.edV i{font-style:normal;color:#8a96a5;font-size:12px;width:14px}
.edV input{width:56px;background:#050805;border:1px solid #2f4a34;border-radius:5px;color:#dfffe2;font:12px Consolas,monospace;padding:3px 4px;text-align:right}
.psEd input[type=range]{width:100%;accent-color:#37D744;margin:5px 0 0;height:16px}
.psEd input:disabled{opacity:.45}
.edSides{display:flex;gap:4px;margin-top:5px}
.edSides button{flex:1;background:#0b1410;border:1px solid #2f4a34;color:#a9b6ad;border-radius:6px;padding:4px 0;font-size:12px}
.edSides button.on{border-color:#37D744;color:#7dff8a;background:#0b1f0e}.edSides button:disabled{opacity:.45;cursor:default}
.edOrd{display:flex;gap:4px}.psEd .edOrd .psGhost{padding:3px 8px;font-size:12px}.psEd .psGhost:disabled{opacity:.35;cursor:default}
.edWarn{margin:2px 0 6px;font-size:12px;color:#ffd77a;background:#1a1606;border:1px solid #6b5a22;border-radius:6px;padding:7px 9px;box-shadow:0 0 12px #e4bc4933}
.edWarn b{color:#ffe7a3}
.edInfo{font-size:11px;color:#8a96a5;margin-top:6px;font-family:Consolas,monospace}
.edFt{border-top:1px solid #1d3a22;padding:8px 14px 10px;display:flex;flex-direction:column;gap:6px;flex:none}
.edFt .psGhost{padding:6px 10px;font-size:13px}
.edAll{font-size:11.5px;color:#7dff8a}
.psManTag{margin-left:8px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#7dff8a;border:1px solid #289E32;border-radius:10px;padding:1px 6px;vertical-align:2px}
.edSeg.sm{flex:none;width:auto}.edSeg.sm button{white-space:nowrap}
@media (max-width:1100px){.psStage.edOpen .psStageChip{display:none!important}.psStage.edOpen .psCam{width:200px}.psStage.edOpen .psCam canvas{width:200px;height:130px}}
.psStage.edOpen .psStageLbl{display:block;white-space:nowrap;text-overflow:ellipsis}
.psMyBar{display:flex;gap:8px;margin-top:10px}.psMyBar .psGhost{flex:1;padding:7px 10px;font-size:13px;white-space:nowrap}
.psMyNote{margin-top:6px;min-height:0}.psMyNote:empty{display:none}.psMyChip{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:4px 10px}.psMyOff{border-color:#3a464f;color:#8a96a5;background:#11161a;box-shadow:none}
.psSide{position:relative}.psSetups{position:absolute;left:0;right:0;top:118px;z-index:6;max-height:calc(100% - 130px);overflow:auto;padding:14px;background:#0b100e;border:1px solid #289E32;border-radius:10px;box-shadow:0 10px 30px #000a}
.suH{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;margin-bottom:6px}.suX{padding:2px 9px;font-size:13px}.suT{font-size:13px;margin-bottom:10px}
.suIn{width:100%;box-sizing:border-box;background:#07090c;border:1px solid #2f4a34;color:#e8ffe9;border-radius:8px;padding:9px 10px;font-size:14px;margin:4px 0 10px}.suIn:focus{outline:none;border-color:#37D744}.suIn.bad{border-color:#e4bc49}
.suBtns{display:flex;gap:8px;justify-content:flex-end}.suBtns .psPrimary,.suBtns .psGhost,.suBtns .psDanger{padding:8px 14px;font-size:14px}
.psDanger{background:#3a0f0f;border:1px solid #c0392b;color:#ffd6d1;border-radius:8px;font-weight:600}
.suList{display:flex;flex-direction:column;gap:6px}.suRow{display:flex;gap:8px;align-items:center;border:1px solid #23302a;border-radius:8px;padding:8px}.suRow.on{border-color:#37D744}
.suN{flex:1;min-width:0;display:flex;flex-direction:column}.suN b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suN span{font-size:12px}
.suA{display:flex;gap:4px;flex:none}.suA .psGhost{padding:4px 8px;font-size:12px}.suAuto{margin-top:10px;width:100%;font-size:13px;padding:7px}
.psFromTag{color:#9fd8ff;border-color:#2f6e98}
.suBtns .psPrimary{height:auto!important;font-size:14px!important;padding:8px 16px}
.psManTag{white-space:nowrap;display:inline-block}
