.pcsp{--a:var(--ast-global-color-0,#2f6b4f);--b:#e3e8ef;border:1px solid var(--b);border-radius:12px;padding:20px;margin:24px 0;background:#fff;font:15px/1.5 system-ui,sans-serif}
.pcsp-drop{display:block;border:2px dashed var(--b);border-radius:10px;padding:22px;text-align:center;cursor:pointer}
.pcsp-drop:hover,.pcsp-drop.is-over{border-color:var(--a);background:#f5faf7}
.pcsp-drop span{display:block;color:#667;font-size:13px}
.pcsp-tabs{display:flex;gap:6px;margin:18px 0 0;border-bottom:1px solid var(--b)}
.pcsp-tabs button{background:none;border:0;padding:9px 14px;font:600 14px system-ui;color:#667;cursor:pointer;border-bottom:2px solid transparent}
.pcsp-tabs button.is-on{color:var(--a);border-bottom-color:var(--a)}
.pcsp-pane{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;padding:16px 0}
.pcsp-pane label{display:flex;flex-direction:column;gap:5px;font:600 13px system-ui}
.pcsp-pane select,.pcsp-pane input[type=range]{width:100%}
.pcsp-pane select{padding:7px;border:1px solid var(--b);border-radius:6px}
.pcsp-checks{border:1px solid var(--b);border-radius:8px;padding:8px 12px;margin:0}
.pcsp-checks legend{font:600 12px system-ui;color:#667;padding:0 4px}
.pcsp-checks label{flex-direction:row;align-items:center;gap:7px;font-weight:400}
.pcsp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--b);padding-top:16px}
.pcsp-inline{display:flex;align-items:center;gap:8px;font:600 13px system-ui;margin-left:auto}
.pcsp-inline input{width:110px}
.pcsp-btn{background:var(--a);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:600 15px system-ui;cursor:pointer}
.pcsp-btn:disabled{opacity:.45;cursor:not-allowed}
.pcsp-btn-ghost{background:#fff;color:var(--a);border:1px solid var(--a)}
.pcsp-output{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-top:20px}
.pcsp-output h4{margin:0 0 8px;font-size:14px}
.pcsp canvas{width:100%;height:auto;border:1px solid var(--b);border-radius:8px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px}
@media(max-width:700px){.pcsp-output{grid-template-columns:1fr}.pcsp-inline{margin-left:0}}
