*,:after,:before{box-sizing:border-box}body,html{margin:0;max-width:100vw;overflow-x:hidden;padding:0;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.oauth-buttons{align-items:center;display:flex;flex-direction:column;gap:12px;width:100%}.oauth-button-wrapper{display:flex;justify-content:center;min-height:44px}.oauth-button-wrapper.loading{min-height:44px}.google-loading-placeholder{align-items:center;background-color:#fff;border:1px solid #dadce0;border-radius:22px;color:#3c4043;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:15px;font-weight:500;gap:12px;height:44px;justify-content:center;padding:0 16px;transition:all .2s ease;width:280px}.google-loading-placeholder:hover{background-color:#f8f9fa;border-color:#c6c6c6}.google-loading-placeholder svg{flex-shrink:0}.apple-signin-button{align-items:center;background-color:#000;border:none;border-radius:22px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:15px;font-weight:500;gap:12px;height:44px;justify-content:center;padding:0 16px;transition:all .2s ease;width:280px}.apple-signin-button:hover:not(:disabled){background-color:#333}.apple-signin-button:active:not(:disabled){transform:scale(.98)}.apple-signin-button:disabled{cursor:not-allowed;opacity:.5}.apple-signin-button svg{flex-shrink:0}@media (max-width:480px){.oauth-buttons{gap:10px}.apple-signin-button{font-size:14px;max-width:280px;width:100%}.oauth-button-wrapper>div{max-width:280px!important;width:100%!important}}.layout{display:flex;flex-direction:column;min-height:100vh}.nav{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#ffffffb8;border-bottom:1px solid #00000014;left:0;position:fixed;right:0;top:0;z-index:1000}.nav-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.nav-logo{text-decoration:none}.nav-links{display:flex;gap:32px}.nav-link{color:#1d1d1f;font-size:14px;font-weight:500;padding:8px 0;position:relative;text-decoration:none;transition:color .2s ease}.nav-link.active,.nav-link:hover{color:#0071e3}.nav-link.active:after{background:#0071e3;border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.nav-actions{align-items:center;display:flex;gap:12px}.nav-btn{border-radius:980px;font-size:14px;font-weight:500;padding:8px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-btn.primary{background:#0071e3;color:#fff}.nav-btn.primary:hover{background:#0077ed;transform:scale(1.02)}.nav-btn.secondary{background:#0000;color:#0071e3}.nav-btn.secondary:hover{background:#0071e314}.main-content{flex:1 1;margin-top:64px}.footer{background:#f5f5f7;margin-top:auto;padding:64px 0 24px}.footer-container{margin:0 auto;max-width:1200px;padding:0 24px}.footer-top{grid-gap:64px;border-bottom:1px solid #00000014;display:grid;gap:64px;grid-template-columns:1fr 2fr;padding-bottom:48px}.footer-brand{max-width:280px}.footer-tagline{color:#86868b;font-size:14px;line-height:1.6;margin-top:16px}.footer-links-grid{grid-gap:48px;display:grid;gap:48px;grid-template-columns:repeat(3,1fr)}.footer-section h4{color:#1d1d1f;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.footer-section a{color:#86868b;display:block;font-size:14px;padding:6px 0;text-decoration:none;transition:color .2s ease}.footer-section a:hover{color:#0071e3}.footer-bottom{align-items:center;display:flex;justify-content:space-between;padding-top:24px}.copyright{color:#86868b;font-size:13px}.social-links{display:flex;gap:16px}.social-links a{color:#86868b;transition:color .2s ease}.social-links a:hover{color:#0071e3}@media (max-width:900px){.footer-top{gap:48px;grid-template-columns:1fr}.footer-brand{max-width:100%}.footer-links-grid{gap:32px;grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.nav-btn.secondary,.nav-links{display:none}.footer-links-grid{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:column;gap:16px;text-align:center}}@media (max-width:480px){.nav-container{padding:0 16px}.footer{padding:24px 0 16px}.footer-container{padding:0 16px}.footer-top{gap:20px;grid-template-columns:1fr;padding-bottom:16px}.footer-brand{display:none}.footer-links-grid{gap:12px;grid-template-columns:repeat(3,1fr)}.footer-section h4{font-size:10px;margin-bottom:8px}.footer-section a{font-size:12px;padding:4px 0}.footer-bottom{padding-top:12px}.copyright{font-size:11px}.social-links{gap:12px}.social-links a svg{height:16px;width:16px}}.auth-container{align-items:center;background-color:#f5f5f7;display:flex;justify-content:center;min-height:100vh;padding:22px}.auth-box{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;max-width:440px;padding:48px;width:100%}.auth-box h1{color:#1d1d1f;font-size:32px;font-weight:700;letter-spacing:-.005em;margin-bottom:8px;text-align:center}.auth-box h2{color:#86868b;font-size:19px;font-weight:400;letter-spacing:-.022em;margin-bottom:40px;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:15px;letter-spacing:-.016em;margin-bottom:8px}.error-message{background-color:#fff}.error-message,.info-message{font-size:15px;font-weight:400;text-align:center}.info-message{background-color:#f0f7ff;border:1px solid #0071e34d;border-radius:12px;color:#0071e3;margin-bottom:20px;padding:14px 16px}.auth-box button[type=submit]{background-color:#0071e3;border-radius:980px;color:#fff;font-size:17px;font-weight:500;margin-top:12px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.auth-box button[type=submit]:hover:not(:disabled){background-color:#0077ed;transform:translateY(-1px)}.auth-box button[type=submit]:active:not(:disabled){transform:scale(.98)}.auth-link{color:#86868b;font-size:15px;font-weight:400;margin-top:24px;text-align:center}.auth-link a{color:#0071e3;font-weight:500;text-decoration:none;transition:opacity .2s}.auth-link a:hover{opacity:.8}.auth-title{color:#1d1d1f;font-size:32px;font-weight:700;letter-spacing:-.005em;margin-bottom:8px;text-align:center}.admin-link-button{background:none;border:none;color:#86868b;cursor:pointer;font-family:inherit;font-size:13px;padding:0;text-decoration:underline}.admin-link-button:hover{color:#0071e3}@media (max-width:768px){.auth-container{padding:16px}.auth-box{border-radius:16px;padding:36px 28px}.auth-box h1,.auth-title{font-size:28px}.auth-box h2{font-size:17px;margin-bottom:32px}}@media (max-width:480px){.auth-container{align-items:flex-start;padding:40px 12px 12px}.auth-box{border-radius:14px;padding:28px 20px}.auth-box h1,.auth-title{font-size:24px}.auth-box h2{font-size:15px;margin-bottom:28px}.form-group label{font-size:14px}.auth-box button[type=submit]{font-size:15px;padding:12px}.auth-link{font-size:14px}.error-message{font-size:14px;padding:12px 14px}}.dev-login-section{border-top:1px dashed #d2d2d7;margin-top:24px;padding-top:24px}.dev-toggle-btn{background:none;border:1px solid #d2d2d7;border-radius:8px;color:#86868b;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s;width:100%}.dev-toggle-btn:hover{border-color:#0071e3;color:#0071e3}.dev-login-form{margin-top:16px}.dev-login-form input{background-color:#fff;border:1px solid #d2d2d7;border-radius:10px;box-sizing:border-box;font-size:15px;padding:12px 14px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.dev-login-form input:focus{border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a;outline:none}.dev-login-btn{background-color:#86868b;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:12px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.dev-login-btn:hover:not(:disabled){background-color:#6e6e73}.dev-login-btn:disabled{cursor:not-allowed;opacity:.5}.dashboard{background-color:#f5f5f7;max-width:100vw;min-height:100vh;overflow-x:hidden;width:100%}.dashboard-header{align-items:center;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background-color:#fffc;border-bottom:1px solid #0000001a;color:#1d1d1f;display:flex;justify-content:space-between;padding:16px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header h1{font-size:22px;font-weight:600;letter-spacing:.011em;margin:0}.user-info{gap:20px}.user-info span{font-size:15px;font-weight:500}.logout-btn{background-color:#00000014;color:#1d1d1f;font-size:15px;transition:all .3s cubic-bezier(.4,0,.2,1)}.logout-btn:hover{background-color:#0000001f}.upgrade-btn{background:linear-gradient(135deg,#0071e3,#5856d6);border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.upgrade-btn:hover{box-shadow:0 4px 12px #0071e34d;transform:scale(1.05)}.subscription-badge{background:#0071e3;border:none;border-radius:980px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.subscription-badge.clickable{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.subscription-badge.clickable:hover{box-shadow:0 4px 12px #0071e34d;transform:scale(1.05)}.subscription-badge.clickable:after{content:" \2699";font-size:10px}.stats-banner{background:#0071e3;padding:32px 22px}.stats-banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;margin:0 auto;max-width:1400px}.student-profile{align-items:center;display:flex;gap:16px}.student-avatar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:3px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;font-size:28px;font-weight:600;height:64px;justify-content:center;width:64px}.student-info h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 4px}.student-info p{color:#fffc;font-size:15px;margin:0}.stats-cards{display:flex;flex-wrap:wrap;gap:16px}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:16px;min-width:120px;padding:16px 24px;text-align:center}.stat-card-value{color:#fff;font-size:32px;font-weight:700;line-height:1}.stat-card-label{color:#fffc;font-size:12px;font-weight:500;letter-spacing:.04em;margin-top:6px;text-transform:uppercase}.streak-card{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.streak-card.active{background:#fff3;border-color:#ffffff4d}.streak-card.inactive{background:#ffffff14;opacity:.7}.streak-icon{align-items:center;display:inline-flex;justify-content:center;margin-right:6px;vertical-align:middle}.streak-card.active .streak-icon svg{color:#fff}.streak-card.inactive .streak-icon svg{color:#ffffff80}.best-streak-hint{display:block;font-size:10px;font-weight:400;letter-spacing:-.022em;margin-top:2px;opacity:.7;text-transform:none}.section-controls{align-items:center;display:flex;gap:16px}.search-filter{align-items:center;display:flex;position:relative}.filter-input{background:#fff;border:1px solid #0000001a;border-radius:10px;font-size:15px;padding:10px 36px 10px 16px;transition:all .2s ease;width:220px}.filter-input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.filter-input::placeholder{color:#1d1d1f}.clear-filter{align-items:center;background:#0000001a;border:none;border-radius:50%;color:#1d1d1f;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;position:absolute;right:8px;transition:all .2s ease;width:24px}.clear-filter:hover{background:#00000026;color:#1d1d1f}.sort-dropdown{position:relative}.sort-select{appearance:none;-webkit-appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1d1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #0000001a;border-radius:10px;color:#1d1d1f;cursor:pointer;font-size:15px;padding:10px 36px 10px 16px;transition:all .2s ease}.sort-select:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.sort-select:hover{border-color:#0003}@media (max-width:900px){.stats-banner-content{align-items:flex-start;flex-direction:column}.stats-cards{justify-content:flex-start;width:100%}.stat-card{flex:1 1;min-width:100px}.section-controls{align-items:center;flex-direction:row;gap:8px;width:100%}.search-filter{flex:1 1;min-width:0}.filter-input{font-size:14px;padding:8px 32px 8px 12px;width:100%}.sort-select{background-position:right 8px center;font-size:13px;min-width:90px;padding:8px 28px 8px 10px}.view-toggle{padding:2px}.view-btn{height:32px;width:34px}}@media (max-width:600px){.stats-cards{display:flex;flex-wrap:nowrap;gap:8px}.stat-card{border-radius:12px;flex:1 1;min-width:0;padding:10px 8px}.stat-card-value{font-size:20px}.stat-card-label{font-size:9px;letter-spacing:.02em;margin-top:4px}.streak-icon svg{height:18px;width:18px}.streak-icon{margin-right:3px}.best-streak-hint{font-size:8px}}.dashboard-content{margin:0 auto;max-width:1400px;padding:40px 22px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.section-header h2{color:#1d1d1f;flex-shrink:0;font-size:28px;font-weight:700;letter-spacing:-.003em}.upload-form{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:32px;padding:32px}.upload-form h3{color:#1d1d1f;font-size:22px;font-weight:600;letter-spacing:.011em;margin-bottom:24px}.upload-form small{color:#1d1d1f;display:block;font-size:13px;font-weight:400;margin-top:8px}.checkbox-label{cursor:pointer;font-weight:500;gap:10px}.checkbox-label input[type=checkbox]{accent-color:#0071e3;cursor:pointer;height:20px;width:20px}.upload-progress{background-color:#0071e31a;border:1px solid #0071e34d;border-radius:12px;color:#0071e3;font-size:15px;font-weight:500;margin-top:16px;padding:14px 16px;text-align:center}.upload-progress.success{background-color:#34c7591a;border-color:#34c7594d;color:#34c759}.carousel-container{position:relative}.carousel-nav{align-items:center;background:#f5f5f7f2;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s cubic-bezier(.4,0,.2,1);width:56px;z-index:10}.carousel-nav:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-50%) scale(1.05)}.carousel-nav:active{transform:translateY(-50%) scale(.95)}.carousel-nav-left{left:-12px}.carousel-nav-right{right:-12px}.carousel-nav-icon{color:#1d1d1f;font-size:28px;font-weight:600;line-height:1}@media (hover:none) and (pointer:coarse){.carousel-nav{display:none}}.modules-grid{-webkit-overflow-scrolling:touch;display:flex;gap:16px;margin:0 -24px;overflow-x:auto;overflow-y:hidden;padding:8px 24px 16px;scroll-behavior:smooth;scroll-snap-type:x mandatory}.modules-grid::-webkit-scrollbar{display:none;height:0}.modules-grid{-ms-overflow-style:none;scrollbar-width:none}.loading-modules{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 22px}.loading-modules p{color:#86868b;font-size:15px;font-weight:500}.no-modules{border-radius:18px;color:#1d1d1f;font-size:17px;font-weight:400;padding:80px 22px;text-align:center}.module-card,.no-modules{background:#fff;box-shadow:0 4px 16px #00000014}.module-card{border-radius:16px;display:flex;flex:0 0 auto;flex-direction:column;height:420px;max-width:calc(100vw - 64px);min-width:240px;padding:16px;scroll-snap-align:start;transition:all .3s cubic-bezier(.4,0,.2,1);width:260px}.module-card:last-child{margin-right:0}.module-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.module-card.clickable{-webkit-tap-highlight-color:rgba(0,113,227,.1);cursor:pointer;position:relative;touch-action:manipulation;-webkit-user-select:none;user-select:none}.module-card.clickable:focus{box-shadow:0 0 0 4px #0071e333,0 8px 24px #0000001f;outline:none}.module-card.clickable:hover{transform:scale(1.02)}.module-card.clickable:active{transform:scale(.98)}.card-chevron{background-color:#0071e3;bottom:20px;height:24px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain;opacity:.4;position:absolute;right:20px;transition:opacity .2s,transform .2s;width:24px}.module-card.clickable:hover .card-chevron{opacity:.8;transform:translateX(2px)}.module-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:10px}.module-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d1d1f;display:-webkit-box;flex-shrink:0;font-size:17px;font-weight:600;height:44px;letter-spacing:.011em;line-height:1.3;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis}.delete-btn{align-items:center;background:none;border-radius:50%;color:#ff3b30;display:flex;font-size:22px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.delete-btn:hover{background-color:#ff3b301a}.module-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d1d1f;display:-webkit-box;flex-shrink:0;font-size:13px;font-weight:400;height:38px;line-height:1.47059;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis}.processing-indicator{background-color:#ffcc001a;border:1px solid #ffcc004d;border-radius:12px;color:#f5a623}.error-indicator,.processing-indicator{font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:16px;text-transform:uppercase}.error-indicator{background-color:#ff3b301a;border:1px solid #ff3b304d;border-radius:12px;color:#ff3b30;padding:10px 14px;text-align:center}.module-meta{display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.word-count{background-color:#0071e31a;border-radius:980px;color:#0071e3;font-size:13px;font-weight:600;padding:6px 14px}.created-by,.module-date{color:#1d1d1f;font-weight:400}.module-date{font-size:13px}.module-stats{flex-shrink:0;margin-top:auto;padding-bottom:24px;padding-top:12px}.stat{border-bottom:1px solid #f5f5f7;display:flex;justify-content:space-between;margin-bottom:6px;padding:6px 0}.stat-value{color:#000;font-size:15px;font-weight:700}.stat.success .stat-label,.stat.success .stat-value{color:#34c759}.stat.error .stat-label,.stat.error .stat-value{color:#ff3b30}.progress-bar{background-color:#f5f5f7;border-radius:980px;height:6px;margin-top:16px;width:100%}.progress-fill{background:linear-gradient(90deg,#0071e3,#0077ed);border-radius:980px;transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-text{color:#1d1d1f;font-size:13px;font-weight:600;margin-top:8px}.module-actions{display:flex;gap:10px;margin-top:20px}.module-actions button{flex:1 1;font-size:15px;font-weight:500;padding:12px 16px}.upload-mode-toggle{background:#f5f5f7;border-radius:12px;display:flex;gap:0;margin-bottom:24px;padding:4px}.mode-btn{background:#0000;border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:12px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.mode-btn,.mode-btn:hover{color:#1d1d1f}.mode-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#1d1d1f}.word-input{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:15px;line-height:1.6;min-height:160px;resize:vertical}.word-input::placeholder{color:#c7c7cc}.word-counter{background:#0071e31a;border-radius:980px;color:#0071e3;font-size:13px;font-weight:600;margin-left:12px;padding:4px 10px}.enrichment-note{background:#0071e30d;border-radius:10px;color:#1d1d1f;display:block;font-size:13px;font-style:italic;margin:16px 0;padding:12px 16px}.submit-btn{margin-top:8px}.view-toggle{background:#f5f5f7;border-radius:10px;display:flex;gap:0;padding:4px}.view-btn{align-items:center;background:#0000000a;border:none;border-radius:8px;color:#636366;cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);width:40px}.view-btn svg{fill:#636366;display:block;flex-shrink:0;height:18px;width:18px}.view-btn.active svg,.view-btn:hover svg{fill:#1d1d1f}.view-btn:hover{background:#00000014;color:#1d1d1f}.view-btn.active{background:#fff;box-shadow:0 2px 8px #00000014;color:#1d1d1f}.modules-table-container{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;overflow:hidden}.modules-table{border-collapse:collapse;font-size:15px;width:100%}.modules-table thead{background:#f5f5f7}.modules-table th{border-bottom:1px solid #00000014;color:#1d1d1f;font-size:13px;font-weight:600;letter-spacing:.04em;padding:14px 16px;text-align:left;text-transform:uppercase}.modules-table td{border-bottom:1px solid #0000000d;color:#1d1d1f;padding:16px;vertical-align:middle}.modules-table tbody tr:last-child td{border-bottom:none}.modules-table tbody tr:hover{background:#0071e308}.modules-table tbody tr.clickable-row{cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1)}.modules-table tbody tr.clickable-row:hover{background:#0071e30f}.modules-table tbody tr.clickable-row:focus{background:#0071e314;outline:none}.modules-table tbody tr.clickable-row:active{background:#0071e31a}.module-name-cell{min-width:200px}.module-name-cell .module-name{color:#1d1d1f;display:block;font-weight:600;margin-bottom:2px}.module-name-cell .module-desc{color:#1d1d1f;display:block;font-size:13px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modules-table td.success-cell,.success-cell{color:#34c759!important;font-weight:600}.error-cell,.modules-table td.error-cell{color:#ff3b30!important;font-weight:600}.table-progress{align-items:center;display:flex;gap:10px;min-width:120px}.table-progress-bar{background:#f5f5f7;border-radius:980px;flex:1 1;height:6px;overflow:hidden}.table-progress-fill{background:linear-gradient(90deg,#0071e3,#0077ed);border-radius:980px;height:100%;transition:width .3s ease}.table-progress-text{color:#0071e3;font-size:13px;font-weight:600;min-width:36px}.actions-cell{white-space:nowrap}.table-btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;margin-right:6px;padding:8px 14px;transition:all .2s ease}.table-btn:last-child{margin-right:0}.table-btn.primary{background:#0071e3;color:#fff}.table-btn.primary:hover{background:#0077ed}.table-btn.secondary{background:#ff3b301a;color:#ff3b30}.table-btn.secondary:hover{background:#ff3b3026}.table-btn.oral{background:#ff95001a;color:#ff9500}.table-btn.oral:hover{background:#ff950026}.status-badge{letter-spacing:.04em;text-transform:uppercase}.status-badge.completed{background:#34c7591a;color:#34c759}.status-badge.processing{background:#ffcc001a;color:#f5a623}.status-badge.failed{background:#ff3b301a;color:#ff3b30}.force-complete-btn,.retry-btn,.status-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;margin-left:8px;padding:4px 10px;transition:all .2s ease}.retry-btn{background:#ff3b3033;color:#ff3b30}.retry-btn:hover:not(:disabled){background:#ff3b304d}.force-complete-btn{background:#34c75933;color:#34c759}.force-complete-btn:hover:not(:disabled){background:#34c7594d}.status-action-btn{background:#ffffff4d;color:inherit;font-size:11px;padding:2px 6px}.status-action-btn:hover:not(:disabled){background:#ffffff80}.force-complete-btn:disabled,.retry-btn:disabled,.status-action-btn:disabled{cursor:not-allowed;opacity:.5}.table-delete-btn{background:#ff3b301a;border:none;border-radius:8px;color:#ff3b30;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.table-delete-btn:hover{background:#ff3b3026}.breadcrumb-nav{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:12px 16px}.breadcrumb-item{background:none;border:none;border-radius:6px;color:#0071e3;cursor:pointer;font-size:15px;font-weight:500;padding:4px 8px;transition:background .2s ease}.breadcrumb-item:hover:not(:disabled){background:#0071e31a}.breadcrumb-item.active,.breadcrumb-item:disabled{color:#1d1d1f;cursor:default}.breadcrumb-separator{color:#1d1d1f;font-size:14px}.submodule-badge{background:#5856d61a;border-radius:980px;color:#5856d6;display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:4px 10px}.view-submodules-btn{background:#5856d61a;border:none;border-radius:10px;color:#5856d6;cursor:pointer;font-size:14px;font-weight:500;margin-top:12px;padding:10px 16px;transition:all .2s ease;width:100%}.view-submodules-btn:hover{background:#5856d626}.submodule-link{background:none;border:none;border-radius:6px;color:#5856d6;cursor:pointer;font-size:14px;font-weight:500;padding:4px 8px;transition:background .2s ease}.submodule-link:hover{background:#5856d61a}.no-submodules{color:#1d1d1f}.parent-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2386868b' d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #0000001a;border-radius:10px;cursor:pointer;font-size:15px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.parent-select:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.oral-btn{background-color:#ff95001a!important;color:#ff9500!important}.oral-btn:hover:not(:disabled){background-color:#ff950026!important}.module-wrapper{display:flex;flex-direction:column;flex-shrink:0}.module-wrapper.has-submodules>.module-card{border-bottom-left-radius:0;border-bottom-right-radius:0}.submodules-btn-area{flex-shrink:0;height:45px;margin-bottom:12px}.submodules-placeholder{height:45px}.expand-submodules-btn{align-items:center;background:#5856d61a;border:none;border-radius:8px;color:#5856d6;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;margin-bottom:0;padding:10px 16px;transition:all .2s ease;width:100%}.expand-submodules-btn.expanded,.expand-submodules-btn:hover{background:#5856d626}.expand-icon{font-size:10px}.submodules-container{border-left:3px solid #5856d64d;display:flex;flex-direction:column;gap:0;margin-left:20px;padding:0}.submodule-card{background:linear-gradient(135deg,#5856d60d,#fff);border-left:none!important;border-radius:0 12px 12px 0!important;margin-left:0}.submodule-card:first-child{border-top-right-radius:0!important}.submodule-card:last-child{border-bottom-left-radius:12px!important}.submodule-card h3:before{background:#5856d6;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:10px;vertical-align:middle;width:8px}.table-expand-btn{background:none;border:none;border-radius:4px;color:#5856d6;cursor:pointer;font-size:10px;margin-right:8px;padding:4px 8px;transition:background .2s ease}.table-expand-btn:hover{background:#5856d61a}.table-expand-placeholder{display:inline-block;flex-shrink:0;margin-right:8px;width:26px}.module-name-wrapper{align-items:flex-start;display:flex}.submodule-count-badge{background:#5856d61a;border-radius:980px;color:#5856d6;display:inline-block;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px}.submodule-row{background:#5856d608}.submodule-row:hover{background:#5856d614!important}.submodule-name-cell{padding-left:40px!important}.submodule-name-cell:before{color:#5856d6;content:"↳";font-weight:600;margin-right:8px}@media (max-width:900px){.modules-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.modules-table{min-width:700px}.modules-table td,.modules-table th{padding:12px 10px}.module-name-cell .module-desc{max-width:150px}.section-header{align-items:flex-start;flex-direction:column}.section-header h2{font-size:24px}}@media (max-width:600px){.dashboard-header{flex-wrap:wrap;gap:12px;padding:12px 16px}.dashboard-header h1{font-size:18px}.user-info{gap:12px}.logout-btn,.user-info span{font-size:14px}.logout-btn,.upgrade-btn{padding:6px 12px}.upgrade-btn{font-size:12px}.subscription-badge{font-size:11px;padding:4px 10px}.stats-banner{padding:20px 16px}.student-avatar{font-size:22px;height:48px;width:48px}.student-info h2{font-size:18px}.student-info p{font-size:13px}.dashboard-content{padding:20px 16px}.section-header h2{font-size:22px}.filter-input{max-width:none;width:100%}.search-filter{width:100%}.modules-grid{gap:12px;margin:0 -16px;padding-left:16px;padding-right:16px}.module-card{height:auto;min-height:380px;min-width:240px;padding:14px;width:260px}.module-card h3{font-size:16px;height:42px}.module-description{font-size:12px;height:36px}.submodules-btn-area{height:40px;margin-bottom:8px}.submodules-placeholder{height:40px}.module-stats{padding-bottom:16px;padding-top:8px}.stat{margin-bottom:4px;padding:4px 0}.stat-label{font-size:13px}.stat-value{font-size:14px}.progress-bar{margin-top:10px}.progress-text{font-size:12px;margin-top:6px}.module-actions{flex-wrap:wrap}.module-actions button{font-size:14px;padding:10px 12px}.upload-form{padding:20px}.upload-form h3{font-size:18px}}@media (max-width:400px){.dashboard-header{padding:10px 12px}.stats-banner{padding:16px 12px}.stats-cards{gap:6px}.stat-card{padding:8px 6px}.stat-card-value{font-size:18px}.stat-card-label{font-size:8px}.dashboard-content{padding:16px 12px}.modules-grid{gap:10px;margin:0 -12px;padding-left:12px;padding-right:12px}.module-card{height:auto;min-height:360px;min-width:200px;padding:12px;width:220px}.module-card h3{font-size:15px;height:40px}.module-description{font-size:11px;height:34px;margin-bottom:8px}.submodules-btn-area{height:36px;margin-bottom:6px}.submodules-placeholder{height:36px}.expand-submodules-btn{font-size:12px;padding:8px}.module-stats{padding-bottom:12px;padding-top:6px}.stat{margin-bottom:3px;padding:3px 0}.stat-label{font-size:12px}.stat-value{font-size:13px}.progress-bar{height:5px;margin-top:8px}.progress-text{font-size:11px;margin-top:4px}.card-chevron{bottom:12px;height:20px;right:12px;width:20px}.module-actions{gap:8px}.module-actions button{font-size:13px;padding:8px 10px}}.header-actions{align-items:center;display:flex;gap:12px}.primary-btn{border-radius:8px;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.primary-btn:hover{transform:scale(1.02)}.primary-btn:active{transform:scale(.98)}.primary-btn:disabled{background-color:#1d1d1f;cursor:not-allowed;transform:none}.secondary-btn{background-color:#0071e31a;border:none;border-radius:8px;color:#0071e3;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.secondary-btn:hover{background-color:#0071e326}.secondary-btn:active{transform:scale(.98)}@media (max-width:600px){.header-actions{flex-direction:column;width:100%}.header-actions button{width:100%}}.lock-icon,.table-lock-icon{background-color:currentColor;display:inline-block;height:14px;margin-right:4px;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:middle;width:14px}.table-lock-icon{height:12px;width:12px}.table-lock-icon,.table-lock-icon.sequential-lock{background-color:#ff9500}.table-lock-icon.subscription-lock{background-color:#af52de}.module-locked-badge{align-items:center;border-radius:980px;display:flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;position:absolute;right:12px;top:12px}.module-locked-badge,.module-locked-badge.sequential-lock{background:#ff95001f;color:#ff9500}.module-locked-badge.subscription-lock{background:#af52de1f;color:#af52de}.module-challenge-badge{border-radius:980px;font-size:11px;left:12px;letter-spacing:.5px;padding:4px 10px;position:absolute;top:12px}.challenge-badge-inline,.module-challenge-badge{background:linear-gradient(135deg,#ff2d55,#ff3b30);color:#fff;font-weight:600;text-transform:uppercase}.challenge-badge-inline{border-radius:4px;display:inline-block;font-size:10px;letter-spacing:.3px;margin-left:8px;padding:2px 8px;vertical-align:middle}.add-words-btn{background:#34c7591a;border:none;border-radius:10px;color:#34c759;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease;width:100%}.add-words-btn:hover:not(:disabled){background:#34c75926}.add-words-btn:disabled{cursor:not-allowed;opacity:.5}.table-add-btn{background:#34c7591a;border:none;border-radius:8px;color:#34c759;cursor:pointer;font-size:13px;font-weight:500;margin-right:6px;padding:8px 14px;transition:all .2s ease}.table-add-btn:hover:not(:disabled){background:#34c75926}.table-add-btn:disabled{cursor:not-allowed;opacity:.5}.modal-overlay{background:#00000080;bottom:0;left:0;right:0;top:0}.modal-content{box-shadow:0 20px 60px #0000004d;max-width:500px}.add-words-modal{padding:0}.modal-header{align-items:center;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1d1d1f;font-size:20px;font-weight:600;margin:0}.modal-close{background:#00000014;color:#1d1d1f;font-size:20px;transition:all .2s ease}.modal-close:hover{background:#0000001f}.add-words-modal form{padding:24px}.add-words-modal .form-group{margin-bottom:16px}.add-words-modal .form-group label{align-items:center;color:#1d1d1f;display:flex;font-weight:500;justify-content:space-between;margin-bottom:8px}.add-words-modal .form-group textarea{border:1px solid #0000001a;border-radius:10px;font-family:inherit;font-size:15px;min-height:180px;padding:12px 16px;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.add-words-modal .form-group textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.add-words-modal .form-group small{color:#86868b;display:block;font-size:13px;margin-top:8px}.add-words-message{border-radius:10px;font-size:14px;font-weight:500;margin-bottom:16px;padding:12px 16px}.add-words-message.success{background:#34c7591a;color:#34c759}.add-words-message.error{background:#ff3b301a;color:#ff3b30}.modal-actions{justify-content:flex-end}.modal-actions button{border-radius:10px;font-size:15px;font-weight:500;padding:12px 24px}.module-actions{margin-top:auto;padding-top:12px}.submodules-panel-header{display:none}@media (max-width:768px){.submodules-container{-webkit-overflow-scrolling:touch;animation:slideInUp .25s ease-out;background:#fff;border-left:none;border-top:1px solid #0000001a;bottom:0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:row;gap:12px;height:auto;left:0;margin-left:0;max-height:45vh;overflow-x:auto;overflow-y:hidden;padding:56px 16px 24px;position:fixed;right:0;scroll-snap-type:x mandatory;z-index:200}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.module-wrapper.has-submodules .submodules-container:before{background:#0006;bottom:45vh;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.submodules-container .submodule-card{-webkit-tap-highlight-color:rgba(0,113,227,.1);background:#fff!important;border-radius:12px!important;flex:0 0 auto;height:auto;margin-bottom:0;min-height:200px;min-width:240px;scroll-snap-align:start;touch-action:manipulation;width:260px}.submodules-panel-header{align-items:center;background:#fff;border-bottom:1px solid #0000001a;bottom:calc(45vh - 56px);display:flex;justify-content:space-between;left:0;padding:12px 16px;position:fixed;right:0;z-index:201}.submodules-panel-title{color:#1d1d1f;font-size:17px;font-weight:600;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submodules-panel-close{-webkit-tap-highlight-color:transparent;align-items:center;background:#00000014;border:none;border-radius:50%;color:#1d1d1f;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:32px;justify-content:center;touch-action:manipulation;width:32px}.submodules-panel-close:hover{background:#0000001f}.submodule-card h3:before{display:none}}.placement-prompt{background:linear-gradient(135deg,#f0f7ff,#e8f4ff);border-bottom:1px solid #0071e326;padding:16px 22px}.placement-prompt-content{align-items:center;display:flex;gap:16px;margin:0 auto;max-width:1200px}.placement-prompt-icon{flex-shrink:0;font-size:32px}.placement-prompt-text{flex:1 1}.placement-prompt-text h3{color:#1d1d1f;font-size:17px;font-weight:600;margin:0 0 4px}.placement-prompt-text p{color:#86868b;font-size:14px;margin:0}.placement-prompt-actions{display:flex;flex-shrink:0;gap:12px}.placement-start-btn{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.placement-start-btn:hover{background:#0077ed;transform:scale(1.02)}.placement-dismiss-btn{background:#00000014;border:none;border-radius:980px;color:#1d1d1f;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .3s cubic-bezier(.4,0,.2,1)}.placement-dismiss-btn:hover{background:#0000001f}@media (max-width:768px){.placement-prompt{padding:14px 16px}.placement-prompt-content{flex-wrap:wrap}.placement-prompt-icon{font-size:28px}.placement-prompt-text h3{font-size:16px}.placement-prompt-text p{font-size:13px}.placement-prompt-actions{margin-top:12px;width:100%}.placement-dismiss-btn,.placement-start-btn{flex:1 1;font-size:14px;padding:10px 16px}}@media (max-width:480px){.placement-prompt{padding:12px}.placement-prompt-icon{font-size:24px}.placement-prompt-text h3{font-size:15px}.placement-prompt-text p{font-size:12px}}.modal-overlay{align-items:center;animation:modalFadeIn .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:18px;box-shadow:0 20px 60px #0003;max-height:90vh;max-width:480px;overflow-y:auto;padding:32px;position:relative;width:100%}.modal-close{align-items:center;background:#0000000f;border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:16px;top:16px;transition:all .2s cubic-bezier(.4,0,.2,1);width:32px}.modal-close:hover{background:#0000001a}.modal-close-icon{height:14px;position:relative;width:14px}.modal-close-icon:after,.modal-close-icon:before{background-color:#86868b;border-radius:1px;content:"";height:14px;left:6px;position:absolute;top:0;width:2px}.modal-close-icon:before{transform:rotate(45deg)}.modal-close-icon:after{transform:rotate(-45deg)}.modal-close:hover .modal-close-icon:after,.modal-close:hover .modal-close-icon:before{background-color:#1d1d1f}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.modal-content{margin:16px;max-height:calc(100vh - 32px);padding:24px}}.module-modal{text-align:center}.module-modal-title{color:#1d1d1f;font-size:28px;font-weight:700;letter-spacing:-.003em;margin:0 0 8px;padding-right:32px}.module-modal-description{color:#86868b;font-size:17px;line-height:1.47059;margin:0 0 28px}.module-modal-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media (min-width:400px){.module-modal-stats{grid-template-columns:repeat(4,1fr)}}.modal-stat{align-items:center;background:#f5f5f7;border-radius:12px;display:flex;flex-direction:column;padding:16px 12px}.modal-stat-value{color:#1d1d1f;font-size:24px;font-weight:700;line-height:1.2}.modal-stat-label{color:#86868b;font-size:11px;font-weight:600;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.modal-stat.success .modal-stat-value{color:#34c759}.modal-stat.error .modal-stat-value{color:#ff3b30}.module-modal-progress{margin-bottom:28px}.modal-progress-bar{background:#f5f5f7;border-radius:980px;height:8px;margin-bottom:8px;overflow:hidden}.modal-progress-fill{background:linear-gradient(90deg,#0071e3,#0077ed);border-radius:980px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.modal-progress-text{color:#0071e3;font-size:14px;font-weight:600}.module-modal-actions{display:flex;flex-direction:column;gap:12px}.modal-action-btn{align-items:center;border:none;border-radius:980px;cursor:pointer;display:flex;font-size:17px;font-weight:500;gap:10px;justify-content:center;padding:16px 24px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.modal-action-btn.primary{background:#0071e3;color:#fff}.modal-action-btn.primary:hover{background:#0077ed;transform:scale(1.02)}.modal-action-btn.oral{background:#ff950026;color:#ff9500}.modal-action-btn.oral:hover{background:#ff950040}.modal-action-btn.retry{background:#ff3b301a;color:#ff3b30}.modal-action-btn.retry:hover{background:#ff3b3026}.modal-btn-icon{display:inline-block;height:18px;width:18px}.modal-btn-icon.icon-play{background-color:currentColor;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain}.modal-btn-icon.icon-mic{background-color:currentColor;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain}.modal-btn-icon.icon-retry{background-color:currentColor;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain}.locked-icon-large{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff9500'%3E%3Cpath d='M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:64px;margin:0 auto 16px;width:64px}.practice-order-section{margin-bottom:12px}.practice-order-container{background:#0071e314;border-radius:16px;padding:16px}.practice-order-label{color:#0071e3;font-size:13px;font-weight:600;letter-spacing:.04em;margin:0 0 12px;text-align:center;text-transform:uppercase}.practice-order-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.order-btn{align-items:center;background:#fff;border:2px solid #0071e3;border-radius:12px;box-shadow:0 2px 8px #0071e326;cursor:pointer;display:flex;flex-direction:column;gap:6px;justify-content:center;min-width:0;padding:14px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.order-btn:hover{background:#0071e314;border-color:#0077ed;box-shadow:0 4px 12px #0071e340;transform:translateY(-2px)}.order-btn:active{transform:translateY(0)}.order-btn svg{color:#0071e3;height:22px;width:22px}.order-btn-label{color:#0071e3;font-size:14px;font-weight:700}.order-btn-detail{color:#86868b;font-size:10px;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-btn.continue{background:#0071e3;box-shadow:0 2px 8px #0071e34d}.order-btn.continue:hover{background:#0077ed;box-shadow:0 4px 12px #0071e366}.order-btn.continue .order-btn-label,.order-btn.continue svg{color:#fff}.order-btn.continue .order-btn-detail{color:#fffc}@media (min-width:400px){.practice-order-buttons{grid-template-columns:repeat(4,1fr)}}.parent-module-notice{background:linear-gradient(135deg,#0071e314,#0071e30a);border-radius:16px;margin-bottom:20px;padding:24px;text-align:center}.parent-module-notice p{color:#1d1d1f;font-size:15px;line-height:1.5;margin:0}.parent-module-notice p:first-child{color:#0071e3;font-weight:600;margin-bottom:8px}.parent-module-notice p:last-child{color:#86868b}.practice-order-container.vocab-container{background:#5856d614}.vocab-container .practice-order-label{color:#5856d6}.vocab-container .order-btn.vocab{border-color:#5856d6;box-shadow:0 2px 8px #5856d626}.vocab-container .order-btn.vocab .order-btn-label,.vocab-container .order-btn.vocab svg{color:#5856d6}.vocab-container .order-btn.vocab:hover{background:#5856d614;border-color:#5856d6;box-shadow:0 4px 12px #5856d640}.practice-order-buttons.single-button{grid-template-columns:1fr;margin:0 auto;max-width:200px}.practice-container{background-color:#f5f5f7;min-height:100vh}.practice-header{align-items:center;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background-color:#fffc;border-bottom:1px solid #0000001a;color:#1d1d1f;display:flex;justify-content:space-between;padding:12px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.practice-header h1{font-size:18px;font-weight:600;letter-spacing:.011em;margin:0}.mode-indicator{color:#86868b;font-size:14px;font-weight:400;letter-spacing:-.016em;margin-top:2px}.stats-mini{display:flex;font-size:15px;font-weight:500;gap:20px}.stats-mini .correct{align-items:center;color:#34c759;display:flex;gap:4px}.stats-mini .incorrect{align-items:center;color:#ff3b30;display:flex;gap:4px}.stats-mini .streak{align-items:center;color:#ff9500;display:flex;font-weight:600;gap:4px}.icon-fire{-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 22c-4.42 0-8-3.58-8-8 0-3.03 1.28-5.63 3.5-7.5-.21 1.5.5 3 1.5 4 .5-2.5 2-4 3.5-5.5 1 1 1.75 2.5 2 4 1-1.5 2-3.5 2-5.5C19 6 20 9 20 12c0 4.42-3.58 8-8 8zm0-2c3.31 0 6-2.69 6-6 0-2.09-.72-4-2-5.5-.5 1.5-1.5 2.5-2.5 3C13.25 10 12.75 9 12 8c-.75 1.25-1.75 2.25-2.25 3.75C9 11.25 8.5 10.25 8.5 9 7 10.5 6 12.5 6 14c0 3.31 2.69 6 6 6z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 22c-4.42 0-8-3.58-8-8 0-3.03 1.28-5.63 3.5-7.5-.21 1.5.5 3 1.5 4 .5-2.5 2-4 3.5-5.5 1 1 1.75 2.5 2 4 1-1.5 2-3.5 2-5.5C19 6 20 9 20 12c0 4.42-3.58 8-8 8zm0-2c3.31 0 6-2.69 6-6 0-2.09-.72-4-2-5.5-.5 1.5-1.5 2.5-2.5 3C13.25 10 12.75 9 12 8c-.75 1.25-1.75 2.25-2.25 3.75C9 11.25 8.5 10.25 8.5 9 7 10.5 6 12.5 6 14c0 3.31 2.69 6 6 6z'/%3E%3C/svg%3E") no-repeat center}.practice-header .back-btn{background-color:#ff3b30!important;border:none!important;border-radius:980px;color:#fff!important;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.practice-header .back-btn:before{content:none!important}.practice-header .back-btn:hover{background-color:#e63529!important;transform:scale(1.02)}.practice-header .back-btn:active{transform:scale(.98)}.practice-content{margin:0 auto;max-width:600px;padding:16px 22px}@media (max-width:768px){.practice-content{padding:12px 16px}}@media (max-width:480px){.practice-content{padding:8px 12px}}.error-notification{background-color:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;font-size:15px;font-weight:400;padding:16px 20px}.error-close{font-weight:300;line-height:1;margin-left:16px;opacity:.6;transition:opacity .2s}.error-close:hover{opacity:1}.progress-indicator{font-size:14px;letter-spacing:-.016em;margin-bottom:12px}@media (max-width:480px){.progress-indicator{font-size:13px;margin-bottom:8px}}.pronunciation-block{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:10px}@media (max-width:480px){.pronunciation-block{border-radius:12px;gap:10px;margin-bottom:8px;padding:14px}}.audio-btn-large{box-shadow:0 4px 12px #0071e34d;display:inline-flex;font-size:16px;font-weight:500;gap:10px;padding:14px 28px}.audio-btn-large:hover{box-shadow:0 6px 16px #0071e366;transform:translateY(-2px)}@media (max-width:480px){.audio-btn-large{font-size:15px;padding:12px 24px}}.phonetic-display{color:#1d1d1f;font-family:SF Mono,Monaco,Courier New,monospace;font-size:20px;font-weight:500;letter-spacing:.02em}@media (max-width:480px){.phonetic-display{font-size:17px}}.no-audio-notice-compact{color:#86868b;font-size:14px;font-weight:400}.loading-word{align-items:center;color:#86868b;display:flex;font-size:15px;font-weight:400;gap:8px;justify-content:center;padding:16px}.loading-word:before{animation:spin .8s linear infinite;border:2px solid #d2d2d7;border-radius:50%;border-top-color:#0071e3;content:"";height:16px;width:16px}@media (max-width:480px){.word-info-collapsible{border-radius:12px;margin-bottom:8px}.word-info-toggle{font-size:14px;padding:12px 14px}.word-info-content{padding:0 14px 14px}}.word-info-content .info-item:first-child{margin-top:14px}@media (max-width:480px){.word-info-content .info-item{margin-top:10px}}.word-section{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:16px;padding:40px 32px;text-align:center}@media (max-width:768px){.word-section{border-radius:14px;margin-bottom:12px;padding:24px 20px}}@media (max-width:480px){.word-section{border-radius:12px;margin-bottom:10px;padding:16px 14px}}.audio-btn{align-items:center;background:#0071e3;border-radius:980px;box-shadow:0 4px 12px #0071e34d;color:#fff;display:inline-flex;font-size:17px;font-weight:500;gap:10px;padding:16px 48px;transition:all .3s cubic-bezier(.4,0,.2,1)}.audio-btn:hover:not(:disabled){background:#0077ed;box-shadow:0 6px 16px #0071e366;transform:translateY(-2px)}.audio-btn:active:not(:disabled){transform:scale(.98)}.audio-btn:disabled{background:#d2d2d7;box-shadow:none}.audio-icon{font-size:20px}.phonetic{color:#86868b;font-family:SF Mono,Monaco,Courier New,monospace;font-size:17px;font-weight:400;letter-spacing:0;margin-top:24px}.no-audio-notice{align-items:flex-start;background-color:#f5f5f7;border:1px solid #d2d2d7;border-radius:12px;display:flex;gap:16px;margin:24px 0;padding:20px}.notice-icon{flex-shrink:0;font-size:24px;opacity:.6}.notice-text{flex:1 1}.notice-text strong{color:#1d1d1f;display:block;font-size:17px;font-weight:600;margin-bottom:6px}.notice-text p{color:#86868b;font-size:15px;font-weight:400;line-height:1.5;margin:0}.answer-form{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:10px;padding:18px}@media (max-width:768px){.answer-form{border-radius:12px;margin-bottom:8px;padding:14px}}@media (max-width:480px){.answer-form{border-radius:12px;margin-bottom:8px;padding:12px}}.answer-input{background-color:#f5f5f7;border:2px solid #d2d2d7;border-radius:12px;color:#1d1d1f;font-size:22px;font-weight:400;letter-spacing:-.022em;margin-bottom:12px;padding:14px 18px;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}@media (max-width:768px){.answer-input{border-radius:10px;font-size:20px;margin-bottom:10px;padding:12px 14px}}@media (max-width:480px){.answer-input{border-radius:10px;font-size:18px;margin-bottom:10px;padding:12px}}.answer-input:focus{background-color:#fff;border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a}.submit-btn{background-color:#0071e3;border:none;border-radius:980px;cursor:pointer;font-size:16px;padding:14px;transition:all .3s cubic-bezier(.4,0,.2,1)}.submit-btn:hover:not(:disabled){background-color:#0077ed;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:scale(.98)}.feedback{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:24px;padding:60px 40px}.feedback.correct{border:2px solid #34c759}.feedback.incorrect{border:2px solid #ff3b30}.feedback-icon{font-size:64px;margin-bottom:16px}.feedback.correct .feedback-icon{color:#34c759}.feedback.incorrect .feedback-icon{color:#ff3b30}.feedback-message{font-size:32px;letter-spacing:.004em;margin-bottom:12px}.feedback.correct .feedback-message{color:#34c759}.feedback.incorrect .feedback-message{color:#ff3b30}.feedback.incorrect{position:relative}.typo-btn{background:#0000000d;border:none;border-radius:980px;color:#86868b;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;position:absolute;right:16px;top:16px;transition:all .2s cubic-bezier(.4,0,.2,1)}.typo-btn:hover:not(:disabled){background:#0071e31a;color:#0071e3}.typo-btn.marked{background:#34c7591a;color:#34c759;cursor:default}.typo-btn:disabled{opacity:.8}.user-answer{color:#86868b;font-size:17px;font-weight:400;margin-top:16px}.user-answer strong{color:#ff3b30;font-size:20px;font-weight:600;text-decoration:line-through;-webkit-text-decoration-color:#ff3b3066;text-decoration-color:#ff3b3066}.correct-answer{color:#1d1d1f;font-size:19px;font-weight:400;margin-top:12px}.correct-answer strong{color:#34c759;font-size:24px;font-weight:600}.word-info{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:16px;padding:24px}@media (max-width:768px){.word-info{border-radius:14px;margin-bottom:12px;padding:18px}}@media (max-width:480px){.word-info{border-radius:12px;margin-bottom:10px;padding:14px}}.word-info-preview{background:#fff;border:2px solid #0071e3}.word-info h3{border-bottom:1px solid #d2d2d7;color:#1d1d1f;font-size:22px;font-weight:600;margin-bottom:24px;padding-bottom:12px}.pronunciation-section{align-items:center;background-color:#f5f5f7;border-radius:16px;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:20px;padding:20px}@media (max-width:768px){.pronunciation-section{border-radius:12px;gap:14px;margin-bottom:16px;padding:16px}}@media (max-width:480px){.pronunciation-section{border-radius:10px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px}}.audio-btn-inline{align-items:center;background:#0071e3;border-radius:980px;box-shadow:0 4px 12px #0071e34d;color:#fff;display:inline-flex;font-size:17px;font-weight:500;gap:10px;padding:14px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.audio-btn-inline:hover:not(:disabled){background:#0077ed;box-shadow:0 6px 16px #0071e366;transform:translateY(-2px)}.audio-btn-inline:active:not(:disabled){transform:scale(.98)}.audio-btn-inline .audio-icon{font-size:20px}.phonetic-inline{color:#1d1d1f;font-family:SF Mono,Monaco,Courier New,monospace;font-size:24px;font-weight:500;letter-spacing:.02em}.no-audio-inline{color:#86868b;font-size:15px;font-weight:400}.info-item{margin-bottom:16px}@media (max-width:480px){.info-item{margin-bottom:12px}.info-item strong{font-size:13px;margin-bottom:4px}.info-item p{font-size:15px}}.info-item strong{color:#0071e3;display:block;font-size:15px;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.definitions-list,.info-item p{color:#1d1d1f;font-size:17px;font-weight:400;line-height:1.47059}.definitions-list{margin:0;padding-left:24px}.definitions-list li{margin-bottom:12px;padding-left:8px}.definitions-list li::marker{color:#0071e3;font-weight:600}.phonetic-large{border-radius:12px;color:#0071e3!important;font-family:SF Mono,Monaco,Courier New,monospace;font-size:21px!important;font-weight:500;letter-spacing:0;padding:16px}.no-info-available,.phonetic-large{background-color:#f5f5f7;text-align:center}.no-info-available{border:1px solid #d2d2d7;border-radius:12px;padding:28px}.no-info-available p{color:#86868b;font-size:15px;font-weight:400;margin:10px 0}.no-info-available strong{color:#1d1d1f;font-size:17px;font-weight:600}.hint-text{border-top:1px solid #d2d2d7;color:#86868b!important;font-size:14px!important;font-style:normal;font-weight:400;margin-top:20px!important;padding-top:16px}.next-btn{background-color:#0071e3;border-radius:980px;font-weight:500;margin-top:24px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.next-btn:hover{background-color:#0077ed;transform:translateY(-1px)}.next-btn:active{transform:scale(.98)}.completion-screen{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin:40px auto;max-width:600px;padding:40px 24px}.completion-screen h1{font-size:32px;letter-spacing:-.005em;margin-bottom:32px}.final-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.stat-box{background-color:#f5f5f7;border-radius:16px;min-width:0;overflow:hidden;padding:20px 12px}.stat-box.success{background-color:#34c7591a;border:1px solid #34c7594d}.stat-box.error{background-color:#ff3b301a;border:1px solid #ff3b304d}.stat-number{letter-spacing:-.005em;word-break:break-word}.stat-box.score{background-color:#0071e31a;border:1px solid #0071e34d}.completion-screen .stat-label{color:#1d1d1f;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stat-box.streak{grid-column:1/-1}.completion-actions button{font-size:17px;font-weight:500}@media (max-width:480px){.completion-screen{border-radius:16px;margin:20px 12px;padding:24px 16px}.completion-screen h1{font-size:26px;margin-bottom:24px}.final-stats{gap:10px;margin-bottom:20px}.stat-box{border-radius:12px;padding:16px 8px}.stat-number{font-size:32px}.completion-screen .stat-label{font-size:10px}.completion-actions button{font-size:16px;padding:14px}}.no-words{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin:80px auto;max-width:600px;padding:60px 48px}.no-words h2{font-size:32px;font-weight:600;margin-bottom:16px}.no-words p{font-size:17px;font-weight:400;line-height:1.47059}.input-group{align-items:center;display:flex;gap:10px;margin-bottom:12px}.input-group .answer-input{flex:1 1;margin-bottom:0}.voice-btn{-webkit-tap-highlight-color:transparent;align-items:center;background-color:#00000014;border:none;border-radius:50%;cursor:pointer;display:flex;height:56px;justify-content:center;min-width:56px;padding:0;position:relative;touch-action:manipulation;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;width:56px}.voice-btn:hover:not(:disabled){background-color:#0000001f;transform:scale(1.05)}.voice-btn.listening,.voice-btn:active:not(:disabled){background-color:#0071e3;box-shadow:0 4px 12px #0071e366;transform:scale(.95)}.voice-btn:disabled{cursor:not-allowed;opacity:.5}.voice-icon{height:24px;position:relative;transition:all .2s;width:24px;z-index:1}.voice-icon.icon-mic{background-color:#1d1d1f;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain}.voice-icon.icon-loading{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#1d1d1f}.voice-btn.listening .voice-icon.icon-mic,.voice-btn:active .voice-icon.icon-mic{background-color:#fff}.voice-btn.initializing .voice-icon.icon-loading,.voice-btn.processing .voice-icon.icon-loading{border-color:#fff #ffffff4d #ffffff4d}.listening-pulse{animation:pulse 1.5s ease-out infinite;background-color:#0071e34d;border-radius:50%;height:100%;pointer-events:none;width:100%}.listening-indicator{background-color:#0071e31a;border:1px solid #0071e34d;border-radius:10px;color:#0071e3}.listening-indicator,.processing-indicator{animation:fadeIn .3s ease-out;font-size:14px;font-weight:500;margin-bottom:12px;padding:10px 14px;text-align:center}.processing-indicator{background-color:#ff95001a;border:1px solid #ff95004d;border-radius:10px;color:#ff9500}.voice-btn.processing{animation:processingPulse 1s ease-in-out infinite;background-color:#ff9500}.voice-btn.initializing{background-color:#0071e3;opacity:.7}@keyframes processingPulse{0%,to{opacity:1}50%{opacity:.7}}.voice-error{border:1px solid #ff3b304d;font-weight:500}@media (max-width:480px){.input-group{flex-direction:column}.voice-btn{height:48px;width:100%}.listening-pulse,.voice-btn{border-radius:980px}}.order-modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0006;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:1000}.order-modal{animation:modalSlideIn .25s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0003;max-width:400px;padding:32px;text-align:center;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.order-modal h2{color:#1d1d1f;font-size:22px;font-weight:600;margin:0 0 4px}.order-modal-subtitle{color:#86868b;font-size:14px;margin:0 0 28px}.order-icons-row{flex-wrap:wrap;gap:12px}.order-icon-btn,.order-icons-row{display:flex;justify-content:center}.order-icon-btn{align-items:center;background:#f5f5f7;border:2px solid #0000;border-radius:16px;color:#1d1d1f;cursor:pointer;flex-direction:column;height:88px;padding:12px 8px;transition:all .2s cubic-bezier(.4,0,.2,1);width:80px}.order-icon-btn:hover{background:#e8e8ed;border-color:#0071e3;transform:translateY(-2px)}.order-icon-btn:active{transform:translateY(0)}.order-icon-btn.continue{background:linear-gradient(135deg,#0071e3,#5856d6);color:#fff}.order-icon-btn.continue:hover{border-color:#0000;box-shadow:0 6px 20px #0071e359}.order-icon-btn svg{height:24px;margin-bottom:6px;width:24px}.order-icon-label{font-size:12px;font-weight:600;line-height:1.2}.order-icon-detail{font-size:10px;font-weight:500;margin-top:2px;opacity:.8}.order-modal-cancel{background:#0000;border:none;color:#86868b;cursor:pointer;font-size:14px;font-weight:500;margin-top:24px;padding:10px 24px;transition:color .2s ease}.order-modal-cancel:hover{color:#1d1d1f}@media (max-width:400px){.order-modal{padding:24px 20px}.order-icons-row{gap:10px}.order-icon-btn{height:80px;padding:10px 6px;width:72px}.order-icon-btn svg{height:22px;width:22px}.order-icon-label{font-size:11px}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastInMobile{0%{opacity:0;transform:translateX(50%) translateY(8px)}to{opacity:1;transform:translateX(50%) translateY(0)}}@keyframes confettiBurst{0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(0)}20%{opacity:1;transform:translate(calc(var(--tx) - 50%),calc(var(--ty) - 50%)) rotate(calc(var(--rot)*.4)) scale(1)}to{opacity:0;transform:translate(calc(var(--tx) - 50%),calc(var(--ty) + 20px - 50%)) rotate(var(--rot)) scale(.5)}}.positive-toast{align-items:center;animation:toastIn .25s cubic-bezier(.4,0,.2,1) forwards;background-color:#34c759;border-radius:980px;bottom:32px;box-shadow:0 2px 8px #0000001f;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:500;gap:6px;letter-spacing:-.016em;overflow:visible;padding:10px 20px;pointer-events:none;position:fixed;right:32px;z-index:9999}.toast-sparkle{display:block;flex-shrink:0}.toast-confetti{animation:confettiBurst 1s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay);left:50%;pointer-events:none;position:absolute;top:50%}@media (max-width:768px){.positive-toast{bottom:28px;right:24px}}@media (max-width:480px){.positive-toast{animation:toastInMobile .25s cubic-bezier(.4,0,.2,1) forwards;bottom:24px;right:50%;transform:translateX(50%)}}.rwb-trigger{background:none;border:none;color:#86868b;cursor:pointer;display:block;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:13px;letter-spacing:-.016em;margin:8px auto 0;padding:4px 0;text-align:center;transition:color .2s}.rwb-trigger:hover{color:#1d1d1f}.rwb-form{animation:rwb-expand .2s ease-out;background:#f5f5f7;border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:14px 16px}@keyframes rwb-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rwb-options{display:flex;flex-direction:column;gap:6px}.rwb-option{align-items:center;background:#fff;border:1px solid #d2d2d7;border-radius:8px;color:#1d1d1f;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:14px;gap:8px;padding:8px 10px;transition:border-color .2s,background .2s}.rwb-option input[type=radio]{accent-color:#0071e3;flex-shrink:0;height:15px;width:15px}.rwb-option-selected{background:#f0f7ff;border-color:#0071e3}.rwb-notes{background:#fff;border:1px solid #d2d2d7;border-radius:8px;box-sizing:border-box;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:14px;letter-spacing:-.016em;padding:10px 12px;resize:none;transition:border-color .2s;width:100%}.rwb-notes:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a;outline:none}.rwb-notes::placeholder{color:#86868b}.rwb-error{background:#fff;border:1px solid #ff3b304d;border-radius:8px;color:#ff3b30;font-size:13px;padding:8px 10px}.rwb-actions{align-items:center;display:flex;gap:12px}.rwb-submit-btn{background-color:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:14px;font-weight:500;letter-spacing:-.016em;padding:10px 20px;transition:opacity .2s}.rwb-submit-btn:disabled{cursor:not-allowed;opacity:.4}.rwb-submit-btn:not(:disabled):hover{opacity:.85}.rwb-cancel-btn{background:none;border:none;color:#86868b;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:14px;padding:4px 0;transition:color .2s}.rwb-cancel-btn:hover{color:#1d1d1f}.rwb-submitted{color:#34c759;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;font-size:13px;margin-top:8px;padding:6px 0;text-align:center}@media (max-width:480px){.rwb-form{padding:12px}.rwb-option{font-size:13px;padding:7px 8px}}.oral-practice-container{background-color:#f5f5f7;min-height:100vh}.oral-header{align-items:center;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background-color:#fffc;border-bottom:1px solid #0000001a;color:#1d1d1f;display:flex;justify-content:space-between;padding:16px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.oral-header h1{font-size:22px;font-weight:600;letter-spacing:.011em;margin:0}.oral-header .mode-indicator{color:#0071e3;font-size:13px;font-weight:500;margin-top:4px}.oral-header .header-right{align-items:center;display:flex;gap:16px}.oral-header .stats-mini{display:flex;font-size:15px;font-weight:600;gap:12px}.oral-header .stats-mini .correct{align-items:center;color:#34c759;display:flex;gap:4px}.oral-header .stats-mini .incorrect{align-items:center;color:#ff3b30;display:flex;gap:4px}.oral-header .stats-mini .streak{align-items:center;color:#ff9500;display:flex;font-weight:600;gap:4px}.icon-fire{background-color:currentColor;display:inline-block;height:14px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 23c-4.97 0-9-3.58-9-8 0-2.52 1.17-4.83 3.18-6.57.54-.47 1.35-.36 1.74.22.39.58.31 1.37-.19 1.87C6.54 11.64 6 13.23 6 15c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.77-.54-3.36-1.73-4.48-.5-.5-.58-1.29-.19-1.87.39-.58 1.2-.69 1.74-.22C19.83 10.17 21 12.48 21 15c0 4.42-4.03 8-9 8zm-1-9.9c-.65 1.3-1 2.76-1 4.4 0 1.1.9 2 2 2s2-.9 2-2c0-1.64-.35-3.1-1-4.4V9.5c0-.28-.22-.5-.5-.5s-.5.22-.5.5v3.6zM12 1c-.55 0-1 .45-1 1v6.1c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 23c-4.97 0-9-3.58-9-8 0-2.52 1.17-4.83 3.18-6.57.54-.47 1.35-.36 1.74.22.39.58.31 1.37-.19 1.87C6.54 11.64 6 13.23 6 15c0 3.31 2.69 6 6 6s6-2.69 6-6c0-1.77-.54-3.36-1.73-4.48-.5-.5-.58-1.29-.19-1.87.39-.58 1.2-.69 1.74-.22C19.83 10.17 21 12.48 21 15c0 4.42-4.03 8-9 8zm-1-9.9c-.65 1.3-1 2.76-1 4.4 0 1.1.9 2 2 2s2-.9 2-2c0-1.64-.35-3.1-1-4.4V9.5c0-.28-.22-.5-.5-.5s-.5.22-.5.5v3.6zM12 1c-.55 0-1 .45-1 1v6.1c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain;width:14px}.icon-check{display:inline-block;height:12px;position:relative;width:12px}.icon-check:before{left:2px;top:5px;transform:rotate(45deg);width:4px}.icon-check:after,.icon-check:before{background-color:currentColor;content:"";height:2px;position:absolute}.icon-check:after{left:4px;top:3px;transform:rotate(-45deg);width:8px}.icon-check-large{display:inline-block;height:48px;position:relative;width:48px}.icon-check-large:before{left:8px;top:26px;transform:rotate(45deg);width:16px}.icon-check-large:after,.icon-check-large:before{background-color:currentColor;border-radius:2px;content:"";height:4px;position:absolute}.icon-check-large:after{left:16px;top:16px;transform:rotate(-45deg);width:28px}.icon-x{display:inline-block;height:12px;position:relative;width:12px}.icon-x:after,.icon-x:before{background-color:currentColor;content:"";height:10px;left:5px;position:absolute;top:2px;width:2px}.icon-x:before{transform:rotate(45deg)}.icon-x:after{transform:rotate(-45deg)}.icon-x-large{display:inline-block;height:48px;position:relative;width:48px}.icon-x-large:after,.icon-x-large:before{background-color:currentColor;border-radius:2px;content:"";height:40px;left:22px;position:absolute;top:4px;width:4px}.icon-x-large:before{transform:rotate(45deg)}.icon-x-large:after{transform:rotate(-45deg)}.icon-mic-large{height:32px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain;width:32px}.icon-mic-large,.icon-speaker{background-color:currentColor;display:inline-block}.icon-speaker{height:20px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain;width:20px}.oral-header .back-btn{background-color:#00000014;color:#1d1d1f;font-size:15px;padding:8px 16px}.oral-header .back-btn:hover{background-color:#0000001f}.oral-content{margin:0 auto;max-width:800px;padding:32px 22px}.progress-indicator{color:#86868b;font-size:15px;font-weight:500;margin-bottom:24px;text-align:center}.error-notification{align-items:center;background-color:#ff3b301a;border:1px solid #ff3b304d;border-radius:12px;color:#ff3b30;display:flex;justify-content:space-between;margin-bottom:24px;padding:14px 16px}.error-close{background:none;border:none;color:#ff3b30;cursor:pointer;font-size:20px;padding:0}.scripps-interface{display:flex;flex-direction:column;gap:24px}.status-display{min-height:40px;text-align:center}.status{border-radius:980px;display:inline-block;font-size:15px;font-weight:500;padding:10px 20px}.status.speaking{animation:pulse 1.5s infinite;background:linear-gradient(135deg,#0071e3,#0077ed);color:#fff}.status.listening{animation:pulse 1s infinite;background:linear-gradient(135deg,#ff9500,#ff6b00);color:#fff}.status.processing{background:linear-gradient(135deg,#5856d6,#af52de);color:#fff}.status.idle{background:#0000000a;color:#86868b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.hear-word-section{display:flex;justify-content:center}.hear-word-btn{align-items:center;background:#fff;border:none;border-radius:16px;box-shadow:0 2px 12px #00000014;color:#1d1d1f;cursor:pointer;display:flex;font-size:17px;font-weight:500;gap:10px;padding:16px 28px;transition:all .2s ease}.hear-word-btn:hover:not(:disabled){box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.hear-word-btn:disabled{cursor:not-allowed;opacity:.5}.hear-word-btn.active{background:linear-gradient(135deg,#0071e3,#0077ed);color:#fff}.hear-word-btn .icon{font-size:24px}.voice-interaction{background:#fff;border-radius:20px;box-shadow:0 2px 12px #00000014;padding:28px}.interaction-instructions{margin-bottom:20px;text-align:center}.interaction-instructions p{color:#86868b;font-size:15px;margin:0}.mic-buttons{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.voice-action-btn{align-items:center;background:#f5f5f7;border:2px solid #0000;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;justify-content:center;overflow:hidden;padding:24px 16px;position:relative;transition:all .2s ease}.voice-action-btn:hover:not(:disabled){transform:translateY(-2px)}.voice-action-btn:disabled{cursor:not-allowed;opacity:.5}.voice-action-btn .btn-icon{font-size:32px}.voice-action-btn .btn-label{color:#1d1d1f;font-size:16px;font-weight:600}.voice-action-btn .btn-hint{color:#86868b;font-size:12px;text-align:center}.ask-btn{border-color:#5856d633}.ask-btn:hover:not(:disabled){background:#5856d61a;border-color:#5856d666}.ask-btn.active{background:linear-gradient(135deg,#5856d6,#af52de);border-color:#0000}.ask-btn.active .btn-hint,.ask-btn.active .btn-label{color:#fff}.spell-btn{border-color:#ff950033}.spell-btn:hover:not(:disabled){background:#ff95001a;border-color:#ff950066}.spell-btn.active{background:linear-gradient(135deg,#ff9500,#ff6b00);border-color:#0000}.spell-btn.active .btn-hint,.spell-btn.active .btn-label{color:#fff}.listening-pulse{animation:listenPulse 1s infinite;background:#ffffff4d;border-radius:16px;bottom:0;left:0;position:absolute;right:0;top:0}@keyframes listenPulse{0%{opacity:.3;transform:scale(1)}50%{opacity:0;transform:scale(1.05)}to{opacity:.3;transform:scale(1)}}.last-command{background:#0000000a;border-radius:10px;color:#86868b;font-size:14px;margin-top:16px;padding:10px 16px;text-align:center}.spelling-section{background:#fff;border-radius:20px;box-shadow:0 2px 12px #00000014;padding:28px}.spelling-display{align-items:center;background:#f5f5f7;border-radius:16px;display:flex;justify-content:center;margin-bottom:20px;min-height:80px;padding:24px;text-align:center}.spelled-letters{color:#1d1d1f;font-size:32px;font-weight:600;letter-spacing:.15em}.placeholder-text{color:#86868b;font-size:17px}.keyboard-fallback{margin-bottom:16px}.spelling-input{border:1px solid #d2d2d7;border-radius:12px;font-size:17px;letter-spacing:.05em;padding:14px 16px;text-align:center;width:100%}.spelling-input:focus{border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a;outline:none}.spelling-input:disabled{background:#f5f5f7;cursor:not-allowed}.voice-error{background-color:#ff3b301a;border-radius:12px;color:#ff3b30;font-size:14px;margin-bottom:16px;padding:12px 16px;text-align:center}.submit-btn{font-size:17px;font-weight:500;padding:16px;width:100%}.feedback-area{background:#fff;border-radius:24px;box-shadow:0 4px 16px #00000014;padding:48px 32px;text-align:center}.feedback-area.correct{border:2px solid #34c759}.feedback-area.incorrect{border:2px solid #ff3b30}.feedback-icon{align-items:center;border-radius:50%;display:flex;font-size:40px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.feedback-area.correct .feedback-icon{background:#34c7591a;color:#34c759}.feedback-area.incorrect .feedback-icon{background:#ff3b301a;color:#ff3b30}.feedback-message{font-size:28px;font-weight:600;margin-bottom:24px}.feedback-area.correct .feedback-message{color:#34c759}.feedback-area.incorrect .feedback-message{color:#ff3b30}.correct-spelling,.user-spelling{color:#1d1d1f;font-size:17px;margin-bottom:12px}.correct-spelling strong,.user-spelling strong{letter-spacing:.05em}.correct-spelling{margin-bottom:32px}.correct-word-details{background:#f5f5f7;border-radius:16px;margin:24px 0 32px;padding:24px;text-align:left}.correct-spelling-large{align-items:center;border-bottom:1px solid #0000001a;display:flex;flex-direction:column;margin-bottom:20px;padding-bottom:20px;text-align:center}.correct-spelling-large .label{color:#86868b;font-size:13px;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.correct-spelling-large .word{color:#1d1d1f;font-size:32px;font-weight:700;letter-spacing:.02em}.correct-spelling-large .phonetic{color:#5856d6;font-size:16px;font-style:italic;margin-top:4px}.word-detail{border-bottom:1px solid #0000000f;display:flex;flex-direction:column;gap:4px;padding:12px 0}.word-detail:last-child{border-bottom:none;padding-bottom:0}.word-detail .detail-label{color:#86868b;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.word-detail .detail-value{color:#1d1d1f;font-size:15px;line-height:1.5}.feedback-area.incorrect.compact{padding:32px 24px}.feedback-header-row{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:24px}.feedback-header-row .feedback-icon.small{height:48px;margin:0;width:48px}.feedback-header-row .feedback-icon.small .icon-x-large{transform:scale(.6)}.feedback-header-row .feedback-message{font-size:24px;margin-bottom:0}.spelling-comparison{align-items:stretch;background:#f5f5f7;border-radius:16px;display:flex;gap:0;justify-content:center;margin-bottom:20px;padding:20px}.comparison-column{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:0 16px}.comparison-column.yours{border-right:1px solid #0000001a}.comparison-divider{align-items:center;display:flex;justify-content:center;padding:0 12px}.comparison-divider .arrow{color:#86868b;font-size:24px}.comparison-label{color:#86868b;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.comparison-word{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:22px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.comparison-word.wrong{color:#ff3b30;text-decoration:line-through;text-decoration-thickness:2px}.comparison-word.right{color:#34c759}.comparison-phonetic{color:#5856d6;font-size:13px;font-style:italic}.word-details-compact{background:#fff;border:1px solid #00000014;border-radius:12px;margin-bottom:24px;padding:16px;text-align:left}.word-details-compact .detail-item{border-bottom:1px solid #0000000f;padding:10px 0}.word-details-compact .detail-item:last-child{border-bottom:none;padding-bottom:0}.word-details-compact .detail-item:first-child{padding-top:0}.word-details-compact .detail-item.inline{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.word-details-compact .detail-label{color:#86868b;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.word-details-compact .detail-item.inline .detail-label{margin-bottom:0}.word-details-compact .detail-value{color:#1d1d1f;font-size:14px;line-height:1.4}.word-details-compact .detail-item.inline .detail-value{font-weight:500}.next-btn{font-size:17px;padding:16px 48px}.completion-screen{padding:60px 22px;text-align:center}.completion-screen h1{color:#1d1d1f;font-size:34px;font-weight:700;margin-bottom:40px}.final-stats{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:48px}.stat-box{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;min-width:140px;padding:28px 36px}.stat-box.success{border:2px solid #34c759}.stat-box.error{border:2px solid #ff3b30}.stat-number{color:#1d1d1f;font-size:40px}.stat-box.success .stat-number{color:#34c759}.stat-box.error .stat-number{color:#ff3b30}.stat-box.streak{background-color:#ff95001a;border:1px solid #ff95004d}.stat-box.streak .stat-number{color:#ff9500}.stat-box.score{background-color:#0071e314;border:2px solid #0071e3}.stat-box.score .stat-number{color:#0071e3}.stat-label{color:#1d1d1f;font-size:15px;letter-spacing:.04em;margin-top:8px}.completion-actions{display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:320px}.completion-actions button{padding:16px;width:100%}.no-words{padding:80px 22px;text-align:center}.no-words h2{color:#1d1d1f;font-size:28px;margin-bottom:12px}.no-words p{color:#86868b;margin-bottom:32px}.oral-practice-container .loading{align-items:center;color:#86868b;display:flex;font-size:19px;height:100vh;justify-content:center}.hands-free-badge{background:linear-gradient(135deg,#34c759,#30d158);border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-left:10px;padding:4px 10px;text-transform:uppercase;vertical-align:middle}.mode-toggle-section{margin-bottom:8px;text-align:center}.mode-toggle-btn{align-items:center;background:#fff;border:2px solid #34c7594d;border-radius:16px;color:#1d1d1f;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:10px;padding:14px 24px;transition:all .2s ease}.mode-toggle-btn:hover:not(:disabled){background:#34c7591a;border-color:#34c75980;transform:translateY(-2px)}.mode-toggle-btn.active{background:linear-gradient(135deg,#34c759,#30d158);border-color:#0000;color:#fff}.mode-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.toggle-icon{font-size:20px}.mode-hint{color:#86868b;font-size:13px;margin-top:10px}.hands-free-interface{background:#fff;border-radius:24px;box-shadow:0 4px 24px #00000014;gap:28px;padding:40px 32px}.hands-free-interface,.listening-indicator{align-items:center;display:flex;flex-direction:column}.listening-indicator{gap:16px}.mic-circle{align-items:center;background:#f5f5f7;border-radius:50%;display:flex;height:120px;justify-content:center;position:relative;transition:all .3s ease;width:120px}.listening-indicator.active .mic-circle{background:linear-gradient(135deg,#34c759,#30d158)}.mic-icon{font-size:48px;z-index:2}.pulse-ring{animation:pulseRing 2s ease-out infinite;border:2px solid #34c759;bottom:0;left:0;right:0;top:0}.pulse-ring.delay-2{animation-delay:1s}.listening-status{color:#1d1d1f;font-size:18px;font-weight:600}.audio-level-container{background:#0000001a;border-radius:3px;height:6px;margin-top:12px;overflow:hidden;width:150px}.audio-level-bar{border-radius:3px;height:100%;min-width:2px;transition:width .05s ease-out,background-color .1s ease}.hands-free-instructions{max-width:400px;text-align:center}.instruction-main{color:#1d1d1f;font-size:17px;margin-bottom:16px}.instruction-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.instruction-examples span{background:#f5f5f7;border-radius:20px;color:#86868b;display:inline-block;font-size:13px;padding:8px 14px}.last-heard{align-items:center;background:#34c7591a;border:1px solid #34c7594d;border-radius:14px;display:flex;gap:10px;max-width:100%;padding:14px 20px}.heard-label{color:#86868b;font-size:13px;font-weight:600}.heard-text{color:#1d1d1f;font-size:15px;font-weight:500}.spelling-display.hands-free{background:#0071e31a;border:2px solid #0071e34d;border-radius:16px;margin:0;padding:20px 32px}.spelling-display.hands-free .spelled-letters{color:#0071e3}.hear-word-btn.secondary{background:#f5f5f7;box-shadow:none;font-size:15px;padding:12px 20px}.hear-word-btn.secondary:hover:not(:disabled){background:#e8e8ed;box-shadow:none;transform:none}.hands-free-nav-hint{align-items:center;background:#34c7591a;border:1px solid #34c7594d;border-radius:12px;color:#1d1d1f;display:flex;font-size:15px;gap:12px;justify-content:center;margin-bottom:20px;padding:14px 20px}.listening-indicator.small{flex-direction:row;gap:8px}.mic-icon-small{font-size:18px}.pulse-dot{animation:pulseDot 1s infinite;background:#34c759;border-radius:50%;height:8px;width:8px}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.voice-error.hands-free{margin:0;max-width:100%}@media (max-width:600px){.oral-content,.spelling-section,.voice-interaction{padding:20px 16px}.mic-buttons{grid-template-columns:1fr}.voice-action-btn{padding:20px 16px}.voice-action-btn .btn-icon{font-size:28px}.spelled-letters{font-size:24px}.final-stats{gap:16px}.stat-box{min-width:100px;padding:20px 28px}.stat-number{font-size:32px}.hands-free-interface{padding:28px 20px}.mic-circle{height:100px;width:100px}.mic-icon{font-size:40px}.instruction-examples{flex-direction:column}.instruction-examples span{text-align:center;width:100%}.hands-free-nav-hint{flex-direction:column;text-align:center}}.mode-toggle-btn.realtime{background:#0071e3;border-color:#0000;color:#fff;margin-bottom:12px}.mode-toggle-btn.realtime:not(.active){background:#fff;border:2px solid #0071e34d;color:#1d1d1f}.mode-toggle-btn.realtime:hover:not(:disabled):not(.active){background:#0071e31a;border-color:#0071e380}.mode-toggle-btn.secondary{background:#f5f5f7;border:1px solid #0000001a;font-size:14px;margin-top:8px;padding:10px 18px}.mode-toggle-btn.secondary:hover:not(:disabled){background:#e8e8ed}.toggle-label{font-weight:500}.realtime-interface{align-items:center;background:#fff;border-radius:24px;box-shadow:0 4px 24px #00000014;display:flex;flex-direction:column;gap:24px;padding:40px 32px}.realtime-status{display:flex;justify-content:center;width:100%}.realtime-status .status-indicator{align-items:center;background:#0000000a;border-radius:980px;color:#86868b;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px}.realtime-status.connected .status-indicator{background:#34c7591a;color:#34c759}.realtime-status.connecting .status-indicator{animation:pulse 1.5s infinite;background:#ff95001a;color:#ff9500}.status-dot{animation:pulseDot 1.5s infinite;background:#34c759;border-radius:50%;height:8px;width:8px}.status-text{font-weight:500}.ai-avatar{margin:16px 0}.ai-avatar,.avatar-circle{align-items:center;display:flex;justify-content:center;position:relative}.avatar-circle{background:linear-gradient(135deg,#f5f5f7,#e8e8ed);border-radius:50%;height:140px;transition:all .3s ease;width:140px}.ai-avatar.speaking .avatar-circle{background:linear-gradient(135deg,#0071e3,#0077ed);box-shadow:0 0 40px #0071e366}.ai-avatar.listening .avatar-circle{background:linear-gradient(135deg,#34c759,#30d158);box-shadow:0 0 40px #34c75966}.avatar-icon{font-size:56px;z-index:2}.avatar-icon.mic-icon{background-color:#1d1d1f;height:56px;-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 14c1.66 0 3-1.34 3-3V5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3z'/%3E%3Cpath d='M17 11c0 2.76-2.24 5-5 5s-5-2.24-5-5H5c0 3.53 2.61 6.43 6 6.92V21h2v-3.08c3.39-.49 6-3.39 6-6.92h-2z'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain;mask-size:contain;width:56px}.ai-avatar.listening .avatar-icon.mic-icon,.ai-avatar.speaking .avatar-icon.mic-icon{background-color:#fff}.sound-wave{animation:soundWave 1.5s ease-out infinite;border:3px solid #0071e366;border-radius:50%;height:160px;left:50%;margin-left:-80px;margin-top:-80px;position:absolute;top:50%;width:160px}.sound-wave.delay-1{animation-delay:.3s}.sound-wave.delay-2{animation-delay:.6s}@keyframes soundWave{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.realtime-transcript{align-items:center;animation:fadeIn .3s ease;background:#34c7591a;border:1px solid #34c7594d;border-radius:14px;display:flex;flex-direction:column;gap:6px;max-width:100%;padding:14px 20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.transcript-label{color:#86868b;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.transcript-text{color:#1d1d1f;font-size:16px;font-weight:500}.ai-response{animation:fadeIn .3s ease;background:#0071e314;border:1px solid #0071e333;border-radius:14px;max-width:100%;padding:16px 20px}.response-text{color:#1d1d1f;font-size:15px;line-height:1.5}.realtime-instructions{max-width:400px;text-align:center}.realtime-instructions .instruction-main{color:#1d1d1f;font-size:17px;font-weight:500;margin-bottom:16px}.realtime-instructions .instruction-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.realtime-instructions .instruction-examples span{background:#0071e314;border:1px solid #0071e333;border-radius:20px;color:#0071e3;display:inline-block;font-size:13px;font-weight:500;padding:8px 14px}.realtime-nav-hint{align-items:center;background:#0071e314;border:1px solid #0071e333;border-radius:12px;color:#0071e3;display:flex;font-size:15px;font-weight:500;gap:10px;justify-content:center;margin-bottom:20px;padding:14px 20px}.realtime-nav-hint .hint-icon{font-size:18px}.feedback-area.realtime-feedback{border-color:#0071e3}.feedback-area.realtime-feedback .next-btn{background:#0071e3}.feedback-area.realtime-feedback .next-btn:hover{background:#0077ed}.environment-notice{background:#ff95001a;border:1px solid #ff95004d;border-radius:12px;color:#1d1d1f;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:16px;max-width:400px;padding:14px 20px;text-align:center}.stuck-notice{background:#5856d61a;border:1px solid #5856d64d;border-radius:12px;max-width:400px;padding:16px 20px;text-align:center}.stuck-notice p{color:#1d1d1f;font-size:14px;line-height:1.5;margin:0 0 12px}.resend-btn{background:#5856d6;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.resend-btn:hover{background:#4b49c9;transform:translateY(-1px)}.start-conversation-btn{align-items:center;background:#0071e3;border:none;border-radius:16px;box-shadow:0 4px 16px #0071e34d;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:center;padding:18px 36px;transition:all .3s ease}.start-conversation-btn:hover{background:#0077ed;box-shadow:0 6px 24px #0071e366;transform:translateY(-2px)}.start-conversation-btn .btn-icon{font-size:24px}.disconnect-btn{background:#ff3b301a;border:1px solid #ff3b304d;border-radius:12px;color:#ff3b30;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px 24px;transition:all .2s ease}.disconnect-btn:hover{background:#ff3b3033;border-color:#ff3b3080}.pulse-ring{animation:pulseRing 1.5s ease-out infinite;border:3px solid #34c75966;border-radius:50%;height:160px;left:50%;margin-left:-80px;margin-top:-80px;position:absolute;top:50%;width:160px}.pulse-ring.delay-1{animation-delay:.5s}@keyframes pulseRing{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.secondary-btn{background:#f5f5f7;border:1px solid #0000001a}.secondary-btn:hover{background:#e8e8ed}@media (max-width:600px){.realtime-interface{padding:28px 20px}.avatar-circle{height:120px;width:120px}.avatar-icon{font-size:48px}.pulse-ring,.sound-wave{height:140px;margin-left:-70px;margin-top:-70px;width:140px}.realtime-instructions .instruction-examples{flex-direction:column}.realtime-instructions .instruction-examples span{text-align:center;width:100%}.start-conversation-btn{padding:16px 24px;width:100%}.disconnect-btn{width:100%}}.vocab-word-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:20px;padding:32px 24px;text-align:center}.vocab-word-label{color:#86868b;font-size:15px;font-weight:500;letter-spacing:-.016em;margin:0 0 12px}.vocab-word-text{color:#1d1d1f;font-size:36px;font-weight:700;letter-spacing:-.005em;line-height:1.2;margin:0}.vocab-part-of-speech{color:#86868b;display:inline-block;font-size:14px;font-style:italic;font-weight:500;margin-top:8px}.vocab-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.vocab-option{align-items:flex-start;background:#fff;border:2px solid #d2d2d7;border-radius:14px;color:#1d1d1f;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;gap:14px;line-height:1.47059;padding:16px 18px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.vocab-option:hover:not(:disabled){background:#0071e30a;border-color:#0071e3;box-shadow:0 2px 8px #0071e326;transform:translateY(-1px)}.vocab-option:active:not(:disabled){transform:scale(.99)}.vocab-option:disabled{cursor:default}.vocab-option-letter{align-items:center;background:#f5f5f7;border-radius:8px;color:#86868b;display:flex;font-size:14px;font-weight:700;height:28px;justify-content:center;margin-top:1px;min-width:28px;transition:all .2s cubic-bezier(.4,0,.2,1);width:28px}.vocab-option-text{flex:1 1}.vocab-option-icon{margin-left:auto;margin-top:3px;min-width:20px}.vocab-option.option-correct{background:#34c75914;border-color:#34c759}.vocab-option.option-correct .vocab-option-letter{background:#34c759;color:#fff}.vocab-option.option-incorrect{background:#ff3b3014;border-color:#ff3b30}.vocab-option.option-incorrect .vocab-option-letter{background:#ff3b30;color:#fff}.vocab-option.option-disabled{opacity:.4}.vocab-next-section{animation:vocabSlideUp .2s ease-out;text-align:center}@keyframes vocabSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.vocab-next-btn{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;font-weight:500;padding:14px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.vocab-next-btn:hover{background:#0077ed;transform:scale(1.02)}.vocab-next-btn:active{transform:scale(.98)}.vocab-enter-hint{color:#86868b;font-size:13px;font-weight:400;margin-top:8px}.loading-screen{align-items:center;color:#86868b;display:flex;flex-direction:column;font-size:17px;justify-content:center;min-height:50vh}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #f5f5f7;border-radius:50%;border-top-color:#0071e3;height:32px;margin-bottom:16px;width:32px}@media (max-width:768px){.vocab-word-card{border-radius:16px;padding:24px 18px}.vocab-word-text{font-size:30px}.vocab-option{border-radius:12px;font-size:15px;padding:14px 16px}}@media (max-width:480px){.vocab-word-card{border-radius:14px;padding:20px 14px}.vocab-word-text{font-size:26px}.vocab-option,.vocab-word-label{font-size:14px}.vocab-option{border-radius:12px;gap:10px;padding:12px 14px}.vocab-option-letter{border-radius:6px;font-size:12px;height:24px;min-width:24px;width:24px}.vocab-next-btn{font-size:16px;padding:14px 24px;width:100%}}.analytics-dashboard{background-color:#f5f5f7;min-height:100vh}.analytics-header{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);background:#fffc;border-bottom:1px solid #0000001a;justify-content:space-between;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.analytics-header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.back-btn{background:none;border-radius:8px;padding:8px 12px;transition:background-color .2s}.back-btn:hover{background-color:#0071e31a}.analytics-header h1{color:#1d1d1f;font-size:24px;font-weight:600;margin:0}.header-right{gap:24px}.date-range,.header-right{align-items:center;display:flex}.date-range{gap:8px}.date-range input{background:#fff;border:1px solid #d2d2d7;border-radius:8px;font-size:14px;padding:8px 12px}.date-range span{color:#86868b}.user-info{align-items:center;display:flex;gap:12px}.user-info span{color:#1d1d1f;font-size:14px}.logout-btn{background:#f5f5f7;border:none;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.logout-btn:hover{background:#e8e8ed}.analytics-tabs{background:#fff;border-bottom:1px solid #0000001a;display:flex;gap:4px;padding:12px 24px}.tab-btn{background:none;border:none;border-radius:8px;color:#86868b;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .2s}.tab-btn:hover{background:#0000000d;color:#1d1d1f}.tab-btn.active{background:#0071e3;color:#fff}.analytics-content{margin:0 auto;max-width:1400px;padding:24px}.error-state,.loading-state{color:#86868b;font-size:17px;padding:60px 20px;text-align:center}.error-state{color:#ff3b30}.metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.metric-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:20px}.metric-card.highlight{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.metric-card.highlight .metric-subtitle,.metric-card.highlight .metric-title{color:#fffc}.metric-card.highlight .metric-value{color:#fff}.metric-card.warning .metric-value{color:#ff9500}.metric-title{color:#86868b;font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.metric-value{color:#1d1d1f;font-size:32px;font-weight:700;margin-bottom:4px}.metric-subtitle{color:#86868b;font-size:13px}.section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px;padding:24px}.section h3{color:#1d1d1f;font-size:18px;font-weight:600;margin:0 0 20px}.no-data{color:#86868b;font-size:15px;padding:40px 20px;text-align:center}.subscription-breakdown{display:flex;flex-direction:column;gap:12px}.breakdown-item{align-items:center;display:flex;gap:16px}.breakdown-label{color:#1d1d1f;font-size:14px;font-weight:500;width:80px}.breakdown-bar{background:#f5f5f7;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.breakdown-fill{border-radius:4px;height:100%;transition:width .3s ease}.breakdown-fill.free{background:#86868b}.breakdown-fill.premium{background:#0071e3}.breakdown-fill.pro{background:linear-gradient(90deg,#667eea,#764ba2)}.breakdown-value{color:#1d1d1f;font-size:14px;font-weight:600;text-align:right;width:60px}.simple-chart{align-items:flex-end;display:flex;height:150px;justify-content:space-between;padding:0 8px}.chart-bar-container{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.chart-bar{background:linear-gradient(180deg,#0071e3,#5ac8fa);border-radius:4px 4px 0 0;margin-top:auto;min-height:4px;transition:height .3s ease;width:24px}.chart-label{color:#86868b;font-size:11px;margin-top:8px}.retention-table{overflow-x:auto}.retention-table table{border-collapse:collapse;width:100%}.retention-table td,.retention-table th{border-bottom:1px solid #f5f5f7;padding:12px 16px;text-align:left}.retention-table th{color:#86868b;font-size:12px;font-weight:600;text-transform:uppercase}.retention-table td{color:#1d1d1f;font-size:14px}.retention-cell{font-weight:500}.mastery-list{display:flex;flex-direction:column;gap:16px}.mastery-item{align-items:center;display:flex;gap:16px}.mastery-info{flex-shrink:0;width:200px}.module-name{color:#1d1d1f;display:block;font-size:14px;font-weight:600}.module-stats{color:#86868b;font-size:12px}.mastery-bar-container{align-items:center;background:#f5f5f7;border-radius:4px;display:flex;flex:1 1;gap:12px;height:8px;overflow:visible;position:relative}.mastery-bar{background:linear-gradient(90deg,#34c759,#30d158);border-radius:4px;height:100%;transition:width .3s ease}.mastery-rate{color:#34c759;font-size:14px;font-weight:600;position:absolute;right:-50px}.difficulty-list{display:flex;flex-direction:column;gap:8px}.difficulty-item{align-items:center;background:#f5f5f7;border-radius:8px;display:flex;gap:12px;padding:12px 16px}.word-rank{color:#86868b;font-size:14px;font-weight:600;width:32px}.word-text{color:#1d1d1f;flex:1 1;font-size:15px;font-weight:600}.word-difficulty{color:#ff3b30;font-size:13px;font-weight:500}.word-attempts{color:#86868b;font-size:13px;text-align:right;width:100px}.trend-chart{display:flex;flex-direction:column;gap:8px}.trend-item{align-items:center;display:flex;gap:12px}.trend-date{color:#86868b;font-size:12px;width:60px}.trend-bar-container{background:#f5f5f7;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.trend-bar{background:linear-gradient(90deg,#5ac8fa,#0071e3);border-radius:4px;height:100%;transition:width .3s ease}.trend-value{color:#1d1d1f;font-size:13px;font-weight:500;text-align:right;width:50px}.funnel{flex-direction:column}.funnel,.funnel-step{display:flex;gap:16px}.funnel-step{align-items:center}.funnel-label{color:#1d1d1f;font-size:14px;font-weight:500;width:100px}.funnel-bar{background:#f5f5f7;border-radius:6px;flex:1 1;height:24px;overflow:hidden}.funnel-fill{background:#0071e3;border-radius:6px;height:100%;transition:width .3s ease}.funnel-fill.highlight{background:linear-gradient(90deg,#34c759,#30d158)}.funnel-value{color:#1d1d1f;font-size:14px;font-weight:600;text-align:right;width:120px}.funnel-rate{color:#86868b;font-weight:400;margin-left:4px}.behavior-tab .loading-text{color:#86868b;font-size:14px;padding:20px;text-align:center}.time-spent-list{display:flex;flex-direction:column;gap:16px}.time-spent-item{align-items:center;background:#f9f9fb;border-radius:12px;display:flex;gap:16px;padding:12px}.time-spent-item .page-name{color:#1d1d1f;font-size:14px;font-weight:600;text-transform:capitalize;width:140px}.time-bars{display:flex;flex:1 1;flex-direction:column;gap:6px}.time-bar-container{align-items:center;display:flex;gap:12px}.time-bar{border-radius:3px;height:6px;transition:width .3s ease}.time-bar.active{background:linear-gradient(90deg,#34c759,#30d158)}.time-bar.idle{background:#ff9500}.time-label{color:#86868b;font-size:12px;white-space:nowrap}.time-spent-item .session-count{color:#86868b;font-size:13px;text-align:right;width:100px}.dropoff-summary{background:#fff5f5;border-left:4px solid #ff3b30;border-radius:12px;margin-bottom:24px;padding:16px}.dropoff-summary p{color:#1d1d1f;font-size:14px;margin:4px 0}.dropoff-by-progress{margin-bottom:24px}.dropoff-by-exit h4,.dropoff-by-progress h4,.dropoff-by-type h4{color:#86868b;font-size:14px;font-weight:600;margin-bottom:12px}.progress-chart{align-items:flex-end;display:flex;gap:8px;height:120px;justify-content:space-between;padding:0 8px}.progress-bucket{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.bucket-label{color:#86868b;font-size:10px;margin-bottom:4px;margin-top:auto}.bucket-bar-container{align-items:flex-end;display:flex;height:80px;width:100%}.bucket-bar{background:linear-gradient(180deg,#ff3b30,#ff6b6b);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s ease;width:100%}.bucket-count{color:#1d1d1f;font-size:11px;font-weight:600;margin-top:4px}.exit-list,.type-list{display:flex;flex-wrap:wrap;gap:12px}.exit-item,.type-item{align-items:center;background:#f5f5f7;border-radius:20px;display:flex;gap:8px;padding:8px 16px}.exit-name,.type-name{color:#1d1d1f;font-size:13px;font-weight:500;text-transform:capitalize}.exit-count,.type-count{color:#86868b;font-size:12px}.dropoff-by-exit,.dropoff-by-type,.heatmap-controls{margin-bottom:20px}.heatmap-controls{align-items:center;display:flex;gap:12px}.heatmap-controls label{color:#1d1d1f;font-size:14px;font-weight:500}.heatmap-controls select{background:#fff;border:1px solid #d2d2d7;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;max-width:300px;padding:10px 14px}.heatmap-container{background:#f9f9fb;border-radius:12px;padding:20px}.heatmap-grid{flex-direction:column;margin:0 auto;max-width:600px}.heatmap-grid,.heatmap-row{display:flex;gap:2px}.heatmap-cell{aspect-ratio:1;border-radius:2px;cursor:pointer;flex:1 1;transition:transform .1s,box-shadow .1s}.heatmap-cell:hover{box-shadow:0 2px 8px #0003;transform:scale(1.1);z-index:1}.heatmap-legend{align-items:center;color:#86868b;display:flex;font-size:12px;gap:12px;justify-content:center;margin-top:16px}.legend-gradient{background:linear-gradient(90deg,#c8c8c84d,#ff4500e6);border-radius:4px;height:8px;width:100px}@media (max-width:900px){.analytics-header{align-items:flex-start;flex-direction:column;gap:16px}.header-right{flex-direction:column;gap:12px;width:100%}.date-range{justify-content:space-between;width:100%}.date-range input{flex:1 1}.metrics-grid{grid-template-columns:repeat(2,1fr)}.mastery-item{align-items:flex-start;flex-direction:column}.mastery-info{margin-bottom:8px;width:100%}.mastery-bar-container{width:100%}.mastery-rate{margin-left:auto;position:static}}@media (max-width:600px){.analytics-content{padding:16px}.analytics-tabs{overflow-x:auto;padding:8px 16px}.tab-btn{font-size:14px;padding:8px 14px;white-space:nowrap}.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:28px}.section{padding:16px}.section h3{font-size:16px}.difficulty-item{flex-wrap:wrap}.word-attempts{margin-top:4px;text-align:left;width:100%}.funnel-step{align-items:flex-start;flex-direction:column}.funnel-bar{width:100%}.funnel-value{margin-top:4px;text-align:left;width:100%}}.promo-manager{background-color:#f5f5f7;min-height:100vh}.promo-header{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:20px 40px}.promo-header .header-left{align-items:center;display:flex;gap:20px}.promo-header .back-btn{background:none;border:none;border-radius:8px;color:#0071e3;cursor:pointer;font-size:15px;padding:8px 12px;transition:background-color .2s}.promo-header .back-btn:hover{background-color:#f5f5f7}.promo-header h1{color:#1d1d1f;font-size:28px;font-weight:700;margin:0}.promo-header .header-right{align-items:center;color:#86868b;display:flex;gap:16px}.promo-header .logout-btn{background:none;border:1px solid #d2d2d7;border-radius:980px;color:#1d1d1f;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.promo-header .logout-btn:hover{background-color:#f5f5f7}.promo-content{margin:0 auto;max-width:1200px;padding:32px 40px}.promo-actions{margin-bottom:24px}.primary-btn{font-size:15px;padding:12px 24px;transition:all .2s}.primary-btn:hover{background-color:#0077ed}.secondary-btn{background:none;border:1px solid #d2d2d7;border-radius:980px;cursor:pointer;font-size:15px;padding:12px 24px;transition:all .2s}.secondary-btn:hover{background-color:#f5f5f7}.error-message{background-color:#fff5f5;border:1px solid #ff3b304d;border-radius:12px}.error-message,.success-message{margin-bottom:20px;padding:14px 16px}.success-message{background-color:#f0fff4;border:1px solid #34c7594d;border-radius:12px;color:#34c759}.promo-form-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a;margin-bottom:32px;padding:32px}.promo-form-container h2{color:#1d1d1f;font-size:20px;font-weight:600;margin:0 0 24px}.promo-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-group input,.form-group select{border:1px solid #d2d2d7;border-radius:10px;font-size:15px;padding:12px 16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#0071e3;outline:none}.form-group input:disabled{background-color:#f5f5f7;color:#86868b}.checkbox-group{align-items:center;flex-direction:row}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:12px}.promo-table-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a;overflow:hidden}.promo-table{border-collapse:collapse;width:100%}.promo-table td,.promo-table th{border-bottom:1px solid #f0f0f0;padding:16px 20px;text-align:left}.promo-table th{background-color:#fafafa;color:#86868b;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.promo-table td{color:#1d1d1f;font-size:15px}.promo-table tr:last-child td{border-bottom:none}.promo-table tr.inactive{opacity:.6}.code-cell{display:flex;flex-direction:column;gap:4px}.code-value{background-color:#f5f5f7;border-radius:6px;display:inline-block;font-family:SF Mono,Monaco,monospace;font-weight:600;padding:4px 8px}.code-desc{color:#86868b;font-size:13px}.status-badge{border-radius:12px;display:inline-block;font-weight:600;padding:4px 10px}.status-badge.active{background-color:#e8f8ef;color:#34c759}.status-badge.inactive{background-color:#f5f5f7;color:#86868b}.actions-cell{display:flex;gap:8px}.action-btn{background:none;border:1px solid #d2d2d7;border-radius:6px;font-size:13px;padding:6px 12px;transition:all .2s}.action-btn:hover{background-color:#f5f5f7}.action-btn.toggle{border-color:#ff9500;color:#ff9500}.action-btn.edit{border-color:#0071e3;color:#0071e3}.action-btn.delete{border-color:#ff3b30;color:#ff3b30}.no-codes{color:#86868b;padding:40px 20px!important;text-align:center}.loading{font-size:18px;min-height:100vh}@media (max-width:768px){.promo-header{flex-direction:column;gap:16px;padding:16px 20px}.promo-content{padding:20px}.form-row{grid-template-columns:1fr}.promo-table-container{overflow-x:auto}.promo-table{min-width:700px}.actions-cell{flex-direction:column;gap:4px}}.reports-dashboard{background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;min-height:100vh;padding:40px 32px}.reports-header{margin-bottom:28px}.reports-back-btn{align-items:center;background:none;border:none;color:#0071e3;cursor:pointer;display:flex;font-family:inherit;font-size:15px;gap:6px;letter-spacing:-.016em;padding:0 0 12px;transition:opacity .2s}.reports-back-btn:hover{opacity:.7}.reports-back-btn:before{content:"←";font-size:16px}.reports-title-row{align-items:center;display:flex;gap:16px}.reports-title{color:#1d1d1f;font-size:32px;font-weight:700;letter-spacing:-.005em;margin:0}.reports-count-badge{background:#ff9f0a;border-radius:980px;color:#fff;font-size:13px;font-weight:600;letter-spacing:-.016em;padding:3px 10px}.reports-filter-tabs{background:#e5e5ea;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;padding:4px;width:-webkit-fit-content;width:fit-content}.reports-filter-tab{align-items:center;background:none;border:none;border-radius:8px;color:#86868b;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;letter-spacing:-.016em;padding:8px 16px;transition:background .2s,color .2s}.reports-filter-tab.active{background:#fff;box-shadow:0 1px 4px #0000001a;color:#1d1d1f}.tab-count{background:#d2d2d7;border-radius:980px;color:#1d1d1f;font-size:12px;font-weight:600;min-width:20px;padding:1px 7px;text-align:center}.reports-filter-tab.active .tab-count{background:#0071e3;color:#fff}.reports-empty,.reports-loading{color:#86868b;font-size:17px;padding:60px 0;text-align:center}.reports-error{background:#fff;border:1px solid #ff3b304d;border-radius:12px;color:#ff3b30;font-size:15px;margin-bottom:20px;padding:14px 16px}.reports-table-wrapper{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;overflow:hidden}.reports-table{border-collapse:collapse;font-size:14px;width:100%}.reports-table thead tr{background:#f5f5f7;border-bottom:1px solid #d2d2d7}.reports-table th{color:#86868b;font-size:13px;font-weight:600;letter-spacing:-.016em;padding:12px 16px;text-align:left;white-space:nowrap}.reports-table td{border-bottom:1px solid #f0f0f5;color:#1d1d1f;letter-spacing:-.016em;padding:14px 16px;vertical-align:top}.reports-row:last-child td{border-bottom:none}.reports-row-pending{border-left:3px solid #ff9f0a}.reports-row-resolved{opacity:.6}.reports-row-dismissed{opacity:.45}.reports-word{color:#1d1d1f;font-size:15px;font-weight:600}.reports-word-cell{align-items:center;display:flex;gap:8px}.reports-play-btn{align-items:center;background:#0071e31a;border:none;border-radius:50%;color:#0071e3;cursor:pointer;display:flex;flex-shrink:0;height:26px;justify-content:center;padding:0;transition:background .2s,transform .1s;width:26px}.reports-play-btn:hover:not(:disabled){background:#0071e333;transform:scale(1.08)}.reports-play-btn.playing{background:#0071e32e;color:#0071e3}.reports-play-btn.error{background:#ff3b301a;color:#ff3b30;cursor:default}.reports-play-btn:disabled{cursor:not-allowed;opacity:.5}.reports-module{color:#86868b;font-size:13px}.reports-user{color:#1d1d1f}.reports-type{color:#1d1d1f;font-size:13px;font-weight:500}.reports-date,.reports-practice-type{color:#86868b;font-size:13px}.reports-date{white-space:nowrap}.reports-notes{max-width:200px}.reports-notes-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1d1d1f;display:-webkit-box;font-size:13px;overflow:hidden}.reports-notes-empty{color:#86868b}.reports-status-badge{border-radius:980px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:-.016em;padding:3px 10px;text-transform:capitalize}.reports-status-pending{background:#ff9f0a26;color:#c07800}.reports-status-resolved{background:#34c75926;color:#248a3d}.reports-status-dismissed{background:#8e8e9326;color:#6c6c70}.reports-actions{align-items:center;display:flex;gap:8px;white-space:nowrap}.reports-action-btn{border:none;border-radius:980px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:-.016em;padding:6px 14px;transition:opacity .2s}.reports-action-btn:disabled{cursor:not-allowed;opacity:.4}.reports-fix-btn{background:#0071e31f;color:#0071e3}.reports-fix-btn:not(:disabled):hover{background:#0071e338}.reports-resolve-btn{background:#34c75926;color:#248a3d}.reports-resolve-btn:not(:disabled):hover{background:#34c75940}.reports-dismiss-btn{background:#8e8e9326;color:#6c6c70}.reports-dismiss-btn:not(:disabled):hover{background:#8e8e9340}.reports-actioned{color:#86868b;font-size:13px}@media (max-width:768px){.reports-dashboard{padding:24px 16px}.reports-title{font-size:24px}.reports-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.reports-table{min-width:700px}}.pricing-page{background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:40px 20px}.pricing-page .back-btn{align-items:center;background:none;border:none;color:#0071e3;cursor:pointer;display:inline-flex;font-size:16px;gap:4px;margin-bottom:20px;padding:8px 0;transition:opacity .2s}.pricing-page .back-btn:hover{opacity:.7}.back-to-dashboard-btn{align-items:center;background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:6px;margin-bottom:24px;padding:10px 20px;transition:all .2s cubic-bezier(.4,0,.2,1)}.back-to-dashboard-btn:hover{background:#0077ed;transform:scale(1.02)}.pricing-header{margin-bottom:48px;text-align:center}.pricing-header h1{color:#1d1d1f;font-size:48px;font-weight:700;letter-spacing:-.022em;margin:0 0 12px}.pricing-header p{color:#86868b;font-size:21px;margin:0}.pricing-tiers{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 auto 48px;max-width:900px}.pricing-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;max-width:380px;padding:32px;position:relative;transition:transform .3s,box-shadow .3s;width:100%}.pricing-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.pricing-card.current,.pricing-card.featured{border:2px solid #0071e3}.popular-badge{background:#0071e3;border-radius:20px;color:#fff;font-size:12px;font-weight:600;left:50%;letter-spacing:.5px;padding:6px 16px;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.pricing-card h2{color:#1d1d1f;font-size:28px;font-weight:600;margin:0 0 16px;text-align:center}.price{margin-bottom:24px;text-align:center}.price-amount{color:#1d1d1f;font-size:48px;font-weight:700}.price-period{color:#86868b;font-size:18px}.features{list-style:none;margin:0 0 24px;padding:0}.features li{align-items:center;border-bottom:1px solid #f0f0f0;color:#1d1d1f;display:flex;font-size:15px;gap:8px;padding:10px 0}.features li:before{color:#34c759;content:"✓";font-weight:600}.features li:last-child{border-bottom:none}.current-plan-section{align-items:center;display:flex;flex-direction:column;gap:12px}.current-plan-badge{background:#0071e3;border-radius:980px;box-sizing:border-box;color:#fff;font-size:15px;font-weight:600;padding:12px 24px;text-align:center;width:100%}.manage-subscription-link{background:#0000;border:none;color:#0071e3;cursor:pointer;font-size:14px;font-weight:500;padding:8px 0;transition:opacity .2s}.manage-subscription-link:hover{opacity:.7;text-decoration:underline}.subscribe-btn{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:17px;font-weight:600;padding:14px 24px;transition:background .2s,transform .2s;width:100%}.subscribe-btn:hover:not(:disabled){background:#0077ed;transform:scale(1.02)}.subscribe-btn:disabled{background:#86868b;cursor:not-allowed}.subscribe-btn.secondary{background:#0071e31a;color:#0071e3}.subscribe-btn.secondary:hover{background:#0071e326}.addon-checkbox{align-items:center;background:#f5f5f7;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:20px;padding:16px}.addon-checkbox input[type=checkbox]{accent-color:#0071e3;height:20px;width:20px}.checkbox-label{align-items:center;color:#1d1d1f;display:flex;flex-wrap:wrap;font-size:15px;gap:8px}.promo-badge{background:#ff9500;border-radius:6px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.terms-checkbox{align-items:flex-start;background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:16px;padding:16px}.terms-checkbox input[type=checkbox]{accent-color:#0071e3;flex-shrink:0;height:18px;margin-top:2px;width:18px}.terms-checkbox .checkbox-label{color:#48484a;font-size:14px;line-height:1.5}.terms-checkbox .checkbox-label a{color:#0071e3;font-weight:500;text-decoration:none}.terms-checkbox .checkbox-label a:hover{text-decoration:underline}.promo-code-section{margin-bottom:20px}.promo-code-input-group{display:flex;gap:8px}.promo-code-input{background:#f5f5f7;border:1px solid #d2d2d7;border-radius:10px;color:#1d1d1f;flex:1 1;font-size:15px;padding:12px 16px;transition:border-color .2s,background .2s}.promo-code-input:focus{background:#fff;border-color:#0071e3;outline:none}.promo-code-input.error{border-color:#ff3b30}.promo-code-input::placeholder{color:#86868b}.apply-promo-btn{background:#f5f5f7;border:1px solid #d2d2d7;border-radius:10px;color:#0071e3;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;transition:background .2s,border-color .2s}.apply-promo-btn:hover:not(:disabled){background:#e8e8ed;border-color:#0071e3}.apply-promo-btn:disabled{color:#86868b;cursor:not-allowed}.promo-code-applied{align-items:center;background:#e3f6e8;border:1px solid #34c759;border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.promo-success{color:#248a3d;font-size:15px;font-weight:600}.remove-promo-btn{background:none;border:none;color:#ff3b30;cursor:pointer;font-size:14px;font-weight:500;padding:4px 8px;transition:opacity .2s}.remove-promo-btn:hover{opacity:.7}.promo-error{color:#ff3b30;font-size:13px;margin-top:8px}.original-price{margin-right:4px;opacity:.6;text-decoration:line-through}.addon-section{margin:0 auto 48px;max-width:600px}.addon-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;padding:32px;text-align:center}.addon-card.active{border:2px solid #0071e3}.addon-header{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:16px}.addon-card h3{color:#1d1d1f;font-size:24px;font-weight:600;margin:0}.addon-description{color:#86868b;font-size:17px;margin-bottom:20px}.addon-features{display:inline-block;list-style:none;margin:0 0 20px;padding:0;text-align:left}.addon-features li{color:#1d1d1f;font-size:15px;padding:8px 0}.addon-features li:before{color:#34c759;content:"✓ ";font-weight:600}.addon-price{color:#1d1d1f;font-size:32px;font-weight:700;margin-bottom:20px}.addon-btn{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:17px;font-weight:600;padding:14px 32px;transition:background .2s,transform .2s}.addon-btn:hover:not(:disabled){background:#0077ed;transform:scale(1.02)}.addon-btn:disabled{background:#86868b;cursor:not-allowed}.active-badge{background:#0071e3;border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;margin-bottom:12px;padding:8px 16px}.comparison-section{margin:0 auto 48px;max-width:800px}.comparison-section h2{color:#1d1d1f;font-size:32px;font-weight:600;margin-bottom:24px;text-align:center}.comparison-table{border-radius:18px;box-shadow:0 4px 16px #00000014}.comparison-table td,.comparison-table th{border-bottom:1px solid #f0f0f0;padding:16px 20px}.comparison-table td:not(:first-child),.comparison-table th:not(:first-child){text-align:center}.comparison-table td{color:#1d1d1f;font-size:15px}.comparison-table .check,.comparison-table .cross{font-size:18px}.comparison-table .addon{color:#ff9500;font-size:13px;font-weight:600}.pricing-footer{color:#86868b;font-size:14px;text-align:center}.pricing-footer .guarantee{font-weight:500;margin-top:8px}.pricing-page .loading{align-items:center;color:#86868b;display:flex;font-size:18px;justify-content:center;min-height:400px}@media (max-width:768px){.pricing-header h1{font-size:36px}.pricing-header p{font-size:17px}.pricing-tiers{align-items:center;flex-direction:column}.pricing-card{max-width:100%}.price-amount{font-size:40px}.comparison-table{font-size:14px}.comparison-table td,.comparison-table th{padding:12px 10px}}.hero{grid-gap:64px;align-items:center;display:grid;gap:64px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;min-height:calc(100vh - 64px);padding:80px 24px}.hero-content{max-width:560px}.hero-title{color:#1d1d1f;font-size:64px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0071e3,#5856d6);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#86868b;font-size:21px;line-height:1.5;margin-bottom:40px}.hero-actions{display:flex;gap:16px}.btn-primary.large{font-size:19px;padding:18px 40px}.btn-secondary:hover{background:#0071e314}.hero-visual{display:flex;justify-content:center}.hero-card{animation:float 6s ease-in-out infinite;background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001f;padding:32px;width:360px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.card-header{margin-bottom:24px}.card-badge{background:#0071e31a;border-radius:6px;color:#0071e3;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.card-word{color:#1d1d1f;font-size:32px;font-weight:600;margin-bottom:20px}.card-input{background:#f5f5f7;border-radius:12px;margin-bottom:20px;padding:16px}.input-cursor{color:#1d1d1f;font-family:SF Mono,Monaco,monospace;font-size:18px;letter-spacing:2px}.card-result{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.card-result.correct{color:#34c759}.features{background:#f5f5f7;padding:64px 24px}.features-header{margin:0 auto 40px;max-width:600px;text-align:center}.features-header h2{color:#1d1d1f;font-size:48px;font-weight:700;margin-bottom:16px}.features-header p{color:#86868b;font-size:21px}.features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1200px}.feature-card{aspect-ratio:1;background:#fff;border-radius:16px;display:flex;flex-direction:column;justify-content:center;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.feature-card:hover{box-shadow:0 20px 40px #00000014;transform:translateY(-8px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:16px;color:#fff;display:flex;height:56px;justify-content:center;margin-bottom:20px;width:56px}.feature-card h3{color:#1d1d1f;font-size:20px;font-weight:600;margin-bottom:12px}.feature-card p{color:#86868b;font-size:15px;line-height:1.5}.stats-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:56px 24px}.stats-container{display:flex;gap:80px;justify-content:center;margin:0 auto;max-width:1200px}.stat-item{text-align:center}.stat-number{color:#fff;display:block;font-size:56px;font-weight:700;line-height:1;margin-bottom:8px}.stat-label{color:#757575d9;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.home-faq-section{background:#f5f5f7;padding:80px 24px}.home-faq-container{margin:0 auto;max-width:800px}.home-faq-header{margin-bottom:48px;text-align:center}.home-faq-header h2{color:#1d1d1f;font-size:48px;font-weight:700;margin-bottom:12px}.home-faq-header p{color:#86868b;font-size:19px}.home-faq-list{display:flex;flex-direction:column}.home-faq-item{border-bottom:1px solid #d2d2d7;padding:24px 0}.home-faq-item:first-child{border-top:1px solid #d2d2d7}.home-faq-item h3{color:#1d1d1f;font-size:17px;font-weight:600;margin-bottom:8px}.home-faq-item p{color:#86868b;font-size:15px;line-height:1.6;margin:0}.cta-section{padding:64px 24px;text-align:center}.cta-content{margin:0 auto;max-width:600px}.cta-content h2{color:#1d1d1f;font-size:48px;font-weight:700;margin-bottom:16px}.cta-content p{color:#86868b;font-size:21px;margin-bottom:32px}@media (max-width:1024px){.hero{gap:48px;grid-template-columns:1fr;text-align:center}.hero-content{max-width:100%}.hero-title{font-size:48px}.hero-actions{justify-content:center}.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.hero{min-height:auto;padding:32px 20px}.hero-title{font-size:40px}.hero-subtitle{font-size:18px;margin-bottom:28px}.hero-card{max-width:320px;width:100%}.features{padding:48px 20px}.features-header{margin-bottom:32px}.features-header h2{font-size:32px;margin-bottom:12px}.features-header p{font-size:16px}.stats-container{flex-direction:column;gap:24px}.stat-number{font-size:40px}.cta-section{padding:48px 20px}.cta-content h2{font-size:32px}.cta-content p{margin-bottom:24px}.home-faq-section{padding:48px 20px}.home-faq-header h2{font-size:32px}.home-faq-header p{font-size:16px}}@media (max-width:480px){.hero{gap:16px;padding:20px 16px 12px}.hero-title{font-size:28px}.hero-subtitle{font-size:15px;margin-bottom:20px}.hero-actions{align-items:center;flex-direction:column;gap:10px;width:100%}.btn-primary,.btn-secondary{font-size:15px;max-width:280px;padding:12px 24px;text-align:center;width:100%}.hero-card{max-width:260px;padding:16px;width:100%}.card-word{font-size:20px;margin-bottom:14px}.input-cursor{font-size:12px}.card-header,.card-input{margin-bottom:12px}.card-input{padding:10px}.features{padding:28px 16px}.features-header{margin-bottom:24px}.features-header h2{font-size:24px;margin-bottom:8px}.features-header p{font-size:14px}.features-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.feature-card{aspect-ratio:1;border-radius:12px;padding:14px}.feature-icon{border-radius:8px;height:36px;margin-bottom:10px;width:36px}.feature-icon svg{height:20px;width:20px}.feature-card h3{font-size:13px;margin-bottom:4px}.feature-card p{font-size:11px;line-height:1.3}.stats-section{padding:28px 16px}.stats-container{gap:16px}.stat-number{color:#fff;font-size:32px}.stat-label{font-size:11px;letter-spacing:.5px}.cta-section{padding:36px 16px}.cta-content h2{font-size:24px;margin-bottom:12px}.cta-content p{font-size:14px;margin-bottom:20px}.btn-primary.large{font-size:16px;padding:14px 28px}.home-faq-section{padding:36px 16px}.home-faq-header{margin-bottom:24px}.home-faq-header h2{font-size:24px;margin-bottom:8px}.home-faq-header p{font-size:14px}.home-faq-item{padding:18px 0}.home-faq-item h3{font-size:15px}.home-faq-item p{font-size:13px}}.about-hero{background:linear-gradient(180deg,#f5f5f7,#fff);padding:120px 24px 80px;text-align:center}.about-hero-content{margin:0 auto;max-width:680px}.about-hero h1{color:#1d1d1f;font-size:56px;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}.about-hero p{color:#86868b;font-size:21px;line-height:1.5}.about-container{margin:0 auto;max-width:1200px;padding:0 24px}.about-story{padding:100px 0}.about-story .about-container{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr}.story-content h2{color:#1d1d1f;font-size:40px;font-weight:700;margin-bottom:32px}.story-content p{color:#1d1d1f;font-size:17px;line-height:1.7;margin-bottom:24px}.story-content p:last-child{margin-bottom:0}.story-visual{display:flex;justify-content:center}.visual-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px #00000014;max-width:320px;padding:48px;text-align:center}.visual-icon{align-items:center;background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:24px;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.visual-card h3{color:#1d1d1f;font-size:24px;font-weight:600;margin-bottom:12px}.visual-card p{color:#86868b;font-size:15px;line-height:1.5}.about-values{background:#f5f5f7;padding:100px 0}.about-values h2{color:#1d1d1f;font-size:40px;font-weight:700;margin-bottom:64px;text-align:center}.values-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr)}.value-card{background:#fff;border-radius:20px;padding:40px;transition:all .3s cubic-bezier(.4,0,.2,1)}.value-card:hover{box-shadow:0 12px 40px #00000014;transform:translateY(-4px)}.value-number{color:#0071e3;font-size:14px;font-weight:600;margin-bottom:16px}.value-card h3{color:#1d1d1f;font-size:24px;font-weight:600;margin-bottom:12px}.value-card p{color:#86868b;font-size:15px;line-height:1.6}.about-team{padding:100px 0}.about-team h2{color:#1d1d1f;font-size:40px;font-weight:700;margin-bottom:64px;text-align:center}.approach-cards{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr)}.approach-card{padding:40px 32px;text-align:center}.approach-icon{align-items:center;border-radius:20px;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 24px;width:64px}.approach-icon.blue{background:linear-gradient(135deg,#0071e3,#00a2ff)}.approach-icon.purple{background:linear-gradient(135deg,#5856d6,#af52de)}.approach-icon.green{background:linear-gradient(135deg,#34c759,#30d158)}.approach-card h3{color:#1d1d1f;font-size:20px;font-weight:600;margin-bottom:12px}.approach-card p{color:#86868b;font-size:15px;line-height:1.6}.about-cta{background:linear-gradient(135deg,#667eea,#764ba2);padding:100px 0;text-align:center}.about-cta h2{color:#fff;font-size:40px;font-weight:700;margin-bottom:16px}.about-cta p{color:#fffc;font-size:19px;margin-bottom:40px}.cta-buttons{display:flex;gap:16px;justify-content:center}.about-cta .btn-primary{background:#fff;color:#5856d6}.about-cta .btn-primary:hover{background:#ffffffe6}.about-cta .btn-secondary{border:2px solid #ffffff4d;color:#fff}.about-cta .btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.btn-primary,.btn-secondary{text-decoration:none}.btn-secondary{background:#0000;font-size:17px;padding:16px 32px}@media (max-width:1024px){.about-story .about-container{gap:48px;grid-template-columns:1fr}.story-visual{order:-1}.approach-cards{gap:24px;grid-template-columns:1fr}}@media (max-width:768px){.about-hero{padding:80px 24px 60px}.about-hero h1{font-size:40px}.about-hero p{font-size:18px}.about-cta,.about-story,.about-team,.about-values{padding:80px 0}.about-cta h2,.about-team h2,.about-values h2,.story-content h2{font-size:32px}.values-grid{gap:24px;grid-template-columns:1fr}.cta-buttons{align-items:center;flex-direction:column}.btn-primary,.btn-secondary{max-width:280px;width:100%}}@media (max-width:480px){.about-hero h1{font-size:32px}.approach-card,.value-card,.visual-card{padding:32px 24px}}.contact-hero{background:linear-gradient(180deg,#f5f5f7,#fff);padding:120px 24px 80px;text-align:center}.contact-hero-content{margin:0 auto;max-width:600px}.contact-hero h1{color:#1d1d1f;font-size:56px;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}.contact-hero p{color:#86868b;font-size:21px;line-height:1.5}.contact-main{padding:80px 24px 120px}.contact-container{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1fr 1.2fr;margin:0 auto;max-width:1100px}.contact-info h2{color:#1d1d1f;font-size:32px;font-weight:700;margin-bottom:16px}.contact-info>p{color:#86868b;font-size:17px;line-height:1.6;margin-bottom:48px}.contact-methods{display:flex;flex-direction:column;gap:32px}.contact-method{align-items:flex-start;display:flex;gap:16px}.method-icon{align-items:center;background:#0071e314;border-radius:12px;color:#0071e3;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.method-content h3{color:#1d1d1f;font-size:15px;font-weight:600;margin-bottom:4px}.method-content a,.method-content p{color:#86868b;font-size:15px;text-decoration:none}.method-content a:hover{color:#0071e3}.contact-form-wrapper{background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f;padding:48px}.contact-form{gap:24px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#1d1d1f;font-size:14px;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:#f5f5f7;border:1px solid #0000;border-radius:12px;color:#1d1d1f;font-family:inherit;font-size:17px;outline:none;padding:14px 16px;transition:all .2s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:#86868b}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;cursor:pointer;padding-right:44px}.form-group textarea{min-height:140px;resize:vertical}.required{color:#ff3b30;font-weight:600}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea,.input-error{background:#ff3b300a;border-color:#ff3b30!important}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 4px #ff3b301a}.error-message{color:#ff3b30;font-size:13px;font-weight:500;margin-top:4px}.btn-primary{align-items:center;background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;display:inline-flex;font-size:17px;font-weight:500;justify-content:center;padding:16px 32px;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-primary:hover{background:#0077ed;transform:scale(1.02)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{align-items:center;background:#0071e314;border:none;border-radius:980px;color:#0071e3;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;justify-content:center;padding:14px 28px;transition:all .2s ease}.btn-secondary:hover{background:#0071e31f}.success-message{padding:40px 0;text-align:center}.success-icon{background:#34c7591a;height:80px;margin:0 auto 24px;width:80px}.success-message h3{color:#1d1d1f;font-size:24px;font-weight:600;margin-bottom:12px}.success-message p{color:#86868b;font-size:17px;margin-bottom:32px}.contact-faq{background:#f5f5f7;padding:100px 24px}.faq-container{margin:0 auto;max-width:1000px}.contact-faq h2{color:#1d1d1f;font-size:40px;font-weight:700;margin-bottom:64px;text-align:center}.faq-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(2,1fr)}.faq-item{border-radius:20px;padding:32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.faq-item:hover{box-shadow:0 12px 40px #00000014;transform:translateY(-4px)}@media (max-width:900px){.contact-container{gap:48px;grid-template-columns:1fr}.contact-info>p{margin-bottom:32px}.contact-methods{flex-direction:row;flex-wrap:wrap}.contact-method{flex:1 1;min-width:180px}}@media (max-width:768px){.contact-hero{padding:80px 24px 60px}.contact-hero h1{font-size:40px}.contact-hero p{font-size:18px}.contact-main{padding:60px 24px 80px}.contact-form-wrapper{padding:32px 24px}.contact-faq{padding:80px 24px}.contact-faq h2{font-size:32px;margin-bottom:48px}.faq-grid{gap:24px;grid-template-columns:1fr}.contact-methods{flex-direction:column}}@media (max-width:480px){.contact-hero h1{font-size:32px}.contact-info h2{font-size:28px}.faq-item{padding:24px}}.subscription-management{background:#f5f5f7;min-height:100vh}.subscription-header{align-items:center;background:#fff;border-bottom:1px solid #0000000f;display:flex;gap:16px;padding:24px 48px}.subscription-header h1{color:#1d1d1f;font-size:24px;font-weight:600;margin:0}.back-btn{align-items:center;background:#0000;border:none;color:#0071e3;cursor:pointer;display:flex;font-size:15px;gap:4px;padding:8px 16px;transition:opacity .2s}.back-btn:hover{opacity:.7}.back-btn:before{content:"\2190";font-size:18px}.subscription-content{margin:0 auto;max-width:600px;padding:32px 24px}.subscription-card{background:#fff;border-radius:18px;box-shadow:0 2px 12px #0000000f;margin-bottom:20px;padding:24px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-header h2{color:#1d1d1f;font-size:18px;font-weight:600;margin:0}.status-badge{border-radius:980px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.status-badge.active{background:#34c7591f;color:#248a3d}.status-badge.cancelled{background:#ff95001f;color:#c93400}.status-badge.past_due{background:#ff3b301f;color:#d70015}.status-badge.paused{background:#0071e31f;color:#0071e3}.plan-details{margin-bottom:24px}.plan-name{align-items:center;display:flex;gap:8px;margin-bottom:16px}.tier-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:980px;color:#fff;display:inline-block;font-size:16px;font-weight:600;padding:8px 20px;text-transform:capitalize}.tier-badge:first-letter{text-transform:uppercase}.addon-badge{background:#0071e31a;border-radius:980px;color:#0071e3;font-size:13px;font-weight:500;padding:6px 12px}.plan-info{background:#f5f5f7;border-radius:12px;padding:16px}.info-row{border-bottom:1px solid #0000000f;display:flex;justify-content:space-between;padding:8px 0}.info-row:last-child{border-bottom:none}.info-label{color:#86868b;font-size:14px}.info-value{color:#1d1d1f;font-size:14px;font-weight:500}.plan-actions{display:flex;flex-direction:column;gap:12px}.action-btn{border:none;border-radius:980px;cursor:pointer;font-size:15px;font-weight:500;padding:14px 24px;transition:all .2s cubic-bezier(.4,0,.2,1)}.action-btn.primary{background:#0071e3;color:#fff}.action-btn.primary:hover{background:#0077ed}.action-btn.secondary{background:#0000;border:1px solid #0000001f;color:#86868b}.action-btn.secondary:hover{background:#0000000a;color:#1d1d1f}.cancelled-notice{background:#ff950014;border-radius:12px;padding:16px;text-align:center}.cancelled-notice p{color:#86868b;font-size:14px;margin:0 0 12px}.cancelled-notice p:first-child{color:#1d1d1f;font-weight:500}.paused-notice{background:#0071e314;border-radius:12px;padding:16px;text-align:center}.paused-notice p{color:#86868b;font-size:14px;margin:0 0 12px}.paused-notice p:first-child{color:#1d1d1f;font-weight:500}.history-list{display:flex;flex-direction:column}.history-item{border-bottom:1px solid #0000000f;display:flex;justify-content:space-between;padding:12px 0}.history-item:last-child{border-bottom:none}.history-event{color:#1d1d1f;font-size:14px}.history-date{color:#86868b;font-size:13px}.help-section{color:#86868b;font-size:14px;padding:24px;text-align:center}.help-section a{color:#0071e3;text-decoration:none}.help-section a:hover{text-decoration:underline}.cancel-modal-content h2{color:#1d1d1f;font-size:22px;font-weight:600;margin:0 0 8px}.cancel-warning{color:#86868b;font-size:15px;margin-bottom:24px}.cancel-info{background:#f5f5f7;border-radius:12px;margin-bottom:24px;padding:16px}.info-item{align-items:flex-start;color:#1d1d1f;display:flex;font-size:14px;gap:8px;margin-bottom:8px}.info-item:last-child{margin-bottom:0}.info-icon{color:#34c759;font-weight:700}.reason-section{margin-bottom:24px}.reason-label{color:#1d1d1f;display:block;font-size:14px;font-weight:500;margin-bottom:12px}.reason-options{display:flex;flex-direction:column;gap:8px}.reason-option{align-items:center;background:#f5f5f7;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background .2s}.reason-option:hover{background:#ebebed}.reason-option input[type=radio]{accent-color:#0071e3;height:18px;width:18px}.reason-option span{color:#1d1d1f;font-size:14px}.other-reason-input{border:1px solid #0000001f;border-radius:10px;font-family:inherit;font-size:14px;margin-top:12px;padding:12px 16px;resize:vertical;transition:border-color .2s;width:100%}.other-reason-input:focus{border-color:#0071e3;outline:none}.modal-actions{display:flex;flex-direction:column;gap:12px}.modal-btn{border:none;border-radius:980px;cursor:pointer;font-size:15px;font-weight:500;padding:14px 24px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.modal-btn.primary{background:#0071e3;color:#fff}.modal-btn.primary:hover{background:#0077ed}.modal-btn.secondary{background:#f5f5f7;color:#1d1d1f}.modal-btn.secondary:hover{background:#ebebed}.modal-btn.danger{background:#ff3b30;color:#fff}.modal-btn.danger:hover{background:#ff453a}.modal-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-success{padding:16px 0;text-align:center}.success-icon{align-items:center;background:#34c7591f;border-radius:50%;color:#34c759;display:flex;font-size:32px;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.cancel-success h2{color:#1d1d1f;font-size:22px;font-weight:600;margin:0 0 12px}.cancel-success p{color:#86868b;font-size:15px;line-height:1.5;margin:0 0 8px}.resubscribe-note{font-size:13px!important;margin-top:16px!important}.cancel-success .modal-btn{margin-top:24px}@media (max-width:768px){.subscription-header{padding:16px 20px}.subscription-header h1{font-size:20px}.subscription-content{padding:20px 16px}.subscription-card{padding:20px}.modal-actions{flex-direction:column-reverse}}.legal-page{background:#f5f5f7;min-height:calc(100vh - 64px);padding:60px 24px}.legal-container{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin:0 auto;max-width:800px;padding:48px}.legal-container h1{color:#1d1d1f;font-size:36px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.last-updated{border-bottom:1px solid #f0f0f0;color:#86868b;font-size:14px;margin-bottom:40px;padding-bottom:24px}.legal-container section{margin-bottom:32px}.legal-container h2{color:#1d1d1f;font-size:22px;font-weight:600;margin:0 0 16px}.legal-container h3{color:#1d1d1f;font-size:17px;font-weight:600;margin:20px 0 12px}.legal-container p{color:#1d1d1f;font-size:15px;line-height:1.6;margin:0 0 12px}.legal-container ul{margin:0 0 16px;padding-left:24px}.legal-container li{color:#1d1d1f;font-size:15px;line-height:1.6;margin-bottom:8px}.legal-container strong{font-weight:600}.contact-info{background:#f5f5f7;border-radius:12px;margin-top:12px;padding:16px 20px}.privacy-highlight{background:linear-gradient(135deg,#0071e30d,#5856d60d);border-left:4px solid #0071e3;border-radius:0 12px 12px 0;margin-bottom:32px;padding:24px}.privacy-highlight h2{color:#0071e3;margin-bottom:12px}.privacy-highlight p{margin:0}@media (max-width:768px){.legal-page{padding:40px 16px}.legal-container{padding:32px 24px}.legal-container h1{font-size:28px}.legal-container h2{font-size:20px}}@media (max-width:480px){.legal-container{border-radius:12px;padding:24px 20px}.legal-container h1{font-size:24px}.privacy-highlight{padding:20px}}.help-page{background:#f5f5f7;min-height:calc(100vh - 64px)}.help-header{background:linear-gradient(135deg,#0071e3,#5856d6);padding:60px 24px;text-align:center}.help-header h1{color:#fff;font-size:42px;font-weight:700;margin:0 0 12px}.help-header p{color:#ffffffe6;font-size:18px;margin:0}.help-container{margin:0 auto;max-width:900px;padding:40px 24px}.contact-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:40px;padding:32px;text-align:center}.contact-card h2{color:#1d1d1f;font-size:24px;font-weight:600;margin:0 0 8px}.contact-card p{color:#86868b;font-size:16px;margin:0 0 20px}.contact-btn{align-items:center;background:#0071e3;border-radius:980px;color:#fff;display:inline-flex;font-size:16px;font-weight:600;justify-content:center;padding:14px 32px;text-decoration:none;transition:all .2s ease}.contact-btn:hover{background:#0077ed;transform:scale(1.02)}.faq-section h2{color:#1d1d1f;font-size:28px;font-weight:600;margin:0 0 32px;text-align:center}.faq-category{margin-bottom:32px}.faq-category h3{border-left:3px solid #0071e3;color:#0071e3;font-size:18px;font-weight:600;margin:0 0 16px;padding-left:8px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:box-shadow .2s ease}.faq-item:hover{box-shadow:0 4px 12px #0000001a}.faq-item.open{box-shadow:0 4px 16px #0000001a}.faq-question{align-items:center;background:none;border:none;color:#1d1d1f;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:space-between;padding:20px 24px;text-align:left;transition:background-color .2s ease;width:100%}.faq-question:hover{background:#0071e308}.faq-icon{color:#0071e3;flex-shrink:0;font-size:20px;font-weight:400;margin-left:16px}.faq-answer{padding:0 24px 20px}.faq-answer p{color:#48484a;font-size:15px;line-height:1.6;margin:0}@media (max-width:768px){.help-header{padding:48px 20px}.help-header h1{font-size:32px}.help-container{padding:32px 16px}.contact-card{padding:24px 20px}.faq-section h2{font-size:24px}.faq-question{font-size:15px;padding:16px 20px}.faq-answer{padding:0 20px 16px}}@media (max-width:480px){.help-header h1{font-size:28px}.help-header p{font-size:16px}.contact-card h2{font-size:20px}.faq-category h3{font-size:16px}.faq-question{padding:14px 16px}.faq-answer{padding:0 16px 14px}}.landing-hero{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:900px;min-height:calc(100vh - 64px);padding:80px 24px;text-align:center}.landing-hero h1{color:#1d1d1f;font-size:56px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px}.landing-hero .subtitle{color:#86868b;font-size:21px;line-height:1.6;margin-bottom:40px;max-width:700px}.landing-hero .hero-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.landing-section{margin:0 auto;max-width:1200px;padding:80px 24px}.landing-section.alt-bg{background:#f5f5f7;max-width:100%}.landing-section.alt-bg .section-content{margin:0 auto;max-width:1200px}.landing-section h2{color:#1d1d1f;font-size:40px;font-weight:700;margin-bottom:24px;text-align:center}.landing-section>p,.section-content>p{color:#515154;font-size:18px;line-height:1.7;margin-bottom:24px}.landing-features{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(3,1fr);margin-top:48px}.landing-feature{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000f;padding:32px;transition:all .3s ease}.landing-feature:hover{box-shadow:0 12px 40px #0000001a;transform:translateY(-4px)}.landing-feature .icon{align-items:center;background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:16px;color:#fff;display:flex;height:56px;justify-content:center;margin-bottom:20px;width:56px}.landing-feature h3{color:#1d1d1f;font-size:20px;font-weight:600;margin-bottom:12px}.landing-feature p{color:#86868b;font-size:15px;line-height:1.6}.comparison-table{background:#fff;border-collapse:collapse;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin:40px 0;overflow:hidden;width:100%}.comparison-table td,.comparison-table th{border-bottom:1px solid #e5e5e7;padding:20px 24px;text-align:left}.comparison-table th{background:#f5f5f7;color:#1d1d1f;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.comparison-table td{color:#515154;font-size:16px}.comparison-table tr:last-child td{border-bottom:none}.comparison-table .check{color:#34c759;font-weight:600}.comparison-table .cross{color:#ff3b30}.comparison-table .highlight{background:#0071e30d}.benefits-list{list-style:none;margin:32px 0;padding:0}.benefits-list li{align-items:flex-start;border-bottom:1px solid #e5e5e7;display:flex;gap:16px;padding:16px 0}.benefits-list li:last-child{border-bottom:none}.benefits-list .check-icon{align-items:center;background:#34c759;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-top:2px;width:24px}.benefits-list .benefit-content h4{color:#1d1d1f;font-size:18px;font-weight:600;margin-bottom:4px}.benefits-list .benefit-content p{color:#86868b;font-size:15px;margin:0}.landing-cta{background:linear-gradient(135deg,#0071e3,#5856d6);border-radius:24px;margin:48px 0;padding:64px 24px;text-align:center}.landing-cta h2{color:#fff;font-size:36px;font-weight:700;margin-bottom:16px}.landing-cta p{color:#ffffffe6;font-size:18px;margin-bottom:32px}.landing-cta .btn-white{align-items:center;background:#fff;border:none;border-radius:980px;color:#0071e3;cursor:pointer;display:inline-flex;font-size:17px;font-weight:600;justify-content:center;padding:16px 32px;text-decoration:none;transition:all .2s ease}.landing-cta .btn-white:hover{box-shadow:0 8px 24px #0003;transform:scale(1.02)}.price-highlight{background:linear-gradient(135deg,#34c759,#30d158);border-radius:980px;color:#fff;display:inline-block;font-size:18px;font-weight:600;margin:16px 0;padding:8px 20px}.faq-section{margin-top:48px}.faq-item{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000a;margin-bottom:16px;padding:24px}.faq-item h3{color:#1d1d1f;font-size:18px;font-weight:600;margin-bottom:12px}.faq-item p{color:#86868b;font-size:15px;line-height:1.6;margin:0}@media (max-width:1024px){.landing-features{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.landing-hero{min-height:auto;padding:48px 20px}.landing-hero h1{font-size:36px}.landing-hero .subtitle{font-size:18px}.landing-section{padding:48px 20px}.landing-section h2{font-size:28px}.landing-features{gap:20px;grid-template-columns:1fr}.comparison-table{font-size:14px}.comparison-table td,.comparison-table th{padding:12px 16px}.landing-cta{border-radius:16px;padding:40px 20px}.landing-cta h2{font-size:28px}}@media (max-width:480px){.landing-hero h1{font-size:28px}.landing-hero .subtitle{font-size:16px}.landing-hero .hero-actions{flex-direction:column;width:100%}.landing-hero .hero-actions .btn-primary,.landing-hero .hero-actions .btn-secondary{max-width:280px;width:100%}}.blog-hero{background:#f5f5f7;border-bottom:1px solid #0000000f;padding:72px 24px 56px;text-align:center}.blog-hero-content{margin:0 auto;max-width:640px}.blog-hero h1{color:#1d1d1f;font-size:40px;font-weight:700;letter-spacing:-.005em;margin-bottom:16px}.blog-hero-subtitle{color:#86868b;font-size:19px;letter-spacing:-.022em;line-height:1.5}.blog-list-section{background:#fff;padding:56px 24px 80px}.blog-list-container{margin:0 auto;max-width:900px}.blog-empty{color:#86868b;font-size:17px;padding:48px 0;text-align:center}.blog-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.blog-card{background:#fff;border:1px solid #00000014;border-radius:18px;box-shadow:0 4px 16px #0000000f;color:inherit;display:flex;flex-direction:column;padding:32px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.blog-card:hover{border-color:#0071e333;box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.blog-card-category{color:#0071e3;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.blog-card-title{color:#1d1d1f;font-size:20px;font-weight:600;letter-spacing:-.005em;line-height:1.3;margin-bottom:12px}.blog-card-excerpt{color:#86868b;flex:1 1;font-size:15px;line-height:1.6;margin-bottom:20px}.blog-card-meta{color:#86868b;display:flex;font-size:13px;gap:16px;margin-bottom:16px}.blog-card-read-time:before{content:"·";margin-right:16px}.blog-card-cta{color:#0071e3;font-size:14px;font-weight:500;transition:color .2s ease}.blog-card:hover .blog-card-cta{color:#0077ed}@media (max-width:768px){.blog-hero h1{font-size:28px}.blog-hero-subtitle{font-size:17px}.blog-grid{grid-template-columns:1fr}}@media (max-width:480px){.blog-hero{padding:48px 16px 40px}.blog-hero h1{font-size:24px}.blog-list-section{padding:32px 16px 56px}.blog-card{border-radius:14px;padding:24px}.blog-card-title{font-size:18px}}.placement-test{align-items:center;background:#f5f5f7;display:flex;flex-direction:column;min-height:100vh;padding:40px 20px}.placement-test .error-container,.placement-test .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.placement-test .loading-spinner{animation:spin 1s linear infinite;border:3px solid #d2d2d7;border-radius:50%;border-top-color:#0071e3;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.placement-test .error-container h2{color:#1d1d1f;margin-bottom:12px}.placement-test .error-container p{color:#86868b;margin-bottom:24px}.test-header{margin-bottom:32px;max-width:600px;text-align:center}.test-header h1{color:#1d1d1f;font-size:32px;font-weight:700;margin:0 0 12px}.test-header p{color:#86868b;font-size:17px;margin:0 0 16px}.skip-btn{background:none;border:none;border-radius:8px;color:#0071e3;cursor:pointer;font-size:15px;padding:8px 16px;transition:background .2s}.skip-btn:hover{background:#0071e314}.progress-container{margin-bottom:32px;max-width:500px;width:100%}.progress-bar{background:#d2d2d7;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#0071e3,#00c7be);border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#86868b;display:block;font-size:14px;text-align:center}.word-card{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;max-width:500px;padding:40px;width:100%}.word-number{color:#86868b;font-size:13px;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.pronunciation-block{background:#f5f5f7;border-radius:12px;flex-direction:column;margin-bottom:24px;padding:20px}.audio-btn-large,.pronunciation-block{align-items:center;display:flex;gap:12px}.audio-btn-large{background:#0071e3;border:none;border-radius:980px;color:#fff;cursor:pointer;font-size:17px;font-weight:600;justify-content:center;padding:16px 32px;transition:all .3s cubic-bezier(.4,0,.2,1)}.audio-btn-large:hover{background:#0077ed;transform:scale(1.02)}.audio-btn-large:active{transform:scale(.98)}.audio-btn-large svg{flex-shrink:0}.phonetic-display{color:#86868b;font-size:16px;font-style:italic}.no-audio-notice{background:#0000000a;border-radius:8px;color:#86868b;font-size:14px;padding:12px 20px}.word-info-collapsible{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:10px;overflow:hidden}.word-info-toggle{align-items:center;background:#0000;border:none;color:#1d1d1f;cursor:pointer;display:flex;font-size:15px;font-weight:600;justify-content:space-between;padding:14px 18px;transition:background-color .2s;width:100%}.word-info-toggle:hover{background-color:#00000008}.toggle-icon{color:#86868b;transition:transform .2s ease}.toggle-icon.rotated{transform:rotate(180deg)}.word-info-content{animation:slideDown .2s ease-out;border-top:1px solid #e5e5e7;padding:0 18px 18px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.word-info-content .info-item{margin-bottom:0;margin-top:14px}.word-info-content .info-item strong{color:#0071e3;display:block;font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.word-info-content .info-item p{color:#1d1d1f;font-size:15px;font-weight:400;line-height:1.47059;margin:0}.answer-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.answer-form input{border:2px solid #d2d2d7;border-radius:12px;box-sizing:border-box;font-size:20px;letter-spacing:2px;padding:16px;text-align:center;transition:all .3s;width:100%}.answer-form input:focus{border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a;outline:none}.answer-form input:disabled{background:#f5f5f7;color:#86868b}.next-btn,.submit-btn{border:none;border-radius:980px;cursor:pointer;font-size:17px;font-weight:600;padding:16px;transition:all .3s;width:100%}.submit-btn{background:#0071e3;color:#fff}.submit-btn:hover:not(:disabled){background:#0077ed}.submit-btn:disabled{background:#d2d2d7;cursor:not-allowed}.next-btn{background:#0071e3;color:#fff}.next-btn:hover{background:#0077ed}.feedback{border-radius:12px;margin-top:20px;padding:16px;text-align:center}.feedback.correct{background:#0071e31a}.feedback.incorrect{background:#ff3b301a}.feedback-text{color:#1d1d1f;display:block;font-size:15px;margin-bottom:4px}.feedback.correct .feedback-text{color:#0071e3;font-size:18px;font-weight:600}.correct-word{color:#ff3b30;display:block;font-size:24px;font-weight:700;letter-spacing:2px;margin-top:8px}.current-score{margin-top:24px;text-align:center}.score-label{color:#86868b;font-size:14px;margin-right:8px}.score-value{color:#1d1d1f;font-size:16px;font-weight:600}.completion-container{max-width:500px;padding:40px 20px;text-align:center}.completion-icon{display:flex;justify-content:center;margin-bottom:24px}.completion-container h1{color:#1d1d1f;font-size:32px;font-weight:700;margin:0 0 32px}.result-summary{display:flex;gap:32px;justify-content:center;margin-bottom:40px}.result-stat{align-items:center;display:flex;flex-direction:column}.result-stat .stat-value{color:#1d1d1f;font-size:36px;font-weight:700}.result-stat .stat-label{color:#86868b;font-size:14px;margin-top:4px}.level-result{background:#fff;border-radius:18px;box-shadow:0 4px 16px #00000014;margin-bottom:32px;padding:32px}.level-result h2{color:#86868b;font-size:17px;font-weight:500;margin:0 0 16px}.level-badge{align-items:baseline;display:flex;justify-content:center;margin-bottom:16px}.level-number{color:#0071e3;font-size:64px;font-weight:700;line-height:1}.level-max{color:#86868b;font-size:24px;margin-left:8px}.level-description{color:#1d1d1f;font-size:17px;margin:0}.encouragement{color:#86868b;font-size:17px;line-height:1.5;margin-bottom:24px}.unlocked-modules{background:#0071e31a;border-radius:12px;margin-bottom:32px;padding:20px;text-align:left}.unlocked-modules h3{color:#0071e3;font-size:15px;font-weight:600;margin:0 0 12px;text-align:center}.unlocked-modules ul{list-style:none;margin:0;padding:0}.unlocked-modules li{align-items:center;border-bottom:1px solid #0071e326;color:#1d1d1f;display:flex;font-size:15px;gap:8px;padding:8px 0}.unlocked-modules li:last-child{border-bottom:none}.unlocked-modules li:before{color:#0071e3;content:"✓";font-weight:600}.primary-btn{background:#0071e3;border:none;border-radius:980px;cursor:pointer;font-size:17px;font-weight:600;padding:14px 32px;transition:all .3s}.primary-btn:hover{background:#0077ed}.primary-btn.large{font-size:19px;padding:18px 48px}.submitting-overlay{align-items:center;background:#fffffff2;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.submitting-overlay p{color:#1d1d1f;font-size:17px;margin-top:16px}@media (max-width:768px){.placement-test{padding:24px 16px}.test-header h1{font-size:28px}.word-card{border-radius:14px;padding:24px}.pronunciation-block{padding:16px}.audio-btn-large{font-size:15px;padding:14px 24px}.word-info-section{padding:16px}.info-text{font-size:15px}.answer-form input{font-size:18px;padding:14px}.result-summary{gap:20px}.result-stat .stat-value{font-size:28px}.level-number{font-size:48px}}@media (max-width:480px){.test-header h1{font-size:24px}.word-card{padding:20px}.pronunciation-block{padding:14px}.audio-btn-large{font-size:14px;gap:8px;padding:12px 20px}.audio-btn-large svg{height:20px;width:20px}.word-info-section{padding:14px}.info-label{font-size:11px}.info-text{font-size:14px}.level-result{padding:24px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f7;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;font-weight:400;letter-spacing:-.022em;line-height:1.47059}.App{min-height:100vh}.loading{align-items:center;color:#86868b;display:flex;font-size:19px;font-weight:400;height:100vh;justify-content:center}button{border:none;border-radius:980px;cursor:pointer;font-family:inherit;font-size:17px;font-weight:400;letter-spacing:-.022em;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}button:disabled{cursor:not-allowed;opacity:.3}.primary-btn{background-color:#0071e3;color:#fff;font-weight:500}.primary-btn:hover:not(:disabled){background-color:#0077ed;transform:scale(1.01)}.primary-btn:active:not(:disabled){transform:scale(.98)}.secondary-btn{background-color:#00000014;color:#1d1d1f;font-weight:500}.secondary-btn:hover:not(:disabled){background-color:#0000001f}.secondary-btn:active:not(:disabled){transform:scale(.98)}input[type=email],input[type=password],input[type=text],select,textarea{background-color:#fff;border:1px solid #d2d2d7;border-radius:12px;color:#1d1d1f;font-family:inherit;font-size:17px;letter-spacing:-.022em;padding:14px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}input:focus,select:focus,textarea:focus{border-color:#0071e3;box-shadow:0 0 0 4px #0071e31a;outline:none}input::placeholder,textarea::placeholder{color:#86868b}
/*# sourceMappingURL=main.b7b4b007.css.map*/