: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}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{flex:1 1}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-radius:12px;box-shadow:0 2px 12px #00000014;flex-direction:column;font-family:var(--font-sans);margin:60px auto;max-width:400px;padding:32px 24px}.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{border:1px solid var(--color-border);border-radius:6px;font-family:var(--font-sans);font-size:var(--text-lg);padding:12px;transition:border-color .3s;width:100%}.auth-container input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #00a3001a;outline:none}.auth-container button{background:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--font-semibold);padding:12px 0;transition:background .2s}.auth-container button:hover{background:var(--color-primary-dark)}.auth-container .error{background:var(--color-error);border:1px solid var(--color-error-dark);border-radius:8px;box-shadow:0 4px 15px #dc35454d;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-success);border:1px solid #1e7e34;border-radius:8px;box-shadow:0 4px 15px #28a7454d;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-color:var(--color-bg);border-radius:8px;box-shadow:0 2px 8px #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:12px;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);border-radius:10px;box-shadow:0 2px 8px #0000000d;color:var(--color-text);display:flex;gap:16px;padding:16px 20px;text-decoration:none;transition:all .3s ease}.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:Courier New,monospace;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:1px solid var(--color-border);border-radius:10px;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}.minimal-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);color:#fff;font-family:var(--font-sans);padding:1rem 0}.minimal-header .top-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.minimal-header .logo a{color:#fff;font-family:var(--font-sans);font-size:1.2rem;font-weight:var(--font-bold);text-decoration:none}.minimal-header .auth-button.login{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.minimal-header .auth-button.login:hover{background:#ffffff4d;transform:translateY(-1px)}.trainer-header,header{position:relative;text-align:left;width:100%;z-index:1000}.trainer-header .top-header{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);color:#fff;display:flex;font-family:var(--font-sans);justify-content:space-between;min-height:50px;padding:12px 5%;position:relative;text-align:left;z-index:20}.trainer-logo{font-size:var(--text-xl)!important;font-weight:var(--font-bold)!important}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none}.mobile-only{display:block}}.top-header{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);color:#fff;display:flex;justify-content:space-between;min-height:60px;padding:15px 5%;position:relative;text-align:left;z-index:20}.logo{flex-shrink:0;font-size:24px;font-weight:800;letter-spacing:.5px;text-align:left;text-transform:uppercase}.logo a{color:#fff;text-decoration:none;transition:opacity .3s ease}.logo a:hover{opacity:.9}.header-controls{gap:20px}.contact-info,.header-controls{align-items:center;display:flex}.contact-info{position:relative;z-index:25}.contact-item{align-items:center;display:flex;margin-left:20px}.icon{font-size:18px;margin-right:5px}.contact-label{color:#ffffffe6;font-weight:700;margin-right:6px}.callback{background-color:#fff3;border-radius:4px;cursor:pointer;padding:5px 10px}.callback:hover{background-color:#ffffff4d}.main-nav{background-color:#fff;box-shadow:0 2px 4px #0000000d;padding:0 5%;position:relative;text-align:left;z-index:10}.main-nav ul{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start;list-style-type:none;margin:0;padding:0;text-align:left}.main-nav li{position:relative;text-align:left}.main-nav li a{color:#333;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;padding:18px 24px;text-align:left;text-decoration:none;transition:all .3s ease}.main-nav li a:hover{background-color:#00a3000d;color:#00a300}.dropdown{position:relative}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 8px 16px #0000001a;display:none;min-width:200px;position:absolute;z-index:10}.dropdown-content a{border-bottom:1px solid #eee;color:#333;display:block;font-size:14px;padding:12px 16px;text-decoration:none}.dropdown-content a:last-child{border-bottom:none}.dropdown-content a:hover{background-color:#f9f9f9;color:#00a300}.dropdown:hover .dropdown-content{display:block}.auth-buttons{align-items:center;display:flex;flex-shrink:0;gap:12px;justify-content:flex-end}.auth-button{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.login{background-color:#fff3;color:#fff}.register{background-color:#fff;border:1px solid #fff;color:#00a300}.cabinet{background-color:#ffffff26;border:1px solid #ffffff4d;color:#fff}.admin{background-color:#ff9800;border:1px solid #ff9800;color:#fff}.logout{background-color:#f44336;border:1px solid #f44336;color:#fff}.login:hover{background-color:#ffffff4d}.register:hover{background-color:#ffffffe6}.cabinet:hover{background-color:#ffffff40}.admin:hover{background-color:#e68a00}.logout:hover{background-color:#d32f2f}@media (max-width:1024px){.contact-item span{display:none}.contact-item.callback span{display:inline}.icon{font-size:20px;margin-right:0}}.mobile-menu-toggle{background:none;border:none;cursor:pointer;padding:10px;z-index:1001}.hamburger{height:20px;position:relative;width:25px}.hamburger,.hamburger span{display:block;transform:rotate(0deg);transition:.3s ease-in-out}.hamburger span{background:#fff;border-radius:1px;height:3px;left:0;opacity:1;position:absolute;width:100%}.hamburger span:first-child{top:0}.hamburger span:nth-child(2){top:8px}.hamburger span:nth-child(3){top:16px}.hamburger.open span:first-child{top:8px;transform:rotate(135deg)}.hamburger.open span:nth-child(2){left:-60px;opacity:0}.hamburger.open span:nth-child(3){top:8px;transform:rotate(-135deg)}.mobile-nav{height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease-in-out;visibility:hidden;width:100%;z-index:999}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;height:100%;left:0;position:absolute;top:0;width:100%}.mobile-nav-content{background:#fff;box-shadow:-2px 0 10px #0000001a;height:100%;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:280px}.mobile-nav.open .mobile-nav-content{transform:translateX(0)}.mobile-nav-header{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);color:#fff;display:flex;justify-content:space-between;padding:20px}.mobile-nav-title{font-size:18px;font-weight:600}.mobile-nav-close{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;line-height:1;padding:5px}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav ul li{border-bottom:1px solid #f0f0f0}.mobile-nav ul li a,.mobile-nav ul li button{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:16px;font-weight:500;padding:18px 20px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.mobile-nav ul li a:hover,.mobile-nav ul li button:hover{background-color:#f8f9fa;color:#00a300}.mobile-nav-divider{background:#e9ecef;height:1px;margin:10px 0}.mobile-logout-btn{color:#dc3545!important;font-weight:600}.mobile-logout-btn:hover{background-color:#f8f9fa!important;color:#c82333!important}.mobile-login-btn{background:none;border:none;color:#00a300!important;cursor:pointer;display:block;font-size:16px;font-weight:600;padding:18px 20px;text-align:left;text-decoration:none;transition:background-color .2s ease;width:100%}.mobile-login-btn:hover{background-color:#f8f9fa!important;color:green!important}@media (max-width:768px){.top-header{flex-direction:row;height:auto;padding:10px 15px}.trainer-header .top-header{min-height:45px;padding:8px 15px}.logo{flex-shrink:1;font-size:16px;min-width:0;overflow:hidden}.trainer-logo{font-size:14px!important}.auth-buttons{display:flex;flex-shrink:0;gap:8px}.auth-button{border-radius:15px;font-size:12px;padding:6px 12px;white-space:nowrap}.contact-info{margin-top:0}.main-nav ul{flex-direction:column}.dropdown-content{box-shadow:none;position:relative}}@media (max-width:480px){.top-header{padding:8px 10px}.trainer-header .top-header{min-height:40px;padding:6px 10px}.logo{font-size:14px}.trainer-logo{font-size:12px!important}.auth-button{font-size:11px;padding:4px 8px}.mobile-nav-content{right:0;width:100%}.mobile-nav-header{padding:15px}.mobile-nav ul li a,.mobile-nav ul li button{font-size:15px;padding:15px}}.simple-header{align-items:center;animation:fadeInHeader .7s cubic-bezier(.4,0,.2,1);background:#fff;border-bottom:none;box-shadow:none;color:#00a300;display:flex;justify-content:center;padding:36px 0 28px;width:100%}@keyframes fadeInHeader{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.simple-header-content{align-items:center;display:flex;justify-content:center;width:100%}.simple-header-title{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(90deg,#00a300,#00c851);-webkit-background-clip:text;background-clip:text;font-family:Montserrat,Segoe UI,Arial,sans-serif;font-size:2.6rem;font-weight:900;letter-spacing:2.5px;line-height:1.1;text-align:center;text-transform:uppercase;transition:font-size .2s}@media (max-width:600px){.simple-header{padding:18px 0 12px}.simple-header-title{font-size:1.3rem;letter-spacing:1.2px}}.footer{background-color:#333;color:#fff;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:#fff;font-size:18px;margin-bottom:20px;padding-bottom:10px;position:relative}.footer-section h3:after{background-color:#00a300;bottom:0;content:"";height:2px;left:0;position:absolute;width:40px}.footer-section p{color:#bbb;font-size:14px;line-height:1.6}.footer-links{list-style-type:none;margin:0;padding:0}.footer-links li{margin-bottom:10px}.footer-links a{color:#bbb;font-size:14px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#00a300}address p{margin:10px 0}.footer-bottom{background-color:#222;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:#999;font-size:14px;margin:0}.footer-bottom-links{display:flex;gap:20px}.footer-bottom-links a{color:#999;font-size:14px;text-decoration:none;transition:color .2s}.footer-bottom-links a:hover{color:#00a300}.feedback-section{border-top:1px solid #444;margin-top:25px;padding-top:20px}.feedback-section h4{color:#fff;font-size:16px;font-weight:600;margin-bottom:12px}.feedback-section p{margin-bottom:8px}.feedback-section a{color:#00a300;font-weight:500;text-decoration:none;transition:all .2s}.feedback-section a:hover{color:#00c851;text-shadow:0 0 5px #00a3004d}.feedback-section small{color:#888;display:block;font-size:12px;font-style:italic;margin-top:5px}@media (max-width:768px){.footer-bottom-container{flex-direction:column;gap:10px;text-align:center}.footer-bottom-links{justify-content:center}.feedback-section{margin-top:20px;padding-top:15px}}.footer-contacts{display:flex;flex-direction:column;gap:8px}.footer-contacts p{font-size:14px;margin:0}.footer-contacts a{align-items:center;color:#bbb;display:inline-flex;gap:8px;text-decoration:none;transition:color .2s}.footer-contacts a:hover{color:#00a300}.footer-contacts a svg{color:currentColor;flex-shrink:0}@media (max-width:768px){.footer-contacts a{max-width:100%;overflow-wrap:break-word;white-space:normal;word-break:break-word}.footer-container{padding:0 15px}.footer-section{margin-bottom:25px}}.login-page{align-items:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 20px;position:relative}.login-background-elements{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.login-container{max-width:480px;position:relative;width:100%;z-index:2}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #00000026;padding:40px}.login-header{margin-bottom:40px;text-align:center}.login-icon{animation:bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.login-header h1{color:#333;font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.login-header p{color:#666;font-size:16px;line-height:1.5;margin-bottom:0}.login-form{margin-bottom:30px}.error-icon{color:#fff!important}.login-button{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);border:none;border-radius:12px;box-shadow:0 6px 20px #00a3004d;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:10px;justify-content:center;padding:18px 24px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:linear-gradient(135deg,green,#00a300);box-shadow:0 8px 25px #00a30066;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.8;transform:none}.login-button-icon{font-size:20px}.login-footer{text-align:center}.login-footer p{color:#666;font-size:15px;margin-bottom:0}.login-footer a{color:#00a300;font-weight:600;text-decoration:none;transition:color .3s ease}.login-footer a:hover{color:green;text-decoration:underline}@media (max-width:768px){.login-page{padding:15px}.login-card{padding:30px 24px}.login-header h1{font-size:28px}.login-icon{font-size:50px}}@media (max-width:480px){.login-card{padding:24px 20px}.login-header h1{font-size:24px}.login-header p{font-size:14px}.input-group input{font-size:16px;padding:14px 16px}.login-button{font-size:16px;padding:16px 20px}}.register-page{align-items:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 20px;position:relative}.register-background-elements{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1}.floating-element{font-size:40px;pointer-events:none}.element-3{left:5%;top:60%}.element-4{bottom:30%;right:10%}.element-5{left:80%;top:40%}.element-6{bottom:10%;left:20%}.register-container{max-width:480px;position:relative;width:100%;z-index:2}.register-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #00000026;padding:40px}.register-header{margin-bottom:40px;text-align:center}.register-icon{animation:bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.register-header h1{color:#333;font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.register-header p{color:#666;font-size:16px;line-height:1.5;margin-bottom:0}.register-form{margin-bottom:30px}.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:6px;color:#6c757d;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease}.password-toggle:hover{background:#00a3001a;color:#495057}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.password-toggle:focus{box-shadow:0 0 0 2px #00a3004d;outline:none}.password-toggle i{font-size:18px}.error-message{margin-bottom:20px}.error-icon{flex-shrink:0;font-size:16px}.success-message{margin-bottom:20px}.success-icon{flex-shrink:0;font-size:16px}.consent-group{margin-bottom:24px}.consent-label{align-items:flex-start;color:#333;cursor:pointer;display:flex;font-size:14px;gap:12px;line-height:1.5}.consent-label input[type=checkbox]{accent-color:#00a300;cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.consent-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7}.consent-text{color:#666;font-weight:400}.consent-label:hover .consent-text{color:#333}.register-button{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s ease;width:100%}.register-button:hover:not(:disabled){background:linear-gradient(135deg,#008a00,#00a841);box-shadow:0 8px 25px #00a3004d;transform:translateY(-2px)}.register-button:active:not(:disabled){transform:translateY(0)}.register-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.register-button-icon{flex-shrink:0;font-size:18px}.register-footer{text-align:center}.register-footer p{color:#666;font-size:14px;margin-bottom:8px}.register-footer a{color:#00a300;font-weight:600;text-decoration:none;transition:color .3s ease}.register-footer a:hover{color:#008a00;text-decoration:underline}@media (max-width:768px){.register-page{padding:15px}.register-card{padding:30px 25px}.register-header h1{font-size:28px}.register-icon{font-size:50px}}@media (max-width:480px){.register-card{padding:25px 20px}.register-header h1{font-size:24px}.register-header p{font-size:14px}.input-group input{font-size:14px;padding:14px 16px}.register-button{font-size:14px;padding:14px 20px}}.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{background:linear-gradient(90deg,#f0f0f0,#e0e0e0);border-radius:20px;box-shadow:inset 0 2px 4px #0000001a;flex:1 1;height:12px}.progress-fill{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-primary-light) 100%);border-radius:20px;box-shadow:0 2px 8px #00a3004d;transition:width .4s ease}.progress-text{color:#666;font-size:16px;font-weight:600;min-width:60px;text-align:center}.completion-card{border:2px solid #f0f0f0;border-radius:20px;box-shadow:0 10px 30px #0000001a;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:#666;font-size:18px;margin-bottom:30px}.diagnosis-summary{border-radius:12px;margin:20px 0;padding:20px;width:100%}.diagnosis-summary h3{font-size:1.2rem;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);border-radius:8px;padding:10px}.completion-actions{gap:15px}.action-button{border-radius:25px;font-size:16px;min-width:120px;padding:12px 24px}.action-button.primary{background:var(--color-primary);box-shadow:0 4px 15px #00a3004d}.action-button.primary:hover{background:var(--color-primary-dark);box-shadow:0 6px 20px #00a30066;transform:translateY(-2px)}.action-button.secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#495057}.action-button.secondary:hover{background:#e9ecef;transform:translateY(-2px)}.task-card{align-items:center;background:#fff;border:2px solid #f0f0f0;border-radius:20px;box-shadow:0 10px 30px #0000001a;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:#495057;font-size:24px;font-weight:600;line-height:1.3;margin-bottom:-4px}.target-word{color:var(--color-primary);font-size:28px;font-weight:700}.speak-button{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:3px solid green;border-radius:50px;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:linear-gradient(135deg,green 0,var(--color-primary) 100%);border-color:var(--color-primary-darker);box-shadow:0 12px 35px #00a30080;transform:translateY(-4px)}.speak-button:active{transform:translateY(-2px)}.task-buttons{flex-wrap:wrap;gap:15px}.skip-button{background:linear-gradient(135deg,#6c757d,#495057);border:3px solid #495057;border-radius:50px;box-shadow:0 8px 25px #6c757d66;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}.skip-button:hover{background:linear-gradient(135deg,#495057,#343a40);border-color:#343a40;box-shadow:0 12px 35px #6c757d80;transform:translateY(-4px)}.skip-button:active{transform:translateY(-2px)}.skip-suggestion{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #f39c12;border-radius:15px;box-shadow:0 4px 15px #f39c1233;margin:10px 0;padding:15px 20px;text-align:center}.skip-suggestion p{color:#856404;font-size:16px;font-weight:500;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:#666;font-size:14px;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-color:#f8f9fa;border-radius:12px;box-shadow:0 4px 8px #0000001a;margin:20px 0;padding:40px;text-align:center}.loading-container p{color:#666;font-size:18px;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;padding:12px 28px;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:#fffffff2;border:2px solid #e9ecef;border-radius:30px;bottom:30px;box-shadow:0 4px 15px #0000001a;color:#495057;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;position:fixed;right:30px;transition:all .3s ease;z-index:1000}.back-button:hover{background:#fff;border-color:var(--color-primary);box-shadow:0 6px 20px #00a30033;color:var(--color-primary);transform:translateY(-2px)}@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:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;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:700}.task-place{color:#6c757d}.task-id{color:#adb5bd;font-size:.8rem}.task-translation{color:#6c757d;font-style:italic;margin-bottom:1.5rem;text-align:center}.confidence-meter,.similarity-meter{margin:1rem 0}.meter-label{color:#495057;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.meter-bar{background-color:#e9ecef;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:#6c757d;font-size:.8rem;font-weight:700;text-align:right}.feedback-message{border-radius:8px;font-weight:500;margin:1rem 0;padding:1rem}.feedback-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.feedback-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.feedback-message.retry{background-color:#fff3cd;border:1px solid #ffeaa7;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:#f8f9fa;border-radius:6px;font-size:.85rem;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:#fffffff2;border:2px solid #e9ecef;border-radius:30px;box-shadow:0 4px 15px #0000001a;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.trainer-button:hover{background:#fff;border-color:var(--color-primary);box-shadow:0 6px 20px #00a30033;color:var(--color-primary);transform:translateY(-2px)}@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:#fffbe6;border:1.5px solid #ffe58f;border-radius:10px;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:#666;font-size:14px;font-weight:500;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:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:3px solid green;box-shadow:0 8px 25px #00a30066;color:#fff}.record-button.start:hover{background:linear-gradient(135deg,green 0,var(--color-primary) 100%);box-shadow:0 12px 35px #00a30080;transform:translateY(-4px)}.record-button.stop{animation:pulse 1.5s infinite;background:linear-gradient(135deg,var(--color-error) 0,#c82333 100%);border:3px solid #bd2130;box-shadow:0 8px 25px #dc354566;color:#fff}.record-button.stop:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 12px 35px #dc354580;transform:translateY(-4px)}.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:#007bff;font-size:16px;font-weight:600;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:1200px;min-height:100vh;padding:32px 24px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;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);border-top-color:var(--color-primary);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)}.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-radius:16px;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-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;gap:20px;padding:12px 16px;transition:all .3s ease}.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:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);border:none;border-radius:12px;box-shadow:0 4px 16px #00a3004d;color:#fff;cursor:pointer;font-size:var(--text-md);margin-bottom:0;overflow:hidden;padding:12px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.rules-analytics-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.rules-analytics-btn:hover{box-shadow:0 8px 24px #00a30066;transform:translateY(-2px)}.rules-analytics-btn:hover:before{left:100%}.rules-analytics-btn:active{transform:translateY(0)}@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)}.home-page{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);color:#fff;flex:1 1;font-family:var(--font-sans);overflow-x:hidden}.hero-banner{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 160px);padding:60px 20px 40px;position:relative}.hero-content{margin:0 auto;max-width:1200px;position:relative;text-align:center;width:100%;z-index:2}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:1100px}.features-column{display:flex;flex-direction:column;gap:15px}.feature-block{align-items:flex-start;background:#fffffff2;border-radius:12px;box-shadow:0 4px 15px #00000026;display:flex;gap:15px;min-height:100px;padding:20px;transition:all .3s ease}.feature-block:hover{background:var(--color-bg);box-shadow:0 6px 20px #0003;transform:translateY(-3px)}.feature-icon{align-items:center;color:var(--color-primary);display:flex;flex-shrink:0;justify-content:center}.feature-icon,.feature-icon svg{height:28px;width:28px}.feature-text{flex:1 1;text-align:left}.feature-text h3{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-bold);line-height:1.3;margin:0 0 6px}.feature-text p{color:var(--color-text-muted);font-size:var(--text-base);line-height:1.4;margin:0}.main-action{align-items:center;display:flex;flex-direction:column;gap:20px;margin-top:40px}.main-button{align-items:center;background:#fffffff2;border:none;border-radius:50px;box-shadow:0 8px 25px #0003;color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:var(--font-bold);gap:12px;justify-content:center;min-width:350px;padding:24px 60px;text-decoration:none;transition:all .3s ease}.main-button:hover{background:var(--color-bg);box-shadow:0 12px 35px #0000004d;transform:translateY(-3px)}@media (max-width:968px){.features-grid{gap:25px;grid-template-columns:1fr}}@media (max-width:768px){.hero-banner{min-height:auto;padding:40px 15px 30px}.feature-block{min-height:85px;padding:16px}.feature-icon svg{height:24px;width:24px}.feature-text h3{font-size:15px}.feature-text p{font-size:13px}.main-action{gap:15px;margin-top:30px}.main-button{font-size:18px;min-width:280px;padding:16px 40px}}@media (max-width:480px){.hero-banner{padding:30px 10px 25px}.feature-block{gap:12px;padding:14px}.feature-icon svg{height:22px;width:22px}.feature-text h3{font-size:14px}.feature-text p{font-size:12px}.main-button{font-size:16px;min-width:250px;padding:14px 30px}}.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:40px;text-align:center}.task-config-header h1{color:#00a300;font-size:28px;margin-bottom:10px}.task-config-header p{color:#666;font-size:16px}.action-selection{padding:20px 0;text-align:center}.action-hint{color:#666;font-size:15px;margin:0 0 25px}.action-buttons{display:flex;flex-direction:column;gap:15px}.continue-training-btn{background:linear-gradient(90deg,#00a300,#00c851);border:none;border-radius:8px;box-shadow:0 2px 8px #00a30033;color:#fff}.continue-training-btn,.start-new-training-btn{cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .3s ease;width:100%}.start-new-training-btn{background:#fff;border:2px solid #00a300;border-radius:8px;color:#00a300}.start-new-training-btn:hover{background:#f0f9f0;border-color:#00c851}.continue-training-btn:hover{background:linear-gradient(90deg,#00c851,#00a300);box-shadow:0 4px 16px #00a3004d;transform:translateY(-2px)}.continue-training-btn:active,.start-new-training-btn:active{transform:translateY(0)}.task-config-content{flex:1 1;padding:40px}.task-config-content,.task-config-sidebar{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.task-config-sidebar{padding:25px;position:-webkit-sticky;position:sticky;top:20px;width:280px}.task-config-sidebar h3{color:#00a300;font-size:18px;font-weight:600;margin:0 0 20px}.sidebar-loading{align-items:center;display:flex;flex-direction:column;gap:10px;padding:20px}.sidebar-loading p{color:#666;font-size:14px;margin:0}.sidebar-tasks-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.sidebar-task-item{align-items:center;background:#f8f9fa;border-left:3px solid #00a300;border-radius:8px;display:flex;justify-content:space-between;padding:12px 15px}.sidebar-task-name{color:#333;font-size:14px;font-weight:500}.sidebar-task-count{color:#00a300;font-size:16px;font-weight:600}.sidebar-total{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);border-radius:8px;display:flex;justify-content:space-between;margin-top:15px;padding:15px}.sidebar-total-label{color:#fff;font-size:16px;font-weight:600}.sidebar-total-count{color:#fff;font-size:20px;font-weight:700}.rules-section{margin-bottom:40px}.rules-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.rule-progress-bar-bg{background:#e9ecef;border-radius:0 0 8px 8px;bottom:0;height:6px;left:0;overflow:hidden;position:absolute;right:0}.rule-progress-bar-fill{background:linear-gradient(90deg,#00a300,#00c851);border-radius:0 0 8px 8px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.rule-checkbox{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:15px 20px;position:relative;transition:all .3s ease}.rule-checkbox:hover{background-color:#00a3000d;border-color:#00a300}.rule-checkbox input[type=checkbox]{accent-color:#00a300;height:18px;margin:0;width:18px}.rule-checkbox input[type=checkbox]:checked+.rule-name{color:#00a300;font-weight:600}.rule-name{color:#333;font-size:16px;font-weight:500}.loading-message{align-items:center;display:flex;gap:15px;justify-content:center;margin:20px 0}.loading-spinner{border:3px solid #e9ecef;border-top-color:#00a300;height:24px;width:24px}.loading-message p{color:#666;font-weight:500;margin:0}.error-message{background:#fee;border-left:4px solid #c33;color:#c33;font-weight:500}.error-message,.task-count{border-radius:8px;margin:20px 0;padding:15px;text-align:center}.task-count{background:#f8f9fa;border-left:4px solid #00a300}.task-count p{color:#00a300;font-size:16px;font-weight:600;margin:0}.main-actions{margin:40px 0;text-align:center}.start-training-btn{background:linear-gradient(135deg,#00a300,#00c851);border:none;border-radius:12px;box-shadow:0 4px 12px #00a3004d;color:#fff;cursor:pointer;font-size:18px;font-weight:600;min-width:250px;padding:20px 40px;transition:all .3s ease}.start-training-btn:hover:not(:disabled){box-shadow:0 6px 16px #00a30066;transform:translateY(-2px)}.start-training-btn:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.secondary-actions{margin-top:30px;text-align:center}.back-btn{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#333;cursor:pointer;font-weight:500;padding:12px 30px;transition:all .3s ease}.back-btn:hover{background:#e9ecef;border-color:#dee2e6}.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 15px}.task-config-sidebar{position:static;width:100%}.task-config-header{margin-bottom:20px}.task-config-header h1{font-size:22px}.task-config-header p{font-size:14px}.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:14px}.action-hint{margin-bottom:20px}.action-buttons{gap:12px}.continue-training-btn,.start-new-training-btn{font-size:15px;padding:12px 20px}.main-actions{margin:30px 0 20px}.start-training-btn{font-size:16px;min-width:auto;padding:15px 20px;width:100%}.training-options{margin:20px 0;padding:12px}.filter-completed{margin-bottom:12px}.filter-completed label{font-size:13px}.tasks-limit-selector label{font-size:13px;margin-bottom:8px}.tasks-limit-selector label strong{font-size:15px}.desktop-only{display:none}}.show-only-new{align-items:center;display:flex;justify-content:center;margin:10px 0 30px}.show-only-new label{align-items:center;color:#218c3a;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px}.show-only-new input[type=checkbox]{accent-color:#00a300;height:18px;margin:0;width:18px}.rule-progress-text{display:none}.training-options{background:#f8f9fa;border-left:4px solid #00a300;border-radius:8px;margin:25px 0;padding:15px}.filter-completed{margin-bottom:15px}.filter-completed label{color:#333;font-size:14px}.tasks-limit-selector{background:#0000;border:none;margin:0;padding:0}.tasks-limit-selector label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.tasks-limit-selector label strong{color:#00a300;font-size:16px}.tasks-limit-slider{-webkit-appearance:none;appearance:none;background:#e9ecef;border-radius:3px;height:6px;outline:none;width:100%}.tasks-limit-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#00a300;border-radius:50%;box-shadow:0 2px 4px #00a3004d;cursor:pointer;height:18px;width:18px}.tasks-limit-slider::-moz-range-thumb{background:#00a300;border:none;border-radius:50%;box-shadow:0 2px 4px #00a3004d;cursor:pointer;height:18px;width:18px}.speech-diagnosis{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:800px;padding:20px}.diagnosis-header{margin-bottom:30px;text-align:center}.diagnosis-header h1{color:#218c3a;font-size:2.5rem;margin-bottom:20px}.progress-info{align-items:center;display:flex;flex-direction:column;gap:10px}.progress-info span{color:#666;font-size:1.1rem;font-weight:500}.progress-bar{background-color:#e0e0e0;border-radius:4px;height:8px;max-width:400px;overflow:hidden;width:100%}.progress-fill{background-color:#218c3a;height:100%;transition:width .3s ease}.diagnosis-content{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:30px}.diagnosis-task,.task-header{text-align:center}.task-header{margin-bottom:25px}.task-header h2{color:#333;font-size:1.8rem;margin-bottom:10px}.sound-symbol-label{color:#666;font-size:1.1rem;font-weight:500}.sound-symbol{color:#218c3a;font-size:4rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.sound-position{color:#666;font-size:1.1rem;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:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #218c3a;border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:20px}.task-image-container{align-items:center;display:flex;justify-content:center}.task-image{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;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:#333;font-size:1.3rem;margin-bottom:15px}.word-display{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;color:#218c3a;display:block;font-size:3rem;font-weight:700;padding:20px;text-align:center;width:100%}.result-options{margin-bottom:40px}.result-options h3{color:#333;font-size:1.3rem;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:#fff;border:2px solid #0000;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:500;padding:15px 20px;transition:all .3s ease}.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-color:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.nav-button:hover{background-color:#5a6268}.diagnosis-completed{text-align:center}.completion-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin:0 auto;max-width:900px;padding:15px}.completion-header{border-bottom:2px solid #e8f5e9;margin-bottom:12px;padding:0 0 10px;text-align:center}.completion-header h2{color:#218c3a;font-size:1.4rem;font-weight:600;margin:0 0 5px}.completion-header p{color:#666;font-size:1.1rem;margin:0}.diagnosis-completed h2{color:#218c3a;font-size:2rem;margin-bottom:30px}.diagnosis-summary{background:#f8f9fa;border-radius:8px;margin-bottom:12px;padding:12px;text-align:left}.diagnosis-summary h3{color:#333;font-size:1.05rem;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:#fff;border-left:3px solid #218c3a;border-radius:6px;display:flex;justify-content:space-between;padding:6px 8px}.stat-label{color:#666;font-size:.9rem;font-weight:500}.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:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:.95rem;font-weight:600;min-width:160px;padding:10px 24px;transition:all .3s ease}.action-button.primary{background:linear-gradient(135deg,#218c3a,#1e7e34);color:#fff}.action-button.primary:hover{background:linear-gradient(135deg,#1e7e34,#176628);box-shadow:0 4px 12px #218c3a4d;transform:translateY(-3px)}.action-button.secondary{background-color:#fff;border:2px solid #e0e0e0;color:#333}.action-button.secondary:hover{background-color:#f8f9fa;border-color:#218c3a;box-shadow:0 4px 12px #00000026;color:#218c3a;transform:translateY(-3px)}.loading-container{padding:50px;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#218c3a;height:40px;margin:0 auto 20px;width:40px}.error-container{padding:50px;text-align:center}.error-container p{color:#dc3545;font-size:1.2rem;margin-bottom:20px}.retry-button{background-color:#218c3a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.retry-button:hover{background-color:#1e7e34}.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:#218c3a;font-size:1.8rem;margin-bottom:20px;text-align:center}.start-diagnosis-btn{align-self:center;background-color:#218c3a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;margin-top:10px;min-width:200px;padding:15px 30px;transition:all .3s ease}.start-diagnosis-btn:hover:not(:disabled){background-color:#1e7e34;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.start-diagnosis-btn:disabled{background-color:#ccc;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-color:#f8f9fa;border-left:4px solid #218c3a;border-radius:6px;color:#333;font-size:1rem;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{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:8px}.questionnaire-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1.1rem;font-weight:500;padding:14px 18px;transition:all .3s ease;width:100%}.questionnaire-input:hover{border-color:#218c3a}.questionnaire-input:focus{border-color:#218c3a;box-shadow:0 0 0 3px #218c3a1a;outline:none}.radio-group{display:flex;flex-direction:column;gap:12px;margin-top:5px}.radio-label{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;font-weight:400;gap:10px;padding:14px 16px;transition:all .3s ease}.radio-label span{color:#666;font-weight:400}.radio-label:hover{background-color:#f8f9fa;border-color:#218c3a}.radio-label:hover span{color:#333}.radio-label input[type=radio]{accent-color:#218c3a;cursor:pointer;height:20px;width:20px}.radio-label input[type=radio]:checked+span,.radio-label input[type=radio]:checked~span{color:#218c3a;font-weight:500}.radio-label:has(input[type=radio]:checked){background-color:#f0f9f0;border-color:#218c3a}.radio-label:has(input[type=radio]:checked) span{color:#218c3a;font-weight:500}.questionnaire-info{background-color:#e8f5e9;border-left:4px solid #218c3a;border-radius:8px;margin-top:5px;padding:15px}.questionnaire-info p{color:#2e7d32;font-size:1rem;line-height:1.5;margin:0}.development-info-page{text-align:center}.development-info-page h2{color:#218c3a;font-size:1.8rem;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-color:#f8f9fa;border-left:4px solid #218c3a;border-radius:6px;color:#333;font-size:1rem;line-height:1.6;margin-bottom:10px;padding:12px 20px}.development-info-list li:before{color:#218c3a;content:"•";display:inline-block;font-weight:700;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-color:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 16px;text-transform:uppercase;transition:all .3s ease}.sound-button:hover{background-color:#f8f9fa;border-color:#218c3a;transform:translateY(-2px)}.sound-button.selected{background-color:#218c3a;border-color:#218c3a;color:#fff}.sound-button.selected:hover{background-color:#1e7e34;border-color:#1e7e34}.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-color:#fee;border-left:4px solid #dc3545;border-radius:8px;color:#dc3545;font-size:.9rem;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:#f8f9fa;border-radius:10px;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:#333;font-size:1rem;margin:0 0 10px;text-align:center}.sounds-list{display:flex;flex-direction:column;gap:6px}.sound-result-item{background:#fff;border-left:3px solid #ddd;border-radius:6px;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:#333;font-size:.95rem;font-weight:600;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:#e0e0e0;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:#333;font-size:.85rem;font-weight:600}.sound-result-count{color:#666;font-size:.75rem}@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}}.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;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:56px 20px 20px;position:relative}.auth-choice-container{max-width:500px;width:100%}.auth-choice-content{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0003;padding:50px 40px;text-align:center}.auth-choice-icon{animation:pulse 2s ease-in-out infinite;font-size:80px;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.auth-choice-content h1{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:15px}.auth-choice-content p{color:#6c757d;font-size:18px;line-height:1.5;margin-bottom:40px}.auth-choice-buttons{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.auth-choice-button{align-items:center;border:2px solid #0000;border-radius:15px;display:flex;gap:20px;padding:25px;text-decoration:none;transition:all .3s ease}.auth-choice-button.primary{background:linear-gradient(135deg,#00a300,#00c851);box-shadow:0 6px 20px #00a3004d;color:#fff}.auth-choice-button.secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#495057}.auth-choice-button:hover{transform:translateY(-3px)}.auth-choice-button.primary:hover{box-shadow:0 10px 30px #00a30066}.auth-choice-button.secondary:hover{background:#e9ecef;border-color:#00a300;box-shadow:0 6px 20px #00a3001a}.button-icon{flex-shrink:0;font-size:40px}.button-content{flex:1 1;text-align:left}.button-content h3{font-size:20px;font-weight:600;margin:0 0 5px}.button-content p{font-size:14px;margin:0;opacity:.8}.auth-choice-button.primary .button-content p{color:#ffffffe6}.back-to-home{color:#6c757d;font-size:16px;font-weight:500;text-decoration:none;transition:color .3s ease}.back-to-home:hover{color:#00a300}@media (max-width:768px){.auth-choice-content{padding:40px 30px}.auth-choice-icon{font-size:60px;margin-bottom:15px}.auth-choice-content h1{font-size:28px}.auth-choice-content p{font-size:16px;margin-bottom:30px}.auth-choice-button{gap:15px;padding:20px}.button-icon{font-size:32px}.button-content h3{font-size:18px}.button-content p{font-size:13px}}@media (max-width:480px){.auth-choice-page{padding:15px}.auth-choice-content{padding:30px 20px}.auth-choice-icon{font-size:50px}.auth-choice-content h1{font-size:24px}.auth-choice-content p{font-size:15px}.auth-choice-button{padding:18px 15px}.button-icon{font-size:28px}}@media (max-width:600px){.auth-choice-page{padding-top:44px}}.forgot-password-page{align-items:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 20px;position:relative}.forgot-password-background-elements{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.forgot-password-container{max-width:450px;position:relative;width:100%;z-index:2}.forgot-password-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #00000026;padding:40px}.forgot-password-header{margin-bottom:40px;text-align:center}.forgot-password-icon{animation:bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}.forgot-password-header h1{color:#333;font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.forgot-password-header p{color:#666;font-size:16px;line-height:1.5;margin-bottom:0}.forgot-password-form{margin-bottom:30px}.forgot-password-footer{text-align:center}.forgot-password-footer p{color:#666;font-size:15px;margin-bottom:0}.forgot-password-footer a{color:#00a300;font-weight:600;text-decoration:none;transition:color .3s ease}.forgot-password-footer a:hover{color:green;text-decoration:underline}@media (max-width:768px){.forgot-password-page{padding:15px}.forgot-password-card{padding:30px 24px}.forgot-password-header h1{font-size:28px}.forgot-password-icon{font-size:50px}}@media (max-width:480px){.forgot-password-card{padding:24px 20px}.forgot-password-header h1{font-size:24px}.forgot-password-header p{font-size:14px}.input-group input{font-size:16px;padding:14px 16px}.submit-button{font-size:16px;padding:16px 20px}}.reset-password-page{align-items:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 20px;position:relative}.reset-password-background-elements{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.floating-element{animation:float 6s ease-in-out infinite;color:#fff;font-size:2rem;opacity:.1;position:absolute}.element-1{animation-delay:0s;left:10%;top:10%}.element-2{animation-delay:1s;right:15%;top:20%}.element-3{animation-delay:2s;bottom:30%;left:20%}.element-4{animation-delay:3s;right:25%;top:60%}.element-5{animation-delay:4s;bottom:20%;right:10%}.element-6{animation-delay:5s;left:5%;top:40%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-20px) rotate(5deg)}50%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-15px) rotate(3deg)}}.reset-password-container{max-width:450px;position:relative;width:100%;z-index:2}.reset-password-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #fff3;border-radius:24px;box-shadow:0 20px 60px #00000026;padding:40px}.reset-password-header{margin-bottom:40px;text-align:center}.reset-password-icon{animation:bounce 2s ease-in-out infinite;display:inline-block;font-size:60px;margin-bottom:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.reset-password-header h1{color:#333;font-size:32px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px}.reset-password-header p{color:#666;font-size:16px;line-height:1.5;margin-bottom:0}.reset-password-form{margin-bottom:30px}.input-group{margin-bottom:24px}.input-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-group input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;color:#333;font-size:16px;padding:16px 20px;transition:all .3s ease;width:100%}.input-group input:focus{background:#fff;border-color:#00a300;box-shadow:0 0 0 4px #00a3001a;outline:none}.input-group input:disabled{cursor:not-allowed;opacity:.7}.input-group input::placeholder{color:#adb5bd}.error-message{align-items:center;background:#dc3545;border:1px solid #c82333;border-radius:12px;box-shadow:0 4px 15px #dc35454d;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:24px;padding:12px 16px}.error-message,.error-message *,.success-message{color:#fff!important}.success-message{align-items:center;background:#28a745;border:1px solid #1e7e34;border-radius:12px;box-shadow:0 4px 15px #28a7454d;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:24px;padding:12px 16px}.success-message *{color:#fff!important}.error-icon,.success-icon{color:#fff!important;font-size:16px}.submit-button{align-items:center;background:linear-gradient(135deg,#00a300,#00c851);border:none;border-radius:12px;box-shadow:0 6px 20px #00a3004d;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:10px;justify-content:center;padding:18px 24px;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,green,#00a300);box-shadow:0 8px 25px #00a30066;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.8;transform:none}.submit-button-icon{font-size:20px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.reset-password-footer{text-align:center}.reset-password-footer p{color:#666;font-size:15px;margin-bottom:0}.reset-password-footer a{color:#00a300;font-weight:600;text-decoration:none;transition:color .3s ease}.reset-password-footer a:hover{color:green;text-decoration:underline}@media (max-width:768px){.reset-password-page{padding:15px}.reset-password-card{padding:30px 24px}.reset-password-header h1{font-size:28px}.reset-password-icon{font-size:50px}}@media (max-width:480px){.reset-password-card{padding:24px 20px}.reset-password-header h1{font-size:24px}.reset-password-header p{font-size:14px}.input-group input{font-size:16px;padding:14px 16px}.submit-button{font-size:16px;padding:16px 20px}}.verify-email-page{align-items:flex-start;animation:gradientShift 8s ease infinite;background:linear-gradient(135deg,#00a300,#00c851 50%,#00a300);background-size:400% 400%;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:60px 20px 20px;position:relative}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.verify-email-container{max-width:420px;width:100%}.verify-email-card{background:var(--color-bg);border-radius:16px;box-shadow:0 10px 40px #00000026;padding:32px}.verify-email-header h1{color:var(--color-text);font-size:24px;font-weight:700;margin:0 0 24px;text-align:center}.verify-email-body{color:var(--color-text-secondary);text-align:center}.verify-email-body p{margin:0 0 16px}.verify-email-success{color:var(--color-primary-darker);font-weight:600}.verify-email-error{color:var(--color-error);font-weight:500}.verify-email-body a{color:var(--color-primary);font-weight:600}
/*# sourceMappingURL=main.72fe141d.css.map*/