:root{--ffd-primary:var(--main-primary);--ffd-primary-rgb:var(--main-primary-rgb);--ffd-text:var(--main-gray-800);--ffd-text-muted:var(--main-gray-500);--ffd-bg:var(--main-bg-primary);--ffd-border:var(--main-gray-200);--ffd-shadow:0 4px 24px #00000014;--ffd-radius:var(--main-radius);--ffd-radius-lg:var(--main-radius-lg);--ffd-pill-bg:var(--main-gray-100);--ffd-pill-active-bg:var(--main-primary);--ffd-pill-active-text:var(--main-white,#fff);--ffd-fullscreen-bg:#1b1b2f}._ffd-container{max-width:720px;min-height:400px;margin:0 auto}body.app-fullscreen-mode ._ffd-container{max-width:none;min-height:100vh;background:var(--ffd-fullscreen-bg);min-height:100dvh;padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));box-sizing:border-box;-webkit-overflow-scrolling:touch;justify-content:center;align-items:center;display:flex;overflow-y:auto}body.app-fullscreen-mode ._ffd-dialog{width:100%;max-width:520px}@media (max-width:768px){._ffd-container{padding-left:1rem;padding-right:1rem}}._ffd-setup{background:var(--ffd-bg);border-radius:var(--ffd-radius-lg);padding:var(--main-space-6);box-shadow:var(--ffd-shadow);border-style:solid;border-width:1px;border-color:var(--ffd-border)}._ffd-setup-section{margin-bottom:var(--main-space-5)}._ffd-label{font-size:var(--main-text-sm);color:var(--ffd-text);margin-bottom:var(--main-space-2);font-weight:600;display:block}._ffd-pill-group{flex-wrap:wrap;gap:.5rem;display:flex}._ffd-pill{border-radius:var(--main-radius-full);background:var(--ffd-pill-bg);min-height:36px;color:var(--ffd-text);font-size:var(--main-text-sm);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;padding:.5rem 1rem;font-weight:500;transition:opacity .15s,background .15s,color .15s}._ffd-pill:hover{opacity:.85}._ffd-pill-active{background:var(--ffd-pill-active-bg);color:var(--ffd-pill-active-text)}._ffd-checkbox-label{min-height:32px;font-size:var(--main-text-sm);color:var(--ffd-text);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;gap:.5rem;display:inline-flex}._ffd-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--ffd-primary);cursor:pointer;flex-shrink:0}._ffd-start-btn{background:var(--ffd-primary);width:100%;min-height:44px;color:var(--main-white,#fff);border-radius:var(--ffd-radius);font-size:var(--main-text-base);cursor:pointer;box-shadow:0 2px 8px rgba(var(--ffd-primary-rgb), .25);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;display:flex}._ffd-start-btn:hover{opacity:.9}._ffd-start-btn svg{width:16px;height:16px}@media (max-width:480px){._ffd-pill{min-height:36px;font-size:var(--main-text-xs);padding:.5rem .75rem}._ffd-pill-group{gap:.4rem}}._ffd-dialog{min-height:300px;overflow:hidden}._ffd-dlg-header{-webkit-user-select:none;user-select:none;align-items:center;display:flex}._ffd-dlg-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}._ffd-mac-dots,._ffd-win-btns,._ffd-linux-close,._ffd-progress-stop,._ffd-toggle-details,._ffd-stat-summary{display:none}._ffd-mac-dots{align-items:center;gap:8px}._ffd-mac-dot{border-radius:50%;width:12px;height:12px}._ffd-mac-dot-close{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#ff5f56;position:relative}._ffd-mac-dot-close:before{content:"";position:absolute;top:-10px;bottom:-10px;left:-10px;right:-10px}._ffd-mac-dot-min{background:#ffbd2e}._ffd-mac-dot-max{background:#27c93f}._ffd-win-btns{align-items:center;margin-left:auto}._ffd-win-btn{cursor:default;justify-content:center;align-items:center;width:46px;height:32px;font-size:.65rem;display:flex}._ffd-win-btn:hover{background:#0000000a}._ffd-win-btn-close{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}._ffd-win-btn-close:hover{color:#fff;background:#e81123}._ffd-linux-close{cursor:pointer;width:32px;height:32px;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:.7rem}._ffd-linux-close:hover{background:#ffffff1f}._ffd-dlg-body{padding:1rem 1.5rem 1.25rem}._ffd-anim{border-bottom:1px solid #e0e0e0;justify-content:center;align-items:center;gap:.75rem;min-height:56px;margin-bottom:.75rem;padding:.75rem 0 1rem;display:flex}._ffd-anim-icon{border-radius:3px;width:42px;height:34px;position:relative}._ffd-anim-src{background:#f5c542;box-shadow:inset 0 -2px #00000014}._ffd-anim-src:before{content:"";background:#f5c542;border-radius:2px 2px 0 0;width:16px;height:5px;position:absolute;top:-5px;left:0}._ffd-anim-dst{background:#f5c542;box-shadow:inset 0 -2px #00000014}._ffd-anim-dst:before{content:"";background:#f5c542;border-radius:2px 2px 0 0;width:16px;height:5px;position:absolute;top:-5px;left:0}._ffd-dialog[data-op=delete] ._ffd-anim-dst{box-shadow:none;background:#b0b0b0;border-radius:2px 2px 5px 5px;width:36px;height:38px}._ffd-dialog[data-op=delete] ._ffd-anim-dst:before{background:#a0a0a0;border-radius:2px;width:42px;height:4px;top:-5px;left:-3px}._ffd-dialog[data-op=format] ._ffd-anim{display:none}._ffd-anim-trail{width:50px;height:28px;position:relative;overflow:hidden}._ffd-anim-file{background:#fff;border:1px solid silver;border-radius:1px;width:18px;height:22px;animation:1s ease-in-out infinite ffd-fly;position:absolute;top:3px}._ffd-anim-file:after{content:"";background:linear-gradient(135deg,silver 50%,#0000 50%);width:5px;height:5px;position:absolute;top:0;right:0}@keyframes ffd-fly{0%{opacity:0;left:-5px}15%{opacity:1}85%{opacity:1}to{opacity:0;left:37px}}._ffd-info{margin-bottom:.75rem}._ffd-info-label{margin-bottom:.2rem;font-size:.8rem;line-height:1.4}._ffd-info-file{word-break:break-all;font-size:.75rem;line-height:1.3}._ffd-progress{align-items:center;gap:.625rem;margin-bottom:.75rem;display:flex}._ffd-progress-track{flex:1;overflow:hidden}._ffd-progress-fill{width:0%;height:100%;transition:width .3s}._ffd-progress-pct{font-family:var(--main-font-mono);text-align:right;min-width:2.25rem}._ffd-progress-stop{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;line-height:1;position:relative}._ffd-progress-stop:before{content:"";position:absolute;top:-10px;bottom:-10px;left:-10px;right:-10px}._ffd-toggle-details{cursor:pointer;color:#06c;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:.375rem;min-height:32px;margin-bottom:.5rem;padding:.375rem 0;font-size:.8rem}._ffd-toggle-details:hover{color:#003d80}._ffd-toggle-arrow{font-size:.65rem}._ffd-stat-summary{text-align:center;margin-bottom:1rem;font-size:.75rem;line-height:1.6}._ffd-stats{margin-bottom:.75rem}._ffd-stat-row{justify-content:space-between;padding:.125rem 0;font-size:.75rem;display:flex}._ffd-stat-label{opacity:.65}._ffd-stat-value{font-family:var(--main-font-mono);font-size:.7rem}._ffd-error{border-radius:3px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.4rem .75rem;font-size:.75rem;display:flex}._ffd-error-icon{flex-shrink:0}._ffd-error-text{word-break:break-all}._ffd-actions{justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}._ffd-btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:.375rem;display:flex}._ffd-btn svg{width:14px;height:14px}._ffd-dialog[data-os=windows]{background:#f0f0f0;border:1px solid #0078d4;border-radius:0;font-family:Segoe UI,Tahoma,sans-serif;box-shadow:0 0 0 1px #0000001a,0 4px 16px #00000026}._ffd-dialog[data-os=windows] ._ffd-dlg-header{color:#1a1a1a;background:#fff;border-bottom:1px solid #e5e5e5;min-height:32px;padding:0}._ffd-dialog[data-os=windows] ._ffd-win-btns{display:flex}._ffd-dialog[data-os=windows] ._ffd-dlg-title{color:#333;padding-left:12px;font-size:.75rem}._ffd-dialog[data-os=windows] ._ffd-dlg-body{color:#1a1a1a;padding:.75rem 1.25rem 1rem}._ffd-dialog[data-os=windows] ._ffd-info-label{color:#444;font-size:.78rem}._ffd-dialog[data-os=windows] ._ffd-info-file{color:#1a1a1a;font-family:Segoe UI,Tahoma,sans-serif;font-size:.78rem}._ffd-dialog[data-os=windows] ._ffd-progress-track{background:#e6e6e6;border:1px solid #bcbcbc;border-radius:0;height:22px}._ffd-dialog[data-os=windows] ._ffd-progress-fill{background-color:#06b025;background-image:linear-gradient(-45deg,#fff3 25%,#0000 25% 50%,#fff3 50% 75%,#0000 75%,#0000);background-size:28px 28px;border-radius:0;animation:.6s linear infinite ffd-win-stripes}@keyframes ffd-win-stripes{0%{background-position:0 0}to{background-position:28px 0}}._ffd-dialog[data-os=windows] ._ffd-progress-pct{color:#444;font-size:.75rem}._ffd-dialog[data-os=windows] ._ffd-toggle-details{display:flex}._ffd-dialog[data-os=windows] ._ffd-stats{display:none}._ffd-dialog[data-os=windows]._ffd-details-open ._ffd-stats{border-top:1px solid #d5d5d5;padding-top:.5rem;display:block}._ffd-dialog[data-os=windows] ._ffd-stat-label{color:#666}._ffd-dialog[data-os=windows] ._ffd-stat-value{color:#1a1a1a;font-family:Segoe UI,Tahoma,sans-serif}._ffd-dialog[data-os=windows] ._ffd-error{color:#5d4e37;background:#fff8e1;border:1px solid #e6c35c;border-radius:0}._ffd-dialog[data-os=windows] ._ffd-btn{border-radius:0;padding:.375rem 1.5rem;font-family:Segoe UI,Tahoma,sans-serif;font-size:.8rem;font-weight:400}._ffd-dialog[data-os=windows] ._ffd-btn-primary{color:#1a1a1a;background:#e1e1e1;border:1px solid #adadad}._ffd-dialog[data-os=windows] ._ffd-btn-primary:hover{background:#c8c8c8;border-color:#0078d4}._ffd-dialog[data-os=windows] ._ffd-btn-secondary{color:#1a1a1a;background:#e1e1e1;border:1px solid #adadad}._ffd-dialog[data-os=windows] ._ffd-btn-secondary:hover{background:#c8c8c8;border-color:#0078d4}._ffd-dialog[data-os=windows] ._ffd-anim{border-bottom-color:#d5d5d5}._ffd-dialog[data-os=macos]{background:#ececec;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;box-shadow:0 0 0 .5px #0000001f,0 10px 40px #0003}._ffd-dialog[data-os=macos] ._ffd-dlg-header{background:linear-gradient(#e8e8e8 0%,#d6d6d6 100%);border-bottom:1px solid #b8b8b8;border-radius:10px 10px 0 0;min-height:38px;padding:0 14px}._ffd-dialog[data-os=macos] ._ffd-mac-dots{display:flex}._ffd-dialog[data-os=macos] ._ffd-dlg-title{text-align:center;color:#3d3d3d;letter-spacing:-.01em;font-size:.8rem;font-weight:600}._ffd-dialog[data-os=macos] ._ffd-dlg-body{color:#333;padding:1.25rem 1.75rem 1.5rem}._ffd-dialog[data-os=macos] ._ffd-anim{display:none}._ffd-dialog[data-os=macos] ._ffd-info{text-align:center;margin-bottom:1rem}._ffd-dialog[data-os=macos] ._ffd-info-label{color:#1d1d1f;font-size:.82rem;font-weight:500}._ffd-dialog[data-os=macos] ._ffd-info-file{color:#6e6e73;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;font-size:.75rem}._ffd-dialog[data-os=macos] ._ffd-progress{margin-bottom:1rem}._ffd-dialog[data-os=macos] ._ffd-progress-track{background:#d2d2d7;border-radius:2.5px;height:5px}._ffd-dialog[data-os=macos] ._ffd-progress-fill{background:#007aff;border-radius:2.5px}._ffd-dialog[data-os=macos] ._ffd-progress-pct{display:none}._ffd-dialog[data-os=macos] ._ffd-progress-stop{color:#fff;background:#8e8e93;display:flex}._ffd-dialog[data-os=macos] ._ffd-progress-stop:hover{background:#636366}._ffd-dialog[data-os=macos] ._ffd-stat-summary{color:#86868b;display:block}._ffd-dialog[data-os=macos] ._ffd-stats{display:none}._ffd-dialog[data-os=macos] ._ffd-error{color:#ff3b30;background:#ff3b3014;border-radius:6px}._ffd-dialog[data-os=macos] ._ffd-btn-secondary{display:none}._ffd-dialog[data-os=macos] ._ffd-actions{justify-content:center}._ffd-dialog[data-os=macos] ._ffd-btn{font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;font-size:.82rem;font-weight:400}._ffd-dialog[data-os=macos] ._ffd-btn-primary{color:#fff;background:#007aff;border-radius:6px;padding:.375rem 1.75rem}._ffd-dialog[data-os=macos] ._ffd-btn-primary:hover{opacity:.88}._ffd-dialog[data-os=linux]{background:#fafafa;border-radius:12px;font-family:Cantarell,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Helvetica Neue,sans-serif;box-shadow:0 0 0 1px #0000000f,0 8px 32px #0000002e}._ffd-dialog[data-os=linux] ._ffd-dlg-header{color:#fff;background:#303030;border-radius:12px 12px 0 0;min-height:42px;padding:0 6px 0 16px}._ffd-dialog[data-os=linux] ._ffd-dlg-title{text-align:center;color:#fff;font-size:.85rem;font-weight:700}._ffd-dialog[data-os=linux] ._ffd-linux-close{color:#fff;display:flex}._ffd-dialog[data-os=linux] ._ffd-dlg-body{color:#2e3436;padding:1.25rem 1.5rem}._ffd-dialog[data-os=linux] ._ffd-anim{display:none}._ffd-dialog[data-os=linux] ._ffd-info-label{color:#5e5c64;font-size:.82rem}._ffd-dialog[data-os=linux] ._ffd-info-file{color:#1c71d8;font-family:Cantarell,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Helvetica Neue,sans-serif;font-size:.82rem;font-weight:500}._ffd-dialog[data-os=linux] ._ffd-progress-track{background:#d4d4d4;border-radius:99px;height:6px}._ffd-dialog[data-os=linux] ._ffd-progress-fill{background:#3584e4;border-radius:99px}._ffd-dialog[data-os=linux] ._ffd-progress-pct{color:#5e5c64;font-size:.75rem}._ffd-dialog[data-os=linux] ._ffd-stat-label{color:#77767b}._ffd-dialog[data-os=linux] ._ffd-stat-value{color:#2e3436;font-family:Cantarell,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Helvetica Neue,sans-serif;font-size:.72rem}._ffd-dialog[data-os=linux] ._ffd-error{color:#a47900;background:#fdf3d7;border:1px solid #f5d565;border-radius:6px}._ffd-dialog[data-os=linux] ._ffd-btn-secondary{display:none}._ffd-dialog[data-os=linux] ._ffd-btn{font-family:Cantarell,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Helvetica Neue,sans-serif;font-size:.82rem;font-weight:500}._ffd-dialog[data-os=linux] ._ffd-btn-primary{color:#fff;background:#3584e4;border-radius:8px;padding:.5rem 1.75rem}._ffd-dialog[data-os=linux] ._ffd-btn-primary:hover{opacity:.9}@media (max-width:768px){._ffd-dialog{min-height:260px}._ffd-dlg-body{padding:.875rem 1rem 1rem}._ffd-anim-icon{width:34px;height:28px}._ffd-anim-trail{width:36px}._ffd-dialog[data-os=windows] ._ffd-dlg-body{padding:.75rem .875rem .875rem}._ffd-dialog[data-os=macos] ._ffd-dlg-body{padding:1rem 1.125rem 1.125rem}._ffd-dialog[data-os=linux] ._ffd-dlg-body{padding:1rem}._ffd-dialog[data-os=windows] ._ffd-btn{min-height:38px;padding:.5rem 1.25rem}._ffd-dialog[data-os=macos] ._ffd-btn-primary{min-height:38px;padding:.5rem 1.5rem}._ffd-dialog[data-os=linux] ._ffd-btn-primary{min-height:40px;padding:.625rem 1.5rem}._ffd-linux-close{width:36px;height:36px}._ffd-dlg-title{font-size:.78rem}}@media (max-width:480px){._ffd-dlg-body{padding:.75rem .875rem .875rem}._ffd-anim{gap:.5rem;min-height:48px;margin-bottom:.5rem;padding:.5rem 0 .75rem}._ffd-anim-icon{width:30px;height:24px}._ffd-anim-trail{width:32px}._ffd-info-label,._ffd-info-file{font-size:.78rem}._ffd-stat-row{gap:.5rem;font-size:.72rem}._ffd-stat-value{text-align:right;font-size:.68rem}._ffd-actions{flex-direction:column-reverse;align-items:stretch}._ffd-dialog[data-os=windows] ._ffd-btn,._ffd-dialog[data-os=linux] ._ffd-btn,._ffd-dialog[data-os=macos] ._ffd-btn{width:100%}._ffd-dialog[data-os=macos] ._ffd-actions{align-items:stretch}._ffd-dialog[data-os=windows] ._ffd-dlg-title{padding-left:8px;font-size:.7rem}._ffd-dialog[data-os=windows] ._ffd-win-btn{width:38px}}
