:root{--bg:#101619;--panel:#1a2227;--line:#334048;--muted:#96a7b0;--cyan:#2dd3e7;--ink:#eef5f7}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:13px}button,input,select,.button{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:#252f36;color:var(--ink);border-radius:6px;padding:10px 12px;white-space:nowrap}button:hover,.button:hover{border-color:var(--cyan);background:#304049}button:disabled{opacity:.35;cursor:default}.primary{background:var(--cyan);color:#072328;border-color:var(--cyan);font-weight:bold}header{min-height:78px;display:flex;align-items:center;gap:10px;padding:14px 22px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-weight:bold;letter-spacing:1.5px;margin-right:30px;white-space:nowrap}.brand b{font-size:37px;color:var(--cyan)}small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.2px;margin-top:4px}.brand small{font-size:9px}input,select{background:#121a1f;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:9px;min-width:0}#title{font-size:16px;font-weight:bold;width:270px;border-color:transparent;background:transparent}#saveState{font-size:11px;color:var(--muted);margin-right:auto}nav{display:flex;align-items:center;gap:18px;padding:12px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}nav label{display:flex;align-items:center;gap:5px}input[type=checkbox]{accent-color:var(--cyan)}.tabs{display:flex;gap:4px}.tabs button{font-size:11px;letter-spacing:.5px}.active{color:var(--cyan);border-color:var(--cyan)}#sourceBtn{margin-left:auto;color:var(--cyan)}main{display:grid;grid-template-columns:245px minmax(400px,1fr) 245px;min-height:calc(100vh - 143px)}aside{background:var(--panel);padding:19px 15px}.catalog{border-right:1px solid var(--line);max-height:calc(100vh - 143px);overflow:auto}.sectiontitle{font-size:11px;font-weight:bold;letter-spacing:1.6px;display:flex;justify-content:space-between}.muted{color:var(--muted);font-size:11px;line-height:1.6}.notice{font-size:11px;line-height:1.5;background:#2b2a20;border:1px solid #635c34;color:#e3d6a1;padding:10px;border-radius:6px;margin:14px 0}#search{width:100%;margin-bottom:12px}#catalog{display:grid;grid-template-columns:1fr 1fr;gap:7px}.card{padding:8px 5px;white-space:normal;text-align:left;position:relative}.card svg{width:100%;height:64px;display:block}.card b{display:block;font-size:11px;line-height:1.3;margin:5px 3px}.card small{font-size:9px;margin:3px;letter-spacing:0}.card .stock{position:absolute;top:5px;right:6px;border-radius:10px;background:#111b21;padding:3px 5px;font-size:9px}.workspace{padding:20px;min-width:0}.fieldbar,.fieldfoot{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.6px;padding:0 2px 12px;gap:10px}.fieldbar i{display:inline-block;width:6px;height:6px;background:var(--cyan);border-radius:50%;margin-right:7px}#stage{border:1px solid #394d42;background:#192b19;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px #0005}#field{display:block;width:100%;max-height:calc(100vh - 320px);min-height:360px;touch-action:none;outline:0}#field .bunker{cursor:grab}#field .bunker:active{cursor:grabbing}.fieldfoot{font-size:10px;letter-spacing:0;padding-top:13px;line-height:1.5}.bottom{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.bottom button,.bottom label{font-size:11px}.inspector{border-left:1px solid var(--line)}.inspector label{font-size:11px;color:var(--muted);display:block;margin-top:14px}.inspector input,.inspector select{width:100%;display:block;margin-top:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}hr{border:0;border-top:1px solid var(--line);margin:23px 0}.inspector a{display:block;color:var(--cyan);font-size:11px;line-height:1.6;margin:12px 0}.legend{margin-top:30px;color:var(--muted);font-size:11px;line-height:1.7}.pill{border:1px solid #607b47;color:#c4dba8;padding:6px 10px;border-radius:15px}h2{font-size:22px;margin:8px 0 20px}.selectionname{font-size:21px;margin:20px 0 8px}.actions{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}.actions button{font-size:11px}.badge{display:inline-block;background:#35311f;color:#e9d58a;border:1px solid #655b34;padding:5px 7px;border-radius:4px;font-size:10px}.badge.ok{background:#133e36;color:#80e0bc;border-color:#276e5b}#alerts{font-size:11px;line-height:1.7;max-height:135px;overflow:auto;color:#ead6a4}#alerts .good{color:#8fc9a5}dialog{background:#1c272d;color:var(--ink);border:1px solid #4c626e;border-radius:12px;padding:26px;max-width:1050px;width:95vw;max-height:90vh}dialog::backdrop{background:#000a}.modalhead{display:flex;justify-content:space-between;gap:20px}.modalhead button{align-self:start}dialog p{font-size:13px;line-height:1.7;color:#bdcbd2}.references{display:flex;gap:15px;max-height:190px;overflow:hidden;margin:20px 0}.references img{object-fit:contain;max-width:55%;background:white}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:10px;border-bottom:1px solid #3b4d57}td input[type=number]{width:85px}#applyMeasures{margin-top:22px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#d9fbff;color:#10272e;padding:13px 20px;border-radius:6px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:10}#toast.visible{opacity:1}@media(max-width:1100px){main{grid-template-columns:190px minmax(330px,1fr)}.inspector{grid-column:1/-1;display:block}.inspector>label,.inspector>.two{max-width:400px}header{flex-wrap:wrap}.brand{margin-right:auto}#saveState{display:none}.catalog{max-height:800px}#field{min-height:380px;max-height:none}}@media(max-width:650px){main{display:flex;flex-direction:column}.catalog{max-height:250px;order:2}#catalog{grid-template-columns:repeat(4,1fr)}.workspace{padding:10px;order:1}.inspector{order:3}#field{min-height:300px}header{padding:10px}#title{width:100%;order:2}nav{gap:10px;padding:10px}.fieldfoot{flex-direction:column}.brand small{display:none}#sourceBtn{margin-left:0}}

#auditDialog th,#auditDialog td{padding:7px 10px}#auditDialog p{font-size:12px;margin:10px 0}

.kit-alert{display:flex;align-items:center;gap:14px;padding:12px 20px;background:#4a2818;color:#fff0d6;border-bottom:2px solid #f2a647;flex-wrap:wrap}.kit-alert[hidden]{display:none}.kit-alert strong{color:#ffd18b}.kit-alert span{flex:1;font-size:13px}.kit-alert button{border:1px solid #f2a647;white-space:nowrap}

[hidden]{display:none!important}.threeToolbar{display:flex;gap:5px;flex-wrap:wrap;padding:10px;background:#1c2a31;align-items:center}.threeToolbar button{padding:7px 9px;font-size:11px}.threeToolbar label{font-size:11px;display:flex;align-items:center;gap:4px}#view3d{height:560px;min-height:380px;position:relative;overflow:hidden;background:#18252c;touch-action:none}#view3d canvas{display:block;width:100%;height:100%}.label3d{position:absolute;pointer-events:none;color:white;background:#152c3ac9;border:1px solid #d8eaf18a;border-radius:50%;font-size:10px;width:19px;height:19px;display:grid;text-align:center;line-height:17px;transform:translate(-50%,-50%)}.threeHelp{display:flex;justify-content:space-between;gap:12px;padding:10px;color:#a9c4cf;font-size:11px}.threeNote{font-size:11px;color:#a4b6bf;margin:0;padding:8px 12px;background:#1a2429}@media(min-width:1500px){#view3d{height:650px}}

.focus3d main{grid-template-columns:minmax(0,1fr)}.focus3d main>aside{display:none}.focus3d #view3d{height:calc(100vh - 280px);min-height:480px}.focus3d .workspace{max-width:1600px;width:100%;margin:auto}.focus3d .bottom{padding-bottom:16px}

#view3d canvas{position:absolute;inset:0}.cameraPresetLabel{position:absolute;z-index:2;left:14px;top:14px;background:#15252bd9;color:#e7faff;padding:8px 12px;border-radius:6px;pointer-events:none}.heightControl{position:absolute;z-index:3;right:12px;top:14px;bottom:14px;width:84px;padding:12px 6px;display:flex;align-items:center;flex-direction:column;gap:8px;background:#142127d9;border:1px solid #557782;border-radius:9px;color:#d9f5ff}.heightControl label{font-size:10px;letter-spacing:1px}.heightControl output{font-size:13px;font-variant-numeric:tabular-nums;font-weight:bold}.heightControl input[type=range]{writing-mode:vertical-lr;direction:rtl;width:28px;min-height:100px;flex:1;padding:0;accent-color:#2dd3e7}.heightControl input[type=number]{width:70px;padding:5px;font-size:12px}.presetKeys{display:flex;gap:5px;align-items:center;padding:8px 10px;background:#142127;flex-wrap:wrap}.presetKeys button{min-width:32px;padding:6px 8px}.presetKeys span{color:#a6bdc8;font-size:11px;margin-left:8px}.motionHint{padding:8px 12px;color:#63e5e9;font-size:11px}

.ipba-home{display:flex;align-items:center;justify-content:center;width:64px;min-width:64px;padding:5px;border-radius:6px;background:#fff}.ipba-home img{display:block;width:100%;height:28px;object-fit:contain}
