:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home{padding:0;max-width:100%;margin:0 auto;min-height:100vh;background:var(--tg-theme-bg-color, var(--color-gray-50))}.home-header{background:var(--primary-gradient);color:#fff;padding:var(--space-10) var(--space-5) var(--space-8) var(--space-5);text-align:center;position:relative;overflow:hidden}.home-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(102,126,234,.4) 0%,transparent 60%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.3) 0%,transparent 60%),radial-gradient(circle at 50% 50%,rgba(168,85,247,.2) 0%,transparent 70%);pointer-events:none;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.hero-content{position:relative;z-index:1}.home-header h1{font-size:2.75rem;margin-bottom:var(--space-4);font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.1}.home-header p{font-size:1.25rem;margin-bottom:var(--space-8);opacity:.95;font-weight:500;line-height:1.5}.stats-preview{display:flex;justify-content:center;gap:var(--space-8);margin-top:var(--space-6)}.stat-item{text-align:center}.stat-number{display:block;font-size:1.5rem;font-weight:800;margin-bottom:var(--space-1)}.stat-label{font-size:.875rem;opacity:.9;font-weight:500}.home-content{padding:var(--space-8) var(--space-5);max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-10)}.welcome-message{text-align:center;padding:var(--space-8);background:var(--tg-theme-bg-color, white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);position:relative;overflow:hidden}.welcome-message:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--success-gradient)}.welcome-icon{font-size:3rem;margin-bottom:var(--space-4);display:block}.welcome-message h2{margin-bottom:var(--space-3);font-size:1.75rem;font-weight:800;color:var(--color-gray-800)}.welcome-message p{color:var(--color-gray-600);font-size:1.125rem;line-height:1.6;font-weight:500}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.feature-card{background:var(--tg-theme-bg-color, white);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;border:1px solid var(--color-gray-200);box-shadow:var(--shadow-md);transition:all var(--transition-normal);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);transform:scaleX(0);transition:transform var(--transition-normal)}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-xl),0 0 30px #667eea33}.feature-icon{font-size:2.5rem;margin-bottom:var(--space-4);display:block}.feature-card h3{margin-bottom:var(--space-2);color:var(--color-gray-800);font-size:1.25rem;font-weight:700}.feature-card p{font-size:.875rem;color:var(--color-gray-600);line-height:1.5;margin-bottom:var(--space-4);font-weight:500}.feature-badge{display:inline-block;background:var(--primary-gradient);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.instructions{background:var(--tg-theme-bg-color, white);border-radius:var(--radius-xl);padding:var(--space-8);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-md)}.instructions h3{margin-bottom:var(--space-6);color:var(--color-gray-800);font-size:1.5rem;font-weight:800;text-align:center}.instruction-steps{display:flex;flex-direction:column;gap:var(--space-6)}.step{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4);background:var(--color-gray-50);border-radius:var(--radius-lg);border:1px solid var(--color-gray-200);transition:all var(--transition-normal)}.step:hover{background:var(--color-gray-100);transform:translate(4px)}.step-number{flex-shrink:0;width:2.5rem;height:2.5rem;background:var(--primary-gradient);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.125rem;box-shadow:var(--shadow-md)}.step-content h4{margin-bottom:var(--space-1);color:var(--color-gray-800);font-weight:700;font-size:1.125rem}.step-content p{color:var(--color-gray-600);font-size:.875rem;line-height:1.5;font-weight:500}@media (max-width: 768px){.home-header h1{font-size:2.25rem}.home-header p{font-size:1.125rem}.stats-preview{gap:var(--space-6)}.features{grid-template-columns:1fr}.instruction-steps{gap:var(--space-4)}.step{flex-direction:column;text-align:center;gap:var(--space-3)}.step:hover{transform:translateY(-2px)}}@media (max-width: 480px){.home-content{padding:var(--space-6) var(--space-4);gap:var(--space-8)}.home-header{padding:var(--space-8) var(--space-4) var(--space-6) var(--space-4)}.home-header h1{font-size:2rem}.home-header p{font-size:1rem}.stats-preview{flex-direction:column;gap:var(--space-4)}.welcome-message{padding:var(--space-6)}.welcome-message h2{font-size:1.5rem}.feature-card{padding:var(--space-5)}.instructions{padding:var(--space-6)}.instructions h3{font-size:1.25rem}}@media (prefers-color-scheme: dark){.home{background:var(--tg-theme-bg-color, var(--color-gray-50))}.welcome-message,.feature-card,.instructions{background:var(--tg-theme-bg-color, var(--color-gray-100));border-color:var(--color-gray-200)}.welcome-message h2,.feature-card h3,.instructions h3,.step-content h4{color:var(--tg-theme-text-color, var(--color-gray-900))}.welcome-message p,.feature-card p,.step-content p{color:var(--tg-theme-hint-color, var(--color-gray-600))}.step{background:var(--color-gray-100);border-color:var(--color-gray-200)}.step:hover{background:var(--color-gray-200)}}.results{padding:20px;max-width:600px;margin:0 auto}.results-header{text-align:center;margin-bottom:30px}.results-header h1{font-size:2.2rem;margin-bottom:10px;color:var(--tg-theme-text-color)}.results-header p{color:var(--tg-theme-hint-color)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.stat-card{background:var(--primary-gradient);border-radius:16px;padding:24px;text-align:center;color:#fff;box-shadow:var(--shadow-lg),0 0 20px #667eea4d;transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.stat-card:hover:before{left:100%}.stat-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-xl),0 0 30px #667eea66}.stat-number{font-size:2rem;font-weight:700;margin-bottom:5px}.stat-label{font-size:.9rem;opacity:.9}.results-list h2{margin-bottom:20px;color:var(--tg-theme-text-color)}.result-card{background:#fffffff2;border-radius:16px;padding:24px;margin-bottom:20px;border:1px solid rgba(102,126,234,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);transform:scaleX(0);transition:transform var(--transition-normal)}.result-card:hover:before{transform:scaleX(1)}.result-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg),0 0 25px #667eea33}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.result-type{font-weight:700;font-size:1.1rem;color:var(--tg-theme-text-color)}.result-date{font-size:.9rem;color:var(--tg-theme-hint-color)}.result-content{display:flex;justify-content:space-between;align-items:center}.result-score{font-size:2rem;font-weight:700}.result-details{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.result-details span{font-size:.9rem;color:var(--tg-theme-hint-color)}.no-results{text-align:center;padding:40px 20px;color:var(--tg-theme-hint-color)}.no-results p{margin-bottom:10px}@media (max-width: 480px){.results{padding:15px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:15px}.stat-number{font-size:1.5rem}.result-card{padding:15px}.result-header{flex-direction:column;align-items:flex-start;gap:5px}.result-content{flex-direction:column;align-items:flex-start;gap:10px}.result-details{align-items:flex-start}}.test-vertical{min-height:100vh;background:var(--tg-theme-bg-color, var(--color-gray-50));padding:0;font-family:var(--font-family-primary);position:relative}.test-header{background:var(--primary-gradient);color:#fff;padding:var(--space-6) var(--space-5);text-align:center;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}.test-header h1{margin:0 0 var(--space-2) 0;font-size:1.5rem;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.1)}.test-header p{margin:0 0 var(--space-4) 0;opacity:.95;font-size:.875rem;font-weight:500}.progress-info{margin-top:var(--space-4)}.progress-info span{display:block;margin-bottom:var(--space-2);font-size:.875rem;opacity:.95;font-weight:600}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 10px #667eea80}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.questions-container{padding:var(--space-5) var(--space-4) var(--space-20) var(--space-4);max-width:800px;margin:0 auto}.question-card{background:var(--tg-theme-bg-color, white);border-radius:var(--radius-xl);margin-bottom:var(--space-5);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--color-gray-200);transition:all var(--transition-normal);position:relative}.question-card:hover{box-shadow:var(--shadow-lg),0 0 25px #667eea26;transform:translateY(-3px) scale(1.01)}.question-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.question-header{background:var(--color-gray-50);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-gray-200)}.question-number{font-weight:700;color:var(--color-primary);font-size:1.125rem;display:flex;align-items:center;gap:var(--space-2)}.question-number:before{content:"📝";font-size:1rem}.question-type{font-size:.75rem;color:var(--color-gray-600);background:var(--color-gray-200);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.question-content{padding:16px}.question-text{margin:0 0 16px;color:var(--tg-theme-text-color, #333);font-size:16px;line-height:1.5}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option-btn{padding:12px 16px;border:2px solid var(--tg-theme-hint-color, #e1e5e9);border-radius:8px;background:var(--tg-theme-bg-color, white);color:var(--tg-theme-text-color, #333);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.option-btn:hover,.option-btn.selected{border-color:var(--tg-theme-button-color, #667eea);background:var(--tg-theme-button-color, #667eea);color:var(--tg-theme-button-text-color, white)}.answer-input{width:100%}.text-input{width:100%;padding:12px 16px;border:2px solid var(--tg-theme-hint-color, #e1e5e9);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, white);color:var(--tg-theme-text-color, #333);box-sizing:border-box;transition:border-color .3s ease}.text-input:focus{outline:none;border-color:var(--tg-theme-button-color, #667eea)}.test-footer{position:fixed;bottom:0;left:0;right:0;background:var(--tg-theme-bg-color, white);padding:15px 20px;border-top:1px solid var(--tg-theme-hint-color, #e1e5e9);text-align:center}.submit-test-btn{width:100%;max-width:400px;padding:16px 24px;background:var(--tg-theme-button-color, #667eea);color:var(--tg-theme-button-text-color, white);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto}.submit-test-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px #667eea66,0 0 20px #8b5cf64d;filter:brightness(1.1)}.submit-test-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.warning-text{margin:10px 0 0;color:var(--tg-theme-hint-color, #666);font-size:14px}.test-loading,.test-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;background:var(--tg-theme-bg-color, #f5f5f5)}.test-error .error-icon{font-size:48px;margin-bottom:20px}.test-error h2{margin:0 0 10px;color:var(--tg-theme-text-color, #333);font-size:24px}.test-error p{margin:0 0 20px;color:var(--tg-theme-hint-color, #666);font-size:16px}.back-btn{padding:12px 24px;background:var(--tg-theme-button-color, #667eea);color:var(--tg-theme-button-text-color, white);border:none;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease}.back-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.test-result{min-height:100vh;background:var(--tg-theme-bg-color, #f5f5f5);padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.result-header h1{margin:0 0 20px;color:var(--tg-theme-text-color, #333);font-size:28px}.score-circle{width:120px;height:120px;border-radius:50%;background:var(--tg-theme-button-color, #667eea);display:flex;align-items:center;justify-content:center;margin:0 auto 30px;box-shadow:0 10px 30px #667eea4d}.score{color:var(--tg-theme-button-text-color, white);font-size:24px;font-weight:700}.result-details{background:var(--tg-theme-bg-color, white);border-radius:16px;padding:24px;margin-bottom:30px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.result-details h2{margin:0 0 20px;color:var(--tg-theme-text-color, #333);font-size:20px}.result-stats{display:flex;flex-direction:column;gap:12px}.stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--tg-theme-hint-color, #e1e5e9)}.stat:last-child{border-bottom:none}.stat-label{color:var(--tg-theme-hint-color, #666);font-size:14px}.stat-value{color:var(--tg-theme-text-color, #333);font-weight:600;font-size:16px}.finish-btn{padding:16px 32px;background:var(--tg-theme-button-color, #667eea);color:var(--tg-theme-button-text-color, white);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.finish-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 480px){.questions-container{padding:15px 10px 100px}.question-card{margin-bottom:15px}.answer-options{grid-template-columns:1fr;gap:8px}.option-btn{padding:14px 16px}}.test-code-input{min-height:100vh;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;padding:var(--space-5);font-family:var(--font-family-primary);position:relative;overflow:hidden}.test-code-input:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(102,126,234,.4) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(168,85,247,.2) 0%,transparent 50%),radial-gradient(circle at 60% 60%,rgba(236,72,153,.2) 0%,transparent 50%);pointer-events:none;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}.test-code-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);padding:var(--space-10);max-width:420px;width:100%;box-shadow:var(--shadow-2xl),0 0 40px #667eea1a;text-align:center;position:relative;border:1px solid rgba(255,255,255,.3);animation:slideUp .6s ease-out,glow 3s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:var(--shadow-2xl),0 0 20px #667eea1a}to{box-shadow:var(--shadow-2xl),0 0 40px #8b5cf633}}@media (prefers-color-scheme: dark){.test-code-container{background:#0f172af2;border:1px solid rgba(139,92,246,.2);box-shadow:var(--shadow-2xl),0 0 40px #8b5cf633}@keyframes glow{0%{box-shadow:var(--shadow-2xl),0 0 20px #8b5cf633}to{box-shadow:var(--shadow-2xl),0 0 60px #a855f74d}}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.test-code-header h1{margin:0 0 var(--space-3) 0;font-size:2.25rem;font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.test-code-header p{margin:0 0 var(--space-8) 0;color:var(--color-gray-600);font-size:1.125rem;line-height:1.6;font-weight:500}.test-code-form{margin-bottom:var(--space-8)}.input-group{margin-bottom:var(--space-6);text-align:left;position:relative}.test-code-input-field{width:100%;padding:var(--space-4) var(--space-5);border:2px solid var(--color-gray-200);border-radius:var(--radius-xl);font-size:1.5rem;font-weight:700;text-align:center;letter-spacing:.25em;transition:all var(--transition-normal);background:var(--color-gray-50);color:var(--color-gray-800);font-family:var(--font-family-mono);box-sizing:border-box;position:relative;z-index:1}@media (prefers-color-scheme: dark){.test-code-input-field{background:var(--color-gray-100);color:var(--color-gray-900);border-color:var(--color-gray-200)}.test-code-input-field:focus{background:var(--color-gray-100);border-color:var(--color-primary)}.test-code-input-field.error{border-color:var(--color-error)}}.test-code-input-field::placeholder{color:var(--color-gray-400);font-weight:500}.test-code-input-field:focus{outline:none;border-color:var(--color-primary);background:var(--color-gray-50);box-shadow:0 0 0 4px #667eea26,0 0 20px #8b5cf633,var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.test-code-input-field.error{border-color:var(--color-error);box-shadow:0 0 0 4px #f565651a;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.test-code-input-field:disabled{background-color:var(--color-gray-100);opacity:.6;cursor:not-allowed;transform:none!important}.input-hint{margin-top:var(--space-2);color:var(--color-gray-500);font-size:.75rem;text-align:center;font-weight:500}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);font-size:.875rem;font-weight:600;border:1px solid #fecaca;display:flex;align-items:center;gap:var(--space-2);animation:slideDown .3s ease-out}.loading-message{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:var(--color-info);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);font-size:.875rem;font-weight:600;border:1px solid #7dd3fc;display:flex;align-items:center;justify-content:center;gap:var(--space-2);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.test-code-input{background:var(--tg-theme-bg-color, linear-gradient(135deg, #667eea 0%, #764ba2 100%))}.test-code-container{background:var(--tg-theme-bg-color, white);color:var(--tg-theme-text-color, #333)}.test-code-header h1{color:var(--tg-theme-text-color, #333)}.test-code-header p,.input-hint{color:var(--tg-theme-hint-color, #666)}@media (max-width: 480px){.test-code-input{padding:15px}.test-code-container{padding:30px 20px}.test-code-header h1{font-size:24px}.test-code-input-field{font-size:20px;letter-spacing:3px}}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);--primary-soft: linear-gradient(135deg, #e8f2ff 0%, #f5f0ff 100%);--primary-glow: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--success-soft: linear-gradient(135deg, #d0fdf4 0%, #a7f3d0 100%);--success-glow: linear-gradient(135deg, #00b09b 0%, #96c93d 100%);--warning-gradient: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);--warning-soft: linear-gradient(135deg, #fff4e6 0%, #ffe4e1 100%);--warning-glow: linear-gradient(135deg, #ff6b6b 0%, #ffa726 100%);--error-gradient: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);--error-soft: linear-gradient(135deg, #ffe8e8 0%, #ffebee 100%);--error-glow: linear-gradient(135deg, #ff5722 0%, #f44336 100%);--info-gradient: linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);--info-soft: linear-gradient(135deg, #e1f5fe 0%, #e3f2fd 100%);--info-glow: linear-gradient(135deg, #00c9ff 0%, #92fe9d 100%);--color-primary: #667eea;--color-primary-dark: #5a67d8;--color-primary-light: #a78bfa;--color-secondary: #764ba2;--color-success: #11998e;--color-warning: #ff9a9e;--color-error: #ff6b6b;--color-info: #36d1dc;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--font-family-primary: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-primary: 0 8px 25px 0 rgba(102, 126, 234, .25);--shadow-success: 0 8px 25px 0 rgba(17, 153, 142, .25);--shadow-warning: 0 8px 25px 0 rgba(255, 154, 158, .25);--shadow-error: 0 8px 25px 0 rgba(255, 107, 107, .25);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .6s cubic-bezier(.68, -.55, .265, 1.55);--gradient-cosmic: linear-gradient(135deg, #667eea 0%, #764ba2 25%, #f093fb 50%, #f5576c 75%, #4facfe 100%);--gradient-sunset: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);--gradient-ocean: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-forest: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--gradient-fire: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);--gradient-sky: linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%)}@media (prefers-color-scheme: dark){:root{--primary-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #ec4899 100%);--primary-soft: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);--primary-glow: linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%);--success-gradient: linear-gradient(135deg, #10b981 0%, #34d399 100%);--success-soft: linear-gradient(135deg, #022c22 0%, #064e3b 100%);--success-glow: linear-gradient(135deg, #00f5a0 0%, #00d9f5 100%);--warning-gradient: linear-gradient(135deg, #f59e0b 0%, #fbbf24 100%);--warning-soft: linear-gradient(135deg, #451a03 0%, #78350f 100%);--warning-glow: linear-gradient(135deg, #ff8a00 0%, #e52e71 100%);--error-gradient: linear-gradient(135deg, #ef4444 0%, #f87171 100%);--error-soft: linear-gradient(135deg, #450a0a 0%, #7f1d1d 100%);--error-glow: linear-gradient(135deg, #ff0844 0%, #ffb199 100%);--info-gradient: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--info-soft: linear-gradient(135deg, #0c4a6e 0%, #1e3a8a 100%);--info-glow: linear-gradient(135deg, #00d4ff 0%, #090979 100%);--color-primary: #8b5cf6;--color-primary-dark: #7c3aed;--color-primary-light: #c4b5fd;--color-secondary: #a855f7;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #06b6d4;--color-gray-50: #0f172a;--color-gray-100: #1e293b;--color-gray-200: #334155;--color-gray-300: #475569;--color-gray-400: #64748b;--color-gray-500: #94a3b8;--color-gray-600: #cbd5e1;--color-gray-700: #e2e8f0;--color-gray-800: #f1f5f9;--color-gray-900: #f8fafc;--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 20px -3px rgba(0, 0, 0, .5), 0 4px 8px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 30px -5px rgba(0, 0, 0, .6), 0 10px 15px -5px rgba(0, 0, 0, .4);--shadow-2xl: 0 30px 60px -12px rgba(0, 0, 0, .7);--shadow-primary: 0 8px 25px 0 rgba(139, 92, 246, .4);--shadow-success: 0 8px 25px 0 rgba(16, 185, 129, .4);--shadow-warning: 0 8px 25px 0 rgba(245, 158, 11, .4);--shadow-error: 0 8px 25px 0 rgba(239, 68, 68, .4)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary);background:var(--tg-theme-bg-color, var(--color-gray-50));color:var(--tg-theme-text-color, var(--color-gray-900));line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--transition-normal),color var(--transition-normal)}.app{min-height:100vh;background:var(--tg-theme-bg-color, var(--color-gray-50));transition:background-color var(--transition-normal)}@media (prefers-color-scheme: dark){body{background:var(--tg-theme-bg-color, var(--color-gray-50));color:var(--tg-theme-text-color, var(--color-gray-900))}.app{background:var(--tg-theme-bg-color, var(--color-gray-50))}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family-primary);font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-sm{padding:var(--space-2) var(--space-4);font-size:.875rem;border-radius:var(--radius-md);min-height:2rem}.btn-md{padding:var(--space-3) var(--space-6);font-size:1rem;border-radius:var(--radius-lg);min-height:2.75rem}.btn-lg{padding:var(--space-4) var(--space-8);font-size:1.125rem;border-radius:var(--radius-xl);min-height:3.5rem}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-primary);border:1px solid rgba(99,102,241,.2)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary),var(--shadow-lg);filter:brightness(1.05)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-primary)}.btn-success{background:var(--success-gradient);color:#fff;box-shadow:var(--shadow-success);border:1px solid rgba(16,185,129,.2)}.btn-success:hover{transform:translateY(-2px);box-shadow:var(--shadow-success),var(--shadow-lg);filter:brightness(1.05)}.btn-warning{background:var(--warning-gradient);color:#fff;box-shadow:var(--shadow-warning);border:1px solid rgba(245,158,11,.2)}.btn-warning:hover{transform:translateY(-2px);box-shadow:var(--shadow-warning),var(--shadow-lg);filter:brightness(1.05)}.btn-error{background:var(--error-gradient);color:#fff;box-shadow:var(--shadow-error);border:1px solid rgba(239,68,68,.2)}.btn-error:hover{transform:translateY(-2px);box-shadow:var(--shadow-error),var(--shadow-lg);filter:brightness(1.05)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-ghost{background:transparent;color:var(--tg-theme-text-color, var(--color-gray-700))}.btn-ghost:hover{background:var(--color-gray-100)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:disabled:before{display:none}button{background:var(--tg-theme-button-color, var(--primary-gradient));color:var(--tg-theme-button-text-color, white);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-primary);min-height:2.75rem;position:relative;overflow:hidden}button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--transition-slow)}button:hover:before{left:100%}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary),var(--shadow-lg);filter:brightness(1.05)}button:active{transform:translateY(0);box-shadow:var(--shadow-primary)}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm);filter:none}button:disabled:before{display:none}.card{background:var(--tg-theme-bg-color, white);border-radius:var(--radius-xl);padding:var(--space-6);margin:var(--space-4) 0;border:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-elevated{box-shadow:var(--shadow-lg)}.card-glass{background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2)}@media (prefers-color-scheme: dark){.card{background:var(--tg-theme-bg-color, var(--color-gray-100));border-color:var(--color-gray-200)}.card-glass{background:#292524d9;border:1px solid rgba(255,255,255,.1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.loading-dots:after{content:"";animation:pulse 1.5s ease-in-out infinite}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.glass-effect{background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.glass-effect-dark{background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(139,92,246,.3);box-shadow:0 8px 32px #8b5cf633}.neon-glow{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor,0 0 20px currentColor;animation:neon-pulse 2s ease-in-out infinite alternate}@keyframes neon-pulse{0%{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor,0 0 20px currentColor}to{box-shadow:0 0 2px currentColor,0 0 5px currentColor,0 0 8px currentColor,0 0 12px currentColor}}.gradient-text{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.float-animation{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}.shimmer{position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.morph-shape{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph 8s ease-in-out infinite}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 60% 40%}}.particle-bg{position:relative;overflow:hidden}.particle-bg:before,.particle-bg:after{content:"";position:absolute;width:4px;height:4px;background:var(--color-primary);border-radius:50%;animation:particles 10s linear infinite}.particle-bg:before{top:20%;left:20%;animation-delay:0s}.particle-bg:after{top:60%;left:80%;animation-delay:5s}@keyframes particles{0%{transform:translateY(0) translate(0) scale(1);opacity:1}50%{transform:translateY(-100px) translate(50px) scale(.5);opacity:.5}to{transform:translateY(-200px) translate(-50px) scale(0);opacity:0}}.holographic{background:linear-gradient(45deg,#ff0080,#ff8c00,#40e0d0,#ff0080);background-size:400% 400%;animation:holographic 4s ease-in-out infinite}@keyframes holographic{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.cyberpunk-glow{position:relative;color:#00ff41;text-shadow:0 0 5px #00ff41,0 0 10px #00ff41,0 0 15px #00ff41,0 0 20px #00ff41}.cyberpunk-glow:before{content:attr(data-text);position:absolute;top:0;left:0;color:#ff0080;z-index:-1;animation:cyberpunk-glitch 2s infinite}@keyframes cyberpunk-glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.liquid-animation{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:liquid 15s ease infinite}@keyframes liquid{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.magnetic-hover{transition:all .3s cubic-bezier(.23,1,.32,1)}.magnetic-hover:hover{transform:scale(1.05) rotate(1deg);filter:brightness(1.1) saturate(1.2)}.breathing{animation:breathing 4s ease-in-out infinite}@keyframes breathing{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.aurora-effect{background:linear-gradient(45deg,#667eeacc,#8b5cf6cc,#a855f7cc,#ec4899cc);background-size:400% 400%;animation:aurora 8s ease-in-out infinite}@keyframes aurora{0%,to{background-position:0% 50%;filter:hue-rotate(0deg)}25%{background-position:100% 50%;filter:hue-rotate(90deg)}50%{background-position:100% 100%;filter:hue-rotate(180deg)}75%{background-position:0% 100%;filter:hue-rotate(270deg)}}.hover-lift{transition:transform .3s ease}.hover-lift:hover{transform:translateY(-8px)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px #667eea80}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}
