@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap);.install-prompt-overlay[data-v-36fcc929]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4)}.install-prompt-modal[data-v-36fcc929]{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:2px solid var(--color-border);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn-36fcc929 .3s ease-out}@keyframes modalSlideIn-36fcc929{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.install-prompt-header[data-v-36fcc929]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-border)}.install-prompt-header h3[data-v-36fcc929]{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0}.close-button[data-v-36fcc929]{background:none;border:none;font-size:var(--text-2xl);color:var(--color-text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius);transition:var(--transition);line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.close-button[data-v-36fcc929]:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.install-prompt-content[data-v-36fcc929]{padding:var(--space-6);text-align:center}.install-icon[data-v-36fcc929]{font-size:var(--text-4xl);margin-bottom:var(--space-4)}.install-description[data-v-36fcc929]{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.install-steps[data-v-36fcc929]{text-align:left;margin-bottom:var(--space-6)}.step[data-v-36fcc929]{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.step[data-v-36fcc929]:last-child{margin-bottom:0}.step-number[data-v-36fcc929]{background:var(--color-accent-primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;flex-shrink:0;margin-top:2px}.step-text[data-v-36fcc929]{font-size:var(--text-sm);color:var(--color-text-primary);line-height:var(--leading-relaxed)}.share-icon[data-v-36fcc929]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--text-lg);color:var(--color-accent-primary)}.install-prompt-actions[data-v-36fcc929]{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--color-border);flex-wrap:wrap}.install-prompt-actions button[data-v-36fcc929]{flex:1;min-width:120px}@media (max-width:768px){.install-prompt-overlay[data-v-36fcc929]{padding:var(--space-3)}.install-prompt-modal[data-v-36fcc929]{max-height:85vh}.install-prompt-header[data-v-36fcc929]{padding:var(--space-4) var(--space-4) var(--space-3)}.install-prompt-content[data-v-36fcc929]{padding:var(--space-4)}.install-prompt-actions[data-v-36fcc929]{flex-direction:column;padding:var(--space-3) var(--space-4) var(--space-4)}.install-prompt-actions button[data-v-36fcc929]{min-width:unset}.step[data-v-36fcc929]{gap:var(--space-2)}.step-text[data-v-36fcc929]{font-size:var(--text-xs)}}@media (max-width:480px){.install-prompt-header h3[data-v-36fcc929]{font-size:var(--text-lg)}.install-description[data-v-36fcc929]{font-size:var(--text-sm)}}.app-footer[data-v-ba34016a]{background:var(--color-surface);border-top:2px solid var(--color-border);padding:var(--space-6) var(--space-8);margin-top:auto;box-shadow:var(--shadow-md)}.footer-content[data-v-ba34016a]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.footer-section[data-v-ba34016a]{display:flex;align-items:center}.copyright[data-v-ba34016a]{color:var(--color-text-muted);font-family:Inter,sans-serif;font-size:var(--text-sm);margin:0;font-weight:400}.footer-links[data-v-ba34016a]{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.footer-link[data-v-ba34016a]{color:var(--color-text-secondary);text-decoration:none;font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:500;padding:var(--space-2) var(--space-3);border-radius:var(--radius);transition:var(--transition);white-space:nowrap}.footer-link[data-v-ba34016a]:hover{color:var(--color-text-primary);background:var(--color-surface-secondary)}.support-link[data-v-ba34016a]{color:var(--color-accent-primary)}.support-link[data-v-ba34016a]:hover{color:var(--color-accent-primary-hover);background:var(--color-accent-secondary)}.footer-separator[data-v-ba34016a]{color:var(--color-border);font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;font-size:var(--text-sm)}@media (max-width:768px){.app-footer[data-v-ba34016a]{padding:var(--space-4) var(--space-3)}.footer-content[data-v-ba34016a]{flex-direction:column;gap:var(--space-3);text-align:center}.footer-links[data-v-ba34016a]{justify-content:center;gap:var(--space-2)}.footer-link[data-v-ba34016a]{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.copyright[data-v-ba34016a]{font-size:var(--text-xs);order:2}.footer-section[data-v-ba34016a]:first-child{order:2}.footer-section[data-v-ba34016a]:last-child{order:1}}@media (max-width:480px){.app-footer[data-v-ba34016a]{padding:var(--space-3) var(--space-2)}.footer-links[data-v-ba34016a]{gap:var(--space-1)}.footer-link[data-v-ba34016a]{font-size:10px;padding:2px 4px}.copyright[data-v-ba34016a],.footer-separator[data-v-ba34016a]{font-size:10px}}#app{min-height:100vh;display:flex;flex-direction:column;padding:0;margin:0}nav{padding:var(--space-4) var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm);transition:all .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.95)}.nav-links,nav{display:flex;align-items:center}.nav-links{flex-wrap:wrap}.nav-logo{margin-right:1.5rem;display:flex;align-items:center}.nav-logo-img{height:40px;width:auto}nav a{font-family:Inter,sans-serif;font-weight:500;color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;letter-spacing:-.01em}nav a:hover{color:var(--color-text-primary);background:var(--color-gray-100)}nav a.router-link-exact-active{color:var(--color-accent-primary);background:var(--color-accent-light);font-weight:600}.nav-separator{color:var(--color-border-strong);font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;margin:0 var(--space-2)}.nav-badges{gap:var(--space-4);margin-left:auto}.nav-badges,.streak-badge{display:flex;align-items:center}.streak-badge{gap:var(--space-3);color:var(--color-text-primary);font-family:Inter,sans-serif;font-size:var(--text-base);font-weight:600;cursor:default}.streak-icon{font-size:var(--text-2xl);display:flex;align-items:center}.streak-count{min-width:1.5rem;text-align:center;font-weight:700;color:var(--color-text-primary);font-size:var(--text-lg)}.subscription-badge{display:inline-flex;align-items:center;background:var(--color-accent-primary);color:var(--color-text-inverse)!important;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4);font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);white-space:nowrap;border:1px solid var(--color-accent-primary);letter-spacing:-.01em}.subscription-badge:hover{background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.subscription-badge.router-link-exact-active{background:var(--color-accent-primary)!important;color:var(--color-text-inverse)!important;border:1px solid var(--color-accent-primary)!important;font-weight:600!important}.main-content{flex:1;padding:var(--space-8);max-width:1400px;width:100%;margin:0 auto}@media (max-width:768px){nav{padding:var(--space-2) var(--space-3);flex-direction:column;gap:var(--space-2);position:sticky;top:0;z-index:var(--z-sticky);min-height:auto}.nav-badges{order:1;margin-left:0;padding:0 var(--space-2)}.nav-badges,.nav-links{width:100%;justify-content:space-between;flex-wrap:nowrap}.nav-links{order:2;gap:var(--space-1);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0 var(--space-1)}.nav-links::-webkit-scrollbar{display:none}nav a{font-size:10px;padding:var(--space-1);min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);white-space:nowrap;flex-shrink:0;min-width:50px;max-width:70px;text-align:center;overflow:hidden;text-overflow:ellipsis}.nav-separator{display:none}.nav-logo{margin-right:var(--space-3)}.nav-logo-img{height:32px}.streak-badge{gap:var(--space-1);font-size:var(--text-xs);flex-shrink:0}.streak-icon{font-size:var(--text-lg)}.streak-count{font-size:var(--text-sm)}.subscription-badge{padding:var(--space-1) var(--space-3);font-size:10px;min-height:28px;flex-shrink:0}.main-content{padding:var(--space-4) var(--space-3)}}@media (max-width:480px){nav{padding:var(--space-1) var(--space-2)}.nav-badges{padding:0 var(--space-1)}.nav-links{gap:2px;padding:0}nav a{font-size:8px;padding:2px 4px;min-height:28px;min-width:45px;max-width:60px;flex:1;line-height:1.1}.streak-badge{font-size:10px;gap:2px}.streak-icon{font-size:var(--text-base)}.streak-count{font-size:10px}.subscription-badge{font-size:8px;padding:var(--space-1) var(--space-2);min-height:24px}.nav-logo{margin-right:var(--space-2)}.nav-logo-img{height:28px}.main-content{padding:var(--space-3) var(--space-2)}}.home[data-v-1626c627]{max-width:1200px;margin:0 auto}.home-header[data-v-1626c627]{margin-bottom:var(--space-12);text-align:center}.home-header h1[data-v-1626c627]{font-size:clamp(var(--text-4xl),5vw,var(--text-5xl));color:var(--color-text-primary);margin-bottom:var(--space-2);font-weight:700}.home-content[data-v-1626c627]{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.insight-card[data-v-1626c627]{background:var(--color-surface);border:2px solid var(--color-border);border-left:6px solid var(--color-accent-primary);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg);position:relative}.insight-card[data-v-1626c627]:before{content:"💡";position:absolute;top:var(--space-6);right:var(--space-6);font-size:var(--text-2xl);opacity:.1}.insight-card h2[data-v-1626c627]{color:var(--color-accent-primary);margin-top:0;margin-bottom:var(--space-4);font-size:var(--text-2xl);font-weight:600}.insight-card p[data-v-1626c627]{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary);font-style:italic;margin:0;position:relative;z-index:1}.courses-section[data-v-1626c627]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-lg)}.courses-section h2[data-v-1626c627]{margin-top:0;margin-bottom:var(--space-6);color:var(--color-text-primary);font-size:var(--text-3xl);font-weight:600;text-align:center}.courses-grid[data-v-1626c627]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.course-card[data-v-1626c627]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:var(--transition);position:relative;box-shadow:var(--shadow-md);overflow:hidden}.course-card[data-v-1626c627]:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--color-coral)}.course-card[data-v-1626c627]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-accent-primary)}.course-card h3[data-v-1626c627]{margin-top:0;margin-bottom:var(--space-3);color:var(--color-text-primary);font-size:var(--text-xl);font-weight:600;padding-right:var(--space-24)}.course-status-badge[data-v-1626c627]{position:absolute;top:var(--space-4);right:var(--space-4);font-family:Inter,sans-serif;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.status-just-started[data-v-1626c627]{background:var(--color-sand);color:var(--color-driftwood)}.status-in-progress[data-v-1626c627]{background:var(--color-accent-primary);color:#fff}.status-almost-done[data-v-1626c627]{background:var(--color-sunset);color:#fff}.status-completed[data-v-1626c627]{background:var(--color-seafoam);color:#fff}.progress-indicator[data-v-1626c627]{margin:var(--space-5) 0}.progress-bar[data-v-1626c627]{height:6px;background:var(--color-surface-tertiary);border-radius:var(--radius);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar-fill[data-v-1626c627]{height:100%;background:var(--color-seafoam);border-radius:var(--radius);transition:width var(--transition-slow)}.progress-text[data-v-1626c627]{display:block;margin-top:var(--space-2);font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.progress-details[data-v-1626c627]{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-surface-secondary);border-radius:var(--radius);border:1px solid var(--color-border-light)}.progress-details div[data-v-1626c627]{font-family:Inter,sans-serif;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.progress-details div[data-v-1626c627]:last-child{margin-bottom:0}.btn-primary[data-v-1626c627]{display:inline-flex;align-items:center;justify-content:center;background:var(--color-accent-primary);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);text-decoration:none;font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:600;transition:var(--transition);border:none;cursor:pointer;text-align:center;box-shadow:var(--shadow-sm);width:100%;margin-top:var(--space-4)}.btn-primary[data-v-1626c627]:hover{background:var(--color-accent-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.empty-state[data-v-1626c627]{text-align:center;padding:var(--space-12) var(--space-6);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.empty-state p[data-v-1626c627]{margin-bottom:var(--space-6);font-size:var(--text-lg);color:var(--color-text-secondary);font-weight:500}.empty-state .btn-primary[data-v-1626c627]{width:auto;margin:0;padding:var(--space-4) var(--space-8)}.loading[data-v-1626c627]{text-align:center;padding:var(--space-12) 0;color:var(--color-text-secondary);font-family:Inter,sans-serif;font-size:var(--text-lg);font-weight:500}@media (max-width:768px){.home[data-v-1626c627]{padding:0}.home-header[data-v-1626c627]{margin-bottom:var(--space-4);padding:0 var(--space-3)}.home-header h1[data-v-1626c627]{font-size:clamp(var(--text-2xl),6vw,var(--text-4xl));margin-bottom:var(--space-3)}.home-content[data-v-1626c627]{gap:var(--space-4);padding:0 var(--space-3)}.courses-grid[data-v-1626c627]{grid-template-columns:1fr;gap:var(--space-4)}.courses-section[data-v-1626c627],.insight-card[data-v-1626c627]{padding:var(--space-4);margin:0}.course-card[data-v-1626c627]{padding:var(--space-4)}.course-card h3[data-v-1626c627]{font-size:var(--text-lg);padding-right:var(--space-16)}.empty-state[data-v-1626c627]{padding:var(--space-6) var(--space-3)}.btn-primary[data-v-1626c627]{padding:var(--space-3) var(--space-4);min-height:44px}}@media (max-width:480px){.home-header[data-v-1626c627]{margin-bottom:var(--space-3);padding:0 var(--space-2)}.home-header h1[data-v-1626c627]{font-size:clamp(var(--text-xl),7vw,var(--text-3xl));margin-bottom:var(--space-2)}.home-content[data-v-1626c627]{gap:var(--space-3);padding:0 var(--space-2)}.courses-section[data-v-1626c627],.insight-card[data-v-1626c627]{padding:var(--space-3);border-radius:var(--radius-md)}.insight-card[data-v-1626c627]:before{display:none}.insight-card h2[data-v-1626c627]{font-size:var(--text-lg);margin-bottom:var(--space-3)}.insight-card p[data-v-1626c627]{font-size:var(--text-base)}.courses-section h2[data-v-1626c627]{font-size:var(--text-xl);margin-bottom:var(--space-4)}.course-card[data-v-1626c627]{padding:var(--space-3)}.course-status-badge[data-v-1626c627]{position:static;margin-bottom:var(--space-2);display:inline-block}.course-card h3[data-v-1626c627]{padding-right:0;margin-bottom:var(--space-3);font-size:var(--text-base)}.empty-state[data-v-1626c627]{padding:var(--space-4) var(--space-2)}.empty-state p[data-v-1626c627]{font-size:var(--text-base);margin-bottom:var(--space-4)}}@keyframes spin-65e5539a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner[data-v-65e5539a]{display:inline-block;width:20px;height:20px;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;animation:spin-65e5539a 1s ease-in-out infinite;margin-right:10px}button[data-v-65e5539a]:disabled{opacity:.7;cursor:not-allowed}.branding-header[data-v-65e5539a]{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--notebook-border)}.logo-container[data-v-65e5539a]{margin-bottom:1.5rem}.app-logo[data-v-65e5539a]{height:80px;width:auto;max-width:100%}.app-title[data-v-65e5539a]{font-size:2.5rem;font-weight:700;color:var(--notebook-text);margin:0 0 .5rem 0;line-height:1.2}.app-subtitle[data-v-65e5539a]{font-size:1.1rem;color:var(--notebook-text-secondary,#666);margin:0 0 1.5rem 0;font-weight:500}.app-description[data-v-65e5539a]{font-size:1rem;color:var(--notebook-text);line-height:1.6;margin:0 0 1.5rem 0;max-width:600px;margin-left:auto;margin-right:auto}.auth-instructions[data-v-65e5539a]{background-color:var(--notebook-background-secondary,#f8f9fa);border-radius:8px;padding:1rem;border:1px solid var(--notebook-border)}.auth-instructions p[data-v-65e5539a]{margin:.5rem 0;font-size:.9rem;color:var(--notebook-text)}.auth-instructions p[data-v-65e5539a]:first-child{margin-top:0}.auth-instructions p[data-v-65e5539a]:last-child{margin-bottom:0}.auth-container[data-v-65e5539a]{max-width:900px;width:95%;margin:4rem auto;padding:4rem}.auth-tabs[data-v-65e5539a]{display:flex;margin-bottom:2rem;background-color:var(--notebook-background-secondary,#e9ecef);border-radius:12px;padding:6px;gap:2px;border:1px solid var(--notebook-border,#ddd)}.auth-tabs button[data-v-65e5539a]{flex:1;background:transparent;border:none;padding:1.2rem 1.5rem;font-size:1.1rem;font-weight:500;cursor:pointer;color:var(--notebook-text-secondary,#6c757d);border-radius:10px;transition:all .3s ease;position:relative}.auth-tabs button[data-v-65e5539a]:hover:not(.active){background-color:hsla(0,0%,100%,.6);color:var(--notebook-text,#333);transform:translateY(-1px)}.auth-tabs button.active[data-v-65e5539a]{background-color:#fff;color:var(--notebook-text,#333);font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1);transform:translateY(-2px);border:1px solid hsla(0,0%,100%,.8)}.auth-form[data-v-65e5539a],.form-group[data-v-65e5539a]{margin-bottom:1.5rem}.field-hint[data-v-65e5539a]{font-size:.8rem;color:var(--notebook-text-light,#888);margin-top:.25rem}label[data-v-65e5539a]{display:block;margin-bottom:.5rem;font-size:1.1rem;font-weight:600;color:var(--notebook-text)}input[data-v-65e5539a]{width:100%;padding:1rem 1.2rem;border:2px solid var(--notebook-border,#ddd);border-radius:8px;font-size:1.1rem;background-color:#fff;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.05)}input[data-v-65e5539a]:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px rgba(66,133,244,.1)}input[data-v-65e5539a]:hover{border-color:var(--notebook-text-secondary,#999)}.primary-button[data-v-65e5539a]{width:100%;padding:.8rem;background-color:#4285f4;color:#fff;border:none;border-radius:4px;font-size:1.2rem;cursor:pointer;transition:background-color .3s ease;min-height:48px}.primary-button[data-v-65e5539a]:hover{background-color:#357abd}.divider[data-v-65e5539a]{display:flex;align-items:center;text-align:center;margin:2rem 0}.divider[data-v-65e5539a]:after,.divider[data-v-65e5539a]:before{content:"";flex:1;border-bottom:1px solid var(--notebook-border)}.divider span[data-v-65e5539a]{padding:0 1rem;font-size:1.1rem;color:var(--notebook-text-secondary);font-weight:700;font-style:italic}.social-buttons-top[data-v-65e5539a]{display:flex;gap:1.25rem;margin-bottom:1.5rem;justify-content:center}.apple-button-small[data-v-65e5539a],.google-button-small[data-v-65e5539a]{display:flex;align-items:center;justify-content:center;padding:1.6rem 2.8rem;border:1px solid var(--notebook-border);border-radius:10px;background-color:#fff;font-size:1.3rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:60px;gap:12px;box-shadow:0 2px 6px rgba(0,0,0,.08)}.apple-button-small[data-v-65e5539a]:hover,.google-button-small[data-v-65e5539a]:hover{background-color:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.1)}.google-button-small[data-v-65e5539a]{color:#4285f4}.apple-button-small[data-v-65e5539a]{color:#000;display:none}.button-content[data-v-65e5539a]{display:flex;align-items:center;justify-content:center;gap:6px}.spinner-small[data-v-65e5539a]{display:inline-block;width:16px;height:16px;border:2px solid rgba(66,133,244,.3);border-radius:50%;border-top-color:#4285f4;animation:spin-65e5539a 1s ease-in-out infinite}.error-message[data-v-65e5539a]{margin-top:1rem;color:#d32f2f;font-size:.9rem;text-align:center}.password-policy-section[data-v-65e5539a]{margin-top:.75rem}.password-policy-link-container[data-v-65e5539a]{position:relative;display:inline-block}.password-policy-link[data-v-65e5539a]{color:#4285f4;cursor:pointer;font-size:.875rem;font-weight:500;text-decoration:underline;text-decoration-style:dotted}.password-policy-link[data-v-65e5539a]:hover{color:#357abd}.password-policy-tooltip[data-v-65e5539a]{position:absolute;bottom:100%;left:0;right:0;background-color:#333;color:#fff;padding:1rem;border-radius:6px;font-size:.8rem;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1000;min-width:320px;margin-bottom:8px}.password-policy-tooltip[data-v-65e5539a]:after{content:"";position:absolute;top:100%;left:20px;border:6px solid transparent;border-top-color:#333}.policy-title[data-v-65e5539a]{font-weight:600;margin-bottom:.5rem}.policy-requirements[data-v-65e5539a]{margin:0;padding-left:1.2rem;list-style-type:disc}.policy-requirements li[data-v-65e5539a]{margin-bottom:.25rem;line-height:1.4}.password-validation-errors[data-v-65e5539a]{margin-top:.5rem}.password-validation-errors ul[data-v-65e5539a]{margin:0;padding-left:1.2rem;list-style-type:disc}.validation-error[data-v-65e5539a]{color:#d32f2f;font-size:.8rem;margin-bottom:.25rem;line-height:1.3}.password-invalid[data-v-65e5539a]{border-color:#d32f2f!important;box-shadow:0 0 0 3px rgba(211,47,47,.1)!important}input.password-invalid[data-v-65e5539a]:focus{border-color:#d32f2f!important;box-shadow:0 0 0 3px rgba(211,47,47,.2)!important}@media (max-width:768px){.branding-header[data-v-65e5539a]{margin-bottom:2rem;padding-bottom:1.5rem}.app-logo[data-v-65e5539a]{height:70px}.app-title[data-v-65e5539a]{font-size:2rem}.app-subtitle[data-v-65e5539a]{font-size:1rem}.app-description[data-v-65e5539a]{font-size:.9rem;max-width:100%}.auth-instructions[data-v-65e5539a]{padding:var(--space-3)}.auth-instructions p[data-v-65e5539a]{font-size:.85rem}.auth-container[data-v-65e5539a]{margin:2rem var(--space-3);padding:var(--space-4);max-width:100%}.auth-tabs button[data-v-65e5539a]{padding:var(--space-3) var(--space-4);font-size:1rem}label[data-v-65e5539a]{font-size:1rem;font-weight:600}input[data-v-65e5539a]{padding:var(--space-4) var(--space-3);font-size:1rem;min-height:48px;border-radius:6px}.primary-button[data-v-65e5539a]{padding:var(--space-4);font-size:1.1rem;min-height:48px}.social-buttons-top[data-v-65e5539a]{gap:var(--space-3);margin-bottom:var(--space-4)}.apple-button-small[data-v-65e5539a],.google-button-small[data-v-65e5539a]{padding:var(--space-5) var(--space-6);font-size:1.1rem;min-height:54px;gap:10px}.divider[data-v-65e5539a]{margin:var(--space-6) 0}.error-message[data-v-65e5539a]{font-size:.875rem}}@media (max-width:480px){.branding-header[data-v-65e5539a]{margin-bottom:1.5rem;padding-bottom:1rem}.app-logo[data-v-65e5539a]{height:60px}.app-title[data-v-65e5539a]{font-size:1.75rem}.app-subtitle[data-v-65e5539a]{font-size:.9rem}.app-description[data-v-65e5539a]{font-size:.85rem}.auth-instructions[data-v-65e5539a]{padding:var(--space-2)}.auth-instructions p[data-v-65e5539a]{font-size:.8rem}.auth-container[data-v-65e5539a]{margin:var(--space-4) var(--space-2);padding:var(--space-3)}.auth-tabs button[data-v-65e5539a]{padding:var(--space-2) var(--space-3);font-size:.875rem}input[data-v-65e5539a]{padding:var(--space-3) var(--space-2);font-size:.875rem;min-height:44px;border-radius:6px}.primary-button[data-v-65e5539a]{padding:var(--space-3);font-size:1rem}.apple-button-small[data-v-65e5539a],.google-button-small[data-v-65e5539a]{padding:var(--space-4) var(--space-5);font-size:1.05rem;min-height:50px;gap:10px}}:root{--color-background:#fafafa;--color-surface:#fff;--color-surface-secondary:#f8fafc;--color-surface-tertiary:#f1f5f9;--color-surface-elevated:#fff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-accent-primary:#2563eb;--color-accent-primary-hover:#1d4ed8;--color-accent-secondary:#3b82f6;--color-accent-tertiary:#dbeafe;--color-accent-light:#eff6ff;--color-success:#059669;--color-success-light:#d1fae5;--color-warning:#d97706;--color-warning-light:#fed7aa;--color-error:#dc2626;--color-error-light:#fee2e2;--color-info:#0891b2;--color-info-light:#cffafe;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-border-light:#f1f5f9;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-md:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-lg:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-2xl:0 50px 100px -20px rgba(0,0,0,.25);--focus-ring:0 0 0 3px rgba(37,99,235,.1);--focus-ring-offset:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-accent-primary);--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;--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.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-sm:0.25rem;--radius:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:150ms ease;--transition:250ms ease;--transition-slow:350ms ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;background:var(--color-background);line-height:var(--leading-normal);min-height:100vh;font-size:var(--text-base);background-image:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif;font-weight:700;line-height:var(--leading-tight);margin:0;letter-spacing:-.04em;font-feature-settings:"kern" 1,"liga" 1,"calt" 1}h1{font-size:clamp(2.25rem,4vw + 1rem,4rem);font-weight:800;margin-bottom:var(--space-6);letter-spacing:-.05em;line-height:1.1}h2{font-size:clamp(1.875rem,3vw + .5rem,3rem);font-weight:700;margin-bottom:var(--space-5);margin-top:var(--space-12);letter-spacing:-.04em;line-height:1.2}h3{font-size:clamp(1.5rem,2.5vw + .25rem,2.25rem);font-weight:600;margin-bottom:var(--space-4);margin-top:var(--space-10);letter-spacing:-.03em;line-height:1.25}h4{font-size:clamp(1.25rem,2vw + .25rem,1.875rem);margin-top:var(--space-8);letter-spacing:-.02em}h4,h5{font-weight:600;margin-bottom:var(--space-3)}h5{font-size:clamp(1.125rem,1.5vw + .25rem,1.5rem);margin-top:var(--space-6);letter-spacing:-.01em}h6{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-2);margin-top:var(--space-5);text-transform:uppercase;letter-spacing:.05em}h6,p{color:var(--color-text-secondary)}p{margin-bottom:var(--space-4);line-height:var(--leading-relaxed)}.text-muted{color:var(--color-text-muted)}.text-muted,.text-small{font-size:var(--text-sm)}.text-small{line-height:var(--leading-normal)}.text-large{font-size:var(--text-lg);line-height:var(--leading-relaxed)}input,select,textarea{font-family:Inter,sans-serif;font-size:var(--text-base);font-weight:400;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);width:100%;margin:var(--space-2) 0;transition:var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px rgba(14,165,233,.15)}input::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted);font-weight:400}input::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-muted);font-weight:400}.btn,button{font-family:Inter,sans-serif;font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-6);border:1px solid var(--color-accent-primary);border-radius:var(--radius-lg);background:var(--color-accent-primary);color:var(--color-text-inverse);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;min-height:44px;letter-spacing:-.01em}.btn:hover,button:hover{background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active,button:active{transform:translateY(0);box-shadow:var(--shadow-xs);transition:all .1s cubic-bezier(.4,0,.2,1)}.btn:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring-offset)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:var(--shadow-xs)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.btn-secondary:hover{background:var(--color-gray-50);border-color:var(--color-gray-300);color:var(--color-text-primary)}.btn-outline{background:transparent;color:var(--color-accent-primary);border:1px solid var(--color-accent-primary)}.btn-outline:hover{background:var(--color-accent-primary);color:var(--color-text-inverse)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid transparent;box-shadow:none}.btn-ghost:hover{background:var(--color-gray-100);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-destructive{background:var(--color-error);border-color:var(--color-error);color:var(--color-text-inverse)}.btn-destructive:hover{background:#b91c1c;border-color:#b91c1c}.btn-small{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-large{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);margin:var(--space-8) auto;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);max-width:1200px;width:100%;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-border-strong)}.card-compact{padding:var(--space-6);margin:var(--space-6) auto}.card-spacious{padding:var(--space-12);margin:var(--space-12) auto}.card-flat{box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card-flat:hover{box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-xl);border:none}.card-gradient{background:linear-gradient(135deg,var(--color-surface) 0,var(--color-surface-secondary) 100%)}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-6);width:100%}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-0{margin-top:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}@media (max-width:1200px){.main-content{padding:var(--space-6);max-width:1200px}}@media (max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.main-content{padding:var(--space-6) var(--space-5)}.card{padding:var(--space-6);margin:var(--space-6) auto}h1{font-size:clamp(var(--text-2xl),3.5vw,var(--text-4xl))}h2{font-size:clamp(var(--text-xl),3vw,var(--text-3xl))}}@media (max-width:768px){body{background-size:40px 100%,100% calc(var(--leading-relaxed)*1rem);background-position:var(--space-8) 0,0 var(--space-3)}.container{padding:0 var(--space-3)}.card{margin:var(--space-3) auto;padding:var(--space-4);border-radius:var(--radius-lg)}.card:before{left:var(--space-6)}.card-compact{padding:var(--space-3);margin:var(--space-2) auto}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn,button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);min-height:44px;width:100%;max-width:100%}.btn-large{padding:var(--space-4) var(--space-6);min-height:48px}.btn-small{padding:var(--space-2) var(--space-3);min-height:36px}input,select,textarea{min-height:44px;font-size:16px;padding:var(--space-3)}h1{font-size:clamp(var(--text-xl),5vw,var(--text-3xl));margin-bottom:var(--space-4);text-align:center}h2{font-size:clamp(var(--text-lg),4vw,var(--text-2xl));margin-top:var(--space-6)}h2,h3{margin-bottom:var(--space-3)}h3{font-size:clamp(var(--text-base),3vw,var(--text-xl));margin-top:var(--space-5)}}@media (max-width:480px){body{background-size:30px 100%,100% calc(var(--leading-relaxed)*.9rem);background-position:var(--space-6) 0,0 var(--space-2)}.container{padding:0 var(--space-2)}.card{margin:var(--space-2) auto;padding:var(--space-3);border-radius:var(--radius-md)}.card:before{left:var(--space-4)}.btn,button{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}h1{font-size:clamp(var(--text-lg),6vw,var(--text-2xl));margin-bottom:var(--space-3)}h2{font-size:clamp(var(--text-base),5vw,var(--text-xl));margin-top:var(--space-4)}h2,h3{margin-bottom:var(--space-2)}h3{font-size:clamp(var(--text-sm),4vw,var(--text-lg));margin-top:var(--space-3)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--color-border:#000;--color-text-secondary:var(--color-text-primary)}}