.sfm-sheet,.sfm-modal,.sfm-preview{--m-accent:var(--sf-accent,#0a57d6);--m-border:var(--sf-border,#e5e7eb);--m-text2:var(--sf-text-2,#4b5563);--m-soft:var(--sf-accent-soft,#eaf2ff);--m-subtle:var(--sf-subtle,#f6f7f9);font:14px/1.4 var(--sf-font,system-ui, sans-serif);color:var(--sf-text,#111827)}.sfm-sheet button,.sfm-modal button,.sfm-preview button,.sfm-sheet select,.sfm-modal select{font:inherit}.sfm-sheet{z-index:300;top:calc(var(--sf-top-h,56px) + 8px);border:1px solid var(--m-border);width:340px;box-shadow:var(--sf-shadow-pop,0 16px 40px -12px #0f142438);background:#fff;border-radius:14px;flex-direction:column;animation:.16s ease-out sfm-in;display:flex;position:fixed;bottom:8px;right:8px}@keyframes sfm-in{0%{opacity:0;transform:translate(12px)}}.sfm-sheet__head,.sfm-modal__head{justify-content:space-between;align-items:center;padding:12px 10px 8px 16px;display:flex}.sfm-sheet__head h2,.sfm-modal__head h2{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.sfm-sheet__body{flex-direction:column;flex:1;gap:14px;padding:4px 16px 12px;display:flex;overflow-y:auto}.sfm-sheet__foot{border-top:1px solid var(--m-border);gap:8px;padding:10px 16px 14px;display:flex}.sfm-sheet__foot .sfm-btn{flex:1;justify-content:center}.sfm-x{cursor:pointer;width:36px;height:36px;color:inherit;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.sfm-x:hover{background:var(--sf-hover,#f1f2f5)}.sfm-tabs{background:var(--m-subtle);border-radius:10px;gap:4px;margin:0 16px 6px;padding:3px;display:flex}.sfm-tabs button{cursor:pointer;height:32px;color:var(--m-text2);background:0 0;border:0;border-radius:8px;flex:1;font-weight:600}.sfm-tabs button.is-on{color:inherit;background:#fff;box-shadow:0 1px 2px #0f142414}.sfm-tabs button:disabled{opacity:.45;cursor:default}.sfm-sec{flex-direction:column;gap:8px;display:flex}.sfm-sec h3{margin:0;font-size:13px;font-weight:700}.sfm-hint{color:var(--m-text2);margin:0;font-size:12.5px}.sfm-hint a{color:var(--m-accent)}.sfm-chips{flex-wrap:wrap;gap:6px;display:flex}.sfm-chip{border:1px solid var(--m-border);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;height:32px;padding:0 10px 0 6px;font-size:13px;display:inline-flex}.sfm-chip:hover{border-color:var(--sf-border-strong,#d1d5db)}.sfm-chip.is-on{border-color:var(--m-accent);background:var(--m-soft);color:var(--m-accent);font-weight:600}.sfm-chip:disabled{opacity:.5;cursor:default}.sfm-styles{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.sfm-style{border:1px solid var(--m-border);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;font-size:12px;display:flex}.sfm-style:hover{border-color:var(--m-accent);background:var(--m-soft)}.sfm-params{background:var(--m-subtle);border-radius:10px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.sfm-link{color:var(--m-accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12.5px}.sfm-demo{background:linear-gradient(135deg,#0a57d6,#14b8a6);border-radius:5px;flex:none;width:18px;height:18px;animation:none}.sfm-style .sfm-demo{border-radius:7px;width:28px;height:28px}.sfm-demo--none{background:var(--m-border);animation:none}.sfm-demo--fade{animation-name:d-fade}@keyframes d-fade{0%,to{opacity:.15}50%{opacity:1}}.sfm-demo--rise{animation-name:d-rise}@keyframes d-rise{0%{opacity:0;transform:translateY(6px)}50%,to{opacity:1;transform:none}}.sfm-demo--drop{animation-name:d-drop}@keyframes d-drop{0%{opacity:0;transform:translateY(-6px)}50%,to{opacity:1;transform:none}}.sfm-demo--pan,.sfm-demo--pan-right{animation-name:d-pan}@keyframes d-pan{0%{opacity:0;transform:translate(-7px)}50%,to{opacity:1;transform:none}}.sfm-demo--pop,.sfm-demo--stomp{animation-name:d-pop}@keyframes d-pop{0%{transform:scale(.3)}35%{transform:scale(1.15)}50%,to{transform:scale(1)}}.sfm-demo--wipe,.sfm-demo--typewriter{animation-name:d-wipe}@keyframes d-wipe{0%{clip-path:inset(0 100% 0 0)}60%,to{clip-path:inset(0)}}.sfm-demo--bounce,.sfm-demo--hop{animation-name:d-bounce}@keyframes d-bounce{0%,to{transform:none}30%{transform:translateY(-6px)}50%{transform:none}65%{transform:translateY(-2px)}}.sfm-demo--tumble,.sfm-demo--spin{animation-name:d-spin}@keyframes d-spin{to{transform:rotate(360deg)}}.sfm-demo--neon{animation-name:d-neon;animation-timing-function:step-end}@keyframes d-neon{0%,20%,45%,to{opacity:1}10%,35%{opacity:.2}}.sfm-demo--breathe,.sfm-demo--pulse{animation-name:d-pulse}@keyframes d-pulse{50%{transform:scale(1.18)}}.sfm-demo--wobble{animation-name:d-wobble}@keyframes d-wobble{25%{transform:rotate(-10deg)}50%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}.sfm-demo--blur-in,.sfm-demo--float-in{animation-name:d-blur}@keyframes d-blur{0%{filter:blur(4px);opacity:0}50%,to{filter:none;opacity:1}}.sfm-demo--scale-down{animation-name:d-shrink}@keyframes d-shrink{0%{opacity:0;transform:scale(1.7)}50%,to{opacity:1;transform:none}}.sfm-demo--zoom-out,.sfm-demo--elastic{animation-name:d-pop}.sfm-demo--flip{animation-name:d-flip}@keyframes d-flip{0%{transform:scaleX(0)}50%,to{transform:none}}.sfm-demo--flip-up{animation-name:d-flipy}@keyframes d-flipy{0%{transform:scaleY(0)}50%,to{transform:none}}.sfm-demo--drop-bounce{animation-name:d-bounce}.sfm-demo--spin-in{animation-name:d-spinin}@keyframes d-spinin{0%{opacity:0;transform:rotate(-360deg)scale(.2)}55%,to{opacity:1;transform:none}}.sfm-demo--swing-in,.sfm-demo--swing{animation-name:d-swing}@keyframes d-swing{25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}}.sfm-demo--skid{animation-name:d-skid}@keyframes d-skid{0%{opacity:0;transform:translate(-8px)skew(20deg)}50%,to{opacity:1;transform:none}}.sfm-demo--mask-up{animation-name:d-maskup}@keyframes d-maskup{0%{clip-path:inset(100% 0 0)}60%,to{clip-path:inset(0)}}.sfm-demo--mask-down{animation-name:d-maskdown}@keyframes d-maskdown{0%{clip-path:inset(0 0 100%)}60%,to{clip-path:inset(0)}}.sfm-demo--iris{animation-name:d-iris}@keyframes d-iris{0%{clip-path:inset(50%)}60%,to{clip-path:inset(0)}}.sfm-demo--words,.sfm-demo--words-rise{animation-name:d-wipe;animation-timing-function:steps(3,end)}.sfm-demo--glitch,.sfm-demo--flash{animation-name:d-neon;animation-timing-function:step-end}.sfm-demo--float{animation-name:d-float}@keyframes d-float{50%{transform:translateY(-4px)}}.sfm-demo--heartbeat,.sfm-demo--tada{animation-name:d-pulse}.sfm-demo--jelly{animation-name:d-jelly}@keyframes d-jelly{30%{transform:scale(1.2,.8)}60%{transform:scale(.9,1.1)}}.sfm-demo--shimmer{background-image:linear-gradient(110deg,#0000 30%,#ffffffb3 50%,#0000 70%),linear-gradient(135deg,#0a57d6,#14b8a6);background-size:300% 100%,100% 100%;animation-name:d-shine}@keyframes d-shine{0%{background-position:100% 0,0 0}to{background-position:0 0,0 0}}@media (prefers-reduced-motion:reduce){.sfm-demo{animation:none}}.sfm-range{color:var(--m-text2);grid-template-columns:1fr auto;grid-template-areas:"l o""r r";gap:2px 8px;font-size:12.5px;display:grid}.sfm-range>span{grid-area:l}.sfm-range>output{font-variant-numeric:tabular-nums;color:inherit;grid-area:o}.sfm-range>input{width:100%;accent-color:var(--m-accent);grid-area:r}.sfm-select{color:var(--m-text2);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.sfm-select select{border:1px solid var(--m-border);height:36px;color:var(--sf-text,#111827);background:#fff;border-radius:8px;padding:0 8px}.sfm-check{align-items:center;gap:8px;font-size:13px;display:flex}.sfm-check input{accent-color:var(--m-accent);width:16px;height:16px}.sfm-grid2{grid-template-columns:1fr 1fr;gap:10px 12px;display:grid}.sfm-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sfm-row--end{justify-content:flex-end}.sfm-btn{cursor:pointer;height:38px;color:inherit;background:#fff;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.sfm-btn:disabled{opacity:.5;cursor:default}.sfm-btn.sfm-btn--primary{background:var(--m-accent);color:#fff}.sfm-btn.sfm-btn--primary:hover:not(:disabled){background:var(--sf-accent-hover,#0846b0)}.sfm-btn.sfm-btn--soft{background:var(--m-subtle);border-color:var(--m-border)}.sfm-btn.sfm-btn--soft:hover:not(:disabled){background:var(--sf-hover,#f1f2f5)}.sfm-btn.sfm-btn--round{color:#111827;background:#fff;border-radius:50%;justify-content:center;width:44px;height:44px;padding:0}.sfm-btn.sfm-btn--ghost-dark{color:#fff;background:0 0;padding:0 10px}.sfm-wide{justify-content:center;width:100%;height:44px}.sfm-center{text-align:center}.sfm-err{color:#b91c1c;background:#fef2f2;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.sfm-note{color:#92400e;background:#fffbeb;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.sfm-badge{color:#047857;background:#ecfdf5;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:600}.sfm-spin{border:2px solid var(--m-border);border-top-color:var(--m-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite d-spin;display:inline-block}.sfm-prep{color:var(--m-text2);justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.sfm-modal{z-index:420;background:#0f14245c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sfm-modal__box{background:#fff;border-radius:18px;flex-direction:column;width:min(460px,100%);max-height:calc(100vh - 32px);display:flex;box-shadow:0 24px 60px -12px #11182759}.sfm-modal__box.is-wide{width:min(820px,100%)}.sfm-modal__body{flex-direction:column;gap:12px;padding:4px 20px 20px;display:flex;overflow-y:auto}.sfm-formats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sfm-format{border:1px solid var(--m-border);cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:10px;display:flex}.sfm-format input{opacity:0;pointer-events:none;position:absolute}.sfm-format span{color:var(--m-text2);font-size:12px}.sfm-format.is-on{border-color:var(--m-accent);background:var(--m-soft);box-shadow:0 0 0 1px var(--m-accent)}.sfm-format.is-off{opacity:.6}.sfm-format:focus-within{outline:2px solid var(--m-accent);outline-offset:1px}.sfm-estimate{background:var(--m-subtle);border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.sfm-estimate>div{justify-content:space-between;gap:10px;display:flex}.sfm-estimate span{color:var(--m-text2)}.sfm-estimate .is-actual strong{color:var(--sf-success,#059669)}.sfm-progress{align-items:center;gap:10px;font-size:13px;display:flex}.sfm-progress--col{text-align:center;flex-direction:column;padding:18px 0}.sfm-progress__bar{background:var(--m-subtle);border-radius:99px;flex:1;width:100%;min-width:160px;height:8px;overflow:hidden}.sfm-progress__bar span{background:var(--m-accent);height:100%;transition:width .15s;display:block}.sfm-models{flex-direction:column;gap:8px;display:flex}.sfm-model{border:1px solid var(--m-border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.sfm-model.is-on{border-color:var(--m-accent);background:var(--m-soft)}.sfm-model input{accent-color:var(--m-accent)}.sfm-model__main{flex-direction:column;flex:1;display:flex}.sfm-model__main span{color:var(--m-text2);font-size:12.5px}.sfm-model__meta{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;font-size:12.5px;font-weight:600;display:flex}.sfm-brush{grid-template-columns:1fr 220px;gap:14px;display:grid}.sfm-brush__stage{background:repeating-conic-gradient(#eceef2 0 25%, #fff 0 50%) 0 0 / 16px 16px;touch-action:none;cursor:none;border-radius:10px;place-items:center;min-height:200px;max-height:58vh;display:grid;position:relative;overflow:hidden}.sfm-brush__canvas{max-width:100%;max-height:58vh;display:block}.sfm-brush__ring{pointer-events:none;opacity:0;border:2px solid #fff;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #0009}.sfm-brush__ring.is-restore{border-color:#a7f3d0}.sfm-brush__tools{flex-direction:column;gap:12px;display:flex}.sfm-seg{background:var(--m-subtle);border-radius:10px;padding:3px;display:flex}.sfm-seg button{cursor:pointer;height:34px;color:var(--m-text2);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;font-weight:600;display:inline-flex}.sfm-seg button.is-on{color:var(--m-accent);background:#fff;box-shadow:0 1px 2px #0f142414}.sfm-preview{z-index:410;background:#0c101cf0;flex-direction:column;display:flex;position:fixed;inset:0}.sfm-preview__stage{color:#e5e7eb;flex:1;place-items:center;min-height:0;padding:24px;display:grid}.sfm-preview__stage .sfm-prep{color:#e5e7eb}.sfm-preview__canvas{background:#fff;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 20px 60px #00000080}.sfm-preview__bar{color:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px 18px;display:flex}.sfm-scrub{flex-direction:column;flex:1;gap:4px;min-width:200px;display:flex}.sfm-scrub input{accent-color:#60a5fa;width:100%}.sfm-scrub__pages{height:16px;position:relative}.sfm-scrub__pages span{color:#ffffffb3;border-left:1px solid #ffffff59;height:14px;padding-left:4px;font-size:10.5px;position:absolute;top:0}.sfm-time{font-variant-numeric:tabular-nums;min-width:92px;font-size:13px}.sfm-check--dark{color:#e5e7eb}.sfm-tb svg{flex:none}@media (width<=767px){.sfm-sheet{border-radius:16px 16px 0 0;width:auto;max-height:72vh;inset:auto 0 0}.sfm-modal{align-items:end;padding:0}.sfm-modal__box,.sfm-modal__box.is-wide{border-radius:16px 16px 0 0;width:100%;max-height:94vh}.sfm-brush,.sfm-formats,.sfm-grid2{grid-template-columns:1fr}.sfm-styles{grid-template-columns:repeat(3,1fr)}.sfm-preview__bar{gap:8px;padding:10px 12px 14px}.sfm-time{min-width:0}}
