:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--color-primary:#00a300;--color-primary-light:#00c851;--color-primary-dark:#008a00;--color-primary-darker:#006400;--color-success:#28a745;--color-error:#dc3545;--color-error-dark:#c82333;--color-warning:#f39c12;--color-skipped:#6c757d;--color-text:#212529;--color-text-secondary:#495057;--color-text-muted:#6c757d;--color-bg:#fff;--color-bg-subtle:#f8f9fa;--color-bg-muted:#f1f3f5;--color-border:#e9ecef;--color-border-light:#f1f3f4;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:16px;--text-xl:18px;--text-2xl:20px;--text-3xl:24px;--text-4xl:28px;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,button,html,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}*,body{margin:0;padding:0}body{background-color:var(--color-bg-subtle);color:var(--color-text);font-family:var(--font-sans);line-height:1.6}.App,body{min-height:100vh}.App{display:flex;flex-direction:column;width:100%}.main-content-wrapper{background:linear-gradient(180deg,#eef8ef 0,var(--color-bg-subtle) 35%,var(--color-bg-subtle) 100%);flex:1 1;padding:24px 0 40px}.main-content-wrapper>:not(.home-page){margin:0 auto;max-width:1240px;padding:0 16px;width:100%}.main-content-wrapper>:not(.home-page) :is(.page-container,.task-configuration,.speech-trainer,.speech-diagnosis,.logoped-cabinet,.homework-new-page,.user-cabinet){background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:24px;box-shadow:0 10px 30px #0000000f}.main-content-wrapper>:not(.home-page) :is(.task-configuration,.speech-trainer,.speech-diagnosis,.logoped-cabinet,.homework-new-page,.user-cabinet){padding:24px}.main-content-wrapper>:not(.home-page) :is(.btn,.trainer-button,.action-button,.start-training-btn,.continue-training-btn,.start-new-training-btn,.cabinet-hw-btn,.cabinet-diagnostic-btn){border-radius:9999px}@media (max-width:768px){.main-content-wrapper{padding:16px 0 28px}.main-content-wrapper>:not(.home-page){padding:0 10px}.main-content-wrapper>:not(.home-page) :is(.task-configuration,.speech-trainer,.speech-diagnosis,.logoped-cabinet,.homework-new-page,.user-cabinet){border-radius:18px;padding:16px}}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--font-semibold)}h1,h2,h3,h4,h5,h6,p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dark)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.loading{background-color:var(--color-bg-subtle);color:var(--color-primary);font-size:var(--text-xl);height:100vh;justify-content:center}.auth-container,.loading{align-items:center;display:flex}.auth-container{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;flex-direction:column;font-family:var(--font-sans);margin:60px auto;max-width:400px;padding:36px 28px}.auth-container h2{color:var(--color-text);margin-bottom:24px}.auth-container form{display:flex;flex-direction:column;gap:16px;width:100%}.auth-container input{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);padding:14px 18px;transition:border-color .2s,box-shadow .2s;width:100%}.auth-container input:focus{background:var(--color-bg);border-color:var(--color-primary);box-shadow:0 0 0 4px #00a3001a;outline:none}.auth-container button{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);padding:14px 0;transition:background .2s,box-shadow .2s,transform .1s}.auth-container button:hover{background:var(--color-primary-dark)}.auth-container button:active{box-shadow:none;transform:translateY(5px)}.auth-container .error{background:var(--color-error);border-radius:1rem;color:#fff!important;font-size:var(--text-base);font-weight:var(--font-semibold);margin-top:10px;padding:12px 16px}.auth-container .error *{color:#fff!important}.auth-container .success{background:var(--color-primary);border-radius:1rem;color:#fff!important;font-size:var(--text-base);font-weight:var(--font-semibold);margin-top:10px;padding:12px 16px}.auth-container .success *{color:#fff!important}.auth-container p{font-size:var(--text-md);margin-top:18px}.auth-container a{color:var(--color-primary);text-decoration:none}.auth-container a:hover{text-decoration:underline}@media (max-width:768px){.auth-container{margin:30px auto;padding:24px 18px}}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.page-container{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 16px #0000000d;font-family:var(--font-sans);margin:40px auto;max-width:800px;padding:20px}.page-container h1{color:var(--color-text);font-size:var(--text-4xl);margin-bottom:20px;padding-bottom:10px;position:relative}.page-container h1:after{background-color:var(--color-primary);bottom:0;content:"";height:3px;left:0;position:absolute;width:60px}.page-container p{font-size:var(--text-lg);line-height:1.6;margin-bottom:15px}.contacts-content{display:flex;flex-direction:column;gap:30px}.contact-section{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);border-radius:1.5rem;font-family:var(--font-sans);padding:24px}.contact-section h2{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:12px}.contact-section h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:16px}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-link{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.25rem;box-shadow:0 2px 8px #0000000a;color:var(--color-text);display:flex;gap:16px;padding:16px 20px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}.contact-link:hover{border-color:var(--color-primary);box-shadow:0 4px 15px #00a3001a;color:var(--color-text);transform:translateY(-2px)}.contact-link.primary{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-color:var(--color-primary);color:#fff}.contact-link.primary:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0,var(--color-primary) 100%);color:#fff}.contact-icon{align-items:center;display:flex;flex-shrink:0;font-size:24px;justify-content:center;min-width:24px}.contact-icon svg{color:currentColor;height:20px;width:20px}.contact-link span:nth-child(2){flex:1 1;font-weight:600}.contact-url{color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-base);max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:break-all}.contact-link.primary .contact-url,.contact-phone{color:#ffffffe6;font-size:16px;font-weight:600;overflow-wrap:break-word;word-break:break-all}.developer-section{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.25rem;padding:20px}.developer-section p{line-height:1.6;margin-bottom:12px}.developer-section a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none}.developer-section a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){.contacts-content{gap:20px}.contact-section{padding:20px}.contact-link{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:14px 16px}.contact-icon{flex-shrink:0;font-size:20px;min-width:20px}.contact-link span:nth-child(2){flex:1 1;font-size:14px;min-width:0}.contact-phone,.contact-url{flex-basis:100%;font-size:13px;margin-top:4px;min-width:0}}@media (max-width:480px){.contact-section{padding:16px}.contact-link{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 14px}.contact-icon{align-self:flex-start;font-size:18px}.contact-link span:nth-child(2){font-size:13px;width:100%}.contact-phone,.contact-url{font-size:12px;line-height:1.3;margin-top:2px;width:100%;word-break:break-all}}.error-message{background:var(--color-error)!important;border:1px solid var(--color-error-dark)!important;box-shadow:0 4px 15px #dc35454d!important}.error-message,.success-message{font-weight:var(--font-semibold)!important}.success-message{background:var(--color-success)!important;border:1px solid #1e7e34!important;box-shadow:0 4px 15px #28a7454d!important}.header-playful{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffe6;border-bottom:4px solid var(--color-border-light);font-family:var(--font-sans);position:-webkit-sticky;position:sticky;top:0;z-index:2000}.header-playful-inner{align-items:center;display:flex;height:5rem;justify-content:space-between;margin:0 auto;max-width:72rem;padding:0 1rem}@media (min-width:640px){.header-playful-inner{padding:0 1.5rem}}@media (min-width:1024px){.header-playful-inner{padding:0 2rem}}.header-playful-logo{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.75rem;padding:0;text-align:left;text-decoration:none;transition:transform .2s}.header-playful-logo:hover{transform:scale(1.02)}.header-playful-logo-icon{align-items:center;background:var(--color-primary);border-radius:1rem;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff;display:flex;height:3rem;justify-content:center;transform:rotate(3deg);width:3rem}.header-playful-logo-icon svg{height:1.5rem;width:1.5rem}.header-playful-logo-text{color:var(--color-text);font-size:1.5rem;font-weight:800;letter-spacing:-.025em}.header-playful-logo-accent{color:var(--color-primary)}.header-playful-nav{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}.header-playful-link{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-bold);padding:.5rem .75rem;position:relative;text-decoration:none;transition:color .2s;white-space:nowrap}.header-playful-link:hover{color:var(--color-primary-dark)}.header-playful-link.active{color:var(--color-primary)}.header-playful-link.active:after{background:var(--color-primary);border-radius:999px;bottom:-.5rem;content:"";height:3px;left:0;position:absolute;width:100%}.header-playful-actions{align-items:center;display:flex;gap:1rem}.header-playful-auth{font-size:var(--text-base);font-weight:var(--font-bold)}.header-playful-login{color:var(--color-text-muted);text-decoration:none;transition:color .2s}.header-playful-login:hover{color:var(--color-text)}.header-playful-logout{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--font-bold);padding:0}.header-playful-logout:hover{color:var(--color-error)}.header-playful-cta{align-items:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-bold);justify-content:center;padding:.625rem 1.5rem;text-decoration:none;transition:background .2s,box-shadow .2s,transform .1s}.header-playful-cta:active,.header-playful-cta:focus,.header-playful-cta:hover,.header-playful-cta:visited{color:#fff}.header-playful-cta:hover{background:var(--color-primary-dark)}.header-playful-cta:active{box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(4px)}.header-playful-burger{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;height:2.5rem;justify-content:center;padding:0;width:2.5rem}.header-playful-burger span{display:flex;flex-direction:column;gap:6px}.header-playful-burger span span{background:currentColor;border-radius:1px;height:2px;transition:transform .3s,opacity .3s;width:22px}.header-playful-burger span.open span:first-child{transform:translateY(8px) rotate(45deg)}.header-playful-burger span.open span:nth-child(2){opacity:0}.header-playful-burger span.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.desktop-only{display:none}.mobile-only{display:block}@media (min-width:768px){.desktop-only{display:flex}.mobile-only{display:none}}@media (max-width:767px){.header-playful-cta{display:none}}.header-playful-mobile{inset:0;opacity:0;position:fixed;transition:visibility .3s,opacity .3s;visibility:hidden;z-index:2100}.header-playful-mobile.open{opacity:1;visibility:visible}.header-playful-mobile-overlay{background:#00000059;inset:0;position:absolute;z-index:1}.header-playful-mobile-panel{background:var(--color-bg);box-shadow:-8px 0 32px #0000001f;height:100%;max-width:88vw;overflow-y:auto;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:2}.header-playful-mobile.open .header-playful-mobile-panel{transform:translateX(0)}.header-playful-mobile-head{align-items:center;background:var(--color-bg);border-bottom:2px solid var(--color-border-light);display:flex;justify-content:space-between;padding:1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:3}.header-playful-mobile-logo{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:.5rem;padding:0;text-align:left;text-decoration:none}.header-playful-mobile-close{align-items:center;background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:2rem;justify-content:center;padding:0;transition:background .2s,color .2s;width:2rem}.header-playful-mobile-close:hover{background:var(--color-border-light);color:var(--color-text)}.header-playful-mobile ul{list-style:none;margin:0;padding:.75rem}.header-playful-mobile-link{border-radius:.75rem;color:var(--color-text-muted);display:block;font-size:1rem;font-weight:var(--font-bold);padding:.875rem 1rem;text-decoration:none;transition:background .15s,color .15s}.header-playful-mobile-link:hover{background:var(--color-bg-subtle);color:var(--color-primary-dark)}.header-playful-mobile-link.active{background:var(--color-bg-subtle);color:var(--color-primary)}.header-playful-mobile-divider{background:var(--color-border-light);border-radius:999px;height:2px;margin:.5rem .75rem}.header-playful-mobile-logout{background:none;border:none;border-radius:.75rem;color:var(--color-error)!important;cursor:pointer;display:block;font-family:inherit;font-size:1rem;font-weight:var(--font-bold);padding:.875rem 1rem;text-align:left;transition:background .15s;width:100%}.header-playful-mobile-logout:hover{background:#fff0f0;color:var(--color-error-dark)!important}.header-playful-mobile-cta{margin-top:.5rem;padding:1rem 1.25rem 1.5rem}.footer,.header-playful-mobile-cta{border-top:2px solid var(--color-border-light)}.footer{background:var(--color-bg);font-family:var(--font-sans);padding-top:40px}.footer-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px;padding:0 5%}.footer-section{margin-bottom:30px}.footer-section h3{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:20px;padding-bottom:10px;position:relative}.footer-section h3:after{background:var(--color-primary);border-radius:999px;bottom:0;content:"";height:2px;left:0;position:absolute;width:40px}.footer-section p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.6}.footer-links{list-style-type:none;margin:0;padding:0}.footer-links li{margin-bottom:10px}.footer-links a{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--color-primary)}address p{margin:10px 0}.footer-bottom{background:var(--color-bg-subtle);border-top:1px solid var(--color-border-light);margin-top:40px;padding:20px 0}.footer-bottom-container{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 5%}.footer-bottom p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.footer-bottom-links{display:flex;gap:20px}.footer-bottom-links a{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none;transition:color .2s}.footer-bottom-links a:hover{color:var(--color-primary)}.feedback-section{border-top:1px solid var(--color-border-light);margin-top:25px;padding-top:20px}.feedback-section h4{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:12px}.feedback-section p{margin-bottom:8px}.feedback-section a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none;transition:color .2s}.feedback-section a:hover{color:var(--color-primary-dark)}.feedback-section small{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-style:italic;margin-top:5px}.footer-contacts{display:flex;flex-direction:column;gap:8px}.footer-contacts p{font-size:var(--text-sm);margin:0}.footer-contacts a{align-items:center;color:var(--color-text-muted);display:inline-flex;gap:8px;text-decoration:none;transition:color .2s}.footer-contacts a:hover{color:var(--color-primary)}.footer-contacts a svg{color:currentColor;flex-shrink:0}@media (max-width:768px){.footer-bottom-container{flex-direction:column;gap:10px;text-align:center}.footer-bottom-links{justify-content:center}.footer-container{padding:0 15px}.footer-section{margin-bottom:25px}.feedback-section{margin-top:20px;padding-top:15px}.footer-contacts a{max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:break-word}}.login-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 40px;position:relative}.login-page:before{background:#e8f5e9;height:28rem;left:-5rem;opacity:.8;top:-5rem;width:28rem}.login-page:after,.login-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.login-page:after{animation-delay:2s;background:#f1f8e9;bottom:-6rem;height:32rem;opacity:.7;right:-4rem;width:32rem}.login-background-elements{display:none}.login-container{max-width:480px;position:relative;width:100%;z-index:2}.login-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:40px}.login-header{margin-bottom:36px;text-align:center}.login-icon{animation:auth-icon-bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.login-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:10px}.login-header p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin-bottom:0}.login-form{margin-bottom:28px}.error-message{box-shadow:0 4px 15px #dc354540}.error-icon{color:#fff!important}.login-button{align-items:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold);gap:10px;justify-content:center;padding:16px 24px;transition:background .2s,box-shadow .2s,transform .1s;width:100%}.login-button:hover:not(:disabled){background:var(--color-primary-dark)}.login-button:active:not(:disabled){box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.login-button:disabled{cursor:not-allowed;opacity:.7}.login-button-icon{font-size:var(--text-xl)}.login-footer{text-align:center}.login-footer p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:0}.login-footer a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none;transition:color .2s}.login-footer a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){.login-page{padding:40px 16px 32px}.login-card{padding:32px 24px}.login-header h1{font-size:var(--text-2xl)}.login-icon{font-size:48px}}@media (max-width:480px){.login-card{padding:24px 20px}.login-header h1{font-size:var(--text-xl)}.login-header p{font-size:var(--text-sm)}}.register-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 40px;position:relative}.register-page:before{background:#e8f5e9;height:28rem;opacity:.8;right:-4rem;top:-5rem;width:28rem}.register-page:after,.register-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.register-page:after{animation-delay:2s;background:#f1f8e9;bottom:-5rem;height:30rem;left:-5rem;opacity:.7;width:30rem}.register-background-elements{display:none}.register-container{max-width:480px;position:relative;width:100%;z-index:2}.register-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:40px}.register-header{margin-bottom:32px;text-align:center}.register-icon{animation:auth-icon-bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.register-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:10px}.register-header p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin-bottom:0}.register-form{margin-bottom:24px}.error-icon,.success-icon{flex-shrink:0;font-size:var(--text-base)}.register-options{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1.25rem;margin-bottom:24px;padding:20px}.checkbox-group{margin-bottom:16px}.checkbox-group:last-of-type{margin-bottom:0}.input-group.checkbox-group label{align-items:center;color:var(--color-text);cursor:pointer;display:flex!important;font-size:var(--text-base);font-weight:var(--font-medium);gap:14px;line-height:1.45;margin-bottom:0;padding:4px 0}.input-group.checkbox-group label span{padding-left:4px}.input-group.checkbox-group input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:22px;min-width:22px;padding:0;width:22px}.input-group.checkbox-group input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.consent-group{margin-bottom:0;margin-top:20px}.consent-label{align-items:flex-start;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);gap:14px;line-height:1.5;padding:4px 0}.consent-label .consent-text{padding-left:4px}.consent-text{color:var(--color-text-muted);font-weight:400;font-weight:var(--font-regular,400)}.consent-label input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:22px;margin-top:2px;min-width:22px;padding:0;width:22px}.consent-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.register-button{align-items:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold);gap:8px;justify-content:center;margin-top:4px;padding:16px 24px;transition:background .2s,box-shadow .2s,transform .1s;width:100%}.register-button:hover:not(:disabled){background:var(--color-primary-dark)}.register-button:active:not(:disabled){box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.register-button:disabled{cursor:not-allowed;opacity:.7}.register-button-icon{flex-shrink:0;font-size:var(--text-xl)}.register-footer{text-align:center}.register-footer p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:8px}.register-footer a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none;transition:color .2s}.register-footer a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){.register-page{padding:40px 16px 32px}.register-card{padding:32px 24px}.register-header h1{font-size:var(--text-2xl)}.register-icon{font-size:48px}}@media (max-width:480px){.register-card{padding:24px 20px}.register-header h1{font-size:var(--text-xl)}}.speech-trainer{background:var(--color-bg-subtle);display:flex;flex-direction:column;font-family:var(--font-sans);height:100vh;margin:0 auto;max-width:100vw;min-height:calc(100vh - 160px);overflow:hidden;padding:20px}.trainer-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:10px 0 0}.progress-container{align-items:center;display:flex;gap:15px;margin-bottom:-4px;max-width:400px;width:100%}.progress-bar{border-radius:20px;box-shadow:inset 0 2px 4px #0000000f;flex:1 1;height:12px}.progress-fill{border-radius:20px;box-shadow:0 2px 8px #00a3004d;transition:width .4s ease}.progress-text{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-semibold);min-width:60px;text-align:center}.completion-card{box-shadow:0 10px 30px #0000000f;max-width:500px;padding:40px 30px;text-align:center}.completion-icon{font-size:60px;margin-bottom:20px}.completion-card h2{color:var(--color-primary);font-size:32px;font-weight:700;margin-bottom:10px}.completion-card p{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:30px}.diagnosis-summary{margin:20px 0;padding:20px;width:100%}.diagnosis-summary h3{font-size:var(--text-xl);margin-bottom:15px}.summary-stats{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{border-left:4px solid var(--color-primary);padding:10px}.completion-actions{gap:15px}.action-button{min-width:120px;padding:12px 28px}.task-card{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 10px 30px #0000000f;display:flex;flex-direction:column;gap:12px;max-height:95vh;max-width:98vw;overflow-x:hidden;overflow-y:auto;padding:20px 25px 25px;text-align:center}.task-image-container{margin:10px auto 0}.task-image:hover{transform:scale(1.02)}.task-prompt{color:var(--color-text);font-size:24px;font-weight:var(--font-semibold);line-height:1.3;margin-bottom:-4px}.target-word{color:var(--color-primary);font-size:28px;font-weight:700}.speak-button{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);box-shadow:0 8px 25px #00a30066;color:#fff;cursor:pointer;font-size:20px;font-weight:700;min-width:180px;padding:18px 35px;text-shadow:0 1px 2px #0003;transition:all .3s ease}.speak-button:hover{background:var(--color-primary-dark)}.speak-button:active{box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.task-buttons{flex-wrap:wrap;gap:15px}.skip-button{background:var(--color-bg-subtle);border:2px solid var(--color-border);border-radius:9999px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:20px;font-weight:var(--font-bold);min-width:180px;padding:18px 35px;transition:border-color .2s,color .2s,transform .1s}.skip-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.skip-button:active{transform:translateY(2px)}.skip-suggestion{background:#fffde7;border:2px solid var(--color-warning);border-radius:1rem;margin:10px 0;padding:15px 20px;text-align:center}.skip-suggestion p{color:#856404;font-size:var(--text-base);font-weight:var(--font-medium);line-height:1.4;margin:0}.result-container{width:100%}.success-message{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:3px solid var(--color-primary-darker);border-radius:25px;box-shadow:0 8px 25px #00a30080;filter:contrast(1.2);font-size:20px;font-weight:800;padding:18px 30px;text-shadow:0 2px 4px #0009}.retry-message{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:25px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;font-size:18px;font-weight:600;padding:15px 25px;text-shadow:0 1px 3px #0000004d}.task-details{color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic;margin-bottom:20px;text-align:center}.restart-button{background-color:var(--color-primary);border:none;border-radius:24px;box-shadow:0 2px 4px #00a3004d;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 28px;transition:background-color .3s,transform .2s}.restart-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.restart-button:active{transform:translateY(0)}.error-container,.loading-container{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1.5rem;margin:20px 0;padding:40px;text-align:center}.loading-container p{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:20px}.error-container p{color:var(--color-error);font-size:18px}.retry-button{background-color:var(--color-primary);border-radius:24px;box-shadow:0 2px 4px #00a3004d;font-size:16px;font-weight:600;transition:background-color .3s,transform .2s}.retry-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.retry-button:active{transform:translateY(0)}.back-button{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;bottom:30px;box-shadow:0 4px 12px #00000014;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:12px 20px;position:fixed;right:30px;transition:border-color .2s,color .2s;z-index:1000}.back-button:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (max-width:768px){.speech-trainer{padding:10px}.trainer-content{padding-top:15px}.task-card{gap:18px;max-height:98vh;max-width:99vw;padding:0 20px 20px}.task-image-container{margin-bottom:0;margin-top:0;max-width:min(600px,95vw)}.task-image{height:min(420px,45vh)}.task-prompt{font-size:20px}.target-word{font-size:24px}.task-buttons{gap:12px}.skip-button,.speak-button{font-size:18px;min-width:160px;padding:15px 30px}.skip-suggestion{padding:12px 16px}.skip-suggestion p{font-size:14px}.progress-container{max-width:100%}.speech-trainer{margin:0 10px;padding:20px 15px}.trainer-header h1{font-size:28px}.subtitle{font-size:14px}}@media (max-width:600px){.speech-trainer{padding:5px}.trainer-content{padding-top:10px}.task-card{gap:15px;max-height:100vh;max-width:100vw;padding:0 15px 15px}.task-image-container{margin-bottom:0;margin-top:0;max-width:min(500px,98vw)}.task-image{height:min(360px,42vh)}.back-button{bottom:20px;font-size:13px;padding:10px 16px;right:20px}.task-prompt{font-size:18px}.target-word{font-size:22px}.task-buttons{gap:10px}.skip-button,.speak-button{font-size:16px;min-width:140px;padding:12px 25px}.retry-message,.success-message{font-size:16px;padding:12px 20px}}.task-header{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:1rem;margin-bottom:1rem;padding:1rem}.task-info{display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.task-rule{color:var(--color-primary);font-weight:var(--font-bold)}.task-id,.task-place{color:var(--color-text-muted)}.task-id{font-size:var(--text-xs)}.task-translation{color:var(--color-text-muted);font-style:italic;margin-bottom:1.5rem;text-align:center}.confidence-meter,.similarity-meter{margin:1rem 0}.meter-label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:.5rem}.meter-bar{background:var(--color-border-light);border-radius:10px;height:20px;margin-bottom:.25rem;overflow:hidden;position:relative}.meter-fill{border-radius:10px;height:100%;transition:width .3s ease}.meter-value{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-bold);text-align:right}.feedback-message{border-radius:1rem;font-weight:var(--font-medium);margin:1rem 0;padding:1rem}.feedback-message.success{background:#e8f5e9;border:1px solid #00a30033;color:var(--color-primary-dark)}.feedback-message.error{background:#dc354514;border:1px solid #dc354533;color:var(--color-error)}.feedback-message.retry{background:#fffde7;border:1px solid #ffe58f;color:#856404}.task-debug-info{border-top:1px solid #e9ecef;margin-top:2rem;padding-top:1rem}.task-debug-info details{cursor:pointer}.task-debug-info summary{color:#6c757d;font-size:.9rem;padding:.5rem 0}.debug-content{background:var(--color-bg-subtle);border-radius:.75rem;font-size:var(--text-xs);line-height:1.4;margin-top:.5rem;padding:1rem}.debug-content p{margin:.25rem 0}.trainer-buttons{bottom:30px;display:flex;flex-direction:column;gap:15px;position:fixed;right:30px;z-index:1000}.trainer-button{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;box-shadow:0 4px 12px #00000014;color:var(--color-text-muted);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);gap:8px;padding:12px 20px;transition:border-color .2s,color .2s;white-space:nowrap}.trainer-button:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (max-width:600px){.trainer-buttons{bottom:20px;gap:10px;right:20px}.trainer-button{font-size:13px;padding:10px 16px}}.retry-message,.success-message{font-size:20px;font-weight:700;margin:10px 0;text-align:center}.retry-message,.success-message,.task-buttons{align-items:center;display:flex;flex-direction:column;justify-content:center}.task-buttons{gap:12px;margin-bottom:8px}.task-buttons-row{align-items:center;display:flex;flex-direction:row;gap:16px;justify-content:center;margin-bottom:8px}.task-image-container{margin:0 auto;max-width:min(400px,90vw);min-width:240px;width:100%}.task-image{height:min(300px,40vh);max-width:400px;min-width:240px;object-fit:cover;transition:transform .3s ease;width:100%}@media (max-width:600px){.task-buttons-row{flex-direction:column;gap:10px}.task-image,.task-image-container{max-width:98vw}.task-image{height:min(180px,32vw);min-width:120px}}.task-controls-container{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:-4px;width:100%}.skip-warning{background:#fffde7;border:1.5px solid #ffe58f;border-radius:1rem;box-shadow:0 2px 8px #f39c1212;color:#856404;font-size:15px;margin:8px auto 0;max-width:350px;padding:8px 14px;text-align:center}.attempts-info{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);margin:8px 0;text-align:center}@media (max-width:600px){.task-controls-container{flex-direction:column;gap:12px}.skip-warning{font-size:13px;max-width:98vw;padding:7px 8px}}.server-speech-recognition{align-items:center;display:flex;flex-direction:column;gap:15px;margin:0}.recording-controls{display:flex;justify-content:center}.record-button{border:none;border-radius:50px;cursor:pointer;font-size:18px;font-weight:700;min-width:220px;padding:15px 30px;text-shadow:0 1px 2px #0003;transition:all .3s ease}.record-button.start{background:var(--color-primary);border:none;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff}.record-button.start:hover{background:var(--color-primary-dark)}.record-button.start:active{box-shadow:none;transform:translateY(6px)}.record-button.stop{animation:pulse 1.5s infinite;background:var(--color-error);border:none;box-shadow:0 6px 0 #b02a37;box-shadow:0 6px 0 var(--color-error-dark,#b02a37);color:#fff}.record-button.stop:hover{background:#b02a37;background:var(--color-error-dark,#b02a37)}.recording-indicator{align-items:center;color:var(--color-error);display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center}.recording-dot{animation:pulse 1.5s ease-in-out infinite;background-color:var(--color-error);border-radius:50%;height:12px;width:12px}.processing-indicator{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--font-semibold);text-align:center}.server-speech-recognition .error{color:var(--color-error);font-size:14px;margin:10px 0}.user-cabinet{background:linear-gradient(180deg,var(--color-bg-subtle) 0,var(--color-bg) 100%);font-family:var(--font-sans);margin:0 auto;max-width:1280px;min-height:100vh;padding:32px 24px}.user-cabinet--dashboard{background:var(--color-bg)}.cabinet-nav{border-bottom:1px solid var(--color-border-light);display:flex;gap:0;margin:0 -24px 24px;padding:0 24px}.cabinet-nav-item{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:500;margin:0 8px 0 0;padding:16px 8px;transition:color .2s,border-color .2s}.cabinet-nav-item:hover{color:var(--color-text)}.cabinet-nav-item--active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.cabinet-welcome{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.cabinet-welcome-title{color:var(--color-text);font-size:1.5rem;font-weight:800;letter-spacing:-.025em;margin:0 0 4px}.cabinet-welcome-desc{color:var(--color-text-muted);font-size:.9375rem;margin:0}.cabinet-welcome-logoped{color:var(--color-text-muted);font-size:.875rem;margin:4px 0 0}.cabinet-self-study{margin-bottom:24px}.cabinet-cta{align-items:center;background:var(--color-primary)!important;border:none;border-radius:9999px;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff!important;cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-bold);gap:8px;padding:10px 24px;transition:background .2s,box-shadow .2s,transform .1s}.cabinet-cta:hover{background:var(--color-primary-dark)!important}.cabinet-cta:active{box-shadow:0 0 0 var(--color-primary-dark)!important;transform:translateY(4px)}.cabinet-cta-icon{height:20px;width:20px}.cabinet-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.cabinet-stat-card{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 12px #0000000a;display:flex;gap:16px;padding:24px}.cabinet-stat-icon{align-items:center;border-radius:1rem;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cabinet-stat-icon svg{height:24px;width:24px}.cabinet-stat-icon--blue{background:#00a3001a;color:var(--color-primary)}.cabinet-stat-icon--green{background:#00a30029;color:var(--color-primary-dark)}.cabinet-stat-icon--orange{background:#ffc10726;color:#c47a00}.cabinet-stat-label{color:var(--color-text-muted);font-size:14px;font-weight:500;margin:0 0 4px}.cabinet-stat-value{color:var(--color-text);font-size:1.5rem;font-weight:800;letter-spacing:-.025em;margin:0}.cabinet-stat-sub{color:var(--color-text-muted);font-size:14px;font-weight:400;margin-left:4px}.cabinet-homework-card--after-stats{margin-bottom:32px}.cabinet-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:32px;margin-top:24px}.cabinet-side{display:flex;flex-direction:row;gap:24px}.cabinet-side .cabinet-diagnostic-card{flex:1 1}@media (max-width:640px){.cabinet-side{flex-direction:column}}.cabinet-homework-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 12px #0000000a;overflow:hidden}.cabinet-homework-head{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;padding:20px 24px}.cabinet-homework-title{color:var(--color-text);flex:1 1;font-size:1.125rem;font-weight:700;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cabinet-homework-badge{background:#00a3001f;border-radius:9999px;color:var(--color-primary-dark);flex-shrink:0;font-size:12px;font-weight:700;padding:4px 10px;white-space:nowrap}.cabinet-homework-list{padding:0}.cabinet-hw-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:24px;transition:background .15s}.cabinet-hw-row:hover{background:var(--color-bg-subtle)}.cabinet-hw-row:last-child{border-bottom:none}.cabinet-hw-content{align-items:flex-start;display:flex;flex:1 1;gap:16px;min-width:0}.cabinet-hw-avatar{align-items:center;background:#00a3001f;border-radius:50%;color:var(--color-primary-dark);display:flex;flex-shrink:0;font-size:1.125rem;font-weight:700;height:40px;justify-content:center;width:40px}.cabinet-hw-name{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cabinet-hw-meta{color:var(--color-text-muted);font-size:14px;margin:0 0 8px}.cabinet-hw-progress-wrap{align-items:center;display:flex;gap:8px}.cabinet-hw-progress-bg{background:var(--color-border-light);border-radius:9999px;display:flex;flex-direction:row;height:6px;overflow:hidden;width:128px}.cabinet-hw-progress-fill{flex-shrink:0;height:100%;transition:width .3s}.cabinet-hw-progress-fill--ok{background:linear-gradient(90deg,#16a34a,#22c55e)}.cabinet-hw-progress-fill--bad{background:linear-gradient(90deg,#dc2626,#f87171)}.cabinet-hw-progress-fill--pending{background:var(--color-border-light)}.cabinet-hw-percent{color:var(--color-text-muted);font-size:12px;font-weight:500}.cabinet-hw-btn{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-medium);padding:8px 20px;transition:border-color .2s,color .2s}.cabinet-hw-btn:hover{background:var(--color-bg-subtle)}.cabinet-hw-row:hover .cabinet-hw-btn{background:#00a3001a;color:var(--color-primary-dark)}.cabinet-muted{color:var(--color-text-muted);font-size:14px;margin:0;padding:24px}.cabinet-activity-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 12px #0000000a;padding:24px}.cabinet-activity-title{color:var(--color-text);font-size:1.125rem;font-weight:700;margin:0 0 16px}.cabinet-diagnostic-card{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:1.5rem;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:transform .2s,box-shadow .2s}.cabinet-diagnostic-card:hover{box-shadow:0 4px 12px #00a30059;transform:translateY(-2px)}.cabinet-diagnostic-title{font-size:1.125rem;font-weight:700;margin:0 0 8px;position:relative;z-index:1}.cabinet-diagnostic-desc{color:#ffffffd9;font-size:14px;margin:0 0 16px;position:relative;z-index:1}.cabinet-diagnostic-btn{background:var(--color-bg);border:none;border-radius:9999px;color:var(--color-primary-dark);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);padding:10px 20px;position:relative;transition:background .2s;width:100%;z-index:1}.cabinet-diagnostic-btn:hover{background:var(--color-bg-subtle)}.loading-container{gap:24px;min-height:400px}.loading-spinner{animation:spin 1s cubic-bezier(.4,0,.2,1) infinite;border-top:5px solid var(--color-bg-subtle);border:5px solid var(--color-bg-subtle);border-right:5px solid var(--color-primary-light);box-shadow:0 4px 16px #00a30033;height:56px;width:56px}.loading-container p{animation:pulse 2s ease-in-out infinite;color:var(--color-primary-dark);font-size:var(--text-xl);font-weight:var(--font-semibold)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.homework-section{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #00a30026;border-radius:16px;margin-bottom:32px;padding:24px}.homework-section h2{color:var(--color-primary-dark);font-size:var(--text-2xl);margin:0 0 16px}.homework-list{list-style:none;margin:0;padding:0}.homework-item{align-items:center;border-bottom:1px solid #00a30033;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.homework-item:last-child{border-bottom:none}.homework-desc{flex:1 1;font-size:var(--text-base)}.homework-item .btn,.homework-item-actions{flex-shrink:0}.homework-btn-execute{background:var(--color-primary)!important;border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff!important;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);padding:12px 28px;transition:background .2s,box-shadow .2s,transform .1s}.homework-btn-execute:hover{background:var(--color-primary-dark)!important}.homework-btn-execute:active{box-shadow:none!important;transform:translateY(5px)}.homework-item--done .homework-desc{align-items:center;display:flex;gap:10px}.homework-status-badge{background:#ffffffe6;border:1px solid #00a3004d;border-radius:20px;color:var(--color-primary-darker);display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.unknown-sounds-section{background:linear-gradient(135deg,#fff5f5,#ffe9e9);border:1px solid #dc35451a;border-radius:20px;box-shadow:0 10px 40px #dc35451f;margin-bottom:32px;overflow:hidden;padding:32px 36px;position:relative}.unknown-sounds-section:before{background:radial-gradient(circle,#dc354514 0,#0000 70%);border-radius:50%;content:"";height:200px;position:absolute;right:-10%;top:-50%;width:200px}.unknown-sounds-section h2{align-items:center;color:var(--color-error);display:flex;font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-extrabold);gap:12px;letter-spacing:-.5px;margin:0 0 12px}.unknown-sounds-hint{color:var(--color-error-dark);font-size:var(--text-md);font-weight:var(--font-medium);line-height:1.6;margin:0 0 20px;position:relative}.unknown-sounds-list{display:flex;flex-wrap:wrap;gap:16px}.unknown-sound-item{align-items:center;background:var(--color-bg);border:2px solid #dc354533;border-radius:12px;box-shadow:0 2px 8px #dc35451a;display:flex;gap:10px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.unknown-sound-item:before{background:linear-gradient(180deg,var(--color-error) 0,var(--color-error-dark) 100%);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.unknown-sound-item:hover{border-color:#dc354566;box-shadow:0 8px 24px #dc354540;transform:translateY(-4px)}.unknown-sound-icon{align-items:center;display:flex;font-size:18px;line-height:1}.unknown-sound-icon svg{height:12px;width:12px}.unknown-sound-name{color:var(--color-error);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold)}.unknown-sound-date{color:var(--color-error-dark);font-size:var(--text-sm);font-weight:var(--font-medium);margin-left:8px;opacity:.7}.activity-section{background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg-subtle) 100%);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 10px 40px #00000014;margin-bottom:32px;padding:32px 36px;transition:transform .3s ease,box-shadow .3s ease}.activity-section:hover{box-shadow:0 16px 56px #0000001f;transform:translateY(-4px)}.activity-section h2{color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.5px;margin:0 0 16px}.activity-hint{color:var(--color-text-muted);font-size:var(--text-base);margin:0 0 16px}.progress-overview{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:1px solid #00a30033;border-radius:20px;box-shadow:0 10px 40px #00a30026;color:var(--color-primary-darker);margin-bottom:32px;overflow:hidden;padding:36px 40px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.progress-overview:hover{box-shadow:0 16px 56px #00a30038;transform:translateY(-4px)}.progress-overview:before{background:radial-gradient(circle,#00a3001a 0,#0000 70%);border-radius:50%;content:"";height:250px;left:-10%;position:absolute;top:-50%;width:250px}.progress-overview h2{color:var(--color-primary-darker);font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.5px;margin:0 0 24px;position:relative}.leaderboard-section{background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg-subtle) 100%);border:1px solid var(--color-border);border-radius:20px;box-shadow:0 10px 40px #00000014;margin-bottom:32px;padding:36px 40px;transition:transform .3s ease,box-shadow .3s ease}.leaderboard-section:hover{box-shadow:0 16px 56px #0000001f;transform:translateY(-4px)}.leaderboard-section h2{color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.5px;margin:0 0 28px}.leaderboard{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 2px 8px #0000000a;overflow:hidden}.leaderboard-header{background:linear-gradient(135deg,var(--color-bg-subtle) 0,var(--color-border) 100%);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:1px;text-transform:uppercase;white-space:normal;word-break:break-word}.leaderboard-entry,.leaderboard-header{grid-gap:20px;display:grid;gap:20px;grid-template-columns:100px 1fr 150px;padding:18px 24px}.leaderboard-entry{background:var(--color-bg);border-bottom:1px solid var(--color-border-light);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.leaderboard-entry:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;transition:background .3s ease;width:4px}.leaderboard-entry:hover{background:var(--color-bg-subtle);transform:translateX(8px)}.leaderboard-entry:hover:before{background:linear-gradient(180deg,var(--color-primary) 0,var(--color-primary-light) 100%)}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-entry.current-user{background:linear-gradient(135deg,#00a30014,#00c8510d);font-weight:var(--font-semibold)}.leaderboard-entry.current-user:before{background:linear-gradient(180deg,var(--color-primary) 0,var(--color-primary-light) 100%)}.leaderboard-entry.current-user:hover{background:linear-gradient(135deg,#00a3001f,#00c85114)}.rank{font-size:var(--text-2xl);font-weight:var(--font-extrabold)}.rank,.username{align-items:center;color:var(--color-text);display:flex;font-family:var(--font-sans)}.username{font-size:var(--text-lg);font-weight:var(--font-medium)}.score{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:24px;box-shadow:0 4px 12px #00a3004d;color:#fff;display:flex;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-bold);justify-content:center;padding:8px 20px;transition:all .3s ease}.leaderboard-entry:hover .score{box-shadow:0 6px 16px #00a30066;transform:scale(1.05)}.no-data{background:linear-gradient(135deg,var(--color-bg-subtle) 0,var(--color-bg-muted) 100%);border-radius:16px;color:var(--color-text-muted);font-family:var(--font-sans);padding:60px 40px;text-align:center}.no-data p{color:var(--color-text-secondary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0 0 12px}.no-data-hint{color:var(--color-text-muted);font-size:var(--text-md);line-height:1.6;margin-top:8px}.no-progress{background:#fffc;border-radius:16px;box-shadow:0 2px 12px #00a3001a;font-family:var(--font-sans);padding:40px 32px;text-align:center}.no-progress,.no-progress p{color:var(--color-primary-darker)}.no-progress p{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 12px;position:relative}.no-progress-hint{color:var(--color-primary-dark);font-size:var(--text-lg);font-weight:var(--font-medium);line-height:1.6;margin-top:12px}.rules-analytics{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border-radius:16px;box-shadow:0 4px 16px #00a30014;padding:24px 28px 16px;position:relative}.rules-analytics-list{display:flex;flex-direction:column;gap:20px}.rule-analytics-item{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;display:flex;gap:20px;padding:12px 16px;transition:border-color .2s}.rule-analytics-item:hover{box-shadow:0 4px 16px #00000014;transform:translateX(4px)}.rule-analytics-name{color:var(--color-primary-darker);font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-semibold);min-width:100px}.rule-analytics-bar-bg{background:#e8f5e9;border-radius:8px;box-shadow:inset 0 2px 4px #0000000f;flex:1 1;height:14px;overflow:hidden;position:relative}.rule-analytics-bar-fill{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:8px;box-shadow:0 2px 8px #00a30066;height:100%;position:relative;transition:width .8s cubic-bezier(.4,0,.2,1)}.rule-analytics-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.rule-analytics-percent{color:var(--color-primary-darker);font-size:var(--text-lg);min-width:42px;text-align:right}.rule-analytics-percent,.rules-analytics-btn{font-family:var(--font-sans);font-weight:var(--font-bold)}.rules-analytics-btn{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-size:var(--text-base);margin-bottom:0;padding:12px 32px;transition:background .2s,box-shadow .2s,transform .1s}.rules-analytics-btn:hover{background:var(--color-primary-dark)}.rules-analytics-btn:active{box-shadow:none;transform:translateY(5px)}@media (max-width:768px){.user-cabinet{padding:15px}.leaderboard-section,.progress-overview,.unknown-sounds-section{padding:20px}.unknown-sounds-section h2{font-size:20px}.unknown-sounds-list{gap:10px}.unknown-sound-item{padding:8px 12px}.unknown-sound-name{font-size:14px}.progress-stats{gap:15px;grid-template-columns:1fr}.stat{padding:15px}.stat-number{font-size:2em}.leaderboard-entry,.leaderboard-header{font-size:14px;gap:10px;grid-template-columns:60px 1fr 80px;padding:12px 15px}.rank{font-size:16px}.score{font-size:12px;padding:3px 8px}}@media (max-width:480px){.leaderboard-entry,.leaderboard-header{gap:8px;grid-template-columns:50px 1fr 60px;padding:10px 12px}.username{font-size:13px}.score{font-size:11px;padding:2px 6px}}@media (max-width:1000px){.leaderboard-header{font-size:13px;grid-template-columns:80px 1fr 100px}}.activity-chart{margin:0;width:100%}.activity-chart-desc{color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--font-medium);line-height:1.6;margin-bottom:16px}.activity-chart-legend{background:var(--color-bg-subtle);border-radius:12px;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--text-base);gap:24px;margin-bottom:20px;padding:12px 16px}.activity-chart-legend-item{align-items:center;display:inline-flex;font-weight:var(--font-medium);gap:10px}.activity-chart-legend-swatch{border-radius:6px;box-shadow:0 2px 6px #00000026;flex-shrink:0;height:18px;width:18px}.activity-chart-legend-swatch.correct{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%)}.activity-chart-legend-swatch.failed{background:linear-gradient(135deg,var(--color-error) 0,#ef5350 100%)}.activity-chart-legend-swatch.skipped{background:linear-gradient(135deg,var(--color-skipped) 0,#bdbdbd 100%)}.activity-chart-area{align-items:stretch;display:flex;gap:8px;min-height:240px}.activity-chart-y-labels{color:var(--color-text-muted);display:flex;flex-direction:column;flex-shrink:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:space-between;min-height:224px;padding:0 8px 28px 0}.activity-chart-scroll{-webkit-overflow-scrolling:touch;flex:1 1;min-height:224px;min-width:0;overflow-x:auto;overflow-y:visible;padding-bottom:8px}.activity-chart-scroll::-webkit-scrollbar{height:10px}.activity-chart-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#94a3b8,#cbd5e1);border-radius:6px;-webkit-transition:background .3s;transition:background .3s}.activity-chart-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#64748b,#94a3b8)}.activity-chart-scroll::-webkit-scrollbar-track{background:var(--color-bg-muted);border-radius:6px}.activity-chart-bars{align-items:flex-end;box-sizing:border-box;display:flex;flex-shrink:0;gap:6px;min-height:224px;padding-bottom:28px}.activity-chart-bar-wrap{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;padding:0;transition:transform .2s ease}.activity-chart-bar-wrap:hover{transform:translateY(-4px)}.activity-chart-bar-wrap:focus .activity-chart-bar,.activity-chart-bar-wrap:hover .activity-chart-bar{box-shadow:0 4px 16px #00a30066}.activity-chart-bar-wrap:focus{outline:none}.activity-chart-bar{background:var(--color-border);border-radius:8px 8px 0 0;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column-reverse;min-height:4px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.activity-chart-segment{min-height:2px;position:relative;width:100%}.activity-chart-segment:after{background:linear-gradient(90deg,#0000,#fff3 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.activity-chart-segment.correct{background:linear-gradient(to top,var(--color-primary) 0,var(--color-primary-light) 100%)}.activity-chart-segment.failed{background:linear-gradient(to top,var(--color-error) 0,#ef5350 100%)}.activity-chart-segment.skipped{background:linear-gradient(to top,var(--color-skipped) 0,#bdbdbd 100%)}.activity-chart-bar-label{color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:color .2s;white-space:nowrap}.activity-chart-bar-wrap:hover .activity-chart-bar-label{color:var(--color-text)}.session-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.session-modal{background:var(--color-bg);border-radius:12px;box-shadow:0 16px 48px #0003;font-family:var(--font-sans);max-height:80vh;max-width:480px;overflow:hidden;width:100%}.session-modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:16px 20px}.session-modal-header h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.session-modal-close{background:var(--color-border-light);border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-2xl);height:32px;line-height:1;width:32px}.session-modal-close:hover{background:var(--color-border);color:var(--color-text)}.session-modal-body{max-height:calc(80vh - 70px);overflow-y:auto;padding:16px 20px}.session-modal-empty{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.session-modal-summary{border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;font-size:var(--text-base);gap:16px;margin-bottom:16px;padding-bottom:12px}.session-summary-correct{color:var(--color-primary-darker)}.session-summary-failed{color:var(--color-error-dark)}.session-summary-skipped{color:var(--color-skipped)}.session-log-list{list-style:none;margin:0;padding:0}.session-log-item{grid-gap:12px;align-items:center;border-bottom:1px solid var(--color-border-light);display:grid;font-size:var(--text-base);gap:12px;grid-template-columns:50px 1fr auto;padding:10px 0}.session-log-item:last-child{border-bottom:none}.session-log-time{font-feature-settings:"tnum";color:var(--color-text-muted);font-variant-numeric:tabular-nums}.session-log-word{font-weight:var(--font-medium)}.session-log-result--correct{color:var(--color-primary-darker)}.session-log-result--skipped{color:var(--color-skipped)}.session-log-result--failed,.session-log-result--incorrect{color:var(--color-error-dark)}.logoped-cabinet{background:var(--color-bg-subtle);margin:0 auto;max-width:920px;min-height:100vh;padding:36px 24px 48px}.logoped-title{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:28px}.logoped-section{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 12px #0000000a;margin-bottom:28px;padding:24px 28px}.logoped-section h2{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 8px}.section-desc{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45;margin:0 0 20px}.section-desc--qr{margin-left:auto;margin-right:auto;max-width:36rem;text-align:center}.logoped-section-qr{background:#e8f5e9;border-color:#00a30026;text-align:center}.logoped-section-qr h2{text-align:center}.qr-block{align-items:center;display:flex;flex-direction:column;gap:20px}.qr-image{background:var(--color-bg);border-radius:1rem;box-shadow:0 2px 8px #00000014;display:block;height:200px;margin:0 auto;padding:12px;width:200px}.qr-link-block{align-items:center;display:flex;flex-direction:column;gap:12px;margin:0 auto;max-width:28rem;width:100%}.qr-link-input{background:var(--color-bg);border:2px solid #00a30033;border-radius:1rem;box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);padding:12px 14px;width:100%}.qr-link-block .btn-copy-link{align-self:center}.add-client-row{align-items:center;display:flex;gap:12px;margin-bottom:10px}.add-client-row input{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-text);flex:1 1;font-family:var(--font-sans);font-size:var(--text-base);max-width:260px;padding:12px 14px}.add-client-row input:focus{background:var(--color-bg);border-color:var(--color-primary);box-shadow:0 0 0 4px #00a3001a;outline:none}.clients-list{list-style:none;margin:14px 0 0;padding:0}.clients-list li{border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:var(--text-base);padding:10px 0}.clients-list li:last-child{border-bottom:none}.clients-list li.muted{color:var(--color-text-muted);font-style:italic}.new-homework-form{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px}.new-homework-form .form-row{align-items:center;display:flex;gap:10px}.new-homework-form .form-row-full{align-items:stretch;flex-direction:column;width:100%}.new-homework-form .form-row-inline{flex-wrap:wrap}.new-homework-form .hw-actions-row{align-items:center;gap:12px}.new-homework-form .hw-count-wrap{align-items:center;display:inline-flex;gap:8px}.new-homework-form .hw-count-wrap .form-input-num{text-align:center;width:64px}.new-homework-form .hw-actions-or{color:var(--color-text-muted);font-size:var(--text-sm)}.new-homework-form .form-label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold);min-width:60px}.new-homework-form .form-input-num,.new-homework-form .form-select{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);min-width:180px;padding:10px 14px}.new-homework-form select.form-select{min-width:200px}.new-homework-form .form-input-num{min-width:70px}.new-homework-form input:focus,.new-homework-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #00a3001a;outline:none}.new-homework-form input[type=file],.new-homework-form input[type=text]{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;font-family:var(--font-sans);font-size:var(--text-sm);padding:10px 14px;width:100%}.sounds-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.sounds-grid-with-other{margin-bottom:0}.custom-section-body .custom-sound-other-input{margin-top:12px;max-width:240px}.sound-mode-switch{display:flex;gap:10px;margin-top:6px}.sound-chip{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);padding:8px 16px;transition:border-color .2s,background .2s}.sound-chip:hover{background:#00a3000a;border-color:var(--color-primary)}.sound-chip--selected{background:#e8f5e9;border-color:var(--color-primary);color:var(--color-text);font-weight:var(--font-semibold)}.sound-chip input{opacity:0;pointer-events:none;position:absolute}.new-homework-form .label{color:var(--color-text-muted);font-size:var(--text-sm)}.new-homework-form .btn-primary:disabled{cursor:not-allowed;opacity:.6}.homework-table-wrap{border:2px solid var(--color-border-light);border-radius:1rem;margin-top:12px;overflow-x:auto;overflow:hidden}.homework-table{border-collapse:collapse;width:100%}.homework-table td,.homework-table th{border-bottom:1px solid var(--color-border-light);padding:14px 16px;text-align:left}.homework-table th{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.homework-table tbody tr:hover,.homework-table th{background:var(--color-bg-subtle)}.btn-small,.homework-table td{font-size:var(--text-sm)}.btn-small{border-radius:9999px;padding:8px 18px}.error-text{color:var(--color-error);margin-top:6px}.error-text,.muted{font-size:var(--text-sm)}.muted{color:var(--color-text-muted);margin:14px 0 0}.logoped-cabinet .btn-primary{align-items:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff!important;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:var(--font-bold);gap:8px;padding:10px 24px;transition:background .2s,box-shadow .2s,transform .1s}.logoped-cabinet .btn-primary:hover:not(:disabled){background:var(--color-primary-dark);color:#fff!important}.logoped-cabinet .btn-primary:active:not(:disabled){box-shadow:none;transform:translateY(4px)}.logoped-cabinet .btn{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text)!important;cursor:pointer;font-family:var(--font-sans);font-weight:var(--font-medium);padding:10px 22px;transition:border-color .2s,color .2s}.logoped-cabinet .btn:hover{border-color:var(--color-primary);color:var(--color-primary)!important}.btn-copy-link .btn-copy-icon{display:inline-flex;flex-shrink:0}.logoped-cabinet .btn-back{background:#0000;border:2px solid var(--color-border-light);margin-bottom:16px}.logoped-cabinet .btn-back:hover{border-color:var(--color-primary);color:var(--color-primary)!important}.clients-list .client-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.clients-list .client-row--link .client-row-link{background:none;border:none;color:inherit;cursor:pointer;flex:1 1;font-size:inherit;padding:8px 0;text-align:left;text-decoration:none}.clients-list .client-row--link .client-row-link:hover{color:var(--color-primary);text-decoration:underline}.clients-list .btn-remove{border-color:#dc35454d;color:var(--color-error)!important;font-size:var(--text-xl);line-height:1;min-width:32px;padding:4px 12px}.clients-list .btn-remove:hover{background:#dc35450f;border-color:var(--color-error)}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 12px 40px #00000026;max-width:400px;padding:28px;width:90%}.modal-content h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 18px}.modal-content p{color:var(--color-text-muted);font-size:var(--text-sm);margin:10px 0}.modal-content .btn{margin-top:20px}.modal-content--progress{max-width:480px}.progress-task-details{border-top:1px solid var(--color-border-light);margin-top:16px;padding-top:12px}.progress-task-details h4{color:var(--color-text);font-size:var(--text-sm);margin:0 0 10px}.progress-task-list{list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:0}.progress-task-list li{align-items:center;border-radius:.75rem;display:flex;font-size:var(--text-sm);justify-content:space-between;margin-bottom:4px;padding:8px 10px}.progress-task--ok{background:#e8f5e9;color:var(--color-text)}.progress-task--fail{background:#dc35450f;color:var(--color-text)}.progress-task-word{font-weight:var(--font-medium)}.progress-task-result{font-size:var(--text-xs);opacity:.9}.custom-section-collapsible{padding-top:0}.custom-section-trigger{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:space-between;margin:0;padding:16px 0;text-align:left;width:100%}.custom-section-trigger h2{margin:0}.custom-section-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-sm);margin-left:12px}.custom-section-body{border-top:1px solid var(--color-border-light);padding-top:8px}.custom-tasks-list{list-style:none;margin:14px 0 0;padding:0}.custom-task-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.custom-task-main{min-width:0}.custom-task-title{color:var(--color-text);font-weight:var(--font-semibold)}.custom-task-meta{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.custom-task-actions{display:flex;flex-shrink:0;gap:8px}.image-upload-box{background:#00a30005;border:2px dashed #00a30040;border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:16px;transition:border-color .2s,background .2s;width:100%}.image-upload-box--dragover{background:#00a3000f;border-color:var(--color-primary)}.image-upload-box input[type=file]{display:none}.image-upload-title{color:var(--color-text);font-weight:var(--font-semibold)}.image-upload-subtitle{color:var(--color-text-muted);font-size:var(--text-xs)}.image-upload-preview-wrap{display:inline-block;position:relative}.image-upload-preview{border:2px solid var(--color-border-light);border-radius:1rem;height:140px;overflow:hidden;width:180px}.image-upload-preview img{height:100%;object-fit:cover;width:100%}.image-upload-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:var(--text-xl);height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:6px;top:6px;width:28px}.image-upload-remove:hover{background:#000c}.assigned-custom-list{display:flex;flex-wrap:wrap;gap:8px}.assigned-custom-chip{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);gap:6px;padding:6px 14px}.assigned-custom-chip input{margin:0}.assigned-custom-chip--selected{background:#e8f5e9;border-color:var(--color-primary)}.loading-container{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;justify-content:center;min-height:280px}.loading-container p{margin-top:12px}.logoped-confirm-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.logoped-confirm-modal{background:var(--color-bg);border-radius:1.25rem;box-shadow:0 8px 32px #0000002e;max-width:420px;padding:32px;width:90%}.logoped-confirm-title{color:var(--color-text);font-size:1.25rem;font-weight:700;margin:0 0 12px}.logoped-confirm-desc{color:var(--color-text-muted);font-size:.9375rem;line-height:1.6;margin:0 0 24px}.logoped-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.btn-danger{background:#e53935!important;border-color:#e53935!important;color:#fff!important}.btn-danger:hover{background:#c62828!important;border-color:#c62828!important;color:#fff!important;transform:none!important}.logoped-assign-wrap{margin-bottom:32px;margin-top:8px}.logoped-assign-hw-btn{background:linear-gradient(145deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border:none;border-radius:1.5rem;box-shadow:0 6px 0 var(--color-primary-dark),0 12px 32px #00642840;color:#fff!important;cursor:pointer;display:block;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-extrabold);padding:20px 28px;transition:transform .15s,box-shadow .2s;width:100%}.logoped-assign-hw-btn:hover{box-shadow:0 8px 0 var(--color-primary-dark),0 16px 36px #00642847;transform:translateY(-2px)}.logoped-assign-hw-btn:active{box-shadow:0 2px 0 var(--color-primary-dark);transform:translateY(4px)}.homework-new-page{background:var(--color-bg-subtle);margin:0 auto;max-width:1000px;min-height:100vh;padding:24px 20px 160px}.homework-new-header{margin-bottom:20px}.homework-new-back{background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);margin-bottom:12px;padding:0}.homework-new-back:hover{color:var(--color-primary);text-decoration:underline}.homework-new-header h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin:0 0 8px}.homework-new-desc{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.error-msg,.loading-msg{font-size:var(--text-base);margin:16px 0}.error-msg{color:var(--color-error)}.homework-new-actions{align-items:stretch;display:flex;flex-direction:column;gap:14px;margin-bottom:16px}@media (min-width:720px){.homework-new-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.homework-new-actions>.homework-new-select-all{align-self:center;flex-shrink:0}.homework-new-pick-block{flex:1 1 320px;max-width:520px}}.homework-new-pick-block{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;box-sizing:border-box;padding:14px 16px;width:100%}.homework-new-pick-head{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.homework-new-pick-title{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.homework-new-pick-value{font-feature-settings:"tnum";color:var(--color-primary-dark);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-bold)}.homework-new-pick-slider-row{padding:6px 0 14px}.homework-new-pick-range{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer;display:block;height:44px;margin:0;width:100%}.homework-new-pick-range:focus{outline:none}.homework-new-pick-range:focus-visible{border-radius:4px;outline:2px solid var(--color-primary);outline-offset:4px}.homework-new-pick-range::-webkit-slider-runnable-track{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:9999px;height:8px}.homework-new-pick-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border:3px solid var(--color-bg);border-radius:50%;box-shadow:0 2px 8px #00000026;height:28px;margin-top:-11px;width:28px}.homework-new-pick-range::-moz-range-track{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:9999px;height:8px}.homework-new-pick-range::-moz-range-thumb{background:var(--color-primary);border:3px solid var(--color-bg);border-radius:50%;box-shadow:0 2px 8px #00000026;height:28px;width:28px}.homework-new-pick-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.homework-new-preset-chip{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);min-height:44px;min-width:44px;padding:0 14px;transition:border-color .15s,background .15s}.homework-new-preset-chip:hover{border-color:var(--color-primary)}.homework-new-preset-chip--active{background:#e8f5e9;border-color:var(--color-primary);color:var(--color-primary-dark)}.homework-new-pick-random-btn{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);min-height:48px;padding:12px 18px;transition:background .2s,transform .1s;width:100%}.homework-new-pick-random-btn:hover{background:var(--color-primary-dark)}.homework-new-pick-random-btn:active{box-shadow:0 1px 0 var(--color-primary-dark);transform:translateY(3px)}.homework-new-select-all{align-items:center;background:var(--color-bg);border:2px solid var(--color-primary);border-radius:9999px;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);padding:10px 20px;transition:background .2s,color .2s}.homework-new-select-all:hover{background:#00a30014}.homework-new-gallery{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:24px}.homework-new-card{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.25rem;cursor:pointer;display:flex;flex-direction:column;padding:12px;transition:border-color .2s,background .2s}.homework-new-card:hover{background:#00a30008;border-color:var(--color-primary)}.homework-new-card--selected{background:#e8f5e9;border-color:var(--color-primary);box-shadow:0 0 0 3px #00a30026}.homework-new-card input{opacity:0;pointer-events:none;position:absolute}.homework-new-card-img{aspect-ratio:1;background:var(--color-bg-subtle);border-radius:.75rem;margin-bottom:8px;overflow:hidden;width:100%}.homework-new-card-img img{height:100%;object-fit:cover;width:100%}.homework-new-card-img .card-placeholder{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);height:100%;justify-content:center;padding:8px;text-align:center;width:100%}.homework-new-card-word{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center;word-break:break-word}.homework-new-card-badge{background:#e8f5e9;border-radius:9999px;color:var(--color-primary-dark);font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:6px;padding:2px 10px}.homework-new-footer{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#f8f9faf5;border:2px solid var(--color-border-light);border-radius:1rem;bottom:max(10px,env(safe-area-inset-bottom));box-shadow:0 8px 30px #0000001a;display:flex;flex-direction:column;gap:8px;left:50%;margin-top:0;max-width:960px;padding:12px 14px;position:fixed;transform:translateX(-50%);width:calc(100% - 20px);z-index:40}.homework-new-footer-count{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium)}.homework-new-submit{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);max-width:460px;padding:12px 24px;transition:background .2s,box-shadow .2s,transform .1s;width:100%}.homework-new-submit:hover:not(:disabled){background:var(--color-primary-dark)}.homework-new-submit:active:not(:disabled){box-shadow:none;transform:translateY(5px)}.homework-new-submit:disabled{cursor:not-allowed;opacity:.6}.homework-new-page .muted{color:var(--color-text-muted);font-style:italic}.homework-new-subtitle{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 12px}.homework-new-sound-block{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.25rem;margin-bottom:28px;padding:20px 22px}.homework-new-sounds-grid{display:flex;flex-wrap:wrap;gap:10px}.homework-new-sounds-grid--compact{margin-top:8px}.homework-new-sound-chip{align-items:center;background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:center;padding:10px 18px;transition:border-color .2s,background .2s}.homework-new-sound-chip:hover{background:#00a3000f;border-color:var(--color-primary)}.homework-new-sound-chip--extra{border-style:dashed}.homework-new-sound-chip--label{position:relative}.homework-new-sound-chip--label input{opacity:0;pointer-events:none;position:absolute}.homework-new-sound-chip--selected{background:#e8f5e9;border-color:var(--color-primary);font-weight:var(--font-semibold)}.homework-new-add-toggle{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-text);cursor:pointer;display:block;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:16px;padding:12px 16px;text-align:left;width:100%}.homework-new-add-toggle:hover{border-color:var(--color-primary)}.homework-new-custom-form{background:#00a30008;border:2px dashed #00a30059;border-radius:1.25rem;margin-bottom:24px;padding:20px}.homework-new-form-row{margin-bottom:14px}.homework-new-form-row input[type=text]{border:2px solid var(--color-border-light);border-radius:1rem;box-sizing:border-box;font-family:var(--font-sans);font-size:var(--text-sm);padding:10px 14px;width:100%}.homework-new-other-input{margin-top:12px;max-width:280px}.homework-new-dropzone{background:var(--color-bg);border:2px dashed #00a3004d;border-radius:1rem;cursor:pointer;display:block;padding:14px;text-align:center}.homework-new-dropzone--active{background:#00a3000f;border-color:var(--color-primary)}.homework-new-dropzone input[type=file]{display:none}.homework-new-dropzone-title{color:var(--color-text-muted);font-size:var(--text-sm)}.homework-new-preview-wrap{display:inline-block;margin-top:10px;position:relative}.homework-new-preview{border:2px solid var(--color-border-light);border-radius:.75rem;height:120px;overflow:hidden;width:160px}.homework-new-preview img{height:100%;object-fit:cover;width:100%}.homework-new-preview-remove{background:#0000008c;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.25rem;height:28px;line-height:1;position:absolute;right:6px;top:6px;width:28px}.homework-new-form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.homework-new-submit--inline{box-shadow:0 4px 0 var(--color-primary-dark);max-width:none;width:auto}.homework-new-card-wrap{display:flex;flex-direction:column;gap:6px}.homework-new-card-tools{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.homework-new-card-tool{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);padding:4px 10px}.homework-new-card-tool:hover{border-color:var(--color-primary)}.homework-new-card-tool--danger{border-color:#dc354559;color:var(--color-error)}.home-page{background:var(--color-bg-subtle);display:flex;flex:1 1;flex-direction:column;font-family:var(--font-sans);min-height:100%;overflow-x:hidden}.home-hero{overflow:hidden;padding:4rem 1.5rem 6rem;position:relative}.home-hero-bg{animation:home-pulse 3s ease-in-out infinite;border-radius:50%;filter:blur(40px);mix-blend-mode:multiply;opacity:.7;position:absolute}.home-hero-bg-1{background:#e8f5e9;height:16rem;left:2.5rem;top:2.5rem;width:16rem}.home-hero-bg-2{animation-delay:1s;background:#f1f8e9;height:18rem;right:2.5rem;top:5rem;width:18rem}.home-hero-bg-3{animation-delay:2s;background:#e8f5e9;bottom:-2.5rem;height:20rem;left:33%;width:20rem}@keyframes home-pulse{0%,to{opacity:.7}50%{opacity:.5}}.home-hero-inner{margin:0 auto;max-width:72rem;position:relative;text-align:center;z-index:10}.home-badge{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;box-shadow:0 1px 3px #00000014;color:var(--color-primary);display:inline-flex;font-size:var(--text-base);font-weight:var(--font-bold);gap:.5rem;margin-bottom:2rem;padding:.5rem 1.25rem;transform:rotate(1deg)}.home-badge:hover{transform:rotate(0)}.home-badge-icon{flex-shrink:0;height:1.25rem;width:1.25rem}.home-title{color:var(--color-text);font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--font-extrabold);letter-spacing:-.025em;line-height:1.1;margin-bottom:2rem}.home-br{display:none}@media (min-width:768px){.home-br{display:block}}.home-title-accent{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);-webkit-background-clip:text;background-clip:text}.home-subtitle{color:var(--color-text-muted);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:var(--font-medium);line-height:1.5;margin:0 auto 2.5rem;max-width:42rem}.home-cta{align-items:center;display:flex;flex-direction:column;gap:1.25rem;justify-content:center}@media (min-width:640px){.home-cta{flex-direction:row}}.home-btn{align-items:center;border-radius:9999px;display:inline-flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:.75rem;justify-content:center;max-width:320px;padding:1.25rem 2.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;width:100%}@media (min-width:640px){.home-btn{max-width:none;width:auto}}.home-btn-primary{background:var(--color-primary);box-shadow:0 6px 0 var(--color-primary-dark);color:#fff}.home-btn-primary:hover{background:var(--color-primary-dark);color:#fff}.home-btn-primary:active{box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.home-btn-secondary{background:var(--color-bg);border:4px solid var(--color-border-light);box-shadow:0 1px 3px #0000000f;color:var(--color-text)}.home-btn-secondary:hover{border-color:var(--color-border)}.home-btn-icon{flex-shrink:0;height:1.5rem;width:1.5rem}.home-btn-primary .home-btn-icon{color:#fff;transition:transform .2s}.home-btn-primary:hover .home-btn-icon{color:#fff;transform:scale(1.1)}.home-banner-wrap{margin:-2rem auto 5rem;max-width:64rem;padding:0 1.5rem;position:relative;z-index:20}.home-banner{align-items:center;background:#e8f5e9;border:2px solid #00a30026;border-radius:2rem;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;justify-content:space-between;padding:2rem}@media (min-width:768px){.home-banner{flex-direction:row}}.home-banner-text{margin-bottom:1.5rem;text-align:center}@media (min-width:768px){.home-banner-text{margin-bottom:0;text-align:left}}.home-banner-label{color:var(--color-primary);display:block;font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.home-banner-title{color:var(--color-text);font-size:clamp(1.5rem,2.5vw,1.875rem);font-weight:var(--font-extrabold);margin-bottom:1rem;max-width:28rem}.home-banner-btn{align-items:center;background:var(--color-bg);border:none;border-radius:9999px;box-shadow:0 1px 3px #00000014;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-bold);gap:.5rem;padding:.5rem 1.5rem}.home-banner-btn:hover{background:var(--color-bg-subtle)}.home-banner-avatar{align-items:center;background:var(--color-bg);border-radius:50%;box-shadow:inset 0 2px 8px #0000000f;display:flex;height:10rem;justify-content:center;position:relative;width:10rem}.home-banner-avatar-icon{color:var(--color-primary);height:4rem;position:relative;width:4rem;z-index:1}.home-banner-btn-icon{height:1rem;width:1rem}.home-features{background:var(--color-bg);border-radius:3rem 3rem 0 0;box-shadow:0 -10px 40px #00000008;margin-top:auto;padding:5rem 0}.home-features-inner{margin:0 auto;max-width:72rem;padding:0 1.5rem}.home-features-head{margin-bottom:4rem;text-align:center}.home-features-title{color:var(--color-text);font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-extrabold);margin-bottom:1rem}.home-features-desc{color:var(--color-text-muted);font-size:var(--text-xl);font-weight:var(--font-medium);margin:0 auto;max-width:42rem}.home-features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.home-features-grid{grid-template-columns:repeat(3,1fr)}}.home-card{align-items:center;border:4px solid #0000;border-radius:2.5rem;color:inherit;display:flex;flex-direction:column;overflow:hidden;padding:2rem;position:relative;text-align:center;text-decoration:none;transition:box-shadow .3s,border-color .3s,transform .3s}.home-card:hover{box-shadow:0 20px 40px #0000001a}.home-card-glow{border-radius:50%;height:8rem;opacity:.5;position:absolute;transition:transform .5s;width:8rem}.home-card:hover .home-card-glow{transform:scale(1.5)}.home-card-kids{background:#fffde7}.home-card-kids .home-card-glow{background:#fff9c4;right:-2.5rem;top:-2.5rem}.home-card-kids:hover{border-color:var(--color-warning)}.home-card-adults{background:#e8f5e9}@media (min-width:768px){.home-card-logoped{transform:translateY(-1rem)}}.home-card-adults .home-card-glow{background:#c8e6c9;bottom:-2.5rem;left:-2.5rem}.home-card-adults:hover{border-color:var(--color-primary)}.home-card-logoped{background:#fce4ec}.home-card-logoped .home-card-glow{background:#f8bbd9;left:-2.5rem;top:-2.5rem}.home-card-logoped:hover{border-color:var(--color-error)}.home-card-icon{align-items:center;background:var(--color-bg);border-radius:50%;box-shadow:0 1px 3px #00000014;display:flex;height:6rem;justify-content:center;margin-bottom:1.5rem;position:relative;transition:transform .3s;width:6rem;z-index:1}.home-card:hover .home-card-icon{transform:translateY(-.5rem)}.home-card-icon svg{color:var(--color-primary);height:3rem;width:3rem}.home-card-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--font-extrabold);margin-bottom:.75rem;position:relative;z-index:1}.home-card-p{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.5;margin:0;position:relative;z-index:1}.home-card-badge{background:var(--color-bg);border-radius:9999px;box-shadow:0 1px 3px #00000014;font-size:var(--text-sm);font-weight:var(--font-bold);margin-top:1.5rem;padding:.5rem 1rem;position:relative;z-index:1}.home-card-kids .home-card-badge{color:#f57f17}.home-card-adults .home-card-badge{color:var(--color-primary)}.home-card-logoped .home-card-badge{color:var(--color-error)}.home-mobile-bottom-cta{display:none}@media (max-width:768px){.home-mobile-bottom-cta{background:var(--color-bg);display:block;padding:1.25rem 1rem 2rem}.home-mobile-bottom-cta-inner{display:flex;gap:12px;margin:0 auto;max-width:420px}.home-mobile-bottom-btn{flex:1 1;justify-content:center;max-width:none}}.task-configuration{margin:0 auto;max-width:1200px;padding:20px}.task-config-wrapper{align-items:flex-start;display:flex;gap:30px}.task-config-header{margin-bottom:36px;text-align:center}.task-config-header h1{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:10px}.task-config-header p{color:var(--color-text-muted);font-size:var(--text-base)}.action-selection{padding:20px 0;text-align:center}.action-hint{color:var(--color-text-muted);font-size:var(--text-base);margin:0 0 24px}.action-buttons{display:flex;flex-direction:column;gap:14px}.continue-training-btn{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);padding:14px 28px;transition:background .2s,box-shadow .2s,transform .1s;width:100%}.continue-training-btn:hover{background:var(--color-primary-dark)}.continue-training-btn:active{box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(5px)}.start-new-training-btn{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);padding:14px 28px;transition:border-color .2s,color .2s;width:100%}.start-new-training-btn:hover{background:#00a3000a;border-color:var(--color-primary)}.task-config-content{flex:1 1;padding:36px}.task-config-content,.task-config-sidebar{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 16px #0000000f}.task-config-sidebar{padding:24px;position:-webkit-sticky;position:sticky;top:20px;width:280px}.task-config-sidebar h3{color:var(--color-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 20px}.sidebar-loading{align-items:center;display:flex;flex-direction:column;gap:10px;padding:20px}.sidebar-loading p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.sidebar-tasks-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.sidebar-task-item{align-items:center;background:var(--color-bg-subtle);border-left:3px solid var(--color-primary);border-radius:1rem;display:flex;justify-content:space-between;padding:12px 16px}.sidebar-task-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.sidebar-task-count{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.sidebar-total{align-items:center;background:var(--color-primary);border-radius:1rem;display:flex;justify-content:space-between;margin-top:14px;padding:14px 16px}.sidebar-total-label{color:#fff;font-size:var(--text-base);font-weight:var(--font-bold)}.sidebar-total-count{color:#fff;font-size:var(--text-xl);font-weight:var(--font-extrabold)}.rules-section{margin-bottom:36px}.rules-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.rule-progress-bar-bg{background:var(--color-border-light);border-radius:0 0 1rem 1rem;bottom:0;height:5px;left:0;overflow:hidden;position:absolute;right:0}.rule-progress-bar-fill{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:0 0 1rem 1rem;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.rule-checkbox{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;cursor:pointer;display:flex;gap:12px;padding:14px 18px;position:relative;transition:border-color .2s,background .2s}.rule-checkbox:hover{background:#00a30008;border-color:var(--color-primary)}.rule-checkbox input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0;height:18px;margin:0;width:18px}.rule-checkbox input[type=checkbox]:checked+.rule-name{color:var(--color-primary);font-weight:var(--font-semibold)}.rule-name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-medium)}.loading-message{align-items:center;display:flex;gap:15px;justify-content:center;margin:20px 0}.loading-spinner{border:3px solid var(--color-border-light);height:24px;width:24px}.loading-message p{color:var(--color-text-muted);font-weight:var(--font-medium);margin:0}.error-message{background:#dc354514;border-left:4px solid var(--color-error);color:var(--color-error);font-weight:var(--font-medium)}.error-message,.task-count{margin:20px 0;padding:14px 18px;text-align:center}.task-count{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);border-radius:1rem}.task-count p{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.main-actions{margin:36px 0;text-align:center}.start-training-btn{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-bold);min-width:250px;padding:18px 44px;transition:background .2s,box-shadow .2s,transform .1s}.start-training-btn:hover:not(:disabled){background:var(--color-primary-dark)}.start-training-btn:active:not(:disabled){box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.start-training-btn:disabled{background:var(--color-border);box-shadow:none;cursor:not-allowed}.secondary-actions{margin-top:24px;text-align:center}.back-btn{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-weight:var(--font-medium);padding:12px 28px;transition:border-color .2s,color .2s}.back-btn:hover{border-color:var(--color-border);color:var(--color-text)}.training-options{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);border-radius:1rem;margin:24px 0;padding:16px 20px}.filter-completed{margin-bottom:14px}.filter-completed label{color:var(--color-text);font-size:var(--text-sm)}.show-only-new{align-items:center;display:flex;justify-content:center;margin:10px 0 28px}.show-only-new label{align-items:center;color:var(--color-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:10px}.show-only-new input[type=checkbox]{accent-color:var(--color-primary);height:18px;margin:0;width:18px}.tasks-limit-selector{background:#0000;border:none;margin:0;padding:0}.tasks-limit-selector label{color:var(--color-text);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:10px}.tasks-limit-selector label strong{color:var(--color-primary);font-size:var(--text-base)}.tasks-limit-slider{-webkit-appearance:none;appearance:none;background:var(--color-border-light);border-radius:3px;height:6px;outline:none;width:100%}.tasks-limit-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border-radius:50%;box-shadow:0 2px 6px #00a3004d;cursor:pointer;height:20px;width:20px}.tasks-limit-slider::-moz-range-thumb{background:var(--color-primary);border:none;border-radius:50%;box-shadow:0 2px 6px #00a3004d;cursor:pointer;height:20px;width:20px}.rule-progress-text{display:none}.desktop-only{display:block}@media (max-width:768px){.task-configuration{padding:15px}.task-config-wrapper{flex-direction:column;gap:20px}.task-config-content{padding:20px 16px}.task-config-sidebar{position:static;width:100%}.task-config-header{margin-bottom:20px}.task-config-header h1{font-size:var(--text-2xl)}.rules-section{margin-bottom:20px}.rules-grid{gap:10px;grid-template-columns:repeat(2,1fr)}.rule-checkbox{padding:10px 12px}.action-hint,.rule-name{font-size:var(--text-sm)}.action-hint{margin-bottom:18px}.continue-training-btn,.start-new-training-btn{font-size:var(--text-sm);padding:12px 20px}.main-actions{margin:28px 0 20px}.start-training-btn{font-size:var(--text-base);min-width:auto;padding:15px 20px;width:100%}.training-options{margin:18px 0;padding:12px}.filter-completed{margin-bottom:12px}.filter-completed label,.tasks-limit-selector label{font-size:var(--text-xs)}.desktop-only{display:none}}.speech-diagnosis{font-family:var(--font-sans);margin:0 auto;max-width:800px;padding:20px}.diagnosis-header{margin-bottom:30px;text-align:center}.diagnosis-header h1{color:var(--color-primary);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:20px}.progress-info{align-items:center;display:flex;flex-direction:column;gap:10px}.progress-info span{color:var(--color-text-muted);font-size:var(--text-lg);font-weight:var(--font-medium)}.progress-bar{background:var(--color-border-light);border-radius:4px;height:8px;max-width:400px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);height:100%;transition:width .3s ease}.diagnosis-content{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 16px #0000000f;padding:30px}.diagnosis-task,.task-header{text-align:center}.task-header{margin-bottom:25px}.task-header h2{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:10px}.sound-symbol-label{color:var(--color-text-muted);font-size:var(--text-lg);font-weight:var(--font-medium)}.sound-symbol{color:var(--color-primary);font-size:4rem;font-weight:var(--font-extrabold);letter-spacing:2px;text-transform:uppercase}.sound-position{color:var(--color-text-muted);font-size:var(--text-lg);font-style:italic;margin-top:10px}.task-main-content{grid-gap:30px;align-items:center;display:grid;gap:30px;grid-template-columns:1fr 2fr 1fr;margin:30px 0}.sound-symbol-display{align-items:center;background:#e8f5e9;border:2px solid #00a30033;border-radius:1.25rem;display:flex;flex-direction:column;gap:10px;padding:20px}.task-image-container{align-items:center;display:flex;justify-content:center}.task-image{background:var(--color-bg);border-radius:1.25rem;box-shadow:0 4px 12px #00000014;max-height:300px;max-width:100%;object-fit:contain;padding:10px}.task-word{align-items:center;display:flex;flex-direction:column;justify-content:center}.task-word h3{color:var(--color-text);font-size:var(--text-xl);margin-bottom:15px}.word-display{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-primary);display:block;font-size:3rem;font-weight:var(--font-extrabold);padding:20px;text-align:center;width:100%}.result-options{margin-bottom:40px}.result-options h3{color:var(--color-text);font-size:var(--text-xl);margin-bottom:20px}.options-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:600px}.result-option{background:var(--color-bg);border:2px solid #0000;border-radius:9999px;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-semibold);padding:14px 20px;transition:background .2s,color .2s,transform .1s}.result-option:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.result-option.normal{border-color:#4caf50;color:#4caf50}.result-option.normal:hover{background-color:#4caf50;color:#fff}.result-option.missing{border-color:#f44336;color:#f44336}.result-option.missing:hover{background-color:#f44336;color:#fff}.result-option.substitution{border-color:#ff9800;color:#ff9800}.result-option.substitution:hover{background-color:#ff9800;color:#fff}.result-option.distortion{border-color:#9c27b0;color:#9c27b0}.result-option.distortion:hover{background-color:#9c27b0;color:#fff}.task-navigation{margin-top:30px}.nav-button{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);padding:12px 28px;transition:border-color .2s,color .2s}.nav-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.diagnosis-completed{text-align:center}.completion-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1.5rem;box-shadow:0 4px 16px #0000000f;margin:0 auto;max-width:900px;padding:15px}.completion-header{border-bottom:2px solid #00a3001a;margin-bottom:12px;padding:0 0 10px;text-align:center}.completion-header h2{color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 5px}.completion-header p{color:var(--color-text-muted);font-size:var(--text-lg);margin:0}.diagnosis-completed h2{color:var(--color-primary);font-size:var(--text-3xl);margin-bottom:30px}.diagnosis-summary{background:var(--color-bg-subtle);border-radius:1rem;margin-bottom:12px;padding:12px;text-align:left}.diagnosis-summary h3{color:var(--color-text);font-size:var(--text-base);margin-bottom:8px;text-align:center}.summary-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-item{align-items:center;background:var(--color-bg);border-left:3px solid var(--color-primary);border-radius:.75rem;display:flex;justify-content:space-between;padding:6px 8px}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium)}.stat-value{font-size:1rem;font-weight:700}.completion-actions{background:linear-gradient(0deg,#f8f9fa,#0000);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:15px;padding:15px 12px}.action-button{border:none;border-radius:9999px;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-bold);min-width:160px;padding:10px 28px;transition:background .2s,box-shadow .2s,transform .1s}.action-button.primary{background:var(--color-primary);box-shadow:0 5px 0 var(--color-primary-dark);color:#fff}.action-button.primary:hover{background:var(--color-primary-dark)}.action-button.primary:active{box-shadow:none;transform:translateY(5px)}.action-button.secondary{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);color:var(--color-text-muted)}.action-button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.loading-container{padding:50px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{padding:50px;text-align:center}.error-container p{color:#dc3545;font-size:1.2rem;margin-bottom:20px}.retry-button{background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 5px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);padding:12px 28px;transition:background .2s,box-shadow .2s,transform .1s}.retry-button:hover{background:var(--color-primary-dark)}.retry-button:active{box-shadow:none;transform:translateY(5px)}.speech-trainer .completion-card{margin-bottom:0}.speech-trainer .trainer-content{overflow-x:hidden;overflow-y:auto;padding-bottom:20px}@media (max-width:768px){.speech-diagnosis{box-sizing:border-box;min-height:100vh;padding:15px}.speech-trainer{height:auto;min-height:calc(100vh - 160px);overflow-x:hidden;overflow-y:auto}.speech-trainer .trainer-content{padding-bottom:200px}.diagnosis-header h1{font-size:2rem}.task-main-content{gap:20px;grid-template-columns:1fr}.sound-symbol-display{padding:15px}.sound-symbol{font-size:3rem}.task-image{max-height:250px}.task-word{margin-bottom:20px}.word-display{font-size:2.5rem;padding:15px}.options-grid,.summary-stats{grid-template-columns:1fr}.completion-actions{align-items:center;flex-direction:column}.action-button{max-width:300px;width:100%}}.questionnaire-form{display:flex;flex-direction:column;gap:25px}.questionnaire-form h2{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:20px;text-align:center}.start-diagnosis-btn{align-self:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold);margin-top:10px;min-width:200px;padding:14px 36px;transition:background .2s,box-shadow .2s,transform .1s}.start-diagnosis-btn:hover:not(:disabled){background:var(--color-primary-dark)}.start-diagnosis-btn:active:not(:disabled){box-shadow:none;transform:translateY(6px)}.start-diagnosis-btn:disabled{background:var(--color-border);box-shadow:none;cursor:not-allowed;opacity:.6}.speech-development-info{text-align:center}.speech-development-info .age-info{color:#333;font-size:1.2rem;font-weight:600;margin-bottom:20px}.speech-development-info .development-info-list{list-style:none;margin:0 auto 30px;max-width:700px;padding:0;text-align:left}.speech-development-info .development-info-list li{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);border-radius:.75rem;color:var(--color-text);font-size:var(--text-base);line-height:1.6;margin-bottom:10px;padding:12px 20px}.speech-development-info .development-info-list li:before{color:#218c3a;content:"•";display:inline-block;font-weight:700;margin-right:8px;width:1em}.speech-development-info .continue-btn{margin-top:20px}.loading-message{color:#666;font-size:1rem;padding:20px;text-align:center}.questionnaire-field{display:flex;flex-direction:column;gap:10px}.questionnaire-field label{font-weight:var(--font-semibold);margin-bottom:8px}.questionnaire-field label,.questionnaire-input{color:var(--color-text);font-size:var(--text-lg)}.questionnaire-input{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;box-sizing:border-box;font-family:var(--font-sans);font-weight:var(--font-medium);padding:14px 18px;transition:border-color .2s,box-shadow .2s;width:100%}.questionnaire-input:focus,.questionnaire-input:hover{border-color:var(--color-primary)}.questionnaire-input:focus{background:var(--color-bg);box-shadow:0 0 0 4px #00a3001a;outline:none}.radio-group{display:flex;flex-direction:column;gap:12px;margin-top:5px}.radio-label{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;cursor:pointer;display:flex;gap:10px;padding:14px 16px;transition:border-color .2s,background .2s}.radio-label,.radio-label span{font-weight:400;font-weight:var(--font-regular,400)}.radio-label span{color:var(--color-text-muted)}.radio-label:hover{background:#00a30008;border-color:var(--color-primary)}.radio-label:hover span{color:var(--color-text)}.radio-label input[type=radio]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.radio-label input[type=radio]:checked+span,.radio-label input[type=radio]:checked~span{color:var(--color-primary);font-weight:var(--font-medium)}.radio-label:has(input[type=radio]:checked){background:#00a3000a;border-color:var(--color-primary)}.radio-label:has(input[type=radio]:checked) span{color:var(--color-primary);font-weight:var(--font-medium)}.questionnaire-info{background:#e8f5e9;border-left:4px solid var(--color-primary);border-radius:1rem;margin-top:5px;padding:15px}.questionnaire-info p{color:var(--color-primary-dark);font-size:var(--text-base);line-height:1.5;margin:0}.development-info-page{text-align:center}.development-info-page h2{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--font-extrabold);margin-bottom:30px}.development-info-list{list-style:none;margin:0 auto 40px;max-width:700px;padding:0;text-align:left}.development-info-list li{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);border-radius:.75rem;color:var(--color-text);font-size:var(--text-base);line-height:1.6;margin-bottom:10px;padding:12px 20px}.development-info-list li:before{color:var(--color-primary);content:"•";display:inline-block;font-weight:var(--font-bold);margin-right:8px;width:1em}.development-info-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.sound-buttons-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin-top:10px}.sound-button{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:9999px;color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);padding:12px 16px;text-transform:uppercase;transition:border-color .2s,background .2s,color .2s}.sound-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.sound-button.selected{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 4px 0 var(--color-primary-dark);color:#fff}.sound-button.selected:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.selected-sounds-info{color:#666;font-size:.9rem;font-style:italic;margin-top:10px}.loading-sounds{color:#666;font-size:1rem;padding:20px;text-align:center}.error-sounds{background:#dc35450f;border-left:4px solid var(--color-error);border-radius:1rem;color:var(--color-error);font-size:var(--text-sm);padding:15px}.questionnaire-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:20px}.diagnosis-results-container{display:flex;flex-direction:column;gap:12px;margin:10px 0}.diagnosis-sounds-section{background:var(--color-bg-subtle);border-radius:1rem;padding:12px}.diagnosis-sounds-section.problematic{background:#fff3e0;border:2px solid #ff9800}.diagnosis-sounds-section.normal{background:#e8f5e9;border:2px solid #4caf50}.diagnosis-sounds-section h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 10px;text-align:center}.sounds-list{display:flex;flex-direction:column;gap:6px}.sound-result-item{background:var(--color-bg);border-left:3px solid var(--color-border);border-radius:.75rem;padding:8px 10px;transition:all .2s ease}.sound-result-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.sound-result-item.problematic{background:#fff5f5;border-left-color:#f44336}.sound-result-item.normal{background:#f1f8f4;border-left-color:#4caf50}.sound-result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.sound-result-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold);text-transform:capitalize}.sound-result-status{align-items:center;display:flex;font-size:1rem;justify-content:center}.sound-result-status svg{height:16px;width:16px}.sound-result-stats{align-items:center;display:flex;gap:8px}.sound-result-bar{background:var(--color-border-light);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.sound-result-bar-fill{border-radius:4px;height:100%;transition:width .5s ease}.sound-result-details{align-items:center;display:flex;gap:5px;min-width:90px}.sound-result-percent{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold)}.sound-result-count{color:var(--color-text-muted);font-size:var(--text-xs)}@media (max-width:768px){.questionnaire-actions{flex-direction:column}.questionnaire-actions .action-button{width:100%}.sound-buttons-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.sound-button{font-size:.9rem;padding:10px 12px}.speech-development-info .development-info-list{max-width:100%}.development-info-actions{flex-direction:column}.development-info-actions .action-button{max-width:300px;width:100%}.diagnosis-sounds-section{padding:16px}.sound-result-item{padding:12px}.sound-result-name{font-size:1rem}.sound-result-details{align-items:flex-end;flex-direction:column;gap:4px;min-width:auto}.completion-card{box-sizing:border-box;margin-bottom:200px;padding:12px 10px calc(15px + env(safe-area-inset-bottom, 0px))}.completion-header{margin-bottom:10px;padding-bottom:8px}.completion-header h2{font-size:1.2rem}.diagnosis-results-container{gap:10px;margin:8px 0}.diagnosis-sounds-section{padding:10px}.diagnosis-sounds-section h3{font-size:.95rem;margin-bottom:8px}.completion-actions{background:#fff;bottom:0;box-shadow:0 -4px 12px #0000001a;flex-direction:column;margin-bottom:0;margin-top:15px;padding:12px 10px;position:-webkit-sticky;position:sticky;z-index:10}.completion-actions:before{background:linear-gradient(90deg,#0000,#e8f5e9,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.action-button{font-size:.9rem;margin-bottom:8px;max-width:100%;min-width:auto;padding:10px 18px;width:100%}.action-button:last-child{margin-bottom:0}}.guides-page{font-family:var(--font-sans);margin:0 auto;max-width:720px;padding:1.5rem}.guides-intro{color:var(--color-text-muted);margin-bottom:1.5rem}.guides-modules{list-style:none;padding:0}.guides-modules li{margin-bottom:.75rem}.guide-module-item{margin-bottom:0}.guide-module-link{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;color:inherit;display:block;padding:1rem 1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s}.guide-module-link:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #00a30014}.guide-module-trigger{align-items:center;background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:1rem;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:1rem 1.25rem;text-align:left;transition:border-color .2s,box-shadow .2s;width:100%}.guide-module-trigger:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #00a30014}.guide-module-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs)}.guide-lessons-list{border-left:2px solid var(--color-border-light);list-style:none;margin:0 0 .75rem 1.25rem;padding:.5rem 0 0 1rem}.guide-lessons-list li{margin-bottom:.5rem}.guide-lesson-link{border-radius:.75rem;color:var(--color-primary);display:flex;flex-direction:column;gap:.15rem;padding:.5rem .75rem;text-decoration:none;transition:background .2s}.guide-lesson-link:hover{background:var(--color-bg-subtle)}.guide-lesson-soon{color:var(--color-text-muted);cursor:default;text-decoration:none}.guide-block-modules{border-left:2px solid var(--color-border-light);list-style:none;margin:0 0 0 1.25rem;padding:.5rem 0 0 1rem}.guide-submodule-item{margin-bottom:.5rem}.guide-submodule-trigger{align-items:center;background:var(--color-bg-subtle);border:none;border-radius:.75rem;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:.6rem .75rem;text-align:left;transition:background .2s;width:100%}.guide-submodule-trigger:hover{background:var(--color-border-light)}.guide-submodule-item .guide-lessons-list{margin-left:1rem;margin-top:.35rem}.guide-module-title{display:block;font-weight:var(--font-semibold)}.guide-module-subtitle{color:var(--color-text-muted);display:block;font-size:var(--text-sm);margin-top:.25rem}.guides-page .guide-breadcrumb a{color:var(--color-primary)}.diagnosis-guide{font-family:var(--font-sans);font-size:1rem;line-height:1.6;margin:0 auto;max-width:800px;padding:1.5rem}.guide-breadcrumb{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:1rem}.guide-breadcrumb a{color:var(--color-primary)}.guide-main-title{font-size:1.5rem;margin-bottom:.25rem}.guide-tagline{color:var(--color-text-muted);margin-bottom:1.5rem}.guide-lesson{margin-bottom:2.5rem}.diagnosis-guide .guide-lesson p{margin-bottom:.85rem}.diagnosis-guide .guide-lesson p:last-child{margin-bottom:0}.guide-lesson .guide-word-block{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;margin:.75rem 0;padding:1rem 1.25rem}.lesson-title{color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:1rem;margin-top:1.5rem}.task-title{font-size:1.1rem;margin-bottom:.5rem;margin-top:1.25rem}.guide-text p{margin-bottom:.75rem}.guide-age-list{list-style:none;margin:1rem 0;padding-left:0}.guide-age-list li{margin-bottom:.6rem;padding-left:1.25rem;position:relative}.guide-age-list li:before{color:var(--color-primary);content:"•";font-weight:var(--font-bold);left:0;position:absolute}.program-vowels-table .guide-table{font-size:.85rem}.program-vowels-table td,.program-vowels-table th{padding:.6rem;vertical-align:top}.program-vowels-table p{margin-bottom:.5rem}.vowels-exercises th{min-width:0}.guide-toys-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:1rem}.toy-item{align-items:center;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;text-align:center}.toy-item img{max-height:100px;max-width:100px;object-fit:contain}.articulation-table td{vertical-align:top}.articulation-table .guide-list{margin:.25rem 0 0 1rem}.articulation-img{display:block;max-height:200px;max-width:220px;object-fit:contain}.table-caption{font-size:1rem;font-weight:600;margin-bottom:.5rem;margin-top:1.25rem}.guide-table-wrap{margin-bottom:1rem;overflow-x:auto}.guide-table{border-collapse:collapse;font-size:.9rem;width:100%}.guide-table td,.guide-table th{border:1px solid var(--color-border-light);padding:.5rem .4rem;vertical-align:top}.guide-table th{background:var(--color-bg-subtle);font-weight:var(--font-semibold)}.guide-table-small .guide-table td,.guide-table-small .guide-table th{padding:.5rem .75rem}.results-table td,.results-table th{min-width:2rem;text-align:center}.guide-list{margin:.5rem 0 1rem 1.25rem}.diagnosis-guide .guide-list li{margin-bottom:.4rem}.guide-caption{font-size:.95rem;font-weight:600;margin-bottom:.35rem;margin-top:1rem}.guide-images-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.guide-images-row img{display:block;max-height:140px;max-width:140px;object-fit:contain}.guide-images-row.three{gap:1.5rem}.guide-images-row.three>div{align-items:center;display:flex;flex-direction:column;gap:.35rem}.guide-images-row.three img{max-height:180px;max-width:180px}.guide-preview-page{font-family:var(--font-sans);margin:0 auto;max-width:680px;padding:1.5rem 1.5rem 3rem}.guide-preview-title{color:var(--color-text);font-size:1.75rem;font-weight:700;line-height:1.3;margin:.75rem 0 1rem}.guide-preview-description{color:var(--color-text);font-size:1rem;line-height:1.7;margin-bottom:2rem}.guide-preview-outcomes{background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:12px;margin-bottom:2rem;padding:1.25rem 1.5rem}.guide-preview-outcomes-label{color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.06em;margin:0 0 1rem;text-transform:uppercase}.guide-preview-outcomes-list{display:flex;flex-direction:column;gap:.7rem;list-style:none;margin:0;padding:0}.guide-preview-outcomes-list li{color:var(--color-text);display:flex;font-size:.95rem;gap:.6rem;line-height:1.5}.guide-preview-check{color:var(--color-primary);flex-shrink:0;font-weight:700;margin-top:.05em}.guide-preview-cta{border-top:1px solid var(--color-border-light);padding-top:1.5rem}.guide-preview-cta-text{color:var(--color-text-muted);font-size:.95rem;margin:0 0 1rem}.guide-preview-cta-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.guide-preview-btn-primary{background:var(--color-primary);border-radius:8px;color:#fff;display:inline-block;font-size:.95rem;font-weight:600;padding:.65rem 1.4rem;text-decoration:none}.guide-preview-btn-primary:hover{opacity:.9}.guide-preview-btn-secondary{border:1px solid var(--color-border-light);border-radius:8px;color:var(--color-text);display:inline-block;font-size:.95rem;padding:.65rem 1.2rem;text-decoration:none}.guide-preview-btn-secondary:hover{background:var(--color-bg-subtle)}.browser-warning{background-color:#fff3cd;border-bottom:1px solid #ffeeba;color:#856404;left:0;padding:10px;position:fixed;right:0;text-align:center;top:0;z-index:1000}.warning-content{margin:0 auto;max-width:800px;padding:10px}.warning-content h3{font-size:18px;margin-bottom:10px;margin-top:0}.warning-content p{margin:8px 0}.small-text{font-size:14px;opacity:.8}@media (max-width:768px){.warning-content{padding:5px}.warning-content h3{font-size:16px}.warning-content p{font-size:14px}.small-text{font-size:12px}}.auth-choice-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:56px 20px 40px;position:relative}.auth-choice-page:before{background:#e8f5e9;height:28rem;left:-4rem;opacity:.8;top:-6rem;width:28rem}.auth-choice-page:after,.auth-choice-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.auth-choice-page:after{animation-delay:2s;background:#f1f8e9;bottom:-6rem;height:32rem;opacity:.7;right:-4rem;width:32rem}.auth-choice-container{max-width:500px;position:relative;width:100%;z-index:2}.auth-choice-content{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:48px 40px;text-align:center}.auth-choice-icon{animation:auth-icon-bounce 2s ease-in-out infinite;display:inline-block;font-size:72px;margin-bottom:20px}.auth-choice-content h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:12px}.auth-choice-content p{color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.5;margin-bottom:36px}.auth-choice-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.auth-choice-button{align-items:center;border:2px solid #0000;border-radius:1.5rem;display:flex;gap:20px;padding:20px 24px;text-decoration:none;transition:transform .2s,box-shadow .2s}.auth-choice-button.primary{background:var(--color-primary);box-shadow:0 6px 0 var(--color-primary-dark);color:#fff}.auth-choice-button.primary:hover{background:var(--color-primary-dark)}.auth-choice-button.primary:active{box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.auth-choice-button.primary .button-content h3,.auth-choice-button.primary .button-content p{color:#fff}.auth-choice-button.secondary{background:var(--color-bg-subtle);border-color:var(--color-border-light);box-shadow:0 4px 0 var(--color-border);color:var(--color-text)}.auth-choice-button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.auth-choice-button.secondary:active{box-shadow:none;transform:translateY(4px)}.button-icon{flex-shrink:0;font-size:36px}.button-content{flex:1 1;text-align:left}.button-content h3{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 4px}.button-content p{font-size:var(--text-sm);line-height:1.4;margin:0;opacity:.85}.auth-choice-button.secondary .button-content p,.back-to-home{color:var(--color-text-muted)}.back-to-home{font-size:var(--text-base);font-weight:var(--font-medium);text-decoration:none;transition:color .2s}.back-to-home:hover{color:var(--color-primary)}@media (max-width:600px){.auth-choice-page{padding:44px 16px 32px}.auth-choice-content{padding:36px 24px}.auth-choice-content h1{font-size:var(--text-2xl)}.auth-choice-button{gap:14px;padding:16px 20px}.button-icon{font-size:28px}}@media (max-width:480px){.auth-choice-content{padding:28px 20px}}.auth-choice-invite-wrap{padding:32px 28px}.auth-invite-modal{margin:0 auto;max-width:400px;text-align:center}.auth-invite-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 16px}.auth-invite-text{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin:0 0 28px}.auth-invite-actions{display:flex;flex-direction:column;gap:12px}.auth-invite-btn{border:2px solid #0000;border-radius:1rem;cursor:pointer;font-size:var(--text-base);font-weight:var(--font-semibold);padding:14px 20px;transition:opacity .2s,transform .15s}.auth-invite-btn:disabled{cursor:not-allowed;opacity:.7}.auth-invite-btn-primary{background:var(--color-primary);box-shadow:0 4px 0 var(--color-primary-dark);color:#fff}.auth-invite-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.auth-invite-btn-secondary{background:var(--color-bg-subtle);border-color:var(--color-border-light);color:var(--color-text)}.auth-invite-btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.forgot-password-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 40px;position:relative}.forgot-password-page:before{background:#e8f5e9;height:26rem;left:-4rem;opacity:.8;top:-5rem;width:26rem}.forgot-password-page:after,.forgot-password-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.forgot-password-page:after{animation-delay:2s;background:#f1f8e9;bottom:-5rem;height:30rem;opacity:.7;right:-4rem;width:30rem}.forgot-password-background-elements{display:none}.forgot-password-container{max-width:450px;position:relative;width:100%;z-index:2}.forgot-password-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:40px}.forgot-password-header{margin-bottom:36px;text-align:center}.forgot-password-icon{animation:auth-icon-bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.forgot-password-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:10px}.forgot-password-header p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin-bottom:0}.forgot-password-form{margin-bottom:28px}.forgot-password-footer{text-align:center}.forgot-password-footer p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:0}.forgot-password-footer a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none;transition:color .2s}.forgot-password-footer a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){.forgot-password-page{padding:40px 16px 32px}.forgot-password-card{padding:32px 24px}.forgot-password-header h1{font-size:var(--text-2xl)}.forgot-password-icon{font-size:48px}}@media (max-width:480px){.forgot-password-card{padding:24px 20px}.forgot-password-header h1{font-size:var(--text-xl)}}.reset-password-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 40px;position:relative}.reset-password-page:before{background:#e8f5e9;height:26rem;opacity:.8;right:-4rem;top:-5rem;width:26rem}.reset-password-page:after,.reset-password-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.reset-password-page:after{animation-delay:2s;background:#f1f8e9;bottom:-5rem;height:30rem;left:-4rem;opacity:.7;width:30rem}.reset-password-background-elements{display:none}.reset-password-container{max-width:450px;position:relative;width:100%;z-index:2}.reset-password-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:40px}.reset-password-header{margin-bottom:36px;text-align:center}.reset-password-icon{animation:auth-icon-bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}@keyframes auth-icon-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.reset-password-header h1{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin-bottom:10px}.reset-password-header p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.5;margin-bottom:0}.reset-password-form{margin-bottom:28px}.input-group{margin-bottom:20px}.input-group label{color:var(--color-text);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:8px}.input-group input{background:var(--color-bg-subtle);border:2px solid var(--color-border-light);border-radius:1rem;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);padding:14px 18px;transition:border-color .2s,box-shadow .2s;width:100%}.input-group input:focus{background:var(--color-bg);border-color:var(--color-primary);box-shadow:0 0 0 4px #00a3001a;outline:none}.input-group input:disabled{cursor:not-allowed;opacity:.7}.input-group input::placeholder{color:var(--color-text-muted);opacity:.7}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{flex:1 1;padding-right:50px}.password-toggle{align-items:center;background:none;border:none;border-radius:9999px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-lg);justify-content:center;padding:6px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:background .2s,color .2s}.password-toggle:hover{background:#00a30014;color:var(--color-primary)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{align-items:center;background:var(--color-error);border-radius:1rem;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:8px;margin-bottom:20px;padding:12px 16px}.error-message,.error-message *,.success-message{color:#fff!important}.success-message{align-items:center;background:var(--color-primary);border-radius:1rem;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:8px;margin-bottom:20px;padding:12px 16px}.success-message *{color:#fff!important}.error-icon,.success-icon{color:#fff!important;font-size:var(--text-base)}.submit-button{align-items:center;background:var(--color-primary);border:none;border-radius:9999px;box-shadow:0 6px 0 var(--color-primary-dark);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-bold);gap:10px;justify-content:center;padding:16px 24px;transition:background .2s,box-shadow .2s,transform .1s;width:100%}.submit-button:hover:not(:disabled){background:var(--color-primary-dark)}.submit-button:active:not(:disabled){box-shadow:0 0 0 var(--color-primary-dark);transform:translateY(6px)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.submit-button-icon{font-size:var(--text-xl)}.loading-spinner{animation:auth-spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes auth-spin{to{transform:rotate(1turn)}}.reset-password-footer{text-align:center}.reset-password-footer p{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:0}.reset-password-footer a{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none;transition:color .2s}.reset-password-footer a:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){.reset-password-page{padding:40px 16px 32px}.reset-password-card{padding:32px 24px}.reset-password-header h1{font-size:var(--text-2xl)}.reset-password-icon{font-size:48px}}@media (max-width:480px){.reset-password-card{padding:24px 20px}.reset-password-header h1{font-size:var(--text-xl)}}.verify-email-page{align-items:flex-start;background:var(--color-bg-subtle);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 40px;position:relative}.verify-email-page:before{background:#e8f5e9;height:26rem;left:-4rem;opacity:.8;top:-5rem;width:26rem}.verify-email-page:after,.verify-email-page:before{animation:auth-orb-pulse 4s ease-in-out infinite;border-radius:50%;content:"";filter:blur(50px);mix-blend-mode:multiply;pointer-events:none;position:absolute}.verify-email-page:after{animation-delay:2s;background:#f1f8e9;bottom:-5rem;height:28rem;opacity:.7;right:-4rem;width:28rem}@keyframes auth-orb-pulse{0%,to{opacity:.8}50%{opacity:.5}}.verify-email-container{max-width:420px;position:relative;width:100%;z-index:2}.verify-email-card{background:var(--color-bg);border:2px solid var(--color-border-light);border-radius:2rem;box-shadow:0 10px 40px #0000000f;padding:40px}.verify-email-header h1{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--font-extrabold);letter-spacing:-.025em;margin:0 0 24px;text-align:center}.verify-email-body{color:var(--color-text-muted);text-align:center}.verify-email-body p{font-size:var(--text-base);margin:0 0 16px}.verify-email-success{color:var(--color-primary);font-weight:var(--font-semibold)}.verify-email-error{color:var(--color-error);font-weight:var(--font-medium)}.verify-email-body a{color:var(--color-primary);font-weight:var(--font-semibold)}.verify-email-body a:hover{color:var(--color-primary-dark)}@media (max-width:768px){.verify-email-page{padding:40px 16px 32px}.verify-email-card{padding:32px 24px}}@media (max-width:480px){.verify-email-card{padding:24px 20px}}
/*# sourceMappingURL=main.31b72a62.css.map*/