@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-header: rgba(15, 15, 15, .85);--bg-glass: rgba(255, 255, 255, .05);--bg-banner: #A0E9FF;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--text-muted: #666666;--text-invert: #000000;--accent-blue: #3b82f6;--accent-purple: #8b5cf6;--accent-gradient: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--accent-shine: linear-gradient(45deg, transparent 25%, rgba(255,255,255,.1) 50%, transparent 75%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font-family: "Inter", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px rgba(0,0,0,.1);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.2);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.3);--shadow-glow: 0 0 20px rgba(59, 130, 246, .15)}body{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1440px;margin:0 auto;padding:0 24px;width:100%;box-sizing:border-box}button{background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;padding:0;transition:all .2s ease}a{text-decoration:none;color:inherit;transition:color .2s ease}img{max-width:100%;display:block}.glass{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.p-4{padding:16px}.w-full{width:100%}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-muted{color:var(--text-secondary)}.relative{position:relative}.absolute{position:absolute}.rounded-full{border-radius:var(--radius-full)}.overflow-hidden{overflow:hidden}.app-toast-host{--z-app-toast: 100001;position:fixed;top:calc(env(safe-area-inset-top,0px) + 76px);right:20px;z-index:var(--z-app-toast);width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 96px);display:flex;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;pointer-events:none;scrollbar-gutter:stable}.app-toast,.app-toast-overflow{pointer-events:auto;color:var(--text-primary);background:#1a1a1ae0;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #0000006b,0 0 20px #3b82f614;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-toast{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:flex-start;min-height:44px;padding:10px 10px 10px 13px;border-radius:var(--radius-md);overflow:hidden;animation:appToastSlideIn .22s cubic-bezier(.16,1,.3,1)}.app-toast--persistent{border-color:#ef444447;background:#1a1212eb;box-shadow:0 16px 44px #00000070,0 0 24px #ef44441a}.app-toast-overflow{align-self:flex-end;max-width:100%;padding:6px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;line-height:1.5}.app-toast__accent{position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent-blue)}.app-toast--success .app-toast__accent,.app-toast--success .app-toast__icon{color:#10b981}.app-toast--error .app-toast__accent,.app-toast--error .app-toast__icon{color:#ef4444}.app-toast--info .app-toast__accent,.app-toast--info .app-toast__icon,.app-toast--loading .app-toast__accent,.app-toast--loading .app-toast__icon{color:#60a5fa}.app-toast--warning .app-toast__accent,.app-toast--warning .app-toast__icon{color:#f59e0b}.app-toast--success .app-toast__accent{background:#10b981}.app-toast--error .app-toast__accent{background:#ef4444}.app-toast--info .app-toast__accent,.app-toast--loading .app-toast__accent{background:#60a5fa}.app-toast--warning .app-toast__accent{background:#f59e0b}.app-toast__icon{display:flex;align-items:center;justify-content:center;margin-top:2px}.app-toast__spinner{animation:appToastSpin .8s linear infinite}.app-toast__content{min-width:0}.app-toast__title{margin-bottom:2px;font-size:13px;font-weight:600;line-height:1.4}.app-toast__message{color:var(--text-secondary);font-size:13px;line-height:1.5;white-space:pre-line;word-break:break-word}.app-toast__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:-4px;color:var(--text-secondary);border-radius:var(--radius-sm)}.app-toast__close:hover{color:var(--text-primary);background:#ffffff14}.app-toast__close:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@keyframes appToastSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes appToastSpin{to{transform:rotate(360deg)}}@media(max-width:640px){.app-toast-host{top:calc(env(safe-area-inset-top,0px) + 72px);right:12px;left:12px;width:auto;max-height:calc(100vh - 88px)}.app-toast-overflow{align-self:center}}.app-dialog-overlay{--z-app-dialog: 100002;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-app-dialog);display:flex;align-items:center;justify-content:center;padding:24px;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:appDialogFadeIn .18s ease}.app-dialog{width:min(420px,calc(100vw - 32px));color:var(--text-primary);background:#1a1a1af5;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0009;overflow:hidden;animation:appDialogScaleIn .2s cubic-bezier(.16,1,.3,1)}.app-dialog__header{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:10px;align-items:center;padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.app-dialog__icon,.app-dialog__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm)}.app-dialog__icon{color:#60a5fa;background:#60a5fa1f}.app-dialog--warning .app-dialog__icon{color:#f59e0b;background:#f59e0b24}.app-dialog--danger .app-dialog__icon{color:#ef4444;background:#ef444424}.app-dialog__header h2{min-width:0;margin:0;font-size:16px;font-weight:600;line-height:1.4}.app-dialog__close{color:var(--text-secondary)}.app-dialog__close:hover{color:var(--text-primary);background:#ffffff14}.app-dialog__message{padding:16px;color:var(--text-secondary);font-size:14px;line-height:1.6;white-space:pre-line;word-break:break-word}.app-dialog__field{display:grid;gap:8px;padding:0 16px 16px;color:var(--text-secondary);font-size:13px;line-height:1.5}.app-dialog__input{width:100%;min-width:0;height:42px;padding:10px 12px;color:var(--text-primary);font-size:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);outline:none;transition:border-color .2s,background .2s}.app-dialog__input:focus{background:#ffffff12;border-color:#3b82f68c}.app-dialog__input::placeholder{color:var(--text-muted)}.app-dialog__actions{display:flex;justify-content:flex-end;gap:10px;padding:0 16px 16px}.app-dialog__button{min-width:88px;min-height:40px;padding:9px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:600;transition:background .2s,transform .2s,opacity .2s}.app-dialog__button:hover{transform:translateY(-1px)}.app-dialog__button:disabled{cursor:not-allowed;opacity:.45;transform:none}.app-dialog__button:focus-visible,.app-dialog__close:focus-visible,.app-dialog__input:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.app-dialog__button--secondary{color:var(--text-primary);background:#ffffff1a}.app-dialog__button--secondary:hover{background:#ffffff26}.app-dialog__button--primary{color:#fff;background:var(--accent-blue)}.app-dialog__button--primary:hover{background:#2563eb}.app-dialog--warning .app-dialog__button--primary{background:#f59e0b}.app-dialog--warning .app-dialog__button--primary:hover{background:#d97706}.app-dialog--danger .app-dialog__button--primary{background:#ef4444}.app-dialog--danger .app-dialog__button--primary:hover{background:#dc2626}@keyframes appDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes appDialogScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:640px){.app-dialog-overlay{align-items:flex-end;padding:16px}.app-dialog{width:100%}.app-dialog__actions{flex-direction:column-reverse}.app-dialog__button{width:100%}}
