.connection-banner[data-v-0284ddca]{position:fixed;top:0;left:0;right:0;background:var(--color-error);color:#fff;padding:var(--spacing-sm) var(--spacing-md);z-index:9999;box-shadow:var(--shadow-lg)}.banner-content[data-v-0284ddca]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);max-width:1200px;margin:0 auto}.banner-icon[data-v-0284ddca]{font-size:var(--font-size-lg)}.banner-text[data-v-0284ddca]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.slide-down-enter-active[data-v-0284ddca],.slide-down-leave-active[data-v-0284ddca]{transition:transform .3s ease-out}.slide-down-enter-from[data-v-0284ddca],.slide-down-leave-to[data-v-0284ddca]{transform:translateY(-100%)}.pwa-install-prompt[data-v-6c34004f]{position:fixed;bottom:var(--spacing-lg);left:var(--spacing-lg);right:var(--spacing-lg);max-width:500px;margin:0 auto;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-lg);z-index:var(--z-modal);animation:slideUp-6c34004f .3s ease-out}@keyframes slideUp-6c34004f{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.prompt-content[data-v-6c34004f]{display:flex;align-items:center;gap:var(--spacing-md)}.prompt-icon[data-v-6c34004f]{font-size:2.5rem;flex-shrink:0}.prompt-text[data-v-6c34004f]{flex:1}.prompt-text h3[data-v-6c34004f]{margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.prompt-text p[data-v-6c34004f]{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.prompt-actions[data-v-6c34004f]{display:flex;gap:var(--spacing-sm);flex-shrink:0}.install-btn[data-v-6c34004f]{background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.install-btn[data-v-6c34004f]:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.close-btn[data-v-6c34004f]{background:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);width:2.5rem;height:2.5rem;font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-btn[data-v-6c34004f]:hover{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border-hover)}@media(max-width:640px){.pwa-install-prompt[data-v-6c34004f]{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md)}.prompt-content[data-v-6c34004f]{flex-direction:column;text-align:center}.prompt-actions[data-v-6c34004f]{width:100%;justify-content:center}}.modal-backdrop[data-v-b1ed52f1]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.timeout-dialog[data-v-b1ed52f1]{background:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:480px;width:90%;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);animation:slideDown-b1ed52f1 .3s cubic-bezier(.34,1.56,.64,1)}.dialog-icon[data-v-b1ed52f1]{font-size:64px;text-align:center;animation:pulse-b1ed52f1 2s ease-in-out infinite}@keyframes pulse-b1ed52f1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.dialog-content[data-v-b1ed52f1]{display:flex;flex-direction:column;gap:var(--spacing-md);text-align:center}.dialog-title[data-v-b1ed52f1]{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dialog-message[data-v-b1ed52f1]{margin:0;font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.countdown-display[data-v-b1ed52f1]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.countdown-circle[data-v-b1ed52f1]{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--color-warning),var(--color-error));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(var(--color-warning-rgb, 251, 191, 36),.3);position:relative}.countdown-circle[data-v-b1ed52f1]:before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--color-background)}.countdown-time[data-v-b1ed52f1]{font-size:32px;font-weight:var(--font-weight-bold);color:var(--color-warning);position:relative;z-index:1;font-variant-numeric:tabular-nums}.countdown-label[data-v-b1ed52f1]{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dialog-instruction[data-v-b1ed52f1]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog-actions[data-v-b1ed52f1]{display:flex;gap:var(--spacing-md);justify-content:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.btn-primary[data-v-b1ed52f1],.btn-secondary[data-v-b1ed52f1]{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;max-width:180px}.btn-primary[data-v-b1ed52f1]{background:var(--color-primary);color:#fff}.btn-primary[data-v-b1ed52f1]:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary[data-v-b1ed52f1]{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary[data-v-b1ed52f1]:hover{background:var(--color-border);color:var(--color-text-primary)}.modal-enter-active[data-v-b1ed52f1],.modal-leave-active[data-v-b1ed52f1]{transition:opacity .3s ease}.modal-enter-from[data-v-b1ed52f1],.modal-leave-to[data-v-b1ed52f1]{opacity:0}.modal-enter-active .timeout-dialog[data-v-b1ed52f1]{animation:slideDown-b1ed52f1 .3s cubic-bezier(.34,1.56,.64,1)}.modal-leave-active .timeout-dialog[data-v-b1ed52f1]{animation:slideUp-b1ed52f1 .3s ease}@keyframes slideDown-b1ed52f1{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp-b1ed52f1{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.95)}}.timeout-dialog.has-unsaved-changes[data-v-b1ed52f1]{border:2px solid var(--color-error);box-shadow:0 8px 40px rgba(var(--color-error-rgb, 239, 68, 68),.3)}.dialog-icon.shake[data-v-b1ed52f1]{animation:shake-b1ed52f1 .5s ease-in-out infinite,pulse-b1ed52f1 2s ease-in-out infinite}@keyframes shake-b1ed52f1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-5px) scale(1.05)}75%{transform:translate(5px) scale(1.05)}}.unsaved-warning[data-v-b1ed52f1]{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:rgba(var(--color-error-rgb, 239, 68, 68),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);text-align:left;margin:var(--spacing-sm) 0}.warning-icon[data-v-b1ed52f1]{font-size:24px;flex-shrink:0}.warning-content[data-v-b1ed52f1]{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.countdown-circle.urgent[data-v-b1ed52f1]{background:linear-gradient(135deg,var(--color-error),#dc2626);box-shadow:0 4px 20px rgba(var(--color-error-rgb, 239, 68, 68),.5);animation:pulse-urgent-b1ed52f1 1s ease-in-out infinite}.countdown-circle.urgent .countdown-time[data-v-b1ed52f1]{color:var(--color-error)}@keyframes pulse-urgent-b1ed52f1{0%,to{transform:scale(1);box-shadow:0 4px 20px rgba(var(--color-error-rgb, 239, 68, 68),.5)}50%{transform:scale(1.05);box-shadow:0 4px 30px rgba(var(--color-error-rgb, 239, 68, 68),.7)}}.btn-danger[data-v-b1ed52f1]{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;max-width:180px;background:var(--color-surface);color:var(--color-error);border:1px solid var(--color-error)}.btn-danger[data-v-b1ed52f1]:hover{background:var(--color-error);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}@media(max-width:640px){.timeout-dialog[data-v-b1ed52f1]{padding:var(--spacing-lg);max-width:95%}.dialog-icon[data-v-b1ed52f1]{font-size:48px}.countdown-circle[data-v-b1ed52f1]{width:100px;height:100px}.countdown-time[data-v-b1ed52f1]{font-size:28px}.dialog-actions[data-v-b1ed52f1]{flex-direction:column}.btn-primary[data-v-b1ed52f1],.btn-secondary[data-v-b1ed52f1]{max-width:100%}}.toast-container[data-v-2aaa5066]{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;pointer-events:none}.toast[data-v-2aaa5066]{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);cursor:pointer;pointer-events:auto;min-width:300px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid;transition:all var(--transition-base)}.toast[data-v-2aaa5066]:hover{transform:translate(-4px);box-shadow:var(--shadow-2xl)}.toast-icon[data-v-2aaa5066]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.toast-message[data-v-2aaa5066]{flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.toast-close[data-v-2aaa5066]{background:transparent;border:none;font-size:var(--font-size-2xl);line-height:1;cursor:pointer;padding:0;opacity:.6;transition:opacity var(--transition-base);color:inherit;flex-shrink:0}.toast-close[data-v-2aaa5066]:hover{opacity:1}.toast-success[data-v-2aaa5066]{background:#22c55ef2;color:#fff;border-color:#22c55e}.toast-success .toast-icon[data-v-2aaa5066]{background:#fff3}.toast-error[data-v-2aaa5066]{background:#ef4444f2;color:#fff;border-color:#ef4444}.toast-error .toast-icon[data-v-2aaa5066]{background:#fff3}.toast-warning[data-v-2aaa5066]{background:#fb923cf2;color:#fff;border-color:#fb923c}.toast-warning .toast-icon[data-v-2aaa5066]{background:#fff3}.toast-info[data-v-2aaa5066]{background:#3b82f6f2;color:#fff;border-color:#3b82f6}.toast-info .toast-icon[data-v-2aaa5066]{background:#fff3}.toast-enter-active[data-v-2aaa5066],.toast-leave-active[data-v-2aaa5066]{transition:all .3s ease}.toast-enter-from[data-v-2aaa5066]{opacity:0;transform:translate(100px)}.toast-leave-to[data-v-2aaa5066]{opacity:0;transform:translate(100px) scale(.8)}@media(max-width:480px){.toast-container[data-v-2aaa5066]{top:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}.toast[data-v-2aaa5066]{min-width:auto}}.app[data-v-4e6d0669]{min-height:100vh;background-color:var(--color-background)}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;max-width:100vw}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{width:100%;min-height:100vh}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--color-primary: #646cff;--color-primary-hover: #535bf2;--color-primary-light: #8087ff;--color-primary-dark: #4a52cc;--color-secondary: #42b983;--color-secondary-hover: #33a372;--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-background: #ffffff;--color-surface: #f7fafc;--color-surface-elevated: #ffffff;--color-text-primary: #213547;--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-hover: #cbd5e1;--color-success: #10b981;--color-success-rgb: 16, 185, 129;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-rgb: 245, 158, 11;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-rgb: 239, 68, 68;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-info-rgb: 59, 130, 246;--color-info-light: #dbeafe;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--color-primary: #8087ff;--color-primary-hover: #9ca3ff;--color-primary-light: #a5abff;--color-primary-dark: #646cff;--color-secondary: #4ade80;--color-secondary-hover: #5eea8f;--color-accent: #fbbf24;--color-accent-hover: #fcd34d;--color-background: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-hover: #475569;--color-success: #22c55e;--color-success-rgb: 34, 197, 94;--color-success-light: #166534;--color-warning: #fbbf24;--color-warning-rgb: 251, 191, 36;--color-warning-light: #854d0e;--color-error: #f87171;--color-error-rgb: 248, 113, 113;--color-error-light: #991b1b;--color-info: #60a5fa;--color-info-rgb: 96, 165, 250;--color-info-light: #1e3a8a;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .3)}*{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}body{margin:0;padding:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.field-warning{display:block;color:var(--color-warning);font-size:var(--font-size-sm)}
