.sff{font-family:var(--font-poppins), ui-sans-serif;color:var(--color-fg);background:var(--color-surface);-webkit-font-smoothing:antialiased;overflow-x:clip}.sff *{box-sizing:border-box}.sff button,.sff input,.sff select,.sff textarea{font:inherit;color:inherit}.sff button{cursor:pointer}.sff a{color:inherit;text-decoration:none}.sff h1,.sff h2,.sff h3,.sff h4{text-wrap:balance;margin:0;font-weight:600}.sff p{margin:0}.sff .wrap{width:100%;max-width:none;padding-inline:var(--spacing-5,20px);margin-inline:auto}@media (min-width:768px){.sff .wrap{padding-inline:var(--spacing-7,32px)}}@media (min-width:960px){.sff .wrap{padding-inline:var(--spacing-8,40px)}}@media (min-width:1200px){.sff .wrap{padding-inline:var(--spacing-9,56px)}}@media (min-width:1600px){.sff .wrap{padding-inline:var(--spacing-10,64px)}}@media (min-width:1920px){.sff .wrap{max-width:var(--container-max,1472px);padding-inline:0}}.sff .mono{font-family:var(--font-geist-mono), ui-monospace;font-variant-numeric:tabular-nums}.sff .hero h1,.sff .r-headline{font-size:var(--text-s-07,2rem);line-height:var(--text-s-07--line-height,2.375rem);letter-spacing:var(--text-s-07--letter-spacing,-.02em)}@media (min-width:768px){.sff .hero h1,.sff .r-headline{font-size:var(--text-s-08,2.75rem);line-height:var(--text-s-08--line-height,3rem);letter-spacing:var(--text-s-08--letter-spacing,-.025em)}}@media (min-width:1200px){.sff .hero h1,.sff .r-headline{font-size:var(--text-s-09,3.75rem);line-height:var(--text-s-09--line-height,4rem);letter-spacing:var(--text-s-09--letter-spacing,-.03em)}}.sff .band-head h2,.sff .r-sec>h2{font-size:var(--text-s-06b,1.75rem);line-height:var(--text-s-06b--line-height,2.125rem);letter-spacing:var(--text-s-06b--letter-spacing,-.0175em)}@media (min-width:768px){.sff .band-head h2,.sff .r-sec>h2{font-size:var(--text-s-07,2rem);line-height:var(--text-s-07--line-height,2.375rem);letter-spacing:var(--text-s-07--letter-spacing,-.02em)}}@media (min-width:1200px){.sff .band-head h2,.sff .r-sec>h2{font-size:var(--text-s-08,2.75rem);line-height:var(--text-s-08--line-height,3rem);letter-spacing:var(--text-s-08--letter-spacing,-.025em)}}.sff .eyebrow{font-size:var(--text-s-02,.875rem);line-height:var(--text-s-02--line-height,1.25rem);color:var(--color-fg-muted);align-items:center;gap:8px;font-weight:500;display:inline-flex}.sff .band-head .eyebrow,.sff .r-sec>.eyebrow,.sff .mts-card .eyebrow{border-radius:var(--radius-xs,2px);background:var(--color-accent-900);color:var(--color-fg-on-accent);font-size:var(--text-s-03,1rem);line-height:var(--text-s-03--line-height,1.5rem);padding:6px 12px}.sff .btn{height:var(--size-control-lg,52px);border-radius:var(--radius-sm,4px);font-weight:600;font-size:var(--text-s-03,1rem);white-space:nowrap;transition:background-color var(--duration-base,.2s) var(--ease-standard,ease), border-color var(--duration-base,.2s) var(--ease-standard,ease), color var(--duration-base,.2s) var(--ease-standard,ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 28px;display:inline-flex}@media (max-width:767px){.sff .btn{width:100%}}.sff .btn svg{width:18px;height:18px;transition:transform var(--duration-base,.2s) var(--ease-standard,ease)}.sff .btn:hover svg{transform:translate(3px)}.sff .btn-primary{background:var(--color-accent-700);color:var(--color-fg-on-accent)}.sff .btn-primary:hover{background:var(--color-accent-600)}.sff .btn-primary:disabled{background:var(--color-surface-elevated);color:var(--color-fg-disabled);cursor:not-allowed}.sff .btn-ghost{height:var(--size-control-md,44px);border:1px solid var(--color-line);color:var(--color-fg);font-weight:600;font-size:var(--text-s-02,.875rem);background:0 0;padding:0 24px}.sff .btn-ghost:hover{background:var(--color-surface-raised)}.sff .btn-light{background:var(--color-surface-inverse);color:var(--color-fg-inverse)}.sff .btn-light:hover{opacity:.9}.sff .hero{isolation:isolate;background:var(--color-surface-subtle);padding-block:var(--spacing-8,40px);position:relative;overflow:hidden}@media (min-width:768px){.sff .hero{padding-block:var(--spacing-9,56px)}}@media (min-width:1200px){.sff .hero{padding-block:var(--spacing-10,64px)}}.sff .hero .in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:clamp(32px,4vw,64px);display:grid;position:relative}@media (max-width:1000px){.sff .hero .in{grid-template-columns:1fr}}.sff .pill{border-radius:var(--radius-xs,2px);background:var(--color-accent-900);color:var(--color-fg-on-accent);font-size:var(--text-s-02,.875rem);align-items:center;gap:10px;padding:6px 14px 6px 8px;font-weight:500;display:inline-flex}.sff .pill .dot{background:color-mix(in srgb, var(--color-accent-400) 20%, transparent);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.sff .pill .dot:before{content:"";background:var(--color-accent-400);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite sff-pulse}@keyframes sff-pulse{50%{opacity:.4}}.sff .hero h1{margin:22px 0 20px}.sff .hero h1 .accent{color:var(--color-fg-accent)}.sff .hero .lead{font-size:var(--text-s-04,1.125rem);line-height:var(--text-s-04--line-height,1.625rem);color:var(--color-fg-muted);max-width:58ch}.sff .hero .lead strong{color:var(--color-fg);font-weight:600}.sff .box{background:var(--color-surface-raised);color:var(--color-fg);border:1px solid var(--color-line-subtle);border-radius:var(--radius-lg,12px);transition:border-color var(--duration-base,.2s) var(--ease-standard,ease);margin-top:32px;padding:22px}.sff .box:focus-within{border-color:var(--color-line-accent)}.sff .box-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.sff .box-label{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);white-space:nowrap}.sff .box-counter{font:500 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle);font-variant-numeric:tabular-nums;margin-left:10px}.sff .box-counter.warn{color:var(--color-warning)}.sff .voice{align-items:center;gap:8px;display:inline-flex}.sff .seg{border:1px solid var(--color-line);border-radius:var(--radius-full,9999px);align-items:center;padding:2px;display:inline-flex}.sff .seg button{border-radius:var(--radius-full,9999px);font-size:var(--text-s-01,.75rem);color:var(--color-fg-muted);transition:background-color var(--duration-base,.2s), color var(--duration-base,.2s);background:0 0;border:0;padding:4px 10px;font-weight:600}.sff .seg button:hover{color:var(--color-fg)}.sff .seg button[aria-checked=true]{background:var(--color-accent-700);color:var(--color-fg-on-accent)}.sff .mic{height:var(--size-control-sm,36px);border-radius:var(--radius-sm,4px);border:1px solid var(--color-line);font-size:var(--text-s-02,.875rem);color:var(--color-fg);white-space:nowrap;transition:background-color var(--duration-base,.2s), border-color var(--duration-base,.2s);background:0 0;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex}.sff .mic:hover{background:var(--color-surface-raised)}.sff .mic svg{width:16px;height:16px}.sff .mic.rec{background:var(--color-danger);color:#fff;border-color:#0000}.sff .mic.rec:before{content:"";background:#fff;border-radius:50%;width:8px;height:8px;animation:1s infinite sff-pulse}.sff .mic.rec svg{display:none}.sff textarea#problem{resize:vertical;width:100%;min-height:128px;font:500 var(--text-s-04,1.125rem)/1.6 var(--font-poppins), ui-sans-serif;color:var(--color-fg);caret-color:var(--color-fg-accent);background:0 0;border:0;outline:0;padding:6px 0 12px;display:block}.sff textarea#problem::placeholder{color:var(--color-fg-subtle);font-weight:400}.sff .listen{border-radius:var(--radius-md,8px);background:var(--color-accent-900);color:#fff;margin-bottom:12px;padding:14px 16px;display:none}.sff .listen.on{animation:sff-rise .35s var(--ease-entrance,ease);display:block}.sff .listen-top{align-items:center;gap:12px;display:flex}.sff .wave{align-items:center;gap:3px;height:18px;display:inline-flex}.sff .wave span{background:var(--color-accent-400);border-radius:2px;width:3px;height:100%;animation:1s ease-in-out infinite sff-wave}.sff .wave span:nth-child(2){animation-delay:.12s}.sff .wave span:nth-child(3){animation-delay:.24s}.sff .wave span:nth-child(4){animation-delay:.36s}.sff .wave span:nth-child(5){animation-delay:.48s}@keyframes sff-wave{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.sff .listen-status{font-weight:600;font-size:var(--text-s-02,.875rem)}.sff .listen .stop{color:var(--color-accent-900);border-radius:var(--radius-sm,4px);height:32px;font-weight:600;font-size:var(--text-s-01,.75rem);background:#fff;border:0;margin-left:auto;padding:0 14px}.sff .listen-en{font-size:var(--text-s-02,.875rem);color:#ffffffc7;min-height:20px;margin-top:10px}.sff .listen-en b{color:var(--color-accent-200);font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;margin-right:8px}.sff .note{border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-fg-blue) 10%, transparent);color:var(--color-fg-blue);font-size:var(--text-s-02,.875rem);animation:sff-rise .35s var(--ease-entrance,ease);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-weight:500;display:flex}.sff .note.err{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning)}.sff .note .acts{gap:6px;margin-left:auto;display:inline-flex}.sff .note button{border-radius:var(--radius-sm,4px);font-size:var(--text-s-01,.75rem);color:inherit;background:0 0;border:1px solid;padding:3px 12px;font-weight:600}.sff .box-bottom{border-top:1px solid var(--color-line-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;display:flex}.sff .micro{font:500 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle);text-transform:uppercase;flex-wrap:wrap;gap:10px;display:inline-flex}.sff .mic-help{border-radius:var(--radius-md,8px);background:var(--color-surface-elevated);border:1px solid var(--color-line-subtle);font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);margin-bottom:12px;padding:12px 14px}.sff .mic-help strong{color:var(--color-fg);display:block}@media (max-width:560px){.sff .box{padding:16px}.sff .voice{justify-content:space-between;width:100%}}.sff .chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.sff .chips-label{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);margin-right:4px}.sff .chip{height:var(--size-control-sm,36px);border-radius:var(--radius-sm,4px);border:1px solid var(--color-line);color:var(--color-fg-muted);font-size:var(--text-s-02,.875rem);transition:background-color var(--duration-base,.2s), color var(--duration-base,.2s), border-color var(--duration-base,.2s);background:0 0;padding:0 14px;font-weight:500}.sff .chip:hover{background:var(--color-surface-raised);color:var(--color-fg);border-color:var(--color-line-strong)}.sff .alert{border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-warning) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-warning) 35%, transparent);color:var(--color-warning);font-size:var(--text-s-02,.875rem);margin-top:16px;padding:14px 18px;display:none}.sff .alert.on{animation:sff-rise .35s var(--ease-entrance,ease);display:block}.sff .resume{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:14px;display:flex}.sff .resume strong{color:var(--color-fg);font-weight:600}.sff .resume button{color:var(--color-fg-accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.sff .sample{padding:22px}.sff .sample-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sff .sample-head b{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-muted)}.sff .tag{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;border-radius:var(--radius-xs,2px);border:1px solid var(--color-line);color:var(--color-fg-muted);padding:3px 8px}.sff .s-kpis{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.sff .s-kpi{background:color-mix(in srgb, var(--color-fg) 4%, transparent);border:1px solid var(--color-line-subtle);border-radius:var(--radius-md,8px);padding:12px}.sff .s-kpi span{font-size:var(--text-s-01,.75rem);color:var(--color-fg-subtle);display:block}.sff .s-kpi b{font:500 var(--text-s-06,1.5rem)/1.2 var(--font-geist-mono), ui-monospace;color:var(--color-fg);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.sff .s-kpi i{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-accent);font-style:normal}.sff .s-chart{background:color-mix(in srgb, var(--color-fg) 4%, transparent);border:1px solid var(--color-line-subtle);border-radius:var(--radius-md,8px);margin-top:12px;padding:12px 12px 6px}.sff .s-chart-top{font-size:var(--text-s-01,.75rem);color:var(--color-fg-subtle);justify-content:space-between;margin-bottom:4px;display:flex}.sff .s-chart svg{width:100%;height:auto;display:block}.sff .s-chart .line{fill:none;stroke:var(--color-fg-accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600px}.sff .s-chart .area{opacity:0}.sff .s-chart .tgt{stroke:var(--color-fg-blue);stroke-width:1.5px;stroke-dasharray:5 5}.sff .s-chart text{font:500 9px var(--font-geist-mono), ui-monospace;fill:var(--color-fg-subtle)}.sff .play .s-chart .line{animation:sff-draw 2.2s .3s var(--ease-entrance,ease) forwards}.sff .play .s-chart .area{animation:1s 1.6s forwards sff-fadeIn}@keyframes sff-draw{to{stroke-dashoffset:0}}@keyframes sff-fadeIn{to{opacity:1}}.sff .s-road{gap:7px;margin-top:12px;display:grid}.sff .s-road div{font-size:var(--text-s-01,.75rem);color:var(--color-fg-muted);grid-template-columns:112px 1fr 48px;align-items:center;gap:10px;display:grid}.sff .s-road em{font-style:normal;font:500 var(--text-s-01,.75rem) var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle);text-align:right}.sff .s-road .tr{border-radius:var(--radius-sm,4px);background:color-mix(in srgb, var(--color-fg) 10%, transparent);height:8px;overflow:hidden}.sff .s-road .tr i{border-radius:var(--radius-sm,4px);background:var(--color-accent-500);width:0;height:100%;transition:width 1.4s var(--ease-entrance,ease);display:block}@media (max-width:1000px){.sff .sample{max-width:560px}}.sff .proof{background:var(--color-surface);border-top:1px solid var(--color-line-subtle)}.sff .proof .in{grid-template-columns:repeat(4,1fr);display:grid}.sff .proof .stat{border-left:1px solid var(--color-line-subtle);padding:28px 20px}.sff .proof .stat:first-child{border-left:0}.sff .proof b{font:500 clamp(28px, 3vw, 40px)/1 var(--font-geist-mono), ui-monospace;letter-spacing:-.02em;color:var(--color-fg-accent);font-variant-numeric:tabular-nums;display:block}.sff .proof span{font-size:var(--text-s-02,.875rem);color:var(--color-fg);margin-top:8px;display:block}@media (max-width:760px){.sff .proof .in{grid-template-columns:repeat(2,1fr)}.sff .proof .stat:nth-child(3){border-left:0}.sff .proof .stat{border-top:1px solid var(--color-line-subtle)}}.sff .marquee{border-top:1px solid var(--color-line-subtle);padding:16px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.sff .marquee-track{width:max-content;animation:55s linear infinite sff-scroll;display:flex}.sff .marquee-track span{font:500 var(--text-s-02,.875rem)/1.25rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle);white-space:nowrap;align-items:center;gap:40px;padding-right:40px;display:inline-flex}.sff .marquee-track span:after{content:"";background:var(--color-accent-500);border-radius:50%;width:4px;height:4px}@keyframes sff-scroll{to{transform:translate(-50%)}}.sff .band{padding-block:var(--spacing-8,40px)}@media (min-width:768px){.sff .band{padding-block:var(--spacing-9,56px)}}@media (min-width:1200px){.sff .band{padding-block:var(--spacing-10,64px)}}.sff .band-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:32px;margin-bottom:44px;display:grid}.sff .band-head h2{margin-top:20px}.sff .band-head p{color:var(--color-fg-muted);font-size:var(--text-s-04,1.125rem);line-height:var(--text-s-04--line-height,1.625rem);max-width:56ch}@media (max-width:860px){.sff .band-head{grid-template-columns:1fr}}.sff .deliv{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:960px){.sff .deliv{grid-template-columns:1fr}}.sff .d-card{transition:border-color var(--duration-base,.2s);padding:22px}.sff .thumb{border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-fg) 4%, transparent);border:1px solid var(--color-line-subtle);height:190px;margin-bottom:20px;position:relative;overflow:hidden}.sff .d-card h3{font-size:var(--text-s-05,1.25rem);margin-bottom:8px}.sff .d-card p{color:var(--color-fg-muted);font-size:var(--text-s-02,.875rem)}.sff .d-card ul{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);gap:6px;margin:14px 0 0;padding:0;list-style:none;display:grid}.sff .d-card li{gap:8px;display:flex}.sff .d-card li:before{content:"";background:var(--color-accent-700) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12l4 4 8-8'/></svg>") center/10px no-repeat;border-radius:50%;flex:none;width:16px;height:16px;margin-top:3px}.sff .d-card .ft{border-top:1px solid var(--color-line-subtle);font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);margin-top:16px;padding-top:14px}.sff .t-pdf{grid-template-columns:1fr 1fr;gap:10px;padding:14px;display:grid}.sff .t-page{background:var(--color-surface-raised);border:1px solid var(--color-line-subtle);border-radius:var(--radius-sm,4px);transition:transform .4s var(--ease-entrance,ease);align-content:start;gap:6px;padding:10px;display:grid}.sff .d-card:hover .t-page:first-child{transform:rotate(-3deg)translateY(-4px)}.sff .d-card:hover .t-page:last-child{transform:rotate(3deg)translateY(-4px)}.sff .t-bar{background:var(--color-line);border-radius:3px;height:6px}.sff .t-bar.g{background:var(--color-accent-500);width:60%}.sff .t-bar.s{background:var(--color-fg-blue)}.sff .t-gantt{gap:5px;margin-top:4px;display:grid}.sff .t-gantt i{background:var(--color-accent-500);border-radius:3px;height:8px;display:block}.sff .t-xl{grid-template-columns:repeat(5,1fr);align-content:start;gap:3px;padding:14px;display:grid}.sff .t-xl i{background:var(--color-surface-raised);border:1px solid var(--color-line-subtle);border-radius:3px;height:18px}.sff .t-xl i.h{background:var(--color-accent-700);border-color:var(--color-accent-700)}.sff .t-xl i.g{background:color-mix(in srgb, var(--color-accent-500) 30%, transparent)}.sff .t-xl i.a{background:color-mix(in srgb, var(--color-warning) 30%, transparent)}.sff .t-xl i.r{background:color-mix(in srgb, var(--color-danger) 30%, transparent)}.sff .t-xl .bars{grid-column:1/-1;gap:4px;margin-top:8px;display:grid}.sff .t-xl .bars b{background:var(--color-accent-500);transform-origin:0;height:7px;transition:transform .6s var(--ease-entrance,ease);border-radius:3px;display:block}.sff .d-card:hover .t-xl .bars b{transform:scaleX(1.08)}.sff .t-dash{grid-template-columns:repeat(3,1fr);align-content:start;gap:8px;padding:14px;display:grid}.sff .t-dash .k{background:var(--color-surface-raised);border:1px solid var(--color-line-subtle);border-radius:var(--radius-sm,4px);padding:8px}.sff .t-dash .k b{font:600 14px var(--font-geist-mono), ui-monospace;color:var(--color-fg);display:block}.sff .t-dash .k i{background:var(--color-accent-500);border-radius:2px;height:4px;margin-top:6px;display:block}.sff .t-dash svg{background:var(--color-surface-raised);border:1px solid var(--color-line-subtle);border-radius:var(--radius-sm,4px);grid-column:1/-1;width:100%;height:92px}.sff .t-dash svg path{fill:none;stroke:var(--color-accent-500);stroke-width:2.5px;stroke-dasharray:300;stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ease-entrance,ease)}.sff .d-card:hover .t-dash svg path{animation:sff-redraw 1.2s var(--ease-entrance,ease)}@keyframes sff-redraw{0%{stroke-dashoffset:300px}to{stroke-dashoffset:0}}.sff .steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid;position:relative}.sff .steps:before{content:"";background:var(--color-line-subtle);height:2px;position:absolute;top:27px;left:8%;right:8%}.sff .steps .prog-line{background:var(--color-accent-500);width:0;height:2px;transition:width 1.4s var(--ease-entrance,ease);position:absolute;top:27px;left:8%}.sff .steps.in .prog-line{width:84%}.sff .step{position:relative}.sff .step .n{background:var(--color-surface-raised);border:2px solid var(--color-line-accent);width:56px;height:56px;font:600 var(--text-s-04,1.125rem) var(--font-geist-mono), ui-monospace;color:var(--color-fg-accent);box-shadow:0 0 0 8px var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.sff .step h3{font-size:var(--text-s-05,1.25rem);margin:20px 0 8px}.sff .step p{color:var(--color-fg-muted);font-size:var(--text-s-02,.875rem);max-width:36ch}@media (max-width:860px){.sff .steps{grid-template-columns:1fr}.sff .steps:before,.sff .steps .prog-line{display:none}}.sff .library{background:var(--color-surface-subtle);border-top:1px solid var(--color-line-subtle);border-bottom:1px solid var(--color-line-subtle)}.sff .plays{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.sff .play-card{text-align:left;border:0;flex-direction:column;gap:8px;padding:20px;display:flex}.sff .play-card .nm{font-size:var(--text-s-05,1.25rem);letter-spacing:var(--text-s-05--letter-spacing,-.011em);color:var(--color-fg);font-weight:600}.sff .play-card .fl{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted)}.sff .play-card .res{font:600 var(--text-s-02,.875rem)/1.25rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-accent);margin-top:auto;padding-top:12px}.sff .play-card .go{font-size:var(--text-s-02,.875rem);color:var(--color-fg-accent);transition:gap var(--duration-base,.2s);align-items:center;gap:6px;font-weight:600;display:inline-flex}.sff .play-card:hover .go{gap:10px}.sff .play-card.ask{background:var(--color-accent-900);border-radius:var(--radius-xl,20px);color:#fff}.sff .play-card.ask .nm{color:#fff}.sff .play-card.ask .fl{color:var(--color-accent-200)}.sff .play-card.ask .go{color:#fff}.sff .mts-card{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;padding:clamp(28px,4.5vw,56px);display:grid}@media (max-width:900px){.sff .mts-card{grid-template-columns:1fr}}.sff .mts-card h2{font-size:var(--text-s-06,1.5rem);line-height:var(--text-s-06--line-height,2rem);letter-spacing:var(--text-s-06--letter-spacing,-.015em);margin:14px 0 16px}@media (min-width:1200px){.sff .mts-card h2{font-size:var(--text-s-07,2rem);line-height:var(--text-s-07--line-height,2.375rem);letter-spacing:var(--text-s-07--letter-spacing,-.02em)}}.sff .mts-card p{color:var(--color-fg-muted);max-width:52ch;margin-bottom:26px}.sff .flow{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.sff .flow span{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;border-radius:var(--radius-xs,2px);border:1px solid var(--color-line);color:var(--color-fg-muted);transition:background-color var(--duration-moderate,.3s), color var(--duration-moderate,.3s), border-color var(--duration-moderate,.3s);padding:7px 12px}.sff .flow span.lit{background:var(--color-accent-700);color:var(--color-fg-on-accent);border-color:#0000}.sff .tickets{background:color-mix(in srgb, var(--color-fg) 4%, transparent);border:1px solid var(--color-line-subtle);border-radius:var(--radius-lg,12px);padding:18px}.sff .ticket{border-top:1px solid var(--color-line-subtle);font-size:var(--text-s-02,.875rem);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.sff .ticket:first-of-type{border-top:0}.sff .ticket small{font:500 var(--text-s-01,.75rem) var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle);display:block}.sff .st{font:600 10px/14px var(--font-geist-mono), ui-monospace;border-radius:var(--radius-xs,2px);flex:none;padding:4px 8px}.sff .st.o{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning)}.sff .st.p{background:color-mix(in srgb, var(--color-fg-blue) 15%, transparent);color:var(--color-fg-blue)}.sff .st.d{background:color-mix(in srgb, var(--color-fg-accent) 15%, transparent);color:var(--color-fg-accent)}.sff .r-hero{isolation:isolate;background:var(--color-surface-subtle);padding-block:var(--spacing-8,40px);position:relative;overflow:hidden}@media (min-width:768px){.sff .r-hero{padding-block:var(--spacing-9,56px)}}.sff .r-eyebrow{border-radius:var(--radius-xs,2px);background:var(--color-accent-900);color:var(--color-fg-on-accent);font-size:var(--text-s-02,.875rem);align-items:center;gap:10px;padding:6px 12px;font-weight:500;display:inline-flex}.sff .r-headline{margin:22px 0 16px}.sff .r-headline:focus{outline:none}.sff .r-headline .accent{color:var(--color-fg-accent)}.sff .r-summary{color:var(--color-fg-muted);font-size:var(--text-s-04,1.125rem);line-height:var(--text-s-04--line-height,1.625rem);max-width:65ch}.sff .r-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.sff .r-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px;display:grid}.sff .r-kpi{border:1px solid var(--color-line-subtle);background:var(--color-surface-raised);border-radius:var(--radius-lg,12px);padding:16px 18px}.sff .r-kpi span{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle)}.sff .r-kpi b{font-size:var(--text-s-04,1.125rem);color:var(--color-fg);margin-top:8px;font-weight:600;line-height:1.3;display:block}.sff .r-kpi b.big{font:500 var(--text-s-07,2rem)/1.1 var(--font-geist-mono), ui-monospace;letter-spacing:-.02em;color:var(--color-fg-accent);font-variant-numeric:tabular-nums}.sff .r-kpi small{font-size:var(--text-s-01,.75rem);color:var(--color-fg-subtle);margin-top:4px;display:block}@media (max-width:900px){.sff .r-kpis{grid-template-columns:1fr 1fr}}@media (max-width:520px){.sff .r-kpis{grid-template-columns:1fr}}.sff .r-body{background:var(--color-surface);padding:48px 0 80px}.sff .r-sec{margin-top:48px}.sff .r-sec:first-child{margin-top:0}.sff .r-sec>h2{margin:16px 0 8px}.sff .r-sec>.sub{color:var(--color-fg-muted);max-width:70ch;margin-bottom:22px}.sff .card{background:var(--color-surface-raised);border:1px solid var(--color-line-subtle);border-radius:var(--radius-lg,12px);padding:24px}.sff .scr{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.sff .scr .card h4{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;margin-bottom:10px}.sff .scr .card p{font-size:var(--text-s-03,1rem)}.sff .scr .s h4{color:var(--color-fg-accent)}.sff .scr .c h4{color:var(--color-warning)}.sff .scr .r h4{color:var(--color-fg-blue)}.sff .scr .r{border-color:var(--color-line)}@media (max-width:900px){.sff .scr{grid-template-columns:1fr}}.sff .hyp{border-collapse:separate;border-spacing:0;width:100%}.sff .hyp th{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);text-align:left;padding:0 14px 12px}.sff .hyp td{border-top:1px solid var(--color-line-subtle);vertical-align:top;font-size:var(--text-s-02,.875rem);padding:16px 14px}.sff .hyp td:first-child{width:52px}.sff .hyp .h{background:var(--color-accent-700);width:32px;height:32px;color:var(--color-fg-on-accent);font:600 var(--text-s-01,.75rem) var(--font-geist-mono), ui-monospace;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.sff .hyp td.t{color:var(--color-fg-muted)}.sff .hyp td.dd{color:var(--color-fg-subtle)}.sff .table-scroll{overflow-x:auto}@media (max-width:760px){.sff .hyp thead{display:none}.sff .hyp tr{grid-template-columns:44px 1fr;display:grid}.sff .hyp td{border-top:0;padding:6px 8px}.sff .hyp td:first-child{border-top:1px solid var(--color-line-subtle);grid-row:span 3;padding-top:16px}.sff .hyp td:nth-child(2){border-top:1px solid var(--color-line-subtle);padding-top:16px;font-weight:600}}.sff .gantt{position:relative}.sff .g-head,.sff .g-row{grid-template-columns:240px 1fr;align-items:center;gap:16px;display:grid}.sff .g-head{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);margin-bottom:8px}.sff .g-weeks{display:grid}.sff .g-weeks span{text-align:center}.sff .g-row{border-top:1px solid var(--color-line-subtle);padding:12px 0}.sff .g-row .nm b{font-size:var(--text-s-03,1rem);display:block}.sff .g-row .nm small{font-size:var(--text-s-01,.75rem);color:var(--color-fg-subtle)}.sff .g-track{background:repeating-linear-gradient(90deg, transparent 0 calc(var(--cw) - 1px), var(--color-line-subtle) calc(var(--cw) - 1px) var(--cw));border-radius:var(--radius-md,8px);height:34px;position:relative}.sff .g-bar{border-radius:var(--radius-sm,4px);background:var(--color-accent-700);color:var(--color-fg-on-accent);font:600 11px/26px var(--font-geist-mono), ui-monospace;white-space:nowrap;transform-origin:0;transition:transform 1s var(--ease-entrance,ease);padding:0 10px;position:absolute;top:4px;bottom:4px;overflow:hidden;transform:scaleX(0)}.sff .g-bar.first{background:var(--color-fg-blue);color:var(--color-fg-inverse)}.sff .in .g-bar{transform:scaleX(1)}.sff .g-exit{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);grid-column:2;margin-top:6px}.sff .g-exit b{color:var(--color-fg-accent);font-weight:600}@media (max-width:760px){.sff .g-head{display:none}.sff .g-row{grid-template-columns:1fr;gap:8px}.sff .g-exit{grid-column:1}}.sff .kbars{gap:18px;display:grid}.sff .kbar .top{font-size:var(--text-s-02,.875rem);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.sff .kbar .top b{font-weight:600}.sff .kbar .top span{font:500 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle)}.sff .kbar .tr{border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-fg) 6%, transparent);height:26px;margin-top:8px;position:relative;overflow:hidden}.sff .kbar .now,.sff .kbar .tg{border-radius:0 var(--radius-sm,4px) var(--radius-sm,4px) 0;transform-origin:0;height:50%;transition:transform 1.1s var(--ease-entrance,ease);position:absolute;left:0;transform:scaleX(0)}.sff .kbar .now{background:color-mix(in srgb, var(--color-fg) 25%, transparent);top:0}.sff .kbar .tg{background:var(--color-accent-500);transition-delay:.25s;bottom:0}.sff .in .kbar .now,.sff .in .kbar .tg{transform:scaleX(1)}.sff .legend{font-size:var(--text-s-01,.75rem);color:var(--color-fg-subtle);flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.sff .legend i{vertical-align:middle;border-radius:2px;width:12px;height:8px;margin-right:6px;display:inline-block}.sff .legend .sw-now{background:color-mix(in srgb, var(--color-fg) 25%, transparent)}.sff .legend .sw-tg{background:var(--color-accent-500)}.sff .two{grid-template-columns:1.15fr .85fr;gap:16px;display:grid}@media (max-width:900px){.sff .two{grid-template-columns:1fr}}.sff .week{background:var(--color-accent-900);color:#fff;border-color:#0000}.sff .week .eyebrow{color:var(--color-accent-200)}.sff .week p{font-size:var(--text-s-05,1.25rem);letter-spacing:var(--text-s-05--letter-spacing,-.011em);margin-top:14px;font-weight:500;line-height:1.45}.sff .why p{color:var(--color-fg-muted);font-size:var(--text-s-03,1rem);margin-top:12px}.sff .why .meta{border-top:1px solid var(--color-line-subtle);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding-top:16px;display:grid}.sff .why .meta span{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;color:var(--color-fg-subtle);display:block}.sff .why .meta b{font-size:var(--text-s-02,.875rem);margin-top:4px;font-weight:600;display:block}.sff .risk{border-top:1px solid var(--color-line-subtle);font-size:var(--text-s-02,.875rem);grid-template-columns:1fr 1fr;gap:16px;padding:14px 0;display:grid}.sff .risk:first-of-type{border-top:0}.sff .risk b{gap:10px;font-weight:600;display:flex}.sff .risk b:before{content:"";background:var(--color-warning);border-radius:2px;flex:none;width:4px}.sff .risk span{color:var(--color-fg-muted)}@media (max-width:640px){.sff .risk{grid-template-columns:1fr;gap:4px}}.sff .dl-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:760px){.sff .dl-grid{grid-template-columns:1fr}}.sff .dl{flex-direction:column;gap:12px;padding:24px;display:flex}.sff .dl.rec{box-shadow:var(--card-shadow,0 30px 60px -32px #000000e6), inset 0 1px 0 var(--card-inner-top,#ffffff17), 0 0 0 2px var(--color-line-accent)}.sff .dl .badge{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;text-transform:uppercase;background:var(--color-accent-700);color:var(--color-fg-on-accent);border-radius:var(--radius-xs,2px);padding:4px 10px;position:absolute;top:-12px;left:20px}.sff .dl h3{font-size:var(--text-s-05,1.25rem)}.sff .dl p{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);flex:1}.sff .dl .ext{font:600 var(--text-s-01,.75rem)/1rem var(--font-geist-mono), ui-monospace;color:var(--color-fg-subtle)}.sff .dl .btn{height:var(--size-control-md,44px)}.sff .dl-extra{border-radius:var(--radius-lg,12px);border:1px dashed var(--color-line);flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;padding:18px 22px;display:flex}.sff .dl-extra p{font-size:var(--text-s-02,.875rem);color:var(--color-fg-muted);flex:1;min-width:220px}.sff .rationale{border-radius:var(--radius-md,8px);background:color-mix(in srgb, var(--color-accent-500) 10%, transparent);color:var(--color-fg-accent);font-size:var(--text-s-02,.875rem);gap:10px;margin-bottom:20px;padding:14px 18px;display:flex}.sff .r-divider{border-top:1px solid var(--color-line);margin:72px 0 0;padding-top:28px}.sff .expert{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding:32px;display:flex}.sff .expert h3{font-size:var(--text-s-05,1.25rem)}.sff .expert p{color:var(--color-fg-muted);font-size:var(--text-s-02,.875rem);margin-top:6px}.sff .loading{z-index:100;-webkit-backdrop-filter:blur(10px);background:#0009;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.sff .loading.on{animation:.25s forwards sff-fadeIn;display:flex}.sff .l-card{background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl,20px);width:100%;max-width:460px;box-shadow:var(--card-shadow,0 30px 60px -32px #000000e6);animation:sff-rise .4s var(--ease-entrance,ease);padding:32px}.sff .l-card h3{font-size:var(--text-s-05,1.25rem);margin-bottom:6px}.sff .l-card .hint{font-size:var(--text-s-02,.875rem);color:var(--color-fg-subtle)}.sff .l-bar{background:color-mix(in srgb, var(--color-fg) 8%, transparent);border-radius:3px;height:6px;margin:22px 0 18px;overflow:hidden}.sff .l-bar i{background:var(--color-accent-500);width:0;height:100%;transition:width .6s var(--ease-standard,ease);border-radius:3px;display:block}.sff .l-steps{gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.sff .l-steps li{font-size:var(--text-s-02,.875rem);color:var(--color-fg-subtle);transition:color var(--duration-moderate,.3s);align-items:center;gap:12px;display:flex}.sff .l-steps li:before{content:"";border:2px solid var(--color-line);width:20px;height:20px;transition:all var(--duration-moderate,.3s);border-radius:50%;flex:none}.sff .l-steps li.act{color:var(--color-fg);font-weight:500}.sff .l-steps li.act:before{border-color:var(--color-accent-500);border-top-color:#0000;animation:.8s linear infinite sff-spin}.sff .l-steps li.done{color:var(--color-fg-muted)}.sff .l-steps li.done:before{border-color:var(--color-accent-500);background:var(--color-accent-500) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12l4 4 8-8'/></svg>") center/12px no-repeat}@keyframes sff-spin{to{transform:rotate(360deg)}}@keyframes sff-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.sff .toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:120;background:var(--color-surface-inverse);max-width:calc(100vw - 32px);color:var(--color-fg-inverse);border-radius:var(--radius-md,8px);font-size:var(--text-s-02,.875rem);box-shadow:var(--card-shadow,0 30px 60px -32px #000000e6);transition:transform .4s var(--ease-entrance,ease);pointer-events:none;padding:12px 20px;font-weight:500;position:fixed;transform:translate(-50%,120px)}.sff .toast.on{transform:translate(-50%)}.sff .toast.err{background:var(--color-danger);color:#fff}.sff .rv{opacity:0;transition:opacity var(--duration-cine-1,.7s) var(--ease-entrance,ease), transform var(--duration-cine-1,.7s) var(--ease-entrance,ease);transition-delay:var(--d,0s);transform:translateY(22px)}.sff .rv.in{opacity:1;transform:none}.sff .hero-in>*{animation:sff-rise .8s var(--ease-entrance,ease) both}.sff .hero-in>:nth-child(2){animation-delay:80ms}.sff .hero-in>:nth-child(3){animation-delay:.16s}.sff .hero-in>:nth-child(4){animation-delay:.24s}.sff .hero-in>:nth-child(5){animation-delay:.32s}.sff .sample{animation:sff-rise 1s .3s var(--ease-entrance,ease) both}@media (prefers-reduced-motion:reduce){.sff .rv{opacity:1;transform:none}.sff .s-chart .line{stroke-dashoffset:0}.sff .s-chart .area{opacity:1}}.sff [hidden]{display:none!important}
