/* Parametric Object Builder (built on the simulations lab shell) */
.po-hero{background:radial-gradient(circle at 85% 20%,#ff9a3d33,transparent 40%),radial-gradient(circle at 60% 120%,#21c5d626,transparent 45%),radial-gradient(circle at 0 0,#7c5cff2a,transparent 45%),#0a0c1b}
.fp-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fp-badges span{font-size:11px;color:#d0c6e2;background:#ffffff08;padding:4px 11px;border:1px solid #4c425c;border-radius:20px}
.po-page .po-app{grid-template-columns:minmax(0,1fr) 350px}
.po-toolbar{flex-wrap:wrap;gap:10px;align-items:center}
.po-arena{position:relative;padding:0!important;display:block!important;min-height:0;border-radius:12px;overflow:hidden;background:linear-gradient(#1b2140,#0c0f22)}
#poCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.po-busy{position:absolute;right:12px;top:12px;padding:5px 10px;border-radius:10px;background:#0b0e20e6;color:#dfe4ff;font-size:12px}
.fp-hint{position:absolute;left:10px;bottom:10px;max-width:70%;padding:6px 10px;border-radius:10px;background:#0b0e20e6;color:#dfe4ff;font-size:12px;pointer-events:none}.fp-hint:empty{display:none}
.po-status{gap:14px;flex-wrap:wrap}.fp-grow{flex:1}.fp-total{font:700 12px ui-monospace,Consolas,monospace;color:#9ec0ff}.fp-saved{font-size:11px;color:#8b93b8}
.po-models{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.po-page .po-models button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:86px;padding:10px;text-align:left;background:#0f1330;border:1px solid #2a3060;border-radius:12px}
.po-page .po-models button[aria-pressed=true]{border-color:#8fb1ff;background:#16205a}
.po-models b{font-size:13px;color:#fff}.po-models small{font-size:11px;color:#9aa3c2;line-height:1.35}.po-models i{font-style:normal;font-size:20px}
.po-params{display:flex;flex-direction:column;gap:10px}
.po-param{display:grid;grid-template-columns:1fr 84px;gap:4px 8px;align-items:center;font-size:12px;color:#c8cbe6}
.po-param label{grid-column:1/-1;display:flex;justify-content:space-between;gap:6px}
.po-param label small{color:#8b93b8}
.po-page .po-param input[type=number]{min-height:30px;padding:3px 6px;font-size:13px;text-align:right}
.po-param input[type=range]{width:100%}
.po-param p{grid-column:1/-1;margin:0;font-size:11px;color:#8b93b8}
.po-page .po-bool{display:flex;align-items:center;gap:8px;font-size:13px;color:#dfe4ff}
.po-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fp-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#c8cbe6;margin-bottom:10px}
.vd-btns{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.po-page .vd-btns button{min-height:30px;padding:3px 9px;font-size:12px}
.fp-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:5px}
.fp-list li{padding:7px 10px;border-radius:10px;font-size:12px;line-height:1.45;border:1px solid #5a2a33;background:#2a1018;color:#ffc6cf}
.fp-list li.ok{border-color:#2a5a3a;background:#10261a;color:#bff5cf}.fp-list li.warn{border-color:#5a4a2a;background:#2a2210;color:#ffe2a6}
@media(max-width:1000px){.po-page .po-app{grid-template-columns:1fr}.po-arena{aspect-ratio:4/3;flex:none!important}}
@media(max-width:640px){.po-toolbar .ns-icon span{display:none}}
.po-param label.po-bool{justify-content:flex-start}
