.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{min-width:320px;max-width:400px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden;pointer-events:auto;animation:toastSlideIn .3s cubic-bezier(.34,1.56,.64,1);position:relative}.toast-exit{animation:toastSlideOut .3s cubic-bezier(.34,1.56,.64,1) forwards}.toast-content{display:flex;align-items:center;gap:12px;padding:16px}.toast-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.toast-message{flex:1;font-size:15px;font-weight:500;color:#1f2937;margin:0;line-height:1.4}.toast-close{width:28px;height:28px;border:none;background:#0000000d;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:#6b7280;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;flex-shrink:0}.toast-close:hover{background:#0000001a;transform:scale(1.1)}.toast-success .toast-icon{background:#10b981;color:#fff}.toast-success{border-left:4px solid #10B981}.toast-error .toast-icon{background:#ef4444;color:#fff}.toast-error{border-left:4px solid #EF4444}.toast-warning .toast-icon{background:#f59e0b;color:#fff}.toast-warning{border-left:4px solid #F59E0B}.toast-info .toast-icon{background:#3b82f6;color:#fff}.toast-info{border-left:4px solid #3B82F6}.toast-progress{height:4px;background:#0000000d;overflow:hidden}.toast-progress-bar{height:100%;transition:width .1s linear}.toast-success .toast-progress-bar{background:#10b981}.toast-error .toast-progress-bar{background:#ef4444}.toast-warning .toast-progress-bar{background:#f59e0b}.toast-info .toast-progress-bar{background:#3b82f6}@keyframes toastSlideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(400px) scale(.8);opacity:0}}@media(max-width:768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;width:100%}@keyframes toastSlideIn{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-100px) scale(.9);opacity:0}}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.spinner{position:relative;display:inline-block;border-radius:50%}.spinner-small{width:30px;height:30px}.spinner-medium{width:50px;height:50px}.spinner-large{width:80px;height:80px}.spinner:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#3b82f6,#7c3aed);animation:spin 1.5s linear infinite}.spinner-inner{position:absolute;inset:4px;background:#fff;border-radius:50%;z-index:1}.spinner-text{color:#7c3aed;font-size:16px;font-weight:600;animation:pulse 2s ease-in-out infinite}.skeleton-wrapper{pointer-events:none}.skeleton{background:linear-gradient(90deg,#e5e7eb,#f3f4f6,#e5e7eb);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.skeleton-icon{width:60px;height:60px;margin:0 auto 15px;border-radius:16px}.skeleton-icon-small{width:48px;height:48px;border-radius:12px}.skeleton-text{height:16px;margin:5px auto}.skeleton-title{width:60%;height:20px}.skeleton-subtitle{width:40%;height:14px}.skeleton-list-text{width:150px;height:16px}.skeleton-category-title{width:120px;height:18px;margin-bottom:12px}.skeleton-task-text{flex:1;height:16px}.skeleton-counter{width:100px;height:28px;border-radius:6px}.skeleton-task{background:#f9fafb;border:1px solid #E5E7EB}.fullscreen-loader{position:fixed;inset:0;background:linear-gradient(135deg,#7c3aed,#3b82f6);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out}.fullscreen-loader .spinner:before{background:#fff}.fullscreen-loader .spinner-inner{background:transparent}.fullscreen-loader .spinner-text{color:#fff;font-size:20px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;font-size:20px;font-weight:600}.home-page{min-height:100vh;background:linear-gradient(135deg,#7c3aed,#3b82f6,#7c3aed);background-size:200% 200%;animation:gradientShift 15s ease infinite}.home-page.with-nav{padding-bottom:80px}.home-header{padding:30px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.header-left{flex:1}.project-title{font-size:32px;font-weight:800;color:#fff;margin-bottom:8px;text-shadow:0 2px 10px rgba(0,0,0,.1)}.project-description{font-size:16px;color:#ffffffe6;margin:0;line-height:1.5;max-width:500px}.progress-badge{background:#ff6b35;color:#fff;padding:12px 20px;border-radius:20px;font-weight:700;font-size:16px}.profile-icon{width:50px;height:50px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;flex-shrink:0;transition:transform .3s}.profile-icon:hover{transform:scale(1.1)}.home-content{background:var(--bg-primary);border-radius:30px 30px 0 0;min-height:calc(100vh - 100px);padding:30px 20px}.training-variants-section{background:var(--card-bg, #fff);border:1px solid var(--border-medium);border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 4px var(--shadow-sm)}.variants-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.variants-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.variants-badge{font-size:.7rem;color:#7c3aed;font-weight:500}.variants-history-btn{margin-left:auto;background:none;border:none;color:#6366f1;font-size:.85rem;cursor:pointer;text-decoration:underline}.variants-history-btn:hover{color:#4f46e5}.variants-description{font-size:.8rem;color:#6b7280;line-height:1.5;margin-bottom:1rem}.variants-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1rem}.variant-btn{padding:.6rem .5rem;background:var(--card-bg);border:1px solid var(--border-medium);border-radius:6px;font-size:.75rem;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;white-space:nowrap}.variant-btn:hover{background:#ede9fe;border-color:#7c3aed;color:#7c3aed}.personal-variant-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:280px;margin:0 auto;padding:.75rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:20px;font-size:.85rem;color:#374151;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.personal-variant-btn:hover{background:#f3f4f6;border-color:#9ca3af}.personal-variant-btn .help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#e5e7eb;border-radius:50%;font-size:.7rem;color:#6b7280}@media(max-width:480px){.variants-grid{grid-template-columns:repeat(3,1fr)}.variants-header{flex-direction:column;align-items:flex-start;gap:.5rem}.variants-history-btn{margin-left:0}}.main-modes{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:30px}.mode-card{background:var(--card-bg);border-radius:16px;padding:20px;text-align:center;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;border:1.5px solid var(--border-light);box-shadow:0 2px 8px var(--shadow-sm);animation:cardFadeInUp .5s ease-out backwards}.mode-card:nth-child(1){animation-delay:.1s}.mode-card:nth-child(2){animation-delay:.2s}.mode-card:nth-child(3){animation-delay:.3s}.mode-card:nth-child(4){animation-delay:.4s}@keyframes cardFadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.mode-card:hover{transform:translateY(-5px);border-color:var(--primary, #7c3aed);box-shadow:0 8px 24px #7c3aed26;background:#7c3aed0a}.mode-card.large{grid-column:span 2;background:linear-gradient(135deg,#7c3aed0d,#3b82f60d);border-color:#7c3aed33}.mode-card.large:hover{background:linear-gradient(135deg,#7c3aed1a,#3b82f61a);border-color:var(--primary, #7c3aed)}.mode-icon{width:60px;height:60px;background:#7c3aed1f;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 15px;transition:transform .3s ease}.mode-card:hover .mode-icon{transform:scale(1.1)}.mode-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:5px}.mode-subtitle{font-size:14px;color:var(--text-secondary)}.additional-section{margin-top:30px}.section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:15px}.additional-list{display:flex;flex-direction:column;gap:10px}.additional-item{background:var(--card-bg);border:1px solid var(--border-light);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;animation:itemSlideIn .4s ease-out backwards}.additional-item:nth-child(1){animation-delay:.5s}.additional-item:nth-child(2){animation-delay:.6s}.additional-item:nth-child(3){animation-delay:.7s}.additional-item:nth-child(4){animation-delay:.8s}.additional-item:nth-child(5){animation-delay:.9s}@keyframes itemSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.additional-item:hover{background:#f9fafb;border-color:#7c3aed}.additional-item-left{display:flex;align-items:center;gap:15px}.additional-icon{width:48px;height:48px;background:#7c3aed1a;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#7c3aed}.additional-text{font-size:16px;font-weight:600;color:var(--text-primary)}.additional-arrow{font-size:20px;color:var(--text-tertiary)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:var(--card-bg);border-top:1px solid var(--border-light);display:flex;justify-content:space-around;align-items:center;padding:8px 0;box-shadow:0 -2px 10px #0000000d;z-index:1000}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:#9ca3af;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;flex:1;max-width:80px;padding:4px 8px}.nav-item.active{color:#7c3aed}.nav-icon{font-size:24px}.nav-label{font-size:12px;font-weight:500}.project-title{background:#fff3;color:#fff;padding:12px 20px;border-radius:20px;font-weight:700;font-size:18px;display:flex;align-items:center;gap:8px}.constructor-section{margin:0 0 30px;padding:25px;background:linear-gradient(135deg,#7c3aed0d,#3b82f60d);border-radius:20px;border:2px dashed rgba(124,58,237,.3)}@media(max-width:768px){.project-title{font-size:16px;padding:10px 16px}.constructor-section{padding:20px 15px}}.variants-loading{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#6b7280;font-size:15px}.variants-empty{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#6b7280}.variants-empty p{font-size:16px;font-weight:600;margin:0 0 8px;color:#374151}.variants-empty span{font-size:14px;color:#9ca3af}.months-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease}.months-modal{background:#fff;border-radius:16px;padding:25px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.months-modal h3{margin:0 0 20px;font-size:20px;color:#1f2937;text-align:center}.months-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.month-btn{padding:14px 18px;background:#f3f4f6;border:1px solid #E5E7EB;border-radius:10px;color:#374151;font-size:15px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;text-align:left}.month-btn:hover{background:#7c3aed;border-color:#7c3aed;color:#fff}.months-empty{text-align:center;padding:30px;color:#9ca3af}.months-close-btn{width:100%;padding:14px;background:#e5e7eb;border:none;border-radius:10px;color:#374151;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.months-close-btn:hover{background:#d1d5db}.dark-theme .months-modal{background:#1f2937}.dark-theme .months-modal h3{color:#f9fafb}.dark-theme .month-btn{background:#374151;border-color:#4b5563;color:#f9fafb}.dark-theme .month-btn:hover{background:#7c3aed;border-color:#7c3aed}.dark-theme .months-close-btn{background:#374151;color:#f9fafb}.dark-theme .months-close-btn:hover{background:#4b5563}.dark-theme .variants-empty p{color:#f9fafb}.dark-theme .variants-empty span,.dark-theme .variants-loading{color:#9ca3af}.auth-buttons-container{display:flex;gap:10px;align-items:center}.auth-btn{padding:10px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;white-space:nowrap}.login-btn{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4)}.login-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.register-btn{background:#fff;color:#7c3aed}.register-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}@media(max-width:768px){.auth-buttons-container{gap:8px}.auth-btn{font-size:13px;padding:8px 16px}}.exam-constructor{width:100%}.constructor-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.constructor-title-compact{font-size:20px;font-weight:700;color:#1f2937;margin:0}.selected-count-badge{background:#7c3aed1a;color:#7c3aed;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;animation:badgePopIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.count-number{font-weight:700;font-size:16px;display:inline-block;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.count-number.pulse{animation:numberPulse .3s ease-out}@keyframes numberPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.constructor-tasks-compact{display:flex;flex-direction:column;gap:20px;max-height:450px;overflow-y:auto;padding:5px}.task-category-compact{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000000d}.category-title-compact{font-size:16px;font-weight:700;color:#7c3aed;margin:0 0 12px}.task-list-compact{display:flex;flex-direction:column;gap:8px}.task-item-compact{background:#f9fafb;border:1px solid #E5E7EB;border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.task-item-compact:hover{background:#f3f4f6;border-color:#7c3aed}.task-info-compact{flex:1;display:flex;align-items:center;gap:10px}.task-number-compact{background:#7c3aed;color:#fff;padding:4px 10px;border-radius:8px;font-size:13px;font-weight:700;min-width:40px;text-align:center}.task-title-compact{font-size:14px;font-weight:500;color:#1f2937;line-height:1.3}.task-counter-compact{display:flex;align-items:center;gap:8px}.counter-button-compact{width:28px;height:28px;border-radius:6px;border:2px solid #7C3AED;background:#fff;color:#7c3aed;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;line-height:1}.counter-button-compact:hover{background:#7c3aed;color:#fff}.counter-button-compact:disabled{border-color:#e5e7eb;color:#d1d5db;cursor:not-allowed}.counter-button-compact:disabled:hover{background:#fff;color:#d1d5db}.counter-value-compact{min-width:30px;text-align:center;font-size:15px;font-weight:700;color:#1f2937;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.counter-value-compact.bounce{animation:counterBounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes counterBounce{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}.constructor-footer-compact{margin-top:20px}.start-button-compact{width:100%;padding:16px;background:#7c3aed;color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.start-button-compact:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.start-button-compact:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.constructor-tasks-compact::-webkit-scrollbar{width:6px}.constructor-tasks-compact::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.constructor-tasks-compact::-webkit-scrollbar-thumb{background:#7c3aed;border-radius:10px}.constructor-tasks-compact::-webkit-scrollbar-thumb:hover{background:#6d28d9}@media(max-width:768px){.constructor-title-compact{font-size:18px}.task-title-compact{font-size:13px}.constructor-tasks-compact{max-height:350px}}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#fff9;transform:scale(0);animation:rippleAnimation .6s ease-out;pointer-events:none}@keyframes rippleAnimation{to{transform:scale(4);opacity:0}}button.ripple-container,.counter-button-compact,.start-button-compact,.submit-button,.modal-btn,.mode-card{position:relative;overflow:hidden}.ripple-dark{background:#0003}.ripple-purple{background:#7c3aed66}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:24px;padding:40px;max-width:450px;width:90%;position:relative;animation:modalSpringIn .5s cubic-bezier(.34,1.56,.64,1);text-align:center;box-shadow:0 20px 60px #0000004d}.modal-icon{font-size:64px;margin-bottom:20px;animation:iconBounce .6s cubic-bezier(.34,1.56,.64,1);animation-delay:.2s;animation-fill-mode:backwards}@keyframes iconBounce{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.modal-content h2{font-size:24px;color:#1f2937;margin-bottom:15px;font-weight:700}.modal-content p{font-size:16px;color:#6b7280;margin-bottom:30px;line-height:1.5}.modal-buttons{display:flex;gap:15px}.modal-btn{flex:1;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.modal-btn.primary{background:#7c3aed;color:#fff}.modal-btn.primary:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.modal-btn.secondary{background:#f3f4f6;color:#1f2937}.modal-btn.secondary:hover{background:#e5e7eb;transform:translateY(-2px)}.modal-close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.modal-close:hover{background:#f3f4f6;color:#1f2937}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSpringIn{0%{transform:scale(.7) translateY(-50px);opacity:0}50%{transform:scale(1.05) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}@media(max-width:768px){.modal-content{padding:30px 20px;max-width:90%}.modal-content h2{font-size:20px}.modal-content p{font-size:14px}.modal-buttons{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus{outline:none}*:focus-visible{outline:2px solid #7c3aed;outline-offset:2px;border-radius:6px}button:focus-visible,a:focus-visible{border-radius:8px}:root{--primary-purple: #7C3AED;--primary-blue: #3B82F6;--text-light: #E0E7FF;--text-white: #FFFFFF;--background-dark: rgba(124, 58, 237, .1);--border-light: rgba(255, 255, 255, .2)}.gradient-background{min-height:100vh;background:linear-gradient(135deg,#7c3aed,#3b82f6,#7c3aed);background-size:200% 200%;animation:gradientShift 15s ease infinite;display:flex;align-items:center;justify-content:center;padding:20px}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.auth-container{width:100%;max-width:450px;padding:40px 30px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.logo-container{text-align:center;margin-bottom:30px}.logo-icon{width:80px;height:80px;margin:0 auto 20px;background:#ffffff26;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:40px}.logo-title{font-size:32px;font-weight:700;color:var(--text-white);margin-bottom:10px}.logo-subtitle{font-size:16px;color:var(--text-light)}.tabs{display:flex;gap:10px;margin-bottom:30px}.tab{flex:1;padding:12px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;background:transparent;color:var(--text-light)}.tab.active{background:#fff;color:#1f2937}.role-select{margin-bottom:20px}.role-label{display:block;color:var(--text-white);font-size:14px;margin-bottom:10px}.role-buttons{display:flex;gap:10px}.role-button{flex:1;padding:20px;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff0d;color:var(--text-white);font-size:16px;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;display:flex;flex-direction:column;align-items:center;gap:8px}.role-button:hover{background:#ffffff1a}.role-button.active{border-color:#fff;background:#ffffff26}.role-icon{font-size:24px}.input-group{margin-bottom:20px}.input-field{width:100%;padding:16px 20px 16px 50px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:var(--text-white);font-size:16px;outline:none;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.input-field::placeholder{color:#ffffff80}.input-field:focus{background:#ffffff26;border-color:#fff6}.input-wrapper{position:relative}.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#fff9;font-size:20px}.toggle-password{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff9;cursor:pointer;font-size:20px}.submit-button{width:100%;padding:16px;border:none;border-radius:12px;background:#fff;color:#1f2937;font-size:18px;font-weight:700;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s;margin-top:10px}.submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.submit-button:disabled{opacity:.6;cursor:not-allowed}.forgot-password{text-align:center;margin-top:20px}.forgot-password a{color:var(--text-light);text-decoration:none;font-size:14px}.error-message{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fff;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.terms{text-align:center;margin-top:30px;font-size:12px;color:var(--text-light)}.terms a{color:#fff;text-decoration:underline}.analysis-results{max-width:800px;margin:0 auto;padding:20px}.result-section{background:var(--card-bg, #fff);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.result-section h2{margin:0 0 16px;color:var(--text-primary, #1a1a2e);font-size:24px;text-align:center}.result-section h3{margin:0 0 16px;color:var(--text-primary, #1a1a2e);font-size:18px;display:flex;align-items:center;gap:8px}.basic-result{text-align:center;background:linear-gradient(135deg,var(--primary-light, #e8f0fe) 0%,var(--card-bg, #fff) 100%)}.score-display{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-bottom:8px}.score-value{font-size:72px;font-weight:700;color:var(--primary-color, #4285f4)}.score-separator{font-size:24px;color:var(--text-secondary, #666)}.score-total{font-size:48px;font-weight:600;color:var(--text-primary, #1a1a2e)}.score-percent{font-size:32px;font-weight:600;color:var(--success-color, #34a853);margin-bottom:12px}.total-time{font-size:16px;color:var(--text-secondary, #666)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{display:flex;flex-direction:column;align-items:center;padding:16px;border-radius:12px;background:var(--bg-secondary, #f8f9fa)}.stat-card .stat-icon{font-size:24px;margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:700}.stat-card .stat-label{font-size:12px;color:var(--text-secondary, #666);margin-top:4px}.stat-card.correct .stat-value{color:var(--success-color, #34a853)}.stat-card.incorrect .stat-value{color:var(--error-color, #ea4335)}.stat-card.skipped .stat-value{color:var(--warning-color, #fbbc04)}.stat-card.time .stat-value{color:var(--primary-color, #4285f4)}.weak-topics-list{display:flex;flex-direction:column;gap:12px}.weak-category-group{border-radius:10px;overflow:hidden;border:1px solid var(--border-color, #e5e7eb)}.weak-category-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:linear-gradient(135deg,#ea43350f,#ea433505);border-bottom:2px solid var(--error-color, #ea4335)}.category-name{font-weight:700;font-size:13px;color:var(--text-primary, #1a1a2e);text-transform:uppercase;letter-spacing:.5px}.category-error-total{font-size:12px;color:var(--error-color, #ea4335);font-weight:600}.weak-topic-item{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e5e7eb)}.weak-topic-item:last-child{border-bottom:none}.topic-info{display:flex;align-items:center;gap:8px}.topic-number{font-weight:700;font-size:13px;color:var(--primary-color, #7c3aed);min-width:28px}.topic-name{font-size:13px;color:var(--text-primary, #1a1a2e);font-weight:500}.topic-stats{display:flex;align-items:center;gap:10px}.error-count{font-size:12px;color:var(--error-color, #ea4335);font-weight:600;min-width:40px}.error-bar{flex:1;height:6px;background:var(--border-color, #e0e0e0);border-radius:3px;overflow:hidden;max-width:150px}.error-fill{height:100%;background:var(--error-color, #ea4335);border-radius:3px;transition:width .3s ease}.error-details{padding:6px 10px;background:#ea43350a;border-radius:6px;border-left:3px solid var(--error-color, #ea4335)}.error-detail-row{display:flex;gap:16px;font-size:12px;padding:2px 0;flex-wrap:wrap}.user-answer-wrong{color:var(--error-color, #ea4335)}.user-answer-wrong strong{text-decoration:line-through;display:inline}.correct-answer-right{color:var(--success-color, #34a853)}.correct-answer-right strong{display:inline}.no-errors{text-align:center;color:var(--success-color, #34a853);font-weight:500;padding:20px}.time-analysis-legend{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap}.legend-item{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px}.legend-normal{background:#34a8531f;color:#34a853}.legend-slow{background:#fbbc041f;color:#e8a200}.legend-fast{background:#ea43351f;color:#ea4335}.time-analysis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.time-task-cell{display:flex;flex-direction:column;align-items:center;padding:8px 4px 6px;border-radius:8px;background:var(--bg-secondary, #f8f9fa);transition:background .3s}.time-task-top{display:flex;align-items:center;gap:4px;margin-bottom:4px}.time-task-num{font-weight:700;font-size:13px;color:var(--text-primary, #333)}.time-bar-container{width:100%;height:4px;background:var(--border-color, #e0e0e0);border-radius:2px;overflow:hidden;margin-bottom:3px}.time-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}.time-normal .time-bar-fill{background:#34a853}.time-too-slow .time-bar-fill{background:#fbbc04}.time-too-fast .time-bar-fill{background:#ea4335}.time-too-fast{animation:flash-fast 2s ease-in-out}@keyframes flash-fast{0%,to{background:var(--bg-secondary, #f8f9fa)}50%{background:#ea43351a}}.time-value{font-size:10px;color:var(--text-secondary, #666)}.time-result{font-size:12px;font-weight:700}.time-result.correct{color:#34a853}.time-result.incorrect{color:#ea4335}@media(max-width:600px){.time-analysis-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:4px}.time-task-cell{padding:6px 2px 4px}}[data-theme=dark] .weak-category-header{background:linear-gradient(135deg,#ea43351f,#ea43350a)}[data-theme=dark] .weak-category-group{border-color:var(--border-color, #374151)}[data-theme=dark] .error-details{background:#ea433514}[data-theme=dark] .time-task-cell{background:var(--bg-secondary)}[data-theme=dark] .time-too-fast{animation:flash-fast-dark 2s ease-in-out}@keyframes flash-fast-dark{0%,to{background:var(--bg-secondary)}50%{background:#ea433526}}.guest-register-prompt{margin-top:16px;padding:16px;background:#4285f40f;border-radius:12px;text-align:center}.guest-register-prompt p{margin:0 0 10px;font-size:14px;color:var(--text-secondary, #666)}.blurred-content{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.general-recommendations{background:linear-gradient(135deg,#7c3aed0a,#3b82f60a);border:1px solid rgba(124,58,237,.1)}.general-rec-subtitle{font-size:13px;color:var(--text-secondary, #888);margin:-8px 0 16px}.general-rec-loading{display:flex;flex-direction:column;align-items:center;padding:20px;gap:10px}.general-rec-loading p{color:var(--text-secondary, #666);font-size:13px}.general-rec-score{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(135deg,#7c3aed14,#3b82f614);border-radius:12px;margin-bottom:14px}.general-rec-score-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#3b82f6);display:flex;align-items:center;justify-content:center;flex-shrink:0}.general-rec-score-circle span{font-size:18px;font-weight:800;color:#fff}.general-rec-score-text strong{font-size:14px;display:block}.general-rec-list{display:flex;flex-direction:column;gap:10px}.general-rec-item{display:flex;gap:12px;padding:12px;background:var(--card-bg, #fff);border-radius:10px;align-items:flex-start;box-shadow:0 1px 3px #0000000a}.general-rec-plan{margin-top:12px;padding:10px 14px;background:var(--card-bg, #fff);border-radius:10px;border-left:3px solid #7C3AED}.general-rec-plan-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888);margin:0 0 6px}.general-rec-plan-day{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.04);flex-wrap:wrap}.general-rec-plan-day:last-of-type{border-bottom:none}.plan-day-name{font-size:12px;font-weight:700;color:#7c3aed;min-width:90px}.plan-day-topic{font-size:12px;color:var(--text-primary, #1a1a2e);flex:1;min-width:0}.plan-day-count{font-size:11px;color:var(--text-secondary, #888);white-space:nowrap}.general-rec-plan-focus{font-size:12px;color:var(--text-secondary, #888);margin:8px 0 0;font-style:italic}[data-theme=dark] .plan-day-name{color:#a78bfa}[data-theme=dark] .general-rec-plan-day{border-color:#ffffff0f}.general-rec-more{display:block;width:100%;margin-top:14px;padding:10px;background:transparent;border:1px dashed rgba(124,58,237,.3);border-radius:10px;color:#7c3aed;font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background .2s}.general-rec-more:hover{background:#7c3aed0f}[data-theme=dark] .general-recommendations{background:linear-gradient(135deg,#7c3aed14,#3b82f614);border-color:#7c3aed26}[data-theme=dark] .general-rec-item,[data-theme=dark] .general-rec-plan{background:var(--bg-secondary)}[data-theme=dark] .general-rec-more{color:#a78bfa;border-color:#7c3aed4d}[data-theme=dark] .general-rec-more:hover{background:#7c3aed1f}[data-theme=dark] .general-rec-subtitle{color:#b0b0c0}[data-theme=dark] .general-rec-score-text strong{color:#e8e8f0}[data-theme=dark] .general-rec-score-text .confidence-badge{color:#d0d0e0}.upsell-block{background:linear-gradient(135deg,#7c3aed0f,#3b82f60f);border:1px dashed rgba(124,58,237,.3);text-align:center}.upsell-title{font-size:17px;font-weight:700;color:var(--text-primary, #1a1a2e);margin:0 0 12px}.upsell-features{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:6px}.upsell-features li{font-size:14px;color:var(--text-secondary, #555);padding-left:22px;position:relative;text-align:left}.upsell-features li:before{content:"✓";position:absolute;left:0;color:#7c3aed;font-weight:700}.upsell-button{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;border-radius:12px;padding:12px 32px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.upsell-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed59}[data-theme=dark] .upsell-block{background:#7c3aed14;border-color:#7c3aed40}.tier-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase}.tier-badge--ai{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff}.tier-badge--base{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.tier-badge--confident{background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff}.tier-badge--admission{background:linear-gradient(135deg,#ff6b6b,#feca57);color:#fff}.tariff-upgrade-btn{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.tariff-upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed66}.tier-hint-small{font-size:12px;color:#7c3aed;margin:2px 0 0;font-weight:600}.pro-badge{display:inline-block;background:linear-gradient(135deg,#ff6b6b,#feca57);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase}.recommendations-content{display:flex;flex-direction:column;gap:16px}.recommendation-item{display:flex;gap:16px;padding:16px;background:var(--bg-secondary, #f8f9fa);border-radius:12px;align-items:flex-start}.rec-icon{font-size:24px;flex-shrink:0}.rec-badge-wrap{position:relative;flex-shrink:0}.rec-task-num{width:42px;height:42px;border-radius:50%;background:var(--accent-gradient, linear-gradient(135deg, #667eea, #764ba2));color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.rec-icon-mini{position:absolute;top:-6px;right:-6px;font-size:16px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.rec-icon-circle{width:42px;height:42px;border-radius:50%;background:var(--bg-tertiary, #eee);display:flex;align-items:center;justify-content:center;font-size:20px}[data-theme=dark] .rec-icon-circle{background:#ffffff1a}.rec-text strong{display:block;color:var(--text-primary, #1a1a2e);margin-bottom:4px}.rec-text p{margin:0;font-size:14px;color:var(--text-secondary, #666)}.placeholder-recommendations{display:flex;flex-direction:column;gap:12px}.placeholder-item{height:60px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.placeholder-box{height:120px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.blurred{position:relative}.blurred>*:not(.blur-overlay):not(h3){filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none}.blur-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#fffffff2;padding:24px 32px;border-radius:12px;text-align:center;box-shadow:0 4px 20px #00000026;max-width:80%}.blur-overlay p{margin:0 0 16px;color:var(--text-primary, #1a1a2e);font-weight:500}.register-btn,.pro-btn{background:linear-gradient(135deg,var(--primary-color, #4285f4),#6c63ff);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.register-btn:hover,.pro-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.pro-btn{background:linear-gradient(135deg,#ff6b6b,#feca57)}.pro-btn:hover{box-shadow:0 4px 12px #ff6b6b66}.result-actions{display:flex;gap:16px;justify-content:center;margin-top:24px}.home-btn,.retry-btn{padding:14px 28px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.home-btn{background:var(--bg-secondary, #f8f9fa);color:var(--text-primary, #1a1a2e);border:2px solid var(--border-color, #e0e0e0)}.home-btn:hover{background:var(--border-color, #e0e0e0)}.retry-btn{background:var(--primary-color, #4285f4);color:#fff;border:none}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}[data-theme=dark] .result-section{background:var(--card-bg);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .basic-result{background:linear-gradient(135deg,rgba(66,133,244,.1) 0%,var(--card-bg) 100%)}[data-theme=dark] .stat-card,[data-theme=dark] .weak-topic-item,[data-theme=dark] .recommendation-item{background:var(--bg-secondary)}[data-theme=dark] .blur-overlay{background:#1e1e2ef2}[data-theme=dark] .placeholder-item,[data-theme=dark] .placeholder-box{background:linear-gradient(90deg,#2a2a3e 25%,#3a3a4e,#2a2a3e 75%);background-size:200% 100%}[data-theme=dark] .home-btn{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .home-btn:hover{background:var(--border-color)}.recommendation-locked{position:relative;opacity:.5;filter:blur(2px);pointer-events:none;-webkit-user-select:none;user-select:none}.locked-line{border-radius:6px;height:14px;background:linear-gradient(90deg,#e0e0e0 25%,#d0d0d0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 2s infinite}.locked-line.long{width:80%;margin-bottom:8px}.locked-line.short{width:55%}[data-theme=dark] .locked-line{background:linear-gradient(90deg,#2a2a3e 25%,#3a3a4e,#2a2a3e 75%);background-size:200% 100%}.locked-recommendations{margin-top:8px}.pro-unlock-prompt{text-align:center;padding:16px;margin-top:8px;background:linear-gradient(135deg,#7c3aed0f,#3b82f60f);border-radius:14px;border:1px dashed rgba(124,58,237,.3)}.pro-unlock-prompt p{margin:0 0 12px;font-size:14px;color:var(--text-secondary, #666);font-weight:500}.pro-unlock-btn{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;border-radius:12px;padding:10px 28px;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}.pro-unlock-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed59}.blurred-score{opacity:.6}.blurred-score .variant-score-circle{background:#ccc}[data-theme=dark] .blurred-score .variant-score-circle{background:#444}.pro-hint-small{font-size:12px;color:#7c3aed;margin:2px 0 0;font-weight:600}.rec-type-critical{border-left:4px solid #DC2626}.rec-type-improvement{border-left:4px solid #D97706}.rec-type-positive{border-left:4px solid #16A34A}.rec-type-habit{border-left:4px solid #2563EB}.rec-action-text{margin-top:6px;font-size:13px;color:#7c3aed;font-weight:500}.variant-score-prediction{display:flex;align-items:center;gap:14px;padding:14px;background:linear-gradient(135deg,#7c3aed14,#3b82f614);border-radius:14px;margin-bottom:12px}.variant-score-circle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#3b82f6);display:flex;align-items:center;justify-content:center;flex-shrink:0}.variant-score-value{font-size:22px;font-weight:800;color:#fff}.variant-score-text strong{font-size:15px}.variant-score-text .confidence-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;margin-left:8px}.variant-score-text .confidence-low{background:#ef44441f;color:#dc2626}.variant-score-text .confidence-medium{background:#f59e0b1f;color:#d97706}.variant-score-text .confidence-high{background:#10b9811f;color:#059669}[data-theme=dark] .variant-score-text .confidence-low{background:#ef444433;color:#f87171}[data-theme=dark] .variant-score-text .confidence-medium{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .variant-score-text .confidence-high{background:#10b98133;color:#34d399}.variant-motivation{background:linear-gradient(135deg,#7c3aed0f,#3b82f60f);border-radius:12px;padding:14px;margin-top:12px}.variant-motivation p{margin:0;font-size:14px;color:var(--text-secondary, #555);font-style:italic;line-height:1.5}.ai-variant-loading{display:flex;flex-direction:column;align-items:center;padding:30px;gap:12px}.ai-variant-loading p{color:var(--text-secondary, #666);font-size:14px}.ai-variant-spinner{width:36px;height:36px;border:3px solid rgba(124,58,237,.2);border-top:3px solid #7C3AED;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-variant-error{text-align:center;padding:20px}.ai-variant-error p{color:var(--text-secondary, #666);margin-bottom:12px}.retry-small-btn{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;border-radius:10px;padding:8px 20px;font-weight:600;font-size:13px;cursor:pointer}.variant-assessment{background:#7c3aed0f;border-radius:12px;padding:12px 16px;margin-bottom:12px}.assessment-label{font-size:12px;color:var(--text-secondary, #888);margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.assessment-value{font-size:16px;font-weight:700;color:var(--text-primary, #333);margin:0}.variant-mistakes-analysis{background:#dc26260a;border-left:3px solid #DC2626;border-radius:0 12px 12px 0;padding:12px 16px;margin-bottom:12px}.analysis-label{font-size:12px;color:#dc2626;margin:0 0 6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.analysis-text{font-size:14px;color:var(--text-primary, #444);margin:0;line-height:1.5}[data-theme=dark] .variant-assessment{background:#7c3aed1f}[data-theme=dark] .assessment-value{color:#e0e0e0}[data-theme=dark] .variant-mistakes-analysis{background:#dc262614}[data-theme=dark] .analysis-text{color:#ccc}.rec-train-btn{margin-top:8px;padding:7px 16px;background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s}.rec-train-btn:hover{opacity:.9}[data-theme=dark] .rec-train-btn{background:linear-gradient(135deg,#8b5cf6,#60a5fa)}.rec-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.rec-actions .rec-train-btn,.rec-actions .rec-theory-btn{margin-top:0}.rec-theory-btn{padding:7px 16px;background:transparent;color:#7c3aed;border:1.5px solid #7C3AED;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.rec-theory-btn:hover{background:#7c3aed1a}[data-theme=dark] .rec-theory-btn{color:#a78bfa;border-color:#a78bfa}[data-theme=dark] .rec-theory-btn:hover{background:#a78bfa26}.time-signals-block{margin:16px 0;display:flex;flex-direction:column;gap:10px}.time-signals-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #666);margin:0 0 4px}.time-signal-group{border-radius:10px;padding:10px 14px;border-left:3px solid transparent}.tsg-fast{background:#ef444414;border-color:#ef4444}.tsg-slow{background:#3b82f614;border-color:#3b82f6}.tsg-unsure{background:#eab30814;border-color:#eab308}.tsg-skipped{background:#9ca3af1a;border-color:#9ca3af}.tsg-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.tsg-icon{font-size:16px;line-height:1}.tsg-label{font-size:13px;font-weight:600;color:var(--text-primary, #1a1a2e)}.tsg-badges{display:flex;gap:4px;flex-wrap:wrap}.tsg-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:20px;background:#00000014;color:var(--text-primary, #1a1a2e)}.tsg-advice{font-size:12px;color:var(--text-secondary, #666);margin:0;line-height:1.4}[data-theme=dark] .tsg-label{color:#e5e7eb}[data-theme=dark] .tsg-badge{background:#ffffff1f;color:#e5e7eb}[data-theme=dark] .tsg-advice{color:#9ca3af}[data-theme=dark] .tsg-fast{background:#ef44441f}[data-theme=dark] .tsg-slow{background:#3b82f61f}[data-theme=dark] .tsg-unsure{background:#eab3081f}[data-theme=dark] .tsg-skipped{background:#9ca3af1a}.quick-wins-block{margin:16px 0;background:var(--card-bg-alt, rgba(124,58,237,.04));border-radius:12px;padding:14px 16px;border:1px solid rgba(124,58,237,.12)}.quick-wins-title,.variant-recs-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #666);margin:0 0 2px}.variant-recs-section{margin-top:16px}.quick-wins-hint{font-size:12px;color:var(--text-secondary, #888);margin:0 0 12px}.quick-win-item{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06);flex-wrap:wrap}.quick-win-item:last-child{border-bottom:none;padding-bottom:0}.qw-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.qw-rank{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qw-info{display:flex;flex-direction:column;gap:1px;min-width:0}.qw-task-num{font-size:11px;font-weight:700;color:#7c3aed;text-transform:uppercase;letter-spacing:.04em}.qw-task-name{font-size:13px;font-weight:500;color:var(--text-primary, #1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qw-right{flex-shrink:0}.qw-score-badge{font-size:12px;font-weight:700;color:#16a34a;background:#16a34a1a;padding:3px 10px;border-radius:20px;white-space:nowrap}.qw-advice{width:100%;font-size:12px;color:var(--text-secondary, #666);margin:4px 0 0 34px;line-height:1.4}[data-theme=dark] .quick-wins-block{background:#7c3aed14;border-color:#7c3aed33}[data-theme=dark] .quick-wins-title{color:#9ca3af}[data-theme=dark] .quick-wins-hint{color:#6b7280}[data-theme=dark] .quick-win-item{border-color:#ffffff0f}[data-theme=dark] .qw-task-name{color:#e5e7eb}[data-theme=dark] .qw-task-num{color:#a78bfa}[data-theme=dark] .qw-advice{color:#9ca3af}[data-theme=dark] .qw-score-badge{color:#4ade80;background:#4ade801f}.essay-check-page h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;margin-bottom:16px;color:var(--text-primary, #1a1a2e)}.essay-check-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;color:var(--text-secondary, #666)}.essay-total-score{display:flex;align-items:center;gap:20px;padding:20px;margin-bottom:20px;background:linear-gradient(135deg,#7c3aed14,#3b82f60f);border-radius:14px;border:1px solid rgba(124,58,237,.15)}.essay-score-circle{display:flex;align-items:baseline;flex-shrink:0}.essay-score-value{font-size:42px;font-weight:800;color:#7c3aed;line-height:1}.essay-score-max{font-size:20px;font-weight:600;color:var(--text-secondary, #888)}.essay-score-info{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary, #666)}.essay-warning{color:#dc2626;font-weight:600}.essay-time{opacity:.7;font-size:12px}.essay-criteria{margin-bottom:20px}.essay-criteria h4{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--text-primary, #1a1a2e)}.criterion-row{border:1px solid rgba(0,0,0,.06);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:box-shadow .2s}.criterion-row:hover{box-shadow:0 2px 8px #0000000f}.criterion-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.criterion-key{font-size:12px;font-weight:700;color:#7c3aed;min-width:28px}.criterion-name{font-size:13px;font-weight:500;color:var(--text-primary, #1a1a2e);flex:1;min-width:0}.criterion-score{font-size:13px;font-weight:700;color:var(--text-primary, #1a1a2e);white-space:nowrap;min-width:36px;text-align:right}.criterion-bar{width:80px;height:6px;background:#0000000f;border-radius:3px;overflow:hidden;flex-shrink:0}.criterion-fill{height:100%;border-radius:3px;transition:width .6s ease}.criterion-full .criterion-fill{background:#16a34a}.criterion-half .criterion-fill{background:#f59e0b}.criterion-low .criterion-fill{background:#dc2626}.criterion-expand{font-size:10px;color:var(--text-secondary, #888);flex-shrink:0}.criterion-detail{padding:10px 14px 14px 52px;font-size:13px;line-height:1.6;color:var(--text-secondary, #555);background:#00000005;border-top:1px solid rgba(0,0,0,.04)}.criterion-quotes blockquote{margin:8px 0 4px;padding:6px 12px;border-left:3px solid #7C3AED;background:#7c3aed0a;border-radius:0 6px 6px 0;font-style:italic;font-size:12px;color:var(--text-secondary, #666)}.essay-errors{margin-bottom:20px}.essay-errors h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.no-errors{color:#16a34a;font-weight:600;font-size:13px}.errors-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.errors-tab{padding:5px 12px;border-radius:20px;border:1px solid rgba(0,0,0,.1);background:transparent;font-size:12px;font-weight:600;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s}.errors-tab:hover{background:#7c3aed0f}.errors-tab.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.errors-content{display:flex;flex-direction:column;gap:8px}.error-item{padding:8px 12px;border-radius:8px;background:#dc26260a;border:1px solid rgba(220,38,38,.1);font-size:13px;line-height:1.5;color:var(--text-primary, #1a1a2e)}.error-wrong{color:#dc2626;font-weight:600;text-decoration:line-through}.error-fix{color:#16a34a;font-weight:600}.error-fragment{color:#dc2626;font-weight:500}.error-issue{color:var(--text-secondary, #666)}.essay-structure{margin-bottom:20px}.essay-structure h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.structure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.structure-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;font-size:13px}.structure-item.ok{background:#16a34a0f;color:#16a34a}.structure-item.missing{background:#dc26260d;color:#dc2626}.structure-item.info{background:#3b82f60f;color:#3b82f6}.structure-icon{font-weight:700;font-size:14px}.structure-label{font-weight:500}.essay-recommendations{margin-bottom:20px}.essay-recommendations h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.essay-recommendations ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.essay-recommendations li{padding:10px 14px;border-radius:8px;background:#3b82f60d;border-left:3px solid #3b82f6;font-size:13px;line-height:1.5;color:var(--text-primary, #1a1a2e)}.essay-improved{margin-bottom:20px}.essay-improved h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.improved-fragment{padding:12px 14px;border-radius:10px;background:#00000005;border:1px solid rgba(0,0,0,.06);margin-bottom:10px}.improved-original{font-size:13px;color:#dc2626;margin-bottom:6px;line-height:1.5}.improved-better{font-size:13px;color:#16a34a;margin-bottom:4px;line-height:1.5}.improved-fragment .label{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.improved-why{font-size:12px;color:var(--text-secondary, #888);margin-top:4px;font-style:italic}.essay-improvement{margin-bottom:20px}.essay-improvement h4{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.improvement-item{padding:12px 14px;border-radius:10px;background:#16a34a0a;border:1px solid rgba(22,163,74,.12);margin-bottom:8px}.improvement-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.improvement-criterion{font-weight:700;font-size:13px;color:#7c3aed}.improvement-score{font-size:13px;font-weight:600;color:var(--text-primary, #1a1a2e)}.improvement-gain{font-size:12px;font-weight:700;color:#16a34a;background:#16a34a1a;padding:2px 8px;border-radius:12px}.improvement-item p{font-size:13px;line-height:1.5;color:var(--text-secondary, #555);margin:0}.essay-deep-analysis{margin-bottom:20px}.essay-deep-analysis h4{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--text-primary, #1a1a2e)}.deep-section{padding:12px 14px;border-radius:10px;background:#7c3aed0a;border:1px solid rgba(124,58,237,.1);margin-bottom:10px}.deep-section strong{font-size:13px;color:#7c3aed}.deep-section p{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--text-primary, #1a1a2e)}.deep-section ul{margin:6px 0 0;padding-left:18px}.deep-section li{font-size:13px;line-height:1.5;color:var(--text-primary, #1a1a2e)}.essay-checks-info{font-size:13px;color:var(--text-secondary, #666);margin-bottom:12px}.essay-empty p{font-size:13px;color:var(--text-secondary, #666);margin-bottom:8px}.essay-textarea{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;min-height:120px;background:var(--bg-primary, #fff);color:var(--text-primary, #1a1a2e);transition:border-color .2s}.essay-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.essay-preview{margin-bottom:12px}.essay-preview-label{font-size:13px;font-weight:600;color:var(--text-secondary, #666);margin-bottom:6px}.essay-preview-text{padding:12px 14px;border-radius:10px;background:#00000005;border:1px solid rgba(0,0,0,.06);font-size:13px;line-height:1.6;color:var(--text-primary, #1a1a2e);max-height:200px;overflow-y:auto}.essay-error{padding:10px 14px;border-radius:8px;background:#dc26260f;border:1px solid rgba(220,38,38,.15);color:#dc2626;font-size:13px;margin-bottom:12px}.essay-check-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border-radius:12px;border:none;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;margin-top:12px}.essay-check-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed59}.essay-check-btn:disabled{opacity:.5;cursor:not-allowed}.ai-variant-spinner.small{width:16px;height:16px;border-width:2px}[data-theme=dark] .essay-total-score{background:linear-gradient(135deg,#7c3aed26,#3b82f61a);border-color:#7c3aed40}[data-theme=dark] .essay-score-value{color:#a78bfa}[data-theme=dark] .criterion-row{border-color:#ffffff0f}[data-theme=dark] .criterion-detail{background:#ffffff08;border-color:#ffffff0a}[data-theme=dark] .criterion-quotes blockquote{background:#7c3aed1a}[data-theme=dark] .errors-tab{border-color:#ffffff1a;color:#9ca3af}[data-theme=dark] .errors-tab:hover{background:#7c3aed1f}[data-theme=dark] .error-item{background:#dc262614;border-color:#dc262626}[data-theme=dark] .structure-item.ok{background:#4ade801a;color:#4ade80}[data-theme=dark] .structure-item.missing{background:#f871711a;color:#f87171}[data-theme=dark] .structure-item.info{background:#60a5fa1a;color:#60a5fa}[data-theme=dark] .essay-recommendations li{background:#3b82f614;border-color:#3b82f6}[data-theme=dark] .improved-fragment{background:#ffffff08;border-color:#ffffff0f}[data-theme=dark] .improvement-item{background:#4ade800f;border-color:#4ade8026}[data-theme=dark] .deep-section{background:#7c3aed14;border-color:#7c3aed26}[data-theme=dark] .essay-textarea{border-color:#ffffff1f;background:#ffffff0a;color:#e5e7eb}[data-theme=dark] .essay-textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa26}[data-theme=dark] .essay-preview-text{background:#ffffff08;border-color:#ffffff0f}[data-theme=dark] .essay-error{background:#dc26261a;border-color:#dc262633}.results-tabs{display:flex;gap:4px;padding:4px;background:#0000000a;border-radius:12px;margin-bottom:16px}.results-tab{flex:1;padding:10px 16px;border:none;border-radius:10px;background:transparent;font-size:14px;font-weight:600;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s}.results-tab:hover{background:#0000000a}.results-tab.active{background:#fff;color:#7c3aed;box-shadow:0 1px 4px #00000014}[data-theme=dark] .results-tabs{background:#ffffff0f}[data-theme=dark] .results-tab{color:#9ca3af}[data-theme=dark] .results-tab:hover{background:#ffffff0f}[data-theme=dark] .results-tab.active{background:#7c3aed33;color:#a78bfa;box-shadow:0 1px 4px #0003}.essay-check-page{padding:0}.essay-check-page.blurred{position:relative;min-height:200px}.essay-source-block{margin-bottom:20px}.essay-source-block h4{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text-secondary, #666)}.essay-source-content{padding:16px;border-radius:12px;background:#3b82f60a;border:1px solid rgba(59,130,246,.12);font-size:13px;line-height:1.8;color:var(--text-primary, #1a1a2e);max-height:300px;overflow-y:auto;white-space:pre-wrap}.essay-student-block{margin-bottom:20px}.essay-student-block h4{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text-primary, #1a1a2e)}.essay-student-content{padding:16px;border-radius:12px;background:#7c3aed0a;border:1px solid rgba(124,58,237,.12);font-size:14px;line-height:1.8;color:var(--text-primary, #1a1a2e);max-height:400px;overflow-y:auto;white-space:pre-wrap}.essay-load-error{padding:24px;text-align:center;border-radius:12px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);margin-bottom:16px}.essay-load-error p{font-size:14px;color:var(--text-secondary, #666);margin-bottom:12px}.essay-empty-block{padding:32px;text-align:center;border-radius:12px;background:#00000005;border:1px dashed rgba(0,0,0,.12)}.essay-empty-block p{font-size:14px;color:var(--text-secondary, #888);margin:0}[data-theme=dark] .essay-check-page h2{color:#e5e7eb}[data-theme=dark] .essay-source-block h4{color:#9ca3af}[data-theme=dark] .essay-source-content{background:#3b82f614;border-color:#3b82f62e;color:#e5e7eb}[data-theme=dark] .essay-student-block h4{color:#e5e7eb}[data-theme=dark] .essay-student-content{background:#7c3aed14;border-color:#7c3aed2e;color:#e5e7eb}[data-theme=dark] .essay-load-error{background:#f59e0b1a;border-color:#f59e0b33}[data-theme=dark] .essay-empty-block{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .essay-empty-block p{color:#6b7280}.exam-page{min-height:100vh;background:var(--bg-primary, #f5f5f5);display:flex;flex-direction:column}.exam-page.loading-state{justify-content:flex-start;align-items:center}.exam-skeleton{width:100%;max-width:600px;padding:0 1rem}.skeleton-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;margin-bottom:.5rem}.skeleton-progress{height:5px;background:var(--border-color, #e0e0e0);border-radius:3px;margin-bottom:1rem;overflow:hidden;position:relative}.skeleton-progress:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(124,58,237,.2),transparent);animation:skeleton-slide 1.5s infinite}.skeleton-card{background:var(--bg-card, #fff);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.skeleton-line,.skeleton-pill,.skeleton-badge,.skeleton-context,.skeleton-option,.skeleton-btn{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.skeleton-line{height:14px;margin-bottom:10px}.skeleton-short{width:60px}.skeleton-medium{width:70%}.skeleton-long{width:90%}.skeleton-full{width:100%}.skeleton-pill{width:100px;height:32px;border-radius:16px}.skeleton-badge{width:140px;height:24px;border-radius:10px;margin-bottom:16px}.skeleton-context{height:80px;margin-bottom:16px;border-radius:8px}.skeleton-option{height:44px;margin-bottom:8px;border-radius:8px}.skeleton-buttons{display:flex;gap:12px;margin-top:16px}.skeleton-btn{flex:1;height:44px;border-radius:8px}.loading-hint{text-align:center;font-size:.85rem;color:var(--text-secondary, #999);margin-top:1.5rem;animation:pulse 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-slide{0%{left:-100%}to{left:200%}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.exam-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--bg-card, #fff);border-bottom:1px solid var(--border-color, #e0e0e0);position:sticky;top:0;z-index:100}.exit-button{background:none;border:none;color:var(--text-secondary, #666);font-size:.9rem;cursor:pointer;padding:.4rem .6rem;display:flex;align-items:center;gap:.25rem;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.exit-button:hover{background:var(--bg-secondary, #f5f5f5);color:var(--primary-color, #7c3aed)}.timer{display:flex;align-items:center;gap:.4rem;background:var(--primary-color, #7c3aed);color:#fff;padding:.4rem .8rem;border-radius:16px;font-weight:600;font-size:.9rem;transition:background .5s ease,box-shadow .5s ease}.timer-warning{background:#d97706;box-shadow:0 0 #d9770666}.timer-danger{background:#dc2626;box-shadow:0 0 #dc262666;animation:timer-pulse 2s ease-in-out infinite}.timer-critical{background:#dc2626;box-shadow:0 0 #dc262680;animation:timer-pulse-fast 1s ease-in-out infinite}@keyframes timer-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 8px #dc262600}}@keyframes timer-pulse-fast{0%,to{box-shadow:0 0 #dc262680;transform:scale(1)}50%{box-shadow:0 0 0 10px #dc262600;transform:scale(1.05)}}.timer-icon{font-size:.85rem}.timer-value{font-family:SF Mono,Menlo,Consolas,monospace;font-size:.95rem}.question-counter{color:var(--text-secondary, #666);font-size:.85rem;font-weight:500}.progress-bar{height:5px;background:var(--border-color, #e0e0e0);position:relative}.progress-fill{height:100%;position:absolute;top:0;transition:width .4s ease,left .4s ease}.progress-correct{background:linear-gradient(90deg,#22c55e,#4ade80);left:0;z-index:3;border-radius:0 2px 2px 0}.progress-incorrect{background:linear-gradient(90deg,#ef4444,#f87171);z-index:2;border-radius:0 2px 2px 0}.progress-skipped{background:linear-gradient(90deg,#fbbf24,#fcd34d);z-index:1;border-radius:0 2px 2px 0}.exam-stats{display:flex;justify-content:center;gap:1rem;padding:.5rem 1rem;background:var(--bg-card, #fff);border-bottom:1px solid var(--border-color, #e0e0e0)}.exam-stats .stat{font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.2rem}.stat-correct{color:#22c55e}.stat-incorrect{color:#ef4444}.stat-skipped{color:#d97706}.stat-pending{color:var(--text-secondary, #999)}.exam-content{flex:1;padding:.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.task-card{background:var(--bg-card, #fff);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;border:2px solid transparent;transition:border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.task-card.feedback-correct{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26,0 2px 8px #22c55e1a}.task-card.feedback-incorrect{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426,0 2px 8px #ef44441a}.feedback-banner{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:8px;margin-bottom:.75rem;animation:feedback-slide-in .3s ease-out;font-weight:600;font-size:.9rem}.feedback-banner.correct{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.feedback-banner.incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.feedback-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:1rem;flex-shrink:0}.feedback-banner.correct .feedback-icon{background:#22c55e;color:#fff}.feedback-banner.incorrect .feedback-icon{background:#ef4444;color:#fff}.feedback-text{flex:1;line-height:1.3}@keyframes feedback-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-option.feedback-locked{pointer-events:none;opacity:.7}.task-badge{display:inline-block;background:#f3e8ff;color:#7c3aed;padding:.2rem .6rem;border-radius:10px;font-size:.75rem;font-weight:600;margin-bottom:.75rem}.task-context{background:var(--bg-secondary, #f9f9f9);padding:.75rem 1rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem;line-height:1.6;border-left:3px solid var(--primary-color, #7c3aed);position:relative;transition:max-height .3s ease}.task-context.collapsed{max-height:none}.context-toggle{display:block;background:none;border:none;color:var(--primary-color, #7c3aed);font-size:.8rem;font-weight:600;cursor:pointer;padding:.4rem 0 0;margin-top:.3rem;transition:color .2s}.context-toggle:hover{color:#6d28d9;text-decoration:underline}.task-question{font-size:.95rem;line-height:1.55;color:var(--text-primary, #333);margin-bottom:1rem}.answer-options{display:flex;flex-direction:column;gap:.5rem}.answer-option{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;background:var(--bg-secondary, #f9f9f9);border:2px solid transparent;border-radius:8px;cursor:pointer;text-align:left;font-size:.9rem;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.answer-option:hover:not(:disabled){background:#f3e8ff;border-color:#c4b5fd}.answer-option.selected{background:#ede9fe;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26,inset 0 0 0 1px #7c3aed4d}.answer-option.selected .option-number{background:#7c3aed;color:#fff;padding:.15rem .4rem;border-radius:4px;margin-right:.2rem}.answer-option:disabled{opacity:.7;cursor:not-allowed}.option-number{font-weight:600;color:var(--primary-color, #7c3aed);min-width:20px;font-size:.85rem}.option-text{flex:1;line-height:1.4}.answer-input{margin-top:.5rem}.answer-input input{width:100%;padding:.75rem 1rem;font-size:.95rem;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;transition:border-color .2s ease;box-sizing:border-box;background:var(--bg-card, #fff);color:var(--text-primary, #333)}.answer-input input:focus{outline:none;border-color:var(--primary-color, #7c3aed)}.answer-input input:disabled{opacity:.6}.action-buttons{display:flex;gap:.75rem;margin-top:1rem}.skip-btn,.answer-btn{flex:1;padding:.75rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}.skip-btn{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);color:var(--text-secondary, #666)}.skip-btn:hover:not(:disabled){background:#fef9c3;border-color:#facc15;color:#854d0e}.answer-btn{background:var(--primary-color, #7c3aed);border:none;color:#fff}.answer-btn:hover:not(:disabled){background:#6d28d9}.answer-btn:disabled,.skip-btn:disabled{opacity:.5;cursor:not-allowed}.task-unavailable{background:var(--bg-card, #fff);border-radius:12px;padding:2rem 1.5rem;text-align:center;color:var(--text-secondary, #666)}.task-unavailable p{margin-bottom:1rem;font-size:1rem}.task-navigation{background:var(--bg-card, #fff);padding:.6rem .75rem .75rem;border-top:1px solid var(--border-color, #e0e0e0)}.nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem;color:var(--text-secondary, #666)}.nav-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-bottom:.6rem}.exam-page .nav-item{width:100%;aspect-ratio:1;min-height:28px;max-height:32px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--bg-card, #fff);font-size:.7rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;padding:0}.exam-page .nav-item:hover:not(:disabled){border-color:var(--primary-color, #7c3aed);transform:scale(1.05)}.exam-page .nav-item:disabled{cursor:not-allowed;opacity:.6}.exam-page .nav-item.current{background:var(--primary-color, #7c3aed);border-color:var(--primary-color, #7c3aed);color:#fff;box-shadow:0 2px 4px #7c3aed4d}.exam-page .nav-item.correct{background:#22c55e;border-color:#22c55e;color:#fff}.exam-page .nav-item.incorrect{background:#ef4444;border-color:#ef4444;color:#fff}.exam-page .nav-item.skipped{background:#fbbf24;border-color:#fbbf24;color:#78350f}.nav-buttons{display:flex;gap:.6rem}.nav-prev,.nav-next,.nav-finish{flex:1;padding:.6rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.nav-prev{background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);color:var(--text-primary, #333)}.nav-prev:hover:not(:disabled){background:var(--bg-card, #fff)}.nav-next{background:var(--primary-color, #7c3aed);border:none;color:#fff}.nav-next:hover:not(:disabled){background:#6d28d9}.nav-finish{background:#22c55e;border:none;color:#fff}.nav-finish:hover:not(:disabled){background:#16a34a}.nav-prev:disabled,.nav-next:disabled,.nav-finish:disabled{opacity:.4;cursor:not-allowed}.exam-page.limit-exhausted-state{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem}.limit-exhausted-content{text-align:center;max-width:400px;padding:40px;background:var(--card-bg, #fff);border-radius:20px;box-shadow:0 4px 20px #0000001a}.limit-exhausted-icon{font-size:48px;margin-bottom:16px}.limit-exhausted-content h2{margin:0 0 12px;font-size:22px;color:var(--text-primary, #1a1a2e)}.limit-exhausted-content p{margin:0 0 24px;font-size:15px;color:var(--text-secondary, #666);line-height:1.5}.limit-exhausted-actions{display:flex;flex-direction:column;gap:12px}.limit-tariffs-btn{background:linear-gradient(135deg,#7c3aed,#3b82f6);color:#fff;border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.limit-tariffs-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed59}.limit-home-btn{background:var(--bg-secondary, #f0f0f0);color:var(--text-primary, #1a1a2e);border:none;padding:12px 28px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer}[data-theme=dark] .limit-exhausted-content{background:var(--card-bg);box-shadow:0 4px 20px #0006}.exam-page.results-state{justify-content:center;align-items:center;padding:1.5rem;background:var(--bg-primary, #f5f5f5)}.results-content{background:var(--bg-card, #fff);border-radius:20px;padding:2rem;text-align:center;max-width:460px;width:100%;box-shadow:0 20px 60px #0000001f;animation:resultsSlideUp .5s cubic-bezier(.34,1.56,.64,1)}@keyframes resultsSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.results-content h1{font-size:1.4rem;font-weight:800;color:var(--text-primary, #333);margin-bottom:1.5rem}.results-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.stat-item{padding:1rem .75rem;border-radius:12px;display:flex;flex-direction:column;gap:.25rem}.stat-item.correct{background:#dcfce7}.stat-item.incorrect{background:#fee2e2}.stat-item.skipped{background:#fef9c3}.stat-item.pending{background:var(--bg-secondary, #f5f5f5)}.stat-value{font-size:1.75rem;font-weight:800}.stat-item.correct .stat-value{color:#22c55e}.stat-item.incorrect .stat-value{color:#ef4444}.stat-item.skipped .stat-value{color:#ca8a04}.stat-item.pending .stat-value{color:var(--text-secondary, #666)}.stat-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #666)}.results-score{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.75rem 1.25rem;background:linear-gradient(135deg,#7c3aed,#a855f7);border-radius:16px;color:#fff;margin-bottom:1.5rem;box-shadow:0 8px 24px #7c3aed59;animation:scorePop .6s cubic-bezier(.34,1.56,.64,1) .2s backwards}@keyframes scorePop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.score-label{font-size:.9rem;opacity:.85;font-weight:500}.score-value{font-size:2.5rem;font-weight:800;line-height:1}.score-percent{font-size:1.1rem;opacity:.9;font-weight:600}.home-button{width:100%;padding:1rem;background:var(--primary-color, #7c3aed);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.home-button:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.variant-title{font-size:14px;font-weight:600;color:#fff;background:#fff3;padding:6px 12px;border-radius:8px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-theme .skeleton-line,.dark-theme .skeleton-pill,.dark-theme .skeleton-badge,.dark-theme .skeleton-context,.dark-theme .skeleton-option,.dark-theme .skeleton-btn{background:linear-gradient(90deg,#2a2a3e 25%,#3a3a4e,#2a2a3e 75%);background-size:200% 100%}.dark-theme .skeleton-card{background:var(--bg-card);box-shadow:0 1px 3px #0000004d}.dark-theme .feedback-banner.correct{background:linear-gradient(135deg,#22c55e26,#22c55e1a);color:#4ade80}.dark-theme .feedback-banner.incorrect{background:linear-gradient(135deg,#ef444426,#ef44441a);color:#fca5a5}.dark-theme .exam-page .task-badge{background:#7c3aed33;color:#a78bfa}.dark-theme .exam-page .task-question{color:var(--text-primary)}.dark-theme .exam-page .task-context{background:var(--bg-secondary);border-left-color:#a78bfa}.dark-theme .context-toggle{color:#a78bfa}.dark-theme .context-toggle:hover{color:#c4b5fd}.dark-theme .exam-page .answer-option{background:var(--bg-secondary);border-color:transparent;color:var(--text-primary)}.dark-theme .exam-page .answer-option:hover:not(:disabled){background:#7c3aed1f;border-color:#a78bfa66}.dark-theme .exam-page .answer-option.selected{background:#7c3aed33;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26,inset 0 0 0 1px #7c3aed4d}.dark-theme .exam-page .option-number{color:#a78bfa}.dark-theme .exam-page .answer-input input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .exam-page .answer-input input:focus{border-color:#a78bfa}.dark-theme .skip-btn{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}.dark-theme .skip-btn:hover:not(:disabled){background:#fbbf241f;border-color:#fbbf2466;color:#fbbf24}.dark-theme .exam-page .nav-item{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .exam-page .nav-item.correct{background:#22c55e;border-color:#22c55e;color:#fff}.dark-theme .exam-page .nav-item.incorrect{background:#ef4444;border-color:#ef4444;color:#fff}.dark-theme .exam-page .nav-item.skipped{background:#fbbf24;border-color:#fbbf24;color:#78350f}.dark-theme .exam-page .nav-item.current{background:var(--primary-color, #7c3aed);border-color:var(--primary-color, #7c3aed);color:#fff;box-shadow:0 2px 4px #7c3aed4d}.dark-theme .exam-page .nav-item:hover:not(:disabled){border-color:#a78bfa}.dark-theme .nav-prev{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.dark-theme .nav-prev:hover:not(:disabled){background:var(--bg-card)}.dark-theme .results-content{background:var(--bg-card);box-shadow:0 10px 40px #0006}.dark-theme .results-content h1{color:var(--text-primary)}.dark-theme .stat-item.pending{background:var(--bg-secondary)}.dark-theme .task-unavailable{background:var(--bg-card);color:var(--text-secondary)}@media(max-width:400px){.exam-header{padding:.5rem .75rem}.timer{padding:.35rem .6rem;font-size:.8rem}.nav-grid{gap:3px}.exam-page .nav-item{min-height:24px;max-height:28px;font-size:.65rem;border-radius:4px}.task-card{padding:.85rem 1rem}.task-question{font-size:.9rem}.answer-option{padding:.6rem .75rem;font-size:.85rem}.exam-stats{gap:.6rem}.exam-stats .stat{font-size:.7rem}}.essay-task{display:flex;flex-direction:column;gap:16px}.essay-task .essay-source-text{max-height:300px;overflow-y:auto;padding:14px 16px;background:#3b82f60a;border:1px solid rgba(59,130,246,.12);border-radius:10px;font-size:14px;line-height:1.7;color:var(--text-primary, #1a1a2e);white-space:pre-wrap}.essay-task .essay-source-text::-webkit-scrollbar{width:6px}.essay-task .essay-source-text::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.essay-prompt{font-size:14px;line-height:1.6;color:var(--text-primary, #1a1a2e);font-weight:500;padding:10px 14px;background:#7c3aed0a;border-radius:8px;border-left:3px solid #7C3AED}.essay-input{display:flex;flex-direction:column;gap:8px}.essay-input .essay-textarea{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-size:14px;font-family:inherit;line-height:1.7;resize:vertical;min-height:280px;background:var(--bg-primary, #fff);color:var(--text-primary, #1a1a2e);transition:border-color .2s}.essay-input .essay-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.essay-word-count{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary, #888);font-weight:500}.saving-indicator{color:#f59e0b;font-size:12px;animation:pulse-text 1.5s infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.essay-actions{display:flex;gap:10px;flex-wrap:wrap}.essay-actions button{padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.essay-actions .btn-secondary{background:transparent;border:1px solid rgba(0,0,0,.12);color:var(--text-secondary, #666)}.essay-actions .btn-secondary:hover{background:#0000000a}.essay-actions .btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;color:#fff}.essay-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.essay-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .essay-task .essay-source-text{background:#3b82f614;border-color:#3b82f633;color:#e5e7eb}[data-theme=dark] .essay-prompt{background:#7c3aed14;color:#e5e7eb}[data-theme=dark] .essay-input .essay-textarea{background:#ffffff0a;border-color:#ffffff1f;color:#e5e7eb}[data-theme=dark] .essay-input .essay-textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa26}[data-theme=dark] .essay-actions .btn-secondary{border-color:#ffffff1a;color:#9ca3af}[data-theme=dark] .essay-actions .btn-secondary:hover{background:#ffffff0f}.task-result{min-height:100vh;background:var(--background-primary);display:flex;flex-direction:column}.result-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-primary);border-bottom:1px solid var(--border-primary)}.result-header .header-icon{font-size:28px}.result-header .header-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.result-content{flex:1;padding:24px 20px;max-width:800px;width:100%;margin:0 auto}.result-card{background:var(--surface-primary);border-radius:20px;padding:32px 24px;box-shadow:0 4px 12px #00000014;animation:fadeIn .4s ease-out}.result-status{text-align:center;margin-bottom:32px}.status-icon{width:100px;height:100px;margin:0 auto 16px}.result-status.correct .status-icon{color:var(--success, #22c55e)}.result-status.incorrect .status-icon{color:var(--error, #ef4444)}.checkmark,.cross{width:100%;height:100%}.checkmark.animated .checkmark-circle{stroke-dasharray:283;stroke-dashoffset:283;animation:circle-draw .6s ease-out forwards}.checkmark.animated .checkmark-check{stroke-dasharray:80;stroke-dashoffset:80;animation:check-draw .4s ease-out .4s forwards}@keyframes circle-draw{to{stroke-dashoffset:0}}@keyframes check-draw{to{stroke-dashoffset:0}}.cross.animated .cross-circle{stroke-dasharray:283;stroke-dashoffset:283;animation:circle-draw .6s ease-out forwards}.cross.animated .cross-x{stroke-dasharray:100;stroke-dashoffset:100;animation:x-draw .35s ease-out .45s forwards}@keyframes x-draw{to{stroke-dashoffset:0}}.checkmark.animated{animation:result-bounce .5s ease-out .8s}.cross.animated{animation:result-shake .4s ease-out .8s}@keyframes result-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes result-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.status-title{font-size:28px;font-weight:700;margin:0;animation:fadeInUp .4s ease-out .6s both}.status-subtitle{font-size:15px;color:var(--text-secondary, #666);margin:6px 0 0;animation:fadeInUp .4s ease-out .8s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-status.correct .status-title{color:var(--success, #22c55e)}.result-status.incorrect .status-title{color:var(--error, #ef4444)}.ai-explanation{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-left:4px solid var(--primary, #7c3aed);border-radius:12px;padding:20px;margin-bottom:24px;animation:fadeIn .4s ease-out .5s both}.ai-explanation.explanation-correct{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left-color:var(--success, #22c55e)}.explanation-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ai-icon{font-size:20px}.explanation-label{font-size:14px;font-weight:600;color:var(--primary, #7c3aed)}.explanation-correct .explanation-label{color:var(--success, #22c55e)}.explanation-text{font-size:15px;line-height:1.6;color:var(--text-primary);margin:0}.correct-answer-block,.user-answer-block{margin-bottom:20px}.block-title{font-size:14px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.answer-display{background:#fff;border:2px solid var(--border-primary);border-radius:12px;padding:16px 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.correct-answer-block .answer-display{border-color:var(--success, #22c55e);background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:var(--success, #22c55e)}.user-answer-block .answer-display.incorrect-mark{border-color:var(--error, #ef4444);background:linear-gradient(135deg,#fef2f2,#fee2e2);color:var(--error, #ef4444);text-decoration:line-through;text-decoration-thickness:2px}.answer-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.answer-alt-item{display:flex;align-items:center;gap:8px}.answer-or-badge{font-size:11px;font-weight:700;color:var(--success, #22c55e);background:#22c55e1a;padding:3px 8px;border-radius:4px;text-transform:uppercase}.answer-alternatives .answer-display{border-color:var(--success, #22c55e);background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:var(--success, #22c55e)}.score-block{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--background-secondary);border-radius:12px;margin-bottom:32px}.score-label{font-size:16px;font-weight:600;color:var(--text-secondary)}.score-value{font-size:24px;font-weight:700}.score-value.correct{color:var(--success, #22c55e)}.score-value.incorrect{color:var(--error, #ef4444)}.result-actions{display:flex;flex-direction:column;gap:12px}.next-task-button,.back-list-button{width:100%;padding:18px;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;border:none}.next-task-button{background:linear-gradient(135deg,var(--primary, #7c3aed) 0%,var(--primary-dark, #6d28d9) 100%);color:#fff}.next-task-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed66}.back-list-button{background:transparent;border:2px solid var(--border-primary);color:var(--text-primary)}.back-list-button:hover{background:var(--background-secondary);border-color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dark-theme .result-card{background:var(--surface-primary);box-shadow:0 4px 12px #0000004d}.dark-theme .ai-explanation{background:linear-gradient(135deg,#7c3aed26,#6366f11a);border-left-color:#a78bfa}.dark-theme .ai-explanation.explanation-correct{background:linear-gradient(135deg,#22c55e1f,#22c55e0f);border-left-color:#34d399}.dark-theme .explanation-text{color:var(--text-primary)}.dark-theme .explanation-label{color:#a78bfa}.dark-theme .explanation-correct .explanation-label{color:#34d399}.dark-theme .answer-display{background:var(--bg-secondary, #374151);border-color:var(--border-primary);color:var(--text-primary)}.dark-theme .correct-answer-block .answer-display{background:#22c55e1a;border-color:#22c55e66;color:#34d399}.dark-theme .user-answer-block .answer-display.incorrect-mark{background:#ef44441a;border-color:#ef444466;color:#f87171}.dark-theme .answer-alternatives .answer-display{background:#22c55e1a;border-color:#22c55e66;color:#34d399}.dark-theme .answer-or-badge{color:#34d399;background:#22c55e26}.dark-theme .score-block{background:var(--bg-secondary)}.dark-theme .score-label{color:var(--text-secondary)}.dark-theme .back-list-button{border-color:var(--border-primary);color:var(--text-primary)}.dark-theme .back-list-button:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}@media(max-width:768px){.result-header .header-title{font-size:16px}.result-content{padding:20px 16px}.result-card{padding:24px 20px}.status-icon{width:80px;height:80px}.status-title{font-size:24px}.answer-display{font-size:16px;padding:14px 16px}.score-value{font-size:20px}}.task-solver{min-height:100vh;background:var(--background-primary);display:flex;flex-direction:column}.task-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-primary);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:100}.task-header .back-button{all:unset;box-sizing:border-box;background:transparent;border:none;font-size:24px;color:var(--text-primary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s,transform .2s}.task-header .back-button:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));transform:scale(1.1)}.task-header .header-content{display:flex;align-items:center;gap:12px;flex:1}.task-header .header-icon{font-size:28px}.task-header .header-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.task-content{flex:1;padding:24px 20px;max-width:800px;width:100%;margin:0 auto}.solver-card{background:var(--bg-primary);border-radius:16px;padding:24px;display:flex;flex-direction:column}.task-badge{display:inline-block;align-self:flex-start;background:var(--purple-light);color:var(--primary);padding:8px 16px;border-radius:12px;font-size:13px;font-weight:600;margin-bottom:16px}.task-question{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 16px;line-height:1.5}.task-question .highlight{color:var(--error);font-weight:700}.task-context{background:var(--bg-secondary);border-left:4px solid var(--primary);padding:20px 24px;border-radius:12px;margin-bottom:24px;font-size:15px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;box-shadow:0 2px 8px #0000000d;font-style:normal;position:relative}.task-context:before{content:'"';font-size:48px;font-weight:700;color:var(--primary);opacity:.15;position:absolute;top:10px;left:10px;font-family:Georgia,serif}.answer-options{margin:20px 0;display:flex;flex-direction:column;gap:10px}.options-hint{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.answer-option{display:block;width:100%;background:var(--bg-primary);border:2px solid var(--border-light);border-radius:12px;padding:14px 18px;font-size:16px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.3px}.answer-option:hover{border-color:var(--primary);background:var(--purple-light);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed26}.answer-option.selected{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-color:var(--primary);color:#fff;box-shadow:0 4px 16px #7c3aed4d}.answer-option:disabled{opacity:.6;cursor:not-allowed}.option-number{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:var(--purple-light);color:var(--primary);border-radius:6px;font-size:13px;font-weight:700;margin-right:10px;padding:0 6px}.answer-option.selected .option-number{background:#fff3;color:#fff}.answer-input{margin:20px 0}.answer-input label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.answer-input input{width:100%;padding:14px 16px;border:2px solid var(--border-light);border-radius:12px;font-size:15px;color:var(--text-primary);background:var(--bg-primary);transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;box-sizing:border-box}.answer-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #7c3aed1a}.answer-input input:disabled{opacity:.6;cursor:not-allowed}.check-button{width:100%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;margin-top:20px}.check-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed59}.check-button:active:not(:disabled){transform:translateY(0)}.check-button:disabled{opacity:.5;cursor:not-allowed}.task-loading,.task-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.task-loading p,.task-error p{font-size:16px;color:var(--text-secondary);margin:0}.retry-button{background:var(--primary);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.retry-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.dark-theme .solver-card{background:var(--surface-primary);box-shadow:0 2px 8px #0000004d}.dark-theme .task-badge{background:#7c3aed33;color:#a78bfa}.dark-theme .task-context{background:var(--bg-secondary);box-shadow:0 2px 8px #0003}.dark-theme .task-context:before{color:#a78bfa}.dark-theme .answer-option{background:var(--bg-primary);border-color:var(--border-light);color:var(--text-primary)}.dark-theme .answer-option:hover{border-color:#a78bfa;background:#7c3aed1a}.dark-theme .option-number{background:#7c3aed33;color:#a78bfa}.dark-theme .answer-input input{background:var(--bg-secondary);border-color:var(--border-light);color:var(--text-primary)}.dark-theme .answer-input input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #7c3aed33}@media(max-width:768px){.task-header .header-title{font-size:16px}.task-content{padding:20px 16px}.solver-card{padding:20px}.task-question{font-size:18px}.answer-option{padding:16px;font-size:16px}}.express-page{min-height:100vh;background:var(--background-primary);display:flex;flex-direction:column}.express-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--surface-primary);border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:100}.express-header .back-button{all:unset;box-sizing:border-box;background:transparent;border:none;font-size:24px;color:var(--text-primary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s,transform .2s}.express-header .back-button:hover{background:var(--bg-secondary, rgba(0, 0, 0, .05));transform:scale(1.1)}.express-header .header-content{display:flex;align-items:center;gap:12px;flex:1}.express-header .header-icon{font-size:28px}.express-header .header-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.express-content{flex:1;padding:24px 20px;max-width:800px;width:100%;margin:0 auto}.tasks-intro{margin-bottom:20px}.intro-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.intro-text{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.tasks-list{display:flex;flex-direction:column;gap:6px}.express-page .task-card{all:unset;box-sizing:border-box;display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px;padding:10px 14px;background:var(--bg-primary, #fff);border:1.5px solid var(--border-light, #e5e7eb);border-radius:10px;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:visible;animation:expressCardIn .35s ease-out backwards}.express-page .task-card:nth-child(1){animation-delay:.03s}.express-page .task-card:nth-child(2){animation-delay:.06s}.express-page .task-card:nth-child(3){animation-delay:.09s}.express-page .task-card:nth-child(4){animation-delay:.12s}.express-page .task-card:nth-child(5){animation-delay:.15s}.express-page .task-card:nth-child(6){animation-delay:.18s}.express-page .task-card:nth-child(7){animation-delay:.21s}.express-page .task-card:nth-child(8){animation-delay:.24s}.express-page .task-card:nth-child(9){animation-delay:.27s}.express-page .task-card:nth-child(10){animation-delay:.3s}.express-page .task-card:nth-child(11){animation-delay:.33s}.express-page .task-card:nth-child(12){animation-delay:.36s}.express-page .task-card:nth-child(13){animation-delay:.39s}.express-page .task-card:nth-child(14){animation-delay:.42s}.express-page .task-card:nth-child(15){animation-delay:.45s}.express-page .task-card:nth-child(16){animation-delay:.48s}.express-page .task-card:nth-child(17){animation-delay:.51s}.express-page .task-card:nth-child(18){animation-delay:.54s}.express-page .task-card:nth-child(19){animation-delay:.57s}.express-page .task-card:nth-child(20){animation-delay:.6s}.express-page .task-card:nth-child(21){animation-delay:.63s}.express-page .task-card:nth-child(22){animation-delay:.66s}.express-page .task-card:nth-child(23){animation-delay:.69s}.express-page .task-card:nth-child(24){animation-delay:.72s}.express-page .task-card:nth-child(25){animation-delay:.75s}.express-page .task-card:nth-child(26){animation-delay:.78s}.express-page .task-card:nth-child(27){animation-delay:.81s}@keyframes expressCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.express-page .task-card:hover{border-color:var(--primary, #7c3aed);background:#7c3aed0a;transform:translate(4px);box-shadow:0 2px 12px #7c3aed1f}.express-page .task-card:active{transform:translate(2px) scale(.995)}.express-page .task-card:hover .task-content,.express-page .task-card:hover .task-header,.express-page .task-card:hover .task-title,.express-page .task-card:hover .task-description{background:transparent!important}.express-page .task-card.progress-good{border-left:3px solid #22c55e}.express-page .task-card.progress-medium{border-left:3px solid #f59e0b}.express-page .task-card.progress-weak{border-left:3px solid #ef4444}.express-page .task-card.locked{opacity:.45;cursor:not-allowed}.express-page .task-card.locked:hover{transform:none;border-color:var(--border-light, #e5e7eb);box-shadow:none;background:var(--bg-primary, #fff)}.express-page .task-number{background:linear-gradient(135deg,var(--primary, #7c3aed) 0%,var(--primary-dark, #6d28d9) 100%);color:#fff;width:36px;height:36px;min-width:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px #7c3aed40;transition:transform .2s,box-shadow .2s}.express-page .task-card:hover .task-number{transform:scale(1.08);box-shadow:0 3px 10px #7c3aed59}.express-page .task-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.express-page .task-header{display:flex;align-items:center;gap:6px}.lock-icon{font-size:11px}.express-page .task-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.express-page .task-description{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.express-page .task-arrow{font-size:18px;color:var(--text-secondary, #9ca3af);flex-shrink:0;transition:transform .2s,color .2s;opacity:.5}.express-page .task-card:hover .task-arrow{transform:translate(3px);color:var(--primary, #7c3aed);opacity:1}.task-progress{display:flex;align-items:center;gap:6px;margin-top:3px}.task-progress-bar{flex:1;height:3px;background:var(--border-color, #e5e7eb);border-radius:2px;overflow:hidden;max-width:100px}.task-progress-fill{height:100%;border-radius:2px;transition:width .3s ease;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);background-size:300% 100%}.progress-good .task-progress-fill{background:#22c55e}.progress-medium .task-progress-fill{background:#f59e0b}.progress-weak .task-progress-fill{background:#ef4444}.task-progress-text{font-size:10px;font-weight:600;color:var(--text-secondary);white-space:nowrap}@media(max-width:768px){.express-header .header-title{font-size:18px}.intro-title{font-size:20px}.express-page .task-card{padding:8px 12px;gap:10px}.express-page .task-number{width:32px;height:32px;min-width:32px;font-size:13px;border-radius:8px}.express-page .task-title{font-size:13px}.express-page .task-description{font-size:11px}}.dark-theme .express-page .task-card{background:var(--surface-primary, #374151);border-color:var(--border-light, #4b5563)}.dark-theme .express-page .task-card:hover{border-color:#a78bfa;background:#7c3aed14;box-shadow:0 2px 12px #7c3aed33}.dark-theme .express-page .task-card.locked:hover{border-color:var(--border-light, #4b5563);background:var(--surface-primary, #374151);box-shadow:none}.dark-theme .express-page .task-title{color:var(--text-primary)}.dark-theme .express-page .task-description,.dark-theme .express-page .task-arrow{color:var(--text-secondary)}.dark-theme .express-page .task-card:hover .task-arrow{color:#a78bfa}:root{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #1f2937;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border-light: #e5e7eb;--border-medium: #d1d5db;--gradient-start: #7c3aed;--gradient-end: #3b82f6;--card-bg: #ffffff;--card-hover: #f9fafb;--shadow-sm: rgba(0, 0, 0, .05);--shadow-md: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .15);--overlay-bg: rgba(0, 0, 0, .7);--input-bg: rgba(255, 255, 255, .1);--input-border: rgba(255, 255, 255, .2);--purple-light: rgba(124, 58, 237, .1);--purple-medium: rgba(124, 58, 237, .15);--primary: #7c3aed;--primary-dark: #6d28d9;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--background-primary: #ffffff;--background-secondary: #f9fafb;--surface-primary: #ffffff;--border-primary: #e5e7eb;--bg-card: #ffffff;--border-color: #e0e0e0;--primary-color: #7c3aed}.dark-theme{--bg-primary: #1f2937;--bg-secondary: #111827;--bg-tertiary: #0f172a;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-light: #374151;--border-medium: #4b5563;--gradient-start: #7c3aed;--gradient-end: #3b82f6;--card-bg: #374151;--card-hover: #4b5563;--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .7);--overlay-bg: rgba(0, 0, 0, .85);--input-bg: rgba(255, 255, 255, .05);--input-border: rgba(255, 255, 255, .1);--purple-light: rgba(124, 58, 237, .2);--purple-medium: rgba(124, 58, 237, .3);--primary: #7c3aed;--primary-dark: #6d28d9;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--background-primary: #1f2937;--background-secondary: #111827;--surface-primary: #374151;--border-primary: #4b5563;--bg-card: #374151;--border-color: #4b5563;--primary-color: #7c3aed}body,.home-content,.profile-content,.auth-container,.mode-card,.additional-item,.task-item-compact,.modal-content,.toast,.setting-item,.profile-card{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.dark-theme .home-content,.dark-theme .profile-content,.dark-theme .teacher-content,.dark-theme .constructor-content{background:var(--bg-primary)}.dark-theme .mode-card{box-shadow:0 2px 8px #0000004d}.dark-theme .project-title{color:#fff}.dark-theme .section-title{color:#f9fafb}.dark-theme .mode-card{background:#374151;border-color:#4b5563}.dark-theme .mode-card:hover{background:#4b5563;box-shadow:0 4px 12px #7c3aed4d}.dark-theme .mode-title{color:#f9fafb}.dark-theme .mode-subtitle{color:#d1d5db}.dark-theme .mode-icon{background:#7c3aed40}.dark-theme .additional-item{background:#374151;border-color:#4b5563}.dark-theme .additional-item:hover{background:#4b5563;border-color:#7c3aed}.dark-theme .additional-text{color:#f9fafb}.dark-theme .additional-arrow{color:#d1d5db}.dark-theme .additional-icon{background:#7c3aed33}.dark-theme .bottom-nav{background:#1f2937;border-top-color:#374151}.dark-theme .nav-item{color:#9ca3af}.dark-theme .nav-item.active{color:#7c3aed}.dark-theme .constructor-section{background:linear-gradient(135deg,#7c3aed1a,#3b82f61a);border-color:#7c3aed66}.dark-theme .task-category-compact{background:#374151}.dark-theme .category-title-compact{color:#a78bfa}.dark-theme .task-item-compact{background:#4b5563;border-color:#6b7280}.dark-theme .task-item-compact:hover{background:#374151}.dark-theme .task-title-compact,.dark-theme .counter-value-compact,.dark-theme .constructor-title-compact{color:#f9fafb}.dark-theme .modal-content{background:#1f2937}.dark-theme .modal-content h2{color:#f9fafb}.dark-theme .modal-content p{color:#d1d5db}.dark-theme .modal-btn.secondary{background:#374151;color:#f9fafb}.dark-theme .modal-btn.secondary:hover{background:#4b5563}.dark-theme .auth-container{background:#1f2937cc;border-color:#ffffff1a}.dark-theme .logo-icon{background:#ffffff1a}.dark-theme .tab{color:#d1d5db}.dark-theme .tab.active{background:#374151;color:#f9fafb}.dark-theme .input-field{background:#ffffff0d;color:#f9fafb;border-color:#ffffff1a}.dark-theme .input-field:focus{background:#ffffff14;border-color:#fff3}.dark-theme .input-field::placeholder{color:#fff6}.dark-theme .role-button{background:#ffffff0d;border-color:#fff3}.dark-theme .role-button:hover{background:#ffffff14}.dark-theme .role-button.active{background:#ffffff1f;border-color:#fff6}.dark-theme .profile-card{background:linear-gradient(135deg,#7c3aed1a,#3b82f61a)}.dark-theme .user-name{color:#f9fafb}.dark-theme .user-role{background:#7c3aed33;color:#d1d5db}.dark-theme .stat-item{background:#374151;border-color:#4b5563}.dark-theme .stat-item:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed66}.dark-theme .stat-label{color:#d1d5db}.dark-theme .setting-item{background:#374151;border-color:#4b5563}.dark-theme .setting-item:hover{background:#4b5563}.dark-theme .setting-text{color:#f9fafb}.dark-theme .setting-value{color:#d1d5db}.dark-theme .setting-icon{background:#7c3aed33}.dark-theme .logout-button{background:#374151;border-color:#ef4444}.dark-theme .logout-button:hover{background:#ef4444}.dark-theme .profile-header .back-button,.dark-theme .constructor-header .back-button,.dark-theme .teacher-header .back-button{background:#ffffff26}.dark-theme .profile-header .back-button:hover,.dark-theme .constructor-header .back-button:hover,.dark-theme .teacher-header .back-button:hover{background:#ffffff40}.dark-theme .toast{background:#1f2937;box-shadow:0 8px 24px #00000080}.dark-theme .toast-message{color:#f9fafb}.dark-theme .toast-close{background:#ffffff0d;color:#d1d5db}.dark-theme .toast-close:hover{background:#ffffff1a;color:#f9fafb}.dark-theme .constructor-tasks-compact::-webkit-scrollbar-track{background:#1f2937}.dark-theme .constructor-tasks-compact::-webkit-scrollbar-thumb{background:#7c3aed}.dark-theme .constructor-tasks-compact::-webkit-scrollbar-thumb:hover{background:#6d28d9}.dark-theme .skeleton{background:linear-gradient(90deg,#374151,#4b5563,#374151)}.dark-theme .start-button-compact:disabled{background:#4b5563}.dark-theme .counter-button-compact:disabled{border-color:#4b5563;color:#6b7280}.dark-theme .counter-button-compact:disabled:hover{background:transparent;color:#6b7280}.dark-theme .profile-icon{background:#374151}.dark-theme .toggle-switch{background:#4b5563}.dark-theme .toggle-switch.active{background:#7c3aed}.dark-theme .toggle-knob{background:#f9fafb}.dark-theme .training-variants-section{background:#374151;border-color:#4b5563}.dark-theme .variants-title{color:#f9fafb}.dark-theme .variants-badge{background:#7c3aed4d;color:#c4b5fd}.dark-theme .variants-history-btn{background:#4b5563;color:#d1d5db;border-color:#6b7280}.dark-theme .variants-history-btn:hover{background:#6b7280;color:#f9fafb}.dark-theme .variants-description{color:#9ca3af}.dark-theme .variant-btn{background:#4b5563;color:#f9fafb;border-color:#6b7280}.dark-theme .variant-btn:hover{background:#7c3aed;border-color:#7c3aed;color:#fff}.dark-theme .personal-variant-btn{background:#7c3aed26;border-color:#7c3aed66;color:#c4b5fd}.dark-theme .personal-variant-btn:hover{background:#7c3aed40;border-color:#7c3aed}.dark-theme .help-icon{background:#7c3aed4d;color:#c4b5fd}.dark-theme .exam-page.results-state{background:var(--bg-secondary)}.dark-theme .stat-item.correct{background:#22c55e1f}.dark-theme .stat-item.incorrect{background:#ef44441f}.dark-theme .stat-item.skipped{background:#fbbf241f}.dark-theme .start-button-container{background:var(--card-bg);border-top-color:var(--border-light)}.dark-theme .selection-info{background:#7c3aed26}.dark-theme .invite-code-section{background:linear-gradient(135deg,#7c3aed1a,#3b82f61a);border-color:#7c3aed4d}.dark-theme .training-variants-section{background:var(--card-bg);border-color:var(--border-light)}
