.toast-stack-container[data-v-b84fe6c7]{z-index:99999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 36px);max-width:420px;display:flex;position:fixed;top:18px;right:18px}.toast-item-wrapper[data-v-b84fe6c7]{pointer-events:auto}.toast-alert[data-v-b84fe6c7]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff1f;background:#0f172ae6!important;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080!important}.toast-text[data-v-b84fe6c7]{color:#f8fafc;word-break:break-word;font-size:13.5px;font-weight:500;line-height:1.4}.toast-slide-enter-active[data-v-b84fe6c7],.toast-slide-leave-active[data-v-b84fe6c7]{transition:all .3s cubic-bezier(.16,1,.3,1)}.toast-slide-enter-from[data-v-b84fe6c7]{opacity:0;transform:translate(40px)scale(.95)}.toast-slide-leave-to[data-v-b84fe6c7]{opacity:0;transform:translate(30px)scale(.9)}.toast-slide-move[data-v-b84fe6c7]{transition:transform .25s}:root{--bg-base:#0f1117;--bg-surface:#171a23;--bg-card:#1f2330;--bg-hover:#2a3042;--primary:#3b82f6;--primary-hover:#2563eb;--primary-light:#3b82f626;--accent:#8b5cf6;--danger:#ef4444;--success:#10b981;--warning:#f59e0b;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#6b7280;--border-subtle:#ffffff1a;--border-active:#3b82f680;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font-family-base:"Sarabun", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono:"JetBrains Mono", monospace;--border-color:#2b3145;--border-focus:#3b82f6;--text-subtle:#64748b;--accent-primary:#3b82f6;--accent-primary-hover:#2563eb;--accent-danger:#ef4444;--shadow-lg:0 10px 25px -5px #0009, 0 8px 10px -6px #0009;--font-family:"Plus Jakarta Sans", "Sarabun", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html,body{-webkit-tap-highlight-color:transparent;width:100%;min-height:100%}body{font-family:var(--font-family);background:var(--bg-base);color:var(--text-main);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#app{flex-direction:column;width:100%;min-height:100dvh;display:flex}button:not([class*=v-]),.btn{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}button:not([class*=v-]):hover,.btn:hover{background:var(--bg-hover);border-color:#3e4763}button:not([class*=v-]).primary,.btn.primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}button:not([class*=v-]).primary:hover,.btn.primary:hover{background:var(--accent-primary-hover)}button:not([class*=v-]).danger,.btn.danger{color:#fca5a5;background:#ef444426;border-color:#ef444466}button:not([class*=v-]).danger:hover,.btn.danger:hover{background:#ef444440}.toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 16px;transition:all .3s;display:flex}.toolbar.hidden{display:none}.toolbar-left{flex:1;align-items:center;gap:10px;max-width:40%;display:flex;overflow:hidden}.toolbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.file-badge{background:var(--accent-primary);color:#fff;letter-spacing:.5px;border-radius:var(--radius-sm);flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.file-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.separator{background:var(--border-color);width:1px;height:24px}#toastContainer{z-index:99999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;pointer-events:none;padding:10px 18px;font-size:13px;font-weight:500;animation:.25s toastIn}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:900;background:#000000a6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.app-modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90vw;max-width:540px;max-height:85vh;box-shadow:var(--shadow-lg);padding:20px;animation:.25s slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.modal-header h4{color:var(--text-main);font-size:14px;font-weight:600}.modal-close-btn{color:var(--text-muted);cursor:pointer;padding:0 4px;font-size:16px;background:0 0!important;border:none!important}.modal-close-btn:hover{color:var(--text-main);background:0 0!important}.meta-table{border-collapse:collapse;width:100%;font-size:13px}.meta-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);padding:6px 10px;font-size:11px;font-weight:600}.meta-table td{vertical-align:middle;border-bottom:1px solid #2b314580;padding:8px 10px}.meta-table td.key{color:var(--text-muted);width:42%;font-size:12px;font-weight:500}.meta-table td.val{color:var(--text-main);font-weight:600}.meta-table tr:hover{background:var(--bg-card)}.state-container{text-align:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:520px;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:36px;animation:.3s ease-in-out fadeIn;display:flex}.state-icon{font-size:46px}.state-title{font-size:18px;font-weight:600}.state-desc{color:var(--text-muted);word-break:break-word;font-size:13.5px;line-height:1.6}.spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
