.install-prompt{animation:slide-up-centered .3s ease-out;background:#fff;border-radius:12px;bottom:20px;box-shadow:0 4px 12px #00000026;left:50%;max-width:400px;position:fixed;transform:translateX(-50%);width:calc(100% - 40px);z-index:var(--z-install-prompt)}@keyframes slide-up-centered{0%{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.install-prompt-content{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:var(--space-4) var(--space-5)}.install-prompt-text strong{color:var(--gray-800);display:block;font-size:16px;font-weight:600;margin-bottom:var(--space-1)}.install-prompt-text p{color:var(--gray-500);font-size:14px;margin:0}.install-prompt-actions{align-items:center;display:flex;gap:12px}.install-button{background:var(--periwinkle-700);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:var(--space-2) var(--space-5);transition:background .2s}.install-button:hover{background:var(--periwinkle-800)}.dismiss-button{align-items:center;background:none;border:none;color:var(--gray-400);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:color .2s;width:32px}.dismiss-button:hover{color:var(--gray-500)}@media (max-width:480px){.install-prompt{bottom:10px;width:calc(100% - 20px)}.install-prompt-content{padding:var(--space-3) var(--space-4)}.install-prompt-text strong{font-size:15px}.install-prompt-text p{font-size:13px}}:root{--periwinkle-50:#f4f7fe;--periwinkle-100:#e9effc;--periwinkle-200:#dfe7fb;--periwinkle-300:#d4dff9;--periwinkle-400:#c9d7f8;--periwinkle-500:#c9d7f8;--periwinkle-600:#799cee;--periwinkle-700:#2a62e3;--periwinkle-800:#153e9f;--periwinkle-900:#0a1f4f;--indigo-50:#b9ddfb;--indigo-100:#73bbf6;--indigo-200:#2d99f2;--indigo-300:#0d73c7;--indigo-400:#084b83;--indigo-500:#084b83;--indigo-600:#073c68;--indigo-700:#052d4e;--indigo-800:#031e34;--indigo-900:#020f1a;--lapis-50:#c6e1f0;--lapis-100:#8dc3e1;--lapis-200:#53a5d1;--lapis-300:#2e81ae;--lapis-400:#1f5673;--lapis-500:#1f5673;--lapis-600:#19455d;--lapis-700:#133446;--lapis-800:#0c232f;--lapis-900:#061117;--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--gray-50:#f9fafb;--page-bg:#f8f9fc;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--color-success:#10b981;--color-success-light:#d1fae5;--color-success-dark:#047857;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-warning-dark:#b45309;--color-error:#dc2626;--color-error-light:#fee2e2;--color-error-dark:#991b1b;--color-info:var(--indigo-500);--white:#fff;--black:#000;--glass-bg:#ffffffd9;--glass-bg-subtle:#ffffffb3;--glass-border:#ffffff80;--glass-blur:16px;--glass-blur-subtle:12px;--glass-shadow:0 4px 12px #00000014,0 12px 32px #0000001f;--glass-shadow-subtle:0 2px 8px #00000014,0 4px 16px #0000000a;--glass-dark-bg:#ffffff26;--glass-dark-bg-hover:#ffffff40;--glass-dark-border:#ffffff40;--glass-dark-border-hover:#fff6;--glass-dark-text:#ffffffe6;--glass-dark-text-muted:#ffffffb3;--glass-field-bg:#ffffff4d;--glass-field-bg-hover:#fff6;--glass-field-bg-focus:#ffffff80;--glass-field-border:#ffffff80;--glass-field-border-hover:#fff9;--glass-card-bg:#ffffff40;--glass-card-bg-hover:#ffffff59;--glass-card-border:#fff6;--glass-badge-bg:#fff6;--glass-badge-bg-hover:#ffffff8c;--glass-divider:#ffffff4d;--glass-active-bg:#073c68e6;--glass-active-bg-hover:#052d4ef2;--glass-active-border:#073c6880;--focus-ring-color:var(--indigo-400);--focus-ring-shadow:0 0 0 3px #084b8333;--overlay-bg:#0f172a66;--overlay-blur:8px;--gradient-primary:linear-gradient(135deg,var(--indigo-500) 0%,var(--indigo-600) 100%);--gradient-header:linear-gradient(to right,var(--indigo-500) 0%,var(--lapis-500) 100%);--gradient-hero:linear-gradient(to bottom right,var(--periwinkle-100) 0%,var(--periwinkle-50) 50%,var(--indigo-50) 100%);--gradient-card:linear-gradient(to bottom right,#fff 0%,var(--periwinkle-50) 100%);--gradient-overlay:linear-gradient(90deg,#084b830d 0%,#1f56731a);--gradient-interactive:linear-gradient(135deg,#667eea,#764ba2);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-minimal:0 1px 3px #00000014,0 1px 2px #0000000f;--shadow-minimal-lg:0 4px 6px #00000012,0 2px 4px #0000000d;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--font-sans:-apple-system,blinkmacsystemfont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Helvetica Neue",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.75rem;--text-4xl:2rem;--text-5xl:3rem;--text-6xl:3.5rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.6;--leading-loose:2;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-all:all 200ms ease;--breakpoint-mobile:30rem;--breakpoint-tablet:48rem;--breakpoint-desktop:64rem;--breakpoint-wide:80rem;--z-floating-btn:90;--z-floating-panel:95;--z-map:100;--z-metadata:200;--z-overlay-controls:500;--z-header:600;--z-dialog:1000;--z-bottom-sheet-mobile:1050;--z-modal:1100;--z-toast:1100;--z-install-prompt:9999}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--periwinkle-50);color:var(--lapis-700);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed)}#root,body,html{height:100%;width:100%}h1{color:var(--indigo-900);font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.01em;line-height:var(--leading-tight)}h2{font-size:var(--text-2xl);letter-spacing:-.01em}h2,h3{color:var(--indigo-800);font-weight:var(--font-semibold);line-height:var(--leading-snug)}h3{font-size:var(--text-xl)}h4{color:var(--indigo-900);font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-normal)}p{color:var(--lapis-700);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}a{color:inherit;text-decoration:none;transition:var(--transition-base)}button{cursor:pointer;font-family:inherit;transition:var(--transition-all)}input,select,textarea{font-family:inherit;font-size:var(--text-base);transition:var(--transition-base)}.gradient-primary{background:var(--gradient-primary)}.gradient-header{background:var(--gradient-header)}.gradient-card{background:var(--gradient-card)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up-modal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slide-in{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fade-in .3s ease-out}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--indigo-500);outline-offset:2px}a:focus-visible,button:focus-visible{outline:4px solid var(--indigo-100);outline-offset:2px}.error-message{align-items:center;background:linear-gradient(90deg,#ef44441a,#ef44440d);border-left:4px solid var(--periwinkle-600);border-radius:var(--radius-md);color:var(--periwinkle-700);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-3);justify-content:space-between;line-height:var(--leading-relaxed);margin-bottom:var(--space-6);padding:var(--space-4)}.error-message button{background:none;border:none;color:var(--periwinkle-600);cursor:pointer;flex-shrink:0;font-size:var(--text-xl);padding:0;transition:var(--transition-all)}.error-message button:hover{color:var(--periwinkle-800);transform:scale(1.1)}.success-message{background:linear-gradient(90deg,#10b9811a,#10b9810d);border-left:4px solid var(--color-success);color:var(--color-success-dark)}.info-message,.success-message{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);padding:var(--space-4)}.info-message{background:linear-gradient(90deg,#084b831a,#084b830d);border-left:4px solid var(--indigo-500);color:var(--indigo-800)}.toast-notification{animation:slide-in var(--transition-slow) ease-out;background:var(--gradient-interactive);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:#fff;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-4) var(--space-6);position:fixed;right:20px;top:20px;z-index:var(--z-toast)}.error-boundary-container{font-family:var(--font-sans);margin:0 auto;margin-top:var(--space-24);max-width:600px;padding:var(--space-10);text-align:center}.error-boundary-title{color:var(--color-error);margin-bottom:var(--space-5)}.error-boundary-description{color:var(--gray-600);line-height:var(--leading-relaxed)}.error-boundary-actions,.error-boundary-description{margin-bottom:var(--space-8)}.error-boundary-btn{border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--text-base);margin-right:var(--space-2);padding:var(--space-3) var(--space-6);transition:var(--transition-all)}.error-boundary-btn-primary{background:var(--gradient-interactive)}.error-boundary-btn-primary:hover{opacity:.9}.error-boundary-btn-secondary{background-color:var(--gray-500)}.error-boundary-btn-secondary:hover{background-color:var(--gray-600)}.error-boundary-details{background-color:var(--gray-50);border-radius:var(--radius-md);margin-top:var(--space-5);padding:var(--space-4);text-align:left}.error-boundary-details-summary{color:var(--gray-700);cursor:pointer;font-weight:var(--font-bold)}.error-boundary-details-error{color:var(--color-error)}.error-boundary-details-error,.error-boundary-details-stack{font-size:var(--text-xs);margin-top:var(--space-2);overflow:auto}.error-boundary-details-stack{color:var(--gray-600)}.form-group{margin-bottom:var(--space-5)}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--indigo-900);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.01em;margin-bottom:var(--space-2)}.form-group input,.form-group select,.form-group textarea{background:var(--periwinkle-50);border:2px solid var(--periwinkle-300);border-radius:var(--radius-md);color:var(--indigo-900);font-family:inherit;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:var(--transition-base);width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--periwinkle-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--indigo-500);box-shadow:0 0 0 4px var(--indigo-50);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--periwinkle-50);cursor:not-allowed;opacity:.6}.form-group textarea{min-height:80px;resize:vertical}.btn,.form-group select{cursor:pointer}.btn{border:none;border-radius:var(--radius-md);display:inline-block;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-5);text-align:center;transition:var(--transition-all)}.btn-primary{background:var(--gradient-primary);border:none;box-shadow:var(--shadow-sm);color:var(--periwinkle-50)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary{background:var(--periwinkle-200);border:2px solid var(--periwinkle-300);color:var(--indigo-900)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary:hover:not(:disabled){background:var(--periwinkle-300);border-color:var(--indigo-400);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-primary.disabled,.btn-secondary.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-danger{background:var(--color-error);border:none;box-shadow:var(--shadow-sm);color:var(--periwinkle-50)}.btn-danger:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.btn-lg{font-size:var(--text-lg);padding:var(--space-4) var(--space-8)}.btn-block{display:block;width:100%}.modal-overlay{align-items:center;animation:overlay-fade-in .2s ease-out;backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));background:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-dialog)}@keyframes overlay-fade-in{0%{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(var(--overlay-blur));-webkit-backdrop-filter:blur(var(--overlay-blur));opacity:1}}.modal-content{animation:modal-enter .25s cubic-bezier(.16,1,.3,1);background:var(--white);border:none;border-radius:var(--radius-xl);box-shadow:0 0 0 1px #00000008,0 2px 4px #00000008,0 12px 24px #0000000f,0 24px 48px #00000017;display:flex;flex-direction:column;max-height:85vh;max-width:480px;overflow:hidden;width:90%}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content-right{animation:modal-slide-in .25s cubic-bezier(.16,1,.3,1);background:var(--white);border:none;border-radius:var(--radius-xl);box-shadow:0 0 0 1px #00000008,0 2px 4px #00000008,0 12px 24px #0000000f,0 24px 48px #00000017;max-height:calc(100vh - 40px);overflow:hidden;position:fixed;right:20px;top:20px;width:420px;z-index:var(--z-modal)}@keyframes modal-slide-in{0%{opacity:0;transform:translateX(12px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.modal-header{align-items:center;background:#0000;border-bottom:1px solid #0000000f;display:flex;justify-content:space-between;padding:var(--space-5) var(--space-6)}.modal-header h2{color:var(--indigo-900);font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:-.01em;line-height:1.3;margin:0}.modal-close-btn{align-items:center;background:var(--periwinkle-100);border:none;border-radius:var(--radius-full);color:var(--lapis-600);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-lg);font-weight:var(--font-medium);height:32px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:32px}.modal-close-btn svg{height:16px;width:16px}.modal-close-btn:hover{background:var(--periwinkle-200);color:var(--indigo-700);transform:rotate(90deg)}.modal-close-btn:active{transform:rotate(90deg) scale(.9)}.modal-body{background:#0000;flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-6)}.modal-footer{background:#0000;border-top:1px solid #0000000f;display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-4) var(--space-6)}.visually-hidden{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.01d0e013.css.map*/