@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Source+Sans+3:ital,wght@0;400;500;600;700&display=swap";.navigation-bar{position:fixed;top:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:var(--content-max-width);background:var(--page-card);border:2px solid var(--page-primary-border-soft);border-radius:24px;color:#0f172a;box-shadow:var(--page-primary-shadow-offset);z-index:1000;overflow:hidden;transition:border-color .25s ease,box-shadow .25s cubic-bezier(.68,-.6,.32,1.6)}.navigation-bar:hover{border-color:var(--page-primary-border-strong);box-shadow:6px 6px 0 var(--page-primary-shadow-strong)}.nav-content{max-width:var(--content-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 24px}.nav-brand{font-size:20px;font-weight:700;font-family:Fredoka,sans-serif;display:flex;flex-direction:row;align-items:center;gap:12px;line-height:1.2;color:#1e40af;letter-spacing:-.02em}.nav-brand span,.nav-title,.nav-subtitle{color:#1e40af}.nav-icon{font-size:48px;display:flex;align-items:center;justify-content:center}.nav-titles{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.nav-title{font-size:20px;font-weight:800;letter-spacing:-.02em}.nav-subtitle{font-size:12px;font-weight:500;opacity:.8;letter-spacing:.02em}.nav-user-section{display:flex;align-items:center;gap:16px}.nav-links{display:flex;align-items:center;gap:8px;padding:6px}.nav-link{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:14px;border:2px solid var(--page-primary-border-soft);background:var(--page-card);color:var(--text-dim);font-size:14px;font-weight:600;cursor:pointer;box-shadow:3px 3px 0 var(--page-primary-shadow);transition:transform .2s cubic-bezier(.68,-.6,.32,1.6),box-shadow .2s ease,border-color .2s ease,color .2s ease}.nav-link:hover{background:var(--page-card);color:var(--primary);border-color:var(--page-primary-border-strong);box-shadow:4px 4px 0 var(--page-primary-shadow);transform:translateY(-2px)}.nav-link.active{background:var(--page-card);color:var(--primary);border-color:var(--page-primary-border-hover);box-shadow:4px 4px 0 var(--page-primary-shadow);transform:translateY(-1px)}.nav-link span{display:inline-block}.nav-link-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center}.nav-link-badge{position:absolute;top:-6px;right:-6px;width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#dc2626;color:#fff;border:2px solid white;font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0;line-height:1;padding:1px 0 0}@media (max-width: 768px){.nav-titles{display:none}.nav-brand{gap:0}.nav-link span{display:none}.nav-link .nav-link-icon-wrap{display:flex}.nav-link .nav-link-badge{display:grid}.nav-links{gap:4px}.nav-link{padding:8px}}.nav-avatar-container{display:flex;align-items:center}.nav-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px var(--page-primary-border-light),0 1px 4px var(--page-primary-shadow);cursor:pointer;transition:transform .2s cubic-bezier(.68,-.6,.32,1.6),box-shadow .2s ease}.nav-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 1px var(--page-primary-border),0 2px 8px var(--page-primary-shadow)}.btn-logout{background:var(--page-card);color:var(--primary);padding:8px 16px;border:2px solid var(--page-primary-border-mid);border-radius:99px;font-size:14px;font-weight:600;font-family:Fredoka,sans-serif;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .25s cubic-bezier(.68,-.6,.32,1.6)}.btn-logout:hover{background:var(--page-primary-bg);border-color:var(--page-primary-border-focus);box-shadow:var(--page-primary-shadow-offset);transform:translateY(-1px)}.cookie-banner-overlay{position:fixed;bottom:0;left:0;width:100%;z-index:9999;padding:24px;display:flex;justify-content:center;pointer-events:none}.cookie-banner-content{pointer-events:auto;width:100%;max-width:900px;background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;animation:slideUp .5s cubic-bezier(.2,.8,.2,1)}@media (min-width: 768px){.cookie-banner-content{flex-direction:row;align-items:center}}.cookie-text{flex:3}.cookie-text h3{font-size:18px;font-weight:600;color:var(--text-main);margin-bottom:8px}.cookie-text p{font-size:14px;color:var(--text-dim);line-height:1.5;margin:0}.cookie-actions{display:flex;gap:12px;min-width:200px;flex:1;justify-content:center}.btn-accept{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-accept{background:var(--primary);color:#fff;border:none;box-shadow:0 4px 12px var(--primary-glow)}.btn-accept:hover{background:var(--primary-hover);transform:translateY(-1px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-screen{--ease-spring: cubic-bezier(.68, -.6, .32, 1.6);display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;position:fixed;top:0;left:0;z-index:9999;background:var(--page-bg, #fffdf5);isolation:isolate}.loading-screen:before{content:"";position:absolute;top:-10%;right:-10%;width:50vw;height:50vw;background:radial-gradient(circle,var(--page-primary-border-light) 0%,transparent 70%);border-radius:40% 60% 70% 30%/40% 50% 60%;animation:loading-blob-float 18s infinite linear;z-index:-1}.loading-screen:after{content:"";position:absolute;top:30%;left:-15%;width:40vw;height:40vw;background:radial-gradient(circle,var(--page-accent-bg) 0%,transparent 70%);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:loading-blob-float 14s infinite linear reverse;z-index:-1}@keyframes loading-blob-float{0%{transform:rotate(0) translate(0)}33%{transform:rotate(120deg) translate(15px,-15px)}66%{transform:rotate(240deg) translate(-15px,15px)}to{transform:rotate(360deg) translate(0)}}.spinner-container{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;padding:20px 28px;background:#ffffffe6;border-radius:99px;border:3px solid var(--page-primary-border);box-shadow:6px 6px 0 var(--page-primary-shadow-strong);transform:rotate(-2deg)}.loading-dot{width:16px;height:16px;border-radius:50%;animation:loading-bounce .6s var(--ease-spring) infinite alternate}.loading-dot-1{background:var(--primary, #1e40af);animation-delay:0s}.loading-dot-2{background:var(--brand-accent, #f43f5e);animation-delay:.15s}.loading-dot-3{background:var(--primary, #1e40af);animation-delay:.3s}@keyframes loading-bounce{0%{transform:translateY(0) scale(1)}to{transform:translateY(-14px) scale(1.15)}}.loading-text{font-family:var(--page-font-body, "Fredoka"),sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-main, #0f172a);background:linear-gradient(135deg,var(--primary, #1e40af),var(--brand-accent, #f43f5e));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:loading-pulse 2s var(--ease-spring) infinite,loading-fadeIn .5s ease-out forwards}@keyframes loading-pulse{0%,to{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}@keyframes loading-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast-container>div{pointer-events:auto}.toast{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:16px;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #00000014;min-width:320px;max-width:420px;border:1px solid rgba(255,255,255,.5);transform:translate(0);opacity:1;transition:all .3s cubic-bezier(.4,0,.2,1);animation:toast-slide-in .3s cubic-bezier(.4,0,.2,1)}.toast.exiting{transform:translate(120%);opacity:0}@keyframes toast-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{flex:1;font-size:14px;font-weight:500;color:var(--text-main);line-height:1.5}.toast-close{background:none;border:none;padding:4px;margin:-4px -4px -4px 0;cursor:pointer;color:var(--text-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.toast-close:hover{background:#0000000d;color:var(--text-main)}.toast-success{border-left:4px solid #10b981}.toast-error{border-left:4px solid #ef4444}.toast-info{border-left:4px solid #3b82f6}.toast-warning{border-left:4px solid #f59e0b}.toast-icon{display:flex;align-items:center;justify-content:center;margin-top:2px}.toast-success .toast-icon{color:#10b981}.toast-error .toast-icon{color:#ef4444}.toast-info .toast-icon{color:#3b82f6}.toast-warning .toast-icon{color:#f59e0b}.backend-unavailable-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;position:fixed;top:0;left:0;z-index:9999;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:20px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.backend-unavailable-content{background:#fff;padding:48px;border-radius:32px;box-shadow:0 25px 80px -15px #0006;text-align:center;max-width:480px;width:100%;border:1px solid rgba(255,255,255,.9);animation:slideUp .6s cubic-bezier(.2,.8,.2,1) forwards;position:relative}.backend-unavailable-content .spinner-container{position:relative;width:80px;height:80px;margin:0 auto 32px}.backend-unavailable-content .spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:4px solid transparent;border-top-color:var(--primary);animation:spin 1.5s linear infinite}.backend-unavailable-content .spinner-ring:nth-child(2){border-top-color:var(--accent);animation:spin 2s linear infinite reverse;width:70%;height:70%;top:15%;left:15%}.backend-unavailable-content .spinner-ring:nth-child(3){border-top-color:var(--primary-glow);animation:spin 3s linear infinite;width:40%;height:40%;top:30%;left:30%}.backend-unavailable-title{font-size:28px;font-weight:700;color:var(--text-main);margin-bottom:16px;letter-spacing:-.02em}.backend-unavailable-message{font-size:16px;color:var(--text-dim);line-height:1.6;margin-bottom:16px}.retry-countdown{font-size:13px;font-weight:500;color:var(--text-dim);margin-top:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:8px}.retry-countdown:before{content:"";width:6px;height:6px;background:var(--primary);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.backend-unavailable-status-link{display:inline-block;font-size:15px;font-weight:600;color:#f59e0b;margin-bottom:24px;text-decoration:none;transition:color .2s ease,opacity .2s ease}.backend-unavailable-status-link:hover{color:#d97706;opacity:.9}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tenant-not-found-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;position:fixed;top:0;left:0;z-index:9999;background:#f8fafccc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:20px}.tenant-not-found-content{background:#fff;padding:48px;border-radius:32px;box-shadow:0 20px 60px -10px #1f268726;text-align:center;max-width:480px;width:100%;border:1px solid rgba(255,255,255,.5);animation:slideUp .6s cubic-bezier(.2,.8,.2,1) forwards}.tenant-not-found-icon{width:80px;height:80px;background:#ef44441a;color:#ef4444;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 32px;transition:all .3s ease}.tenant-not-found-icon:hover{transform:scale(1.05) rotate(5deg);background:#ef444426}.tenant-not-found-title{font-size:28px;font-weight:700;color:var(--text-main);margin-bottom:16px;letter-spacing:-.02em}.tenant-not-found-message{font-size:16px;color:var(--text-dim);line-height:1.6;margin-bottom:32px}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}:root{--primary-color: #1e40af;--secondary-color: #1d4ed8;--accent-color: #3b82f6;--brand-primary: #1e40af;--brand-accent: #f43f5e;--ease-spring: cubic-bezier(.68, -.6, .32, 1.6);--primary: var(--primary-color);--primary-hover: var(--secondary-color);--primary-glow: color-mix(in srgb, var(--primary), transparent 85%);--accent: var(--secondary-color);--bg-light: #f8fafc;--glass-surface: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .5);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .07);--glass-blur: blur(12px);--text-main: #0f172a;--text-dim: #64748b;--navbar-height: 86px;--navbar-top: 5px;--glass-border: rgba(0, 0, 0, .1);--glass-shadow: 0 12px 40px 0 rgba(15, 23, 42, .15);--navbar-offset: calc(var(--navbar-height) + var(--navbar-top) + 16px);--content-max-width: 1200px;--bottom-nav-height: 80px;--page-bg: #fef8ee;--app-content-bg: #fef8ee;--page-card: #ffffff;--page-ink: #1c1917;--page-ink-muted: #57534e;--page-ink-subtle: #78716c;--page-border: rgba(var(--palette-primary-rgb), .06);--page-border-strong: rgba(var(--palette-primary-rgb), .1);--page-radius: 20px;--page-radius-sm: 14px;--page-ease: cubic-bezier(.22, 1, .36, 1);--page-ease-out: cubic-bezier(.16, 1, .3, 1);--page-shadow: 0 2px 16px rgba(var(--palette-primary-rgb), .04);--page-shadow-hover: 0 12px 40px rgba(var(--palette-primary-rgb), .08);--page-font-body: "Fredoka", -apple-system, sans-serif;--page-font-heading: "Fredoka", sans-serif;--palette-primary-rgb: 30, 64, 175;--palette-accent-rgb: 244, 63, 94;--page-primary-border: rgba(var(--palette-primary-rgb), .12);--page-primary-border-strong: rgba(var(--palette-primary-rgb), .18);--page-primary-border-mid: rgba(var(--palette-primary-rgb), .15);--page-primary-border-light: rgba(var(--palette-primary-rgb), .08);--page-primary-border-soft: rgba(var(--palette-primary-rgb), .1);--page-primary-border-hover: rgba(var(--palette-primary-rgb), .25);--page-primary-border-focus: rgba(var(--palette-primary-rgb), .3);--page-primary-border-accent: rgba(var(--palette-primary-rgb), .35);--page-primary-bg: rgba(var(--palette-primary-rgb), .06);--page-primary-bg-subtle: rgba(var(--palette-primary-rgb), .04);--page-primary-bg-mid: rgba(var(--palette-primary-rgb), .08);--page-primary-bg-strong: rgba(var(--palette-primary-rgb), .1);--page-accent-bg: rgba(var(--palette-accent-rgb), .06);--page-accent-bg-strong: rgba(var(--palette-accent-rgb), .08);--page-accent-border: rgba(var(--palette-accent-rgb), .1);--page-primary-shadow: rgba(var(--palette-primary-rgb), .05);--page-primary-shadow-strong: rgba(var(--palette-primary-rgb), .1);--page-primary-shadow-hover: rgba(var(--palette-primary-rgb), .06);--page-primary-shadow-mid: rgba(var(--palette-primary-rgb), .08);--page-primary-shadow-soft: rgba(var(--palette-primary-rgb), .14);--page-primary-shadow-offset: 3px 3px 0 var(--page-primary-shadow-hover);--page-primary-shadow-focus: 0 0 0 4px rgba(var(--palette-primary-rgb), .1);--page-primary-shadow-btn: 0 4px 14px 0 rgba(var(--palette-primary-rgb), .2);--page-primary-shadow-btn-hover: 0 6px 18px 0 rgba(var(--palette-primary-rgb), .25);--page-accent-shadow: 0 6px 16px -4px rgba(var(--palette-accent-rgb), .35);--page-accent-shadow-hover: 0 8px 22px -4px rgba(var(--palette-accent-rgb), .4);--page-accent-shadow-offset: 4px 4px 0 rgba(var(--palette-accent-rgb), .14);--page-accent-shadow-offset-strong: 5px 5px 0 rgba(var(--palette-accent-rgb), .18);--page-card-offset-shadow: 3px 3px 0 var(--page-primary-shadow), 0 8px 24px var(--page-primary-shadow-strong);--page-modal-overlay: rgba(var(--palette-primary-rgb), .42)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background-color:#e2e8f0;color:var(--text-main);height:100vh;margin:0;overflow:hidden;line-height:1.6}@media (max-width: 768px){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:radial-gradient(at 0% 0%,rgba(var(--palette-primary-rgb),.06) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(var(--palette-accent-rgb),.06) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(var(--palette-primary-rgb),.06) 0px,transparent 50%),radial-gradient(at 0% 100%,rgba(var(--palette-accent-rgb),.04) 0px,transparent 50%),radial-gradient(at 50% 50%,rgba(255,255,255,.5) 0px,transparent 50%);z-index:-2;animation:aurora 20s ease-in-out infinite alternate}@keyframes aurora{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.8}}#root{width:100%;height:100vh;margin:0 auto;position:relative;display:flex;flex-direction:column;overflow:hidden}.app-layout{flex:1;min-height:0;display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;width:100%}.app-layout:has(.main-content){background:var(--app-content-bg);position:relative;isolation:isolate;overflow:hidden}.app-layout:has(.main-content):before{content:"";position:absolute;top:-10%;right:-10%;width:60vw;height:60vw;background:radial-gradient(circle,rgba(var(--palette-primary-rgb),.14) 0%,rgba(var(--palette-primary-rgb),.05) 40%,transparent 70%);border-radius:40% 60% 70% 30%/40% 50% 60%;animation:app-blob-float 20s infinite linear;z-index:0;pointer-events:none}.app-layout:has(.main-content):after{content:"";position:absolute;top:20%;left:-10%;width:50vw;height:50vw;background:radial-gradient(circle,rgba(var(--palette-accent-rgb),.1) 0%,rgba(var(--palette-accent-rgb),.03) 40%,transparent 70%);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:app-blob-float 15s infinite linear reverse;z-index:0;pointer-events:none}@keyframes app-blob-float{0%{transform:rotate(0) translate(0)}33%{transform:rotate(120deg) translate(20px,-20px)}66%{transform:rotate(240deg) translate(-20px,20px)}to{transform:rotate(360deg) translate(0)}}.main-content{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:var(--navbar-offset) 20px 20px;height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.main-content.main-content--onboarding{padding:20px;justify-content:center;align-items:center}.main-content.main-content--onboarding>*{flex:0 1 auto;max-height:100%}.main-content.main-content--chat{max-width:1600px;overflow:visible;padding-bottom:32px}.main-content.main-content--chat>*{overflow:visible}.main-content.main-content--practice{min-height:0;flex:1 1 0}.main-content.main-content--practice>*{min-height:0;min-width:0;flex:1 1 0}@media (max-width: 768px){.main-content,.main-content.main-content--onboarding{padding-bottom:max(100px,calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 20px))}.main-content:has(>[data-page=home]){padding-bottom:max(56px,calc(20px + env(safe-area-inset-bottom,0px)))}}.main-content>*{flex:1;display:flex;flex-direction:column;background:transparent;width:100%;border-radius:20px;overflow:hidden;overflow-y:auto;box-shadow:0 -4px 20px #0000000d;position:relative;z-index:1}.main-content:has(>[data-page=home])>*{border:none;box-shadow:none;border-radius:0}.main-content:has(>[data-page=practice])>*,.main-content:has(>.results-screen)>*{border:none;box-shadow:none;border-radius:0}.auth-button-container{position:absolute;top:32px;right:32px;z-index:1000;transition:opacity .3s ease;display:flex;align-items:center;gap:12px}.auth-button-container.scrolled .btn-login,.auth-button-container.scrolled .auth-locale-select{opacity:.7}.auth-button-container.scrolled .btn-login:hover,.auth-button-container.scrolled .auth-locale-select:hover,.auth-button-container.scrolled .auth-locale-select:focus{opacity:1}.auth-locale-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;color:var(--brand-primary, #1e40af);font-size:14px;font-weight:600;padding:10px 36px 10px 16px;border-radius:99px;border:2px solid var(--page-primary-border-hover);cursor:pointer;font-family:Fredoka,sans-serif;transition:opacity .3s ease,border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231e40af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.auth-locale-select:hover{border-color:var(--brand-primary, #1e40af);box-shadow:0 2px 10px var(--page-primary-shadow-strong)}.auth-locale-select:focus{outline:none;border-color:var(--brand-primary, #1e40af);box-shadow:var(--page-primary-shadow-focus)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 768px){.auth-button-container{top:16px;right:16px}}.btn-login,.btn-primary{background:var(--brand-accent);color:#fff;border:4px solid #ffffff;outline:4px solid var(--brand-accent);padding:12px 32px;border-radius:99px;font-size:16px;font-weight:700;cursor:pointer;transition:all .4s var(--ease-spring);box-shadow:var(--page-accent-shadow);font-family:Fredoka,sans-serif}.btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--primary);padding:12px 32px;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-login:hover,.btn-primary:hover{background:var(--brand-primary);outline-color:var(--brand-primary);transform:scale(1.05) rotate(-2deg);box-shadow:var(--page-accent-shadow-hover)}.btn-secondary:hover{background:#f8fafc;transform:translateY(-2px)}.welcome-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;gap:60px}.hero-visual{width:140px;height:140px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:40px;display:flex;align-items:center;justify-content:center;font-size:64px;color:#fff;box-shadow:0 20px 40px -10px var(--primary-glow);animation:float 3s infinite ease-in-out;position:relative}.hero-visual:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:42px;background:linear-gradient(135deg,white,transparent);opacity:.5;z-index:-1}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.welcome-message{text-align:center;max-width:800px;position:relative}.welcome-message h1{font-size:64px;font-weight:800;line-height:1.05;margin-bottom:24px;color:var(--text-main);background:linear-gradient(135deg,var(--text-main) 30%,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;letter-spacing:-.04em}.welcome-message p{font-size:24px;color:var(--text-dim);line-height:1.6;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;width:100%;max-width:1040px;margin:0 auto;padding:0 20px}.feature-card{background:var(--page-card);border:2px solid var(--page-primary-border-light);border-radius:36px;padding:48px 40px;text-align:left;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px -5px var(--page-primary-shadow);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-16px);box-shadow:0 30px 60px -12px var(--page-primary-shadow-strong)}.feature-icon{width:56px;height:56px;background:var(--page-primary-bg);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:24px;transition:all .3s ease}.feature-card:hover .feature-icon{background:var(--primary);color:#fff;transform:scale(1.1) rotate(5deg)}.feature-card h3{font-size:24px;font-weight:700;margin-bottom:16px;color:var(--text-main)}.feature-card p{font-size:17px;color:var(--text-dim);line-height:1.6}.card{background:var(--glass-surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:24px;padding:24px;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 12px 40px 0 var(--page-primary-shadow-strong)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp .6s cubic-bezier(.2,.8,.2,1) forwards}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-light);border-radius:5px}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:5px;border:2px solid var(--bg-light)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.footer-links{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:16px}.footer-link{font-size:14px;color:#334155;text-decoration:none;transition:all .2s ease;font-weight:500}.footer-link:hover{color:#020617}.copyright{font-size:14px;color:#475569;margin:0}.app-page{width:100%;height:100%;display:flex;flex-direction:column;font-family:var(--page-font-body);color:var(--page-ink)}.app-page-header{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary-color) 100%);color:#fff;padding:24px 20px;border-radius:var(--page-radius) var(--page-radius) 0 0;box-shadow:inset 0 -1px #ffffff1f}.app-page-title{margin:0 0 8px;font-family:var(--page-font-heading);font-size:clamp(24px,4vw,32px);letter-spacing:-.02em}.app-page-subtitle{margin:0;font-size:14px;opacity:.92}.app-page-content{flex:1;overflow-y:auto;padding:22px 20px 24px;background:transparent}.app-panel{background:var(--page-card);border:2px solid var(--page-primary-border);border-radius:var(--page-radius);box-shadow:var(--page-card-offset-shadow)}.app-pill-button{border-radius:999px;border:2px solid var(--page-primary-border-strong);background:var(--page-card);color:var(--page-ink);font-family:var(--page-font-body);font-weight:600;cursor:pointer;transition:transform .25s var(--page-ease),box-shadow .25s ease,border-color .2s ease}.app-pill-button:hover{border-color:var(--page-primary-border-accent);box-shadow:0 8px 20px var(--page-primary-shadow-strong);transform:translateY(-1px)}
