.ops-tool .fx-app{max-width:940px;margin:0 auto;padding:24px 20px 60px}.ops-tool .fx-preview-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ops-tool .fx-preview-lbl{color:var(--tx2);letter-spacing:.3px;font-size:11px;font-weight:600}.ops-tool .fx-item-count{align-items:center;gap:8px;display:flex}.ops-tool .fx-item-count-lbl{color:var(--tx2);font-size:12px}.ops-tool .fx-count-btn{background:var(--bg2);border:1px solid var(--bdr);width:28px;height:28px;color:var(--tx);cursor:pointer;border-radius:6px;font-size:14px;font-weight:600;transition:all .15s}.ops-tool .fx-count-btn:hover:not(:disabled){border-color:var(--ac);color:var(--ac)}.ops-tool .fx-count-btn:disabled{opacity:.4;cursor:not-allowed}.ops-tool .fx-count-val{color:var(--ac);text-align:center;min-width:30px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600}.ops-tool .fx-preview{background:var(--bg3);border:1px solid var(--bdr);border-radius:12px;margin-bottom:20px;padding:20px}.ops-tool .fx-container{border:1px dashed var(--bdr);scrollbar-width:thin;scrollbar-color:var(--ac)transparent;background-color:#0000;background-image:linear-gradient(#5563f70a 1px,#0000 1px),linear-gradient(90deg,#5563f70a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;height:360px;padding:12px;transition:gap .15s;overflow:auto}.ops-tool .fx-container::-webkit-scrollbar{width:8px;height:8px}.ops-tool .fx-container::-webkit-scrollbar-thumb{background:var(--ac);border-radius:4px}.ops-tool .fx-container::-webkit-scrollbar-track{background:0 0}.ops-tool .fx-item{background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:50px;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 8px #5563f740}.ops-tool .fx-props{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:20px;display:grid}.ops-tool .fx-prop-group{background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;padding:12px 14px}.ops-tool .fx-prop-name{color:var(--ac);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.ops-tool .fx-prop-buttons{flex-wrap:wrap;gap:4px;display:flex}.ops-tool .fx-prop-btn{background:var(--bg2);border:1px solid var(--bdr);color:var(--tx3);cursor:pointer;border-radius:5px;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:11px;transition:all .12s}.ops-tool .fx-prop-btn:hover:not(.is-active){border-color:var(--bdr-hi);color:var(--tx)}.ops-tool .fx-prop-btn.is-active{background:var(--ac);border-color:var(--ac);color:#fff}.ops-tool .fx-slider{align-items:center;gap:10px;display:flex}.ops-tool .fx-slider input[type=range]{accent-color:var(--ac);flex:1}.ops-tool .fx-slider-val{color:var(--tx2);text-align:right;min-width:44px;font-family:JetBrains Mono,monospace;font-size:12px}.ops-tool .fx-output{background:linear-gradient(135deg,var(--acg),var(--bg3));border:2px solid var(--bdr-hi);border-radius:12px;padding:18px 20px;box-shadow:0 0 24px #5563f71f}.ops-tool .fx-output-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ops-tool .fx-output-lbl{color:var(--ac);letter-spacing:.5px;text-transform:uppercase;font-size:13px;font-weight:700}.ops-tool .fx-copy{background:var(--ac);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .15s}.ops-tool .fx-copy:hover{opacity:.88;transform:translateY(-1px)}.ops-tool .fx-copy.is-copied{background:var(--ok)}.ops-tool .fx-output-code{color:var(--tx);white-space:pre;background:var(--bg);border:1px solid var(--bdr);border-radius:8px;margin:0;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.7;overflow-x:auto}@media (max-width:640px){.ops-tool .fx-props{grid-template-columns:1fr}.ops-tool .fx-preview{padding:12px}.ops-tool .fx-container{height:280px}}
