*{box-sizing:border-box}.ft-page{max-width:1180px;margin:auto;padding:24px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#182230}.ft-back{display:inline-block;margin-bottom:18px;color:inherit}.ft-hero{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:18px;background:linear-gradient(135deg,#f4f1ff,#eef8ff);border:1px solid #dcd6f7}.ft-icon{font-size:42px}.ft-hero h1{margin:0 0 8px;font-size:clamp(28px,5vw,44px)}.ft-hero p{margin:0;line-height:1.65}.ft-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.ft-badges span{padding:5px 9px;border-radius:99px;background:#fff;border:1px solid #d9dcec;font-size:13px}.ft-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.ft-panel{margin-top:16px;padding:20px;border:1px solid #dfe4ec;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(20,30,50,.05)}.ft-panel h2{margin-top:0}.ft-drop{display:grid;place-items:center;min-height:160px;border:2px dashed #a8b1c7;border-radius:14px;text-align:center;padding:20px;cursor:pointer}.ft-drop.over{border-color:#6d4aff;background:#f4f1ff}.ft-drop input{position:absolute;opacity:0;pointer-events:none}.ft-drop strong,.ft-drop small{display:block}.ft-drop small{margin-top:6px;color:#637083}.ft-file{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f5}.ft-files{max-height:190px;overflow:auto}.ft-options{display:grid;gap:12px}.ft-options label{display:grid;gap:6px;font-weight:600}.ft-options textarea,.ft-options input[type=number],.ft-options input[type=text]{width:100%;padding:10px;border:1px solid #cbd3df;border-radius:9px}.ft-color-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ft-actions,.ft-batch-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ft-actions button,.ft-batch-actions button,.ft-primary{padding:10px 14px;border:1px solid #bfc8d7;border-radius:9px;background:#fff;cursor:pointer}.ft-primary{background:#5a3ee6;color:#fff;border-color:#5a3ee6;font-weight:700}.ft-primary:disabled{opacity:.5}.ft-status{min-height:24px}.ft-progress{height:8px;background:#edf0f5;border-radius:9px;overflow:hidden}.ft-progress span{display:block;height:100%;width:0;background:#5a3ee6;transition:width .2s}.ft-results{display:grid;gap:14px}.ft-result{padding:18px;border:1px solid #dfe4ec;border-radius:14px;background:#fbfcfe}.ft-result header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ft-result h3{margin:0}.ft-result header p{margin:.3rem 0;color:#657184}.ft-state{white-space:nowrap;padding:5px 9px;border-radius:99px;background:#e9edf4;font-size:12px}.ft-state.good,.ft-ok{color:#087f5b;background:#eaf8f2}.ft-state.warn{color:#9c5b00;background:#fff4dc}.ft-stats{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.ft-stats span{background:#fff;border:1px solid #e0e5ec;border-radius:9px;padding:8px}.ft-kv{display:grid;grid-template-columns:140px 1fr;gap:7px 12px}.ft-kv dt{font-weight:700}.ft-kv dd{margin:0;word-break:break-word}.ft-table-wrap{overflow:auto;max-height:360px;border:1px solid #e0e5ec;border-radius:10px}.ft-table-wrap table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.ft-table-wrap th,.ft-table-wrap td{padding:9px;border-bottom:1px solid #e8ebf1;text-align:left}.ft-diagnostics{font-family:ui-monospace,monospace;font-size:12px}.ft-preview-canvas{width:100%;height:auto;border:1px solid #dfe4ec;border-radius:10px;margin-top:12px}.ft-axis-controls{display:grid;gap:12px;margin-top:14px}.ft-axis-controls label{display:grid;gap:5px}.ft-axis-controls span{display:flex;gap:8px;align-items:center}.ft-axis-controls input{width:100%}.ft-variable-preview{font-size:52px;line-height:1.4;padding:22px;margin-top:14px;background:#fff;border:1px solid #dfe4ec;border-radius:10px;overflow-wrap:anywhere}.ft-error{color:#b42318;background:#fff1f0;padding:12px;border-radius:9px}.ft-empty{color:#6a7587;padding:20px;text-align:center}.ft-guide li{margin:.55rem 0;line-height:1.55}details{margin-top:10px}summary{cursor:pointer;font-weight:700}pre{white-space:pre-wrap;word-break:break-word}.ft-note{color:#687386;font-size:14px}@media(max-width:760px){.ft-grid{grid-template-columns:1fr}.ft-page{padding:14px}.ft-kv{grid-template-columns:1fr}.ft-result header{display:block}.ft-state{display:inline-block;margin-top:8px}.ft-variable-preview{font-size:34px}}