.sfk-form{--sfk-font:inherit;--sfk-color-text:#1f2328;--sfk-color-muted:#59636e;--sfk-color-border:#d1d9e0;--sfk-color-surface:#fff;--sfk-color-subtle:#f6f8fa;--sfk-color-primary:#4f46e5;--sfk-color-primary-contrast:#fff;--sfk-color-danger:#cf222e;--sfk-color-focus:color-mix(in srgb, var(--sfk-color-primary) 35%, transparent);--sfk-radius:8px;--sfk-gap:16px;--sfk-input-height:40px;font-family:var(--sfk-font);color:var(--sfk-color-text);gap:calc(var(--sfk-gap) * 1.5);flex-direction:column;display:flex}.sfk-title{margin:0 0 4px;font-size:1.375rem}.sfk-form-description,.sfk-description,.sfk-step-description{color:var(--sfk-color-muted);margin:0;font-size:.875rem}.sfk-grid{gap:var(--sfk-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}@media (width<=640px){.sfk-grid>.sfk-field{grid-column:span 12!important}}.sfk-field{flex-direction:column;gap:6px;min-width:0;display:flex}.sfk-label{font-size:.9375rem;font-weight:600}.sfk-required{color:var(--sfk-color-danger);margin-left:2px}.sfk-input{box-sizing:border-box;width:100%;min-height:var(--sfk-input-height);font:inherit;color:inherit;background:var(--sfk-color-surface);border:1px solid var(--sfk-color-border);border-radius:var(--sfk-radius);padding:8px 12px}.sfk-textarea{resize:vertical}.sfk-input:focus-visible,.sfk-switch:focus-visible,.sfk-btn:focus-visible,.sfk-step__button:focus-visible,.sfk-choice input:focus-visible{outline:3px solid var(--sfk-color-focus);outline-offset:1px}.sfk-field--invalid .sfk-input{border-color:var(--sfk-color-danger)}.sfk-errors{color:var(--sfk-color-danger);margin:0;padding:0;font-size:.8125rem;list-style:none}.sfk-choices{flex-wrap:wrap;gap:8px 20px;display:flex}.sfk-choice{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.sfk-choice input{accent-color:var(--sfk-color-primary);width:16px;height:16px}.sfk-switch{background:var(--sfk-color-border);cursor:pointer;border:none;border-radius:999px;width:44px;height:24px;padding:0;transition:background .15s;position:relative}.sfk-switch__thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.sfk-switch--on{background:var(--sfk-color-primary)}.sfk-switch--on .sfk-switch__thumb{transform:translate(20px)}.sfk-array{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.sfk-array__empty{color:var(--sfk-color-muted);margin:0;font-size:.875rem}.sfk-array__item{padding:var(--sfk-gap);border:1px solid var(--sfk-color-border);border-radius:var(--sfk-radius);background:var(--sfk-color-subtle);align-self:stretch;margin:0}.sfk-array__legend{padding:0 6px;font-size:.875rem;font-weight:600}.sfk-array__actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.sfk-btn{min-height:36px;font:inherit;border-radius:var(--sfk-radius);cursor:pointer;border:1px solid #0000;padding:6px 16px;font-weight:600}.sfk-btn:disabled{opacity:.45;cursor:not-allowed}.sfk-btn--primary{background:var(--sfk-color-primary);color:var(--sfk-color-primary-contrast)}.sfk-btn--secondary{background:var(--sfk-color-surface);border-color:var(--sfk-color-border);color:var(--sfk-color-text)}.sfk-btn--ghost{color:var(--sfk-color-muted);background:0 0;padding-inline:10px}.sfk-btn--danger{color:var(--sfk-color-danger);background:0 0;padding-inline:10px}.sfk-footer{justify-content:flex-end;gap:12px;display:flex}.sfk-steps ol{counter-reset:step;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sfk-step{flex:1}.sfk-step__button{width:100%;font:inherit;color:var(--sfk-color-muted);border:none;border-top:3px solid var(--sfk-color-border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;padding:8px 0;display:flex}.sfk-step__index{background:var(--sfk-color-subtle);border:1px solid var(--sfk-color-border);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8125rem;font-weight:700;display:inline-grid}.sfk-step--active .sfk-step__button,.sfk-step--done .sfk-step__button{color:var(--sfk-color-text);border-top-color:var(--sfk-color-primary)}.sfk-step--active .sfk-step__index,.sfk-step--done .sfk-step__index{background:var(--sfk-color-primary);border-color:var(--sfk-color-primary);color:var(--sfk-color-primary-contrast)}:root{color:#1f2328;background:#f3f4f6;font-family:Inter,Noto Sans TC,system-ui,-apple-system,Segoe UI,PingFang TC,Microsoft JhengHei,sans-serif}body{margin:0}.app{max-width:1440px;margin:0 auto;padding:24px}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topbar h1{margin:0;font-size:1.5rem}.links{gap:16px;display:flex}.links a{color:#4f46e5;font-weight:600}.muted{color:#59636e;margin:4px 0 0}.small{font-size:.8125rem}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin:20px 0;display:flex}.toolbar label{flex-direction:column;gap:4px;font-size:.8125rem;font-weight:600;display:flex}.toolbar select{min-height:36px;font:inherit;background:#fff;border:1px solid #d1d9e0;border-radius:6px;padding:4px 8px}.link-button{color:#cf222e;min-height:36px;font:inherit;cursor:pointer;background:0 0;border:none;font-weight:600}.layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr);align-items:start;gap:20px;display:grid}@media (width<=1100px){.layout{grid-template-columns:1fr}}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.panel h2{text-transform:uppercase;letter-spacing:.04em;color:#59636e;margin:0 0 12px;font-size:.875rem}.editor textarea{box-sizing:border-box;resize:vertical;border:1px solid #d1d9e0;border-radius:8px;width:100%;min-height:560px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.status{border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:.8125rem}ul.status{padding-left:28px}.status--ok{color:#116329;background:#dafbe1}.status--warn{color:#6a4b00;background:#fff8c5}.status--error{color:#a40e26;background:#ffebe9}.result pre{color:#e6edf3;background:#0d1117;border-radius:8px;margin:0;padding:12px;font-size:12px;overflow:auto}.theme-teal .sfk-form{--sfk-color-primary:#0f766e;--sfk-radius:4px}.theme-compact .sfk-form{--sfk-color-primary:#1f2328;--sfk-gap:10px;--sfk-input-height:32px;--sfk-radius:2px;font-size:.875rem}
