*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#07090f;color:#dfe6f2;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#stage,#stage canvas{position:fixed;inset:0;width:100%;height:100%}#stage canvas{display:block;cursor:none}#cursor-ring{position:fixed;top:0;left:0;border:1.5px solid rgba(255,255,255,.75);box-shadow:0 0 6px #0009,inset 0 0 6px #00000059;border-radius:50%;pointer-events:none;opacity:0;z-index:30;transition:opacity .2s}#ui{position:fixed;inset:0;pointer-events:none;z-index:40}#splash-root{position:fixed;inset:0;z-index:50;pointer-events:none}#splash-root>*{pointer-events:auto}:root{--glass: rgba(14, 17, 27, .58);--glass-strong: rgba(11, 14, 23, .82);--line: rgba(255, 255, 255, .09);--line-bright: rgba(255, 255, 255, .18);--text: #e9eef8;--dim: #93a0b6;--amber: #f2b653;--amber-deep: #c98a2e;--danger: #ff5d5d;--radius: 16px;--spring: cubic-bezier(.34, 1.56, .64, 1);--ease: cubic-bezier(.22, .8, .3, 1);--sa-t: env(safe-area-inset-top, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px);--sa-r: env(safe-area-inset-right, 0px)}.sf-ui,.sf-splash{color:var(--text);font-size:14px}.sf-glass,.sf-glass-strong{background:var(--glass);-webkit-backdrop-filter:blur(16px) saturate(1.35);backdrop-filter:blur(16px) saturate(1.35);border:1px solid var(--line);box-shadow:0 12px 32px #0000006b,inset 0 1px #ffffff12}.sf-glass-strong{background:var(--glass-strong)}.sf-btn{min-width:40px;min-height:40px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text);font:inherit;cursor:pointer;position:relative;transition:background .15s var(--ease),transform .18s var(--spring),opacity .2s,color .15s,border-color .15s,box-shadow .2s}.sf-btn:hover{background:#ffffff12}.sf-btn:active{transform:scale(.9)}.sf-btn:disabled{opacity:.32;pointer-events:none}.sf-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sf-btn.dim{color:var(--dim)}.sf-btn.attention{color:var(--amber);background:#f2b65321;border-color:#f2b65359;box-shadow:0 0 14px #f2b65338}.sf-btn.confirm{color:var(--danger);background:#ff5d5d24;border-color:#ff5d5d73;box-shadow:0 0 14px #ff5d5d4d;animation:sf-pulse 1.1s ease-in-out infinite}.sf-btn.collapsed{min-width:0;width:0;padding:0;margin:0 -3px;opacity:0;pointer-events:none;overflow:hidden}.sf-ic{display:block}.sf-toolbar{position:fixed;top:calc(var(--sa-t) + 10px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:3px;padding:5px;border-radius:999px;max-width:calc(100vw - 16px - var(--sa-l) - var(--sa-r));overflow-x:auto;scrollbar-width:none;pointer-events:auto;animation:sf-drop-in .55s var(--spring) backwards}.sf-toolbar::-webkit-scrollbar{display:none}.sf-toolbar.scrollable,.sf-tabs.scrollable,.sf-chips.scrollable{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.sf-sep{flex:0 0 1px;align-self:stretch;margin:8px 3px;background:var(--line)}.sf-speed{font-weight:700;font-size:13px;letter-spacing:.02em;min-width:44px;color:var(--amber)}.sf-speed.pop{animation:sf-pop .3s var(--spring)}.sf-brush-btn{position:relative}.sf-brush-badge{position:absolute;bottom:3px;right:3px;font-size:9px;font-weight:700;line-height:1;padding:2px 4px;border-radius:6px;background:#f2b653e6;color:#201503;pointer-events:none}.sf-popover{position:fixed;z-index:46;width:200px;padding:14px;border-radius:var(--radius);display:none;flex-direction:column;gap:12px;pointer-events:auto}.sf-popover.open{display:flex;animation:sf-modal-in .28s var(--spring)}.sf-pop-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.sf-pop-head b{font-size:16px;color:var(--amber)}.sf-seg{display:flex;gap:4px;padding:3px;border-radius:11px;background:#0000004d;border:1px solid var(--line)}.sf-seg button{flex:1;min-height:34px;border:none;border-radius:8px;background:transparent;color:var(--dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .18s var(--spring)}.sf-seg button:active{transform:scale(.92)}.sf-seg button.active{background:#f2b6532e;color:var(--amber);box-shadow:inset 0 0 0 1px #f2b65366}.sf-brush-preview{width:100%;height:96px;border-radius:10px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 100% 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 8px 100%,#00000059;border:1px solid var(--line)}.sf-range{-webkit-appearance:none;appearance:none;width:100%;height:26px;background:transparent;cursor:pointer}.sf-range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--amber-deep),var(--amber));box-shadow:inset 0 1px 2px #00000080}.sf-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#fff4dd;border:2px solid var(--amber);box-shadow:0 0 10px #f2b6538c;transition:transform .18s var(--spring)}.sf-range::-webkit-slider-thumb:active{transform:scale(1.25)}.sf-range::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--amber-deep),var(--amber))}.sf-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff4dd;border:2px solid var(--amber)}.sf-dock{position:fixed;bottom:calc(var(--sa-b) + 10px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;max-width:calc(100vw - 12px - var(--sa-l) - var(--sa-r));pointer-events:none;animation:sf-rise-in .55s var(--spring) .08s backwards}.sf-dock>*{pointer-events:auto}.sf-tabs{display:flex;gap:2px;padding:4px;border-radius:999px;max-width:100%;overflow-x:auto;scrollbar-width:none}.sf-tabs::-webkit-scrollbar{display:none}.sf-tab{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--dim);font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s var(--spring),box-shadow .2s}.sf-tab:active{transform:scale(.94)}.sf-cat-dot{width:8px;height:8px;border-radius:50%;background:var(--cat, #888);box-shadow:0 0 6px var(--cat, transparent);flex:none}.sf-tab.active{color:var(--text);background:color-mix(in srgb,var(--cat) 16%,transparent);border-color:color-mix(in srgb,var(--cat) 45%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--cat) 25%,transparent)}.sf-chips{display:flex;align-items:stretch;gap:6px;padding:8px;border-radius:var(--radius);max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.sf-chips::-webkit-scrollbar{height:4px}.sf-chips::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:2px}.sf-chip{flex:none;width:62px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 4px 6px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--dim);font:inherit;cursor:pointer;transition:background .15s,transform .18s var(--spring),border-color .2s,box-shadow .25s,color .15s}.sf-chip.enter{animation:sf-chip-in .32s var(--spring) backwards}.sf-chip:hover{background:#ffffff0f;color:var(--text)}.sf-chip:active{transform:scale(.9)}.sf-chip.pinned{position:sticky;left:0;z-index:2;background:var(--glass-strong);box-shadow:6px 0 12px -6px #0009}.sf-chip.selected{color:var(--text);border-color:color-mix(in srgb,var(--cat) 80%,white 10%);background:color-mix(in srgb,var(--cat) 13%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--cat) 60%,transparent),0 4px 18px color-mix(in srgb,var(--cat) 40%,transparent);animation:sf-pop .32s var(--spring)}.sf-swatch{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff38,inset 0 -6px 10px #00000047;position:relative;overflow:hidden;flex:none}.sf-swatch:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.3),transparent 42%)}.sf-swatch.small{width:22px;height:22px;border-radius:7px}.sf-swatch.erase{background:repeating-linear-gradient(45deg,rgba(255,255,255,.14) 0 5px,transparent 5px 10px),#ffffff0d}.sf-swatch.erase:before{content:"";position:absolute;inset:22%;border:1.6px dashed rgba(255,255,255,.6);border-radius:50%}.sf-chip-label{font-size:10.5px;font-weight:600;letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-stats{position:fixed;top:calc(var(--sa-t) + 12px);left:calc(var(--sa-l) + 12px);display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--dim);pointer-events:none;transition:opacity .25s,transform .3s var(--spring)}.sf-stats.hidden{opacity:0;transform:translateY(-8px)}.sf-stats-fps{color:var(--amber)}.sf-stats-dot{width:3px;height:3px;border-radius:50%;background:var(--dim)}.sf-tooltip{position:fixed;z-index:48;max-width:230px;padding:8px 11px;border-radius:11px;background:var(--glass-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line-bright);box-shadow:0 10px 26px #00000080;font-size:12px;line-height:1.45;pointer-events:none;opacity:0;transform:translateY(4px) scale(.96);transition:opacity .16s var(--ease),transform .22s var(--spring)}.sf-tooltip.below{transform:translateY(-4px) scale(.96)}.sf-tooltip.show{opacity:1;transform:translateY(0) scale(1)}.sf-tooltip b{display:block;color:var(--text);font-size:12.5px}.sf-tooltip span{color:var(--dim)}.sf-toasts{position:fixed;top:calc(var(--sa-t) + 68px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:50;pointer-events:none}.sf-toast{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;pointer-events:auto;cursor:default;animation:sf-drop-in .4s var(--spring)}.sf-toast.leaving{animation:sf-fade-up .26s var(--ease) forwards}.sf-toast-ic{display:flex;color:var(--amber)}.sf-toast-act{margin-left:4px;padding:6px 14px;border:none;border-radius:999px;background:linear-gradient(180deg,#ffd98c,var(--amber));color:#241804;font:inherit;font-weight:700;cursor:pointer;transition:transform .18s var(--spring),filter .15s}.sf-toast-act:hover{filter:brightness(1.08)}.sf-toast-act:active{transform:scale(.92)}.sf-modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:calc(var(--sa-t) + 20px) 16px calc(var(--sa-b) + 20px);background:#04060b8c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:49;pointer-events:none}.sf-modal-overlay.open{display:flex;pointer-events:auto;animation:sf-fade-in .2s var(--ease)}.sf-modal-overlay.closing{animation:sf-fade-out .19s var(--ease) forwards}.sf-modal-overlay.closing .sf-modal{animation:sf-modal-out .19s var(--ease) forwards}.sf-modal{width:min(660px,100%);max-height:100%;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;animation:sf-modal-in .34s var(--spring)}.sf-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 12px 12px 22px;border-bottom:1px solid var(--line)}.sf-modal-head h2{font-size:17px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(180deg,#fff,#c8b48a);-webkit-background-clip:text;background-clip:text;color:transparent}.sf-modal-body{padding:18px 22px 22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sf-modal-body::-webkit-scrollbar{width:6px}.sf-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sf-modal-foot{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.sf-dim-note{color:var(--dim);font-size:12.5px;margin-top:14px;text-align:center}.sf-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.sf-slot{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;transition:border-color .2s,background .2s,transform .2s var(--spring)}.sf-slot:hover{border-color:var(--line-bright);background:#ffffff0d}.sf-slot-thumb{aspect-ratio:16 / 10;border-radius:9px;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,rgba(242,182,83,.1),transparent 55%),#0006;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.sf-slot-thumb img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.sf-slot-num{font-size:24px;font-weight:800;color:#ffffff1f}.sf-slot-name{font-size:13px;font-weight:600}.sf-slot.empty .sf-slot-name{color:var(--dim);font-weight:500}.sf-slot-when{font-size:11px;color:var(--dim)}.sf-slot-actions{display:flex;gap:5px;margin-top:2px}.sf-mini-btn{min-height:40px;padding:0 12px;border:1px solid var(--line-bright);border-radius:9px;background:#ffffff0d;color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,transform .18s var(--spring),border-color .15s}.sf-mini-btn:hover{background:#ffffff1a}.sf-mini-btn:active{transform:scale(.93)}.sf-mini-btn.primary{background:linear-gradient(180deg,#f2b65347,#f2b65324);border-color:#f2b65380;color:#ffdf9e}.sf-mini-btn.confirm{color:var(--danger);background:#ff5d5d24;border-color:#ff5d5d73;animation:sf-pulse 1.1s ease-in-out infinite}.sf-scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.sf-scenario-card{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .22s var(--spring),box-shadow .25s}.sf-scenario-card:hover{transform:translateY(-3px);border-color:var(--line-bright);box-shadow:0 14px 30px #0006}.sf-scenario-card:active{transform:scale(.96)}.sf-scenario-art{aspect-ratio:16 / 9;border-radius:9px;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #fff3,inset 0 -14px 24px #0000004d}.sf-scenario-label{font-size:14px;font-weight:700}.sf-scenario-desc{font-size:12px;color:var(--dim);line-height:1.45}.sf-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 10px;text-align:center}.sf-empty-ic{color:var(--dim);opacity:.6}.sf-help-blurb{color:var(--dim);line-height:1.55;margin-bottom:18px}.sf-section-title{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:20px 0 10px}.sf-controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 18px}.sf-control-row{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:8px;background:#ffffff08;font-size:12.5px}.sf-control-row .k{font-weight:600}.sf-control-row .v{color:var(--dim);text-align:right}.sf-cat-title{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;margin:16px 0 8px;color:color-mix(in srgb,var(--cat) 70%,white)}.sf-cat-count{font-size:10.5px;font-weight:700;color:var(--dim);background:#ffffff0f;border-radius:99px;padding:2px 8px}.sf-ency-grid{display:flex;flex-direction:column;gap:3px}.sf-ency-row{display:grid;grid-template-columns:26px 92px 1fr;align-items:center;gap:10px;padding:5px 8px;border-radius:8px;font-size:12.5px}.sf-ency-row:hover{background:#ffffff0a}.sf-ency-name{font-weight:600}.sf-ency-desc{color:var(--dim);line-height:1.4}.sf-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid var(--line)}.sf-setting-row:last-of-type{border-bottom:none}.sf-setting-text{display:flex;flex-direction:column;gap:2px}.sf-setting-text small{color:var(--dim);font-size:11.5px}.sf-setting-row .sf-range{width:160px;flex:none}.sf-switch{flex:none;width:52px;height:30px;border-radius:999px;border:1px solid var(--line-bright);background:#00000059;cursor:pointer;position:relative;transition:background .22s,border-color .22s,box-shadow .25s}.sf-switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#aab6cc;transition:transform .28s var(--spring),background .2s}.sf-switch.on{background:linear-gradient(180deg,#f2b6538c,#c98a2e8c);border-color:#f2b65399;box-shadow:0 0 14px #f2b65340}.sf-switch.on i{transform:translate(22px);background:#fff4dd}.sf-about{margin-top:18px;font-size:11.5px;color:var(--dim);line-height:1.5}.sf-splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(130% 90% at 50% 12%,#141b2d,#0a0e18 52%,#05070c);overflow:hidden}.sf-splash.leaving{animation:sf-splash-out .5s var(--ease) forwards}.sf-splash-canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.sf-splash-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 45% at 50% 62%,rgba(242,182,83,.08),transparent 70%),radial-gradient(120% 100% at 50% 118%,rgba(4,6,10,.9),transparent 55%),repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px);animation:sf-veil 7s ease-in-out infinite alternate}.sf-splash-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px;text-align:center;transform:translateY(-4vh)}.sf-wordmark{display:flex;font-size:clamp(42px,9.5vw,96px);font-weight:800;letter-spacing:.18em;margin-right:-.18em;line-height:1;filter:drop-shadow(0 6px 26px rgba(242,182,83,.28))}.sf-wordmark span{background:linear-gradient(180deg,#fff8ea 8%,#f4c56d,#b0762b 96%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:sf-letter-in .7s var(--spring) calc(var(--i) * 55ms) backwards,sf-shimmer 5.5s ease-in-out calc(var(--i) * .14s + 1.4s) infinite}.sf-sub{font-size:clamp(11px,2.4vw,14px);letter-spacing:.42em;margin-right:-.42em;text-transform:uppercase;color:var(--dim);animation:sf-fade-rise .8s var(--ease) .5s backwards}.sf-splash-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:26px;animation:sf-fade-rise .8s var(--ease) .7s backwards}.sf-cta{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:0 34px;border:none;border-radius:999px;background:linear-gradient(180deg,#ffd98c,#f2b653 55%,#d99a35);color:#241804;font:inherit;font-size:16px;font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 34px #f2b65361,inset 0 1px #ffffffa6;transition:transform .2s var(--spring),box-shadow .25s,filter .15s;animation:sf-cta-glow 3s ease-in-out infinite}.sf-cta:hover{transform:scale(1.05);filter:brightness(1.06)}.sf-cta:active{transform:scale(.94)}.sf-ghost{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 22px;border:1px solid var(--line-bright);border-radius:999px;background:#0e111b80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,transform .2s var(--spring)}.sf-ghost:hover{background:#ffffff17;border-color:#ffffff4d}.sf-ghost:active{transform:scale(.94)}.sf-install-hint{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:8px 16px;min-height:36px;border:1px dashed rgba(242,182,83,.4);border-radius:999px;background:#0c0f18b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--amber);font:inherit;font-size:12px;cursor:pointer;animation:sf-fade-rise .8s var(--ease) 1s backwards;transition:background .18s,transform .2s var(--spring)}.sf-install-hint:hover{border-color:#f2b653bf;background:#181610d1}.sf-version{position:absolute;bottom:calc(var(--sa-b) + 12px);right:calc(var(--sa-r) + 16px);font-size:11px;color:#93a0b68c}.sf-toolbar,.sf-dock,.sf-stats{transition:opacity .25s var(--ease),transform .3s var(--spring)}body.sf-drawing .sf-toolbar,body.sf-drawing .sf-dock,body.sf-drawing .sf-stats:not(.hidden){opacity:.12}body.sf-drawing .sf-dock,body.sf-drawing .sf-dock>*{pointer-events:none}body.sf-drawing .sf-dock{transform:translate(-50%) translateY(8px)}@keyframes sf-pop{0%{transform:scale(.82)}60%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes sf-chip-in{0%{opacity:0;transform:translateY(10px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sf-drop-in{0%{opacity:0;transform:translate(-50%) translateY(-16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes sf-rise-in{0%{opacity:0;transform:translate(-50%) translateY(18px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes sf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sf-fade-out{0%{opacity:1}to{opacity:0}}@keyframes sf-fade-up{to{opacity:0;transform:translateY(-10px) scale(.94)}}@keyframes sf-fade-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sf-modal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sf-modal-out{to{opacity:0;transform:scale(.95) translateY(8px)}}@keyframes sf-pulse{0%,to{box-shadow:0 0 8px #ff5d5d40}50%{box-shadow:0 0 18px #ff5d5d80}}@keyframes sf-letter-in{0%{opacity:0;transform:translateY(26px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sf-shimmer{0%,88%,to{filter:brightness(1)}93%{filter:brightness(1.35)}}@keyframes sf-cta-glow{0%,to{box-shadow:0 10px 34px #f2b65361,inset 0 1px #ffffffa6}50%{box-shadow:0 10px 44px #f2b65399,inset 0 1px #ffffffa6}}@keyframes sf-veil{0%{opacity:.85}to{opacity:1}}@keyframes sf-splash-out{to{opacity:0;transform:scale(1.04)}}@media (max-width: 940px){.sf-stats{top:calc(var(--sa-t) + 62px)}}@media (max-width: 720px){.sf-toolbar{flex-wrap:wrap;justify-content:center;overflow-x:visible;border-radius:16px}.sf-toasts{top:calc(var(--sa-t) + 62px);left:auto;right:12px;transform:none;align-items:flex-end}.sf-toast{white-space:normal}.sf-modal{width:100%}.sf-modal-body{padding:14px 16px 18px}.sf-ency-row{grid-template-columns:26px 78px 1fr}}@media (max-width: 480px){.sf-scenario-art{aspect-ratio:21 / 9;max-height:110px}}@media (max-height: 500px) and (orientation: landscape){.sf-stats{top:calc(var(--sa-t) + 62px)}.sf-dock{flex-direction:row;align-items:flex-end;gap:6px}.sf-tabs{flex-direction:column;padding:5px;border-radius:18px;overflow-y:auto;max-height:min(60vh,calc(100vh - 160px))}.sf-tabs.scrollable{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16px,#000 calc(100% - 16px),transparent 100%)}.sf-tab{min-height:34px;padding:0 10px}.sf-tab span{display:none}.sf-chip{width:50px;padding:5px 3px 4px}.sf-chip-label{font-size:9px}.sf-swatch{width:28px;height:28px}.sf-toolbar{top:calc(var(--sa-t) + 6px)}.sf-splash-content{transform:translateY(0);gap:8px}.sf-splash-actions{margin-top:12px}}@media (prefers-reduced-motion: reduce){.sf-ui *,.sf-splash *{animation-duration:.01s!important;transition-duration:.01s!important}}
