.form-container{max-width:800px;margin:0 auto}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border-default)}.form-section:last-of-type{border-bottom:none}.form-section-title{font-size:1rem;color:var(--color-text-primary);margin:0 0 1.25rem;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;align-items:start}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column}.form-group>label:not(.checkbox-label):not(.radio-label){display:block;margin-bottom:.5rem;color:var(--color-text-secondary);font-weight:500;font-size:.875rem;line-height:1.5}.required{color:var(--color-danger)}.floating-field{position:relative;margin-bottom:1.5rem}.floating-field .floating-input{width:100%;padding:1.25rem .875rem 1rem;border:2px solid var(--color-border-default);border-radius:8px;font-size:1rem;background-color:transparent;color:var(--color-text-primary);transition:all .2s ease;font-family:inherit;box-sizing:border-box;outline:none}.floating-field .floating-label{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--color-text-muted);pointer-events:none;transition:all .2s ease;background-color:var(--color-bg-subtle);padding:0 .375rem}.floating-field .floating-input:focus+.floating-label,.floating-field .floating-input:not(:placeholder-shown)+.floating-label,.floating-field .floating-input.has-value+.floating-label{top:0;transform:translateY(-50%);font-size:.75rem;font-weight:500;color:var(--color-accent)}.floating-field .floating-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-muted)}.floating-field .floating-input:not(:focus):not(:placeholder-shown)+.floating-label{color:var(--color-text-secondary)}.floating-field .floating-input:hover:not(:focus):not(:disabled){border-color:var(--color-text-muted)}.floating-field.has-error .floating-input{border-color:var(--color-danger)}.floating-field.has-error .floating-input:focus{box-shadow:0 0 0 4px #f8514933}.floating-field.has-error .floating-label,.floating-field.has-error .floating-input:focus+.floating-label{color:var(--color-danger)}.floating-field .floating-input:disabled{background-color:var(--color-bg-muted);cursor:not-allowed;opacity:.6}.floating-field .floating-input:disabled+.floating-label{opacity:.6}.floating-field .floating-label .required{color:var(--color-danger);margin-left:.25rem}.floating-field textarea.floating-input{resize:vertical;min-height:120px;padding-top:1.5rem}.floating-field textarea.floating-input+.floating-label{top:1rem;transform:none}.floating-field textarea.floating-input:focus+.floating-label,.floating-field textarea.floating-input:not(:placeholder-shown)+.floating-label{top:0;transform:translateY(-50%)}.floating-field select.floating-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238d96a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.floating-field select.floating-input:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236462F1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.floating-field select.floating-input option{background-color:var(--color-bg-subtle);color:var(--color-text-primary);padding:.5rem}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-default);border-radius:6px;font-size:.875rem;background-color:var(--color-bg-canvas);color:var(--color-text-primary);transition:all .15s ease;font-family:inherit;box-sizing:border-box;line-height:1.5}.form-input:hover:not(:disabled):not(:read-only){border-color:var(--color-border-subtle)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted)}.form-input::placeholder{color:var(--color-text-placeholder)}.form-input:disabled{background-color:var(--color-bg-subtle);cursor:not-allowed;opacity:.6}.form-input:read-only{background-color:var(--color-bg-subtle);cursor:default}.form-input.error{border-color:var(--color-danger)}textarea.form-input{resize:vertical;min-height:100px}.error-message{display:block;color:var(--color-danger);font-size:.8125rem;margin-top:.25rem}.hint{color:var(--color-text-muted);font-size:.8125rem;margin-top:.375rem}.form-actions{display:flex;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-default)}.btn{padding:.5rem 1.25rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-emphasis);border-color:var(--color-accent-emphasis)}.btn-secondary{background-color:var(--color-bg-muted);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-emphasis);border-color:var(--color-border-subtle)}.success-message{text-align:center;padding:2rem}.success-message h2{color:var(--color-success);margin-bottom:1rem}.success-message p{color:var(--color-text-secondary)}.success-data{background-color:var(--color-bg-muted);border:1px solid var(--color-border-default);border-radius:6px;padding:1.5rem;margin:1.5rem auto;text-align:left;max-width:500px}.success-data p{margin:.5rem 0;color:var(--color-text-secondary);font-size:.9375rem}.success-data strong{color:var(--color-text-primary);margin-right:.5rem}@media(max-width:768px){.form-row{grid-template-columns:1fr;gap:0;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-actions{flex-direction:column;margin-top:1.5rem}.btn{width:100%}}*{box-sizing:border-box}:root{--color-bg-canvas: #0d1117;--color-bg-default: #010409;--color-bg-subtle: #161b22;--color-bg-muted: #21262d;--color-bg-emphasis: #30363d;--color-border-default: #30363d;--color-border-muted: #21262d;--color-border-subtle: #6e768166;--color-border-emphasis: #484f58;--color-text-primary: #e6edf3;--color-text-secondary: #8d96a0;--color-text-muted: #6e7681;--color-text-placeholder: #6e7681;--color-accent: #6462f1;--color-accent-emphasis: #7c7af5;--color-accent-muted: #6462f133;--color-accent-subtle: #6462f11a;--color-success: #3fb950;--color-success-emphasis: #238636;--color-warning: #d29922;--color-danger: #f85149;--color-info: #58a6ff;--shadow-sm: 0 1px 0 rgba(27, 31, 36, .04);--shadow-md: 0 3px 6px rgba(1, 4, 9, .4);--shadow-lg: 0 8px 24px rgba(1, 4, 9, .6);--shadow-xl: 0 12px 48px rgba(1, 4, 9, .8);--animation-fast: .15s;--animation-normal: .3s;--animation-slow: .5s;--easing-standard: cubic-bezier(.4, 0, .2, 1);--easing-decelerate: cubic-bezier(0, 0, .2, 1);--easing-accelerate: cubic-bezier(.4, 0, 1, 1);--easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-canvas);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-canvas)}#root{min-height:100vh;display:flex;flex-direction:column}#root>div{flex:1;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-accent-muted);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a{color:var(--color-accent-emphasis);text-decoration:none}a:hover{text-decoration:none}.radio-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.375rem 0;position:relative}.radio-label input[type=radio]{position:absolute;opacity:0;width:0;height:0}.radio-label .radio-custom{display:inline-block;width:18px;height:18px;min-width:18px;border:2px solid var(--color-border-emphasis);border-radius:50%;background-color:var(--color-bg-canvas);flex-shrink:0;position:relative;transition:all .15s ease;vertical-align:middle}.radio-label .radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:8px;height:8px;border-radius:50%;background-color:var(--color-accent);transition:transform .15s ease}.radio-label:hover .radio-custom{border-color:var(--color-accent)}.radio-label input[type=radio]:checked+.radio-custom{border-color:var(--color-accent)}.radio-label input[type=radio]:checked+.radio-custom:after{transform:translate(-50%,-50%) scale(1)}.radio-label input[type=radio]:focus+.radio-custom{box-shadow:0 0 0 3px var(--color-accent-muted)}.radio-label input[type=radio]:disabled+.radio-custom{opacity:.5;cursor:not-allowed}.radio-label:has(input:disabled){cursor:not-allowed;opacity:.6}.radio-label .radio-text{color:var(--color-text-primary);font-size:.9375rem;line-height:1.5}.checkbox-label{display:inline-flex;align-items:flex-start;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem 0;position:relative}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-label .checkbox-custom{width:20px;height:20px;min-width:20px;margin-top:1px;border:2px solid var(--color-text-muted);border-radius:4px;background-color:transparent;flex-shrink:0;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.checkbox-label .checkbox-custom:before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;border-radius:50%;background-color:var(--color-accent);transform:translate(-50%,-50%) scale(0);opacity:0;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;pointer-events:none}.checkbox-label .checkbox-custom svg{width:14px;height:14px;stroke:#fff;stroke-width:3;fill:none;opacity:0;transform:scale(0) rotate(-45deg);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.checkbox-label:hover .checkbox-custom{border-color:var(--color-accent)}.checkbox-label:hover .checkbox-custom:before{transform:translate(-50%,-50%) scale(1);opacity:.08}.checkbox-label input[type=checkbox]:focus-visible+.checkbox-custom{outline:none;box-shadow:0 0 0 4px var(--color-accent-muted)}.checkbox-label input[type=checkbox]:focus-visible+.checkbox-custom:before{transform:translate(-50%,-50%) scale(1);opacity:.12}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom svg{opacity:1;transform:scale(1) rotate(0)}.checkbox-label:active .checkbox-custom:before{transform:translate(-50%,-50%) scale(1);opacity:.2}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:hover{background-color:var(--color-accent-emphasis);border-color:var(--color-accent-emphasis)}.checkbox-label input[type=checkbox]:indeterminate+.checkbox-custom{background-color:var(--color-accent);border-color:var(--color-accent)}.checkbox-label input[type=checkbox]:indeterminate+.checkbox-custom svg{opacity:0}.checkbox-label input[type=checkbox]:indeterminate+.checkbox-custom:after{content:"";position:absolute;width:10px;height:2px;background-color:#fff;border-radius:1px}.checkbox-label input[type=checkbox]:disabled+.checkbox-custom{border-color:var(--color-border-default);background-color:var(--color-bg-muted);cursor:not-allowed}.checkbox-label input[type=checkbox]:disabled+.checkbox-custom:before{display:none}.checkbox-label input[type=checkbox]:disabled:checked+.checkbox-custom{background-color:var(--color-text-muted);border-color:var(--color-text-muted)}.checkbox-label:has(input:disabled){cursor:not-allowed;opacity:.6}.checkbox-label .checkbox-text{color:var(--color-text-primary);font-size:.9375rem;line-height:1.5;padding-top:1px}.checkbox-label:hover .checkbox-text{color:var(--color-text-primary)}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:.375rem}.checkbox-nested{display:flex;flex-direction:column;gap:.375rem;margin-left:1.75rem;padding-left:.75rem;border-left:2px solid var(--color-border-default)}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity var(--animation-normal) var(--easing-decelerate),transform var(--animation-normal) var(--easing-decelerate)}.fade-in{animation:fadeIn var(--animation-normal) var(--easing-decelerate)}.fade-in-up{animation:fadeInUp var(--animation-normal) var(--easing-decelerate)}.fade-in-scale{animation:fadeInScale var(--animation-normal) var(--easing-bounce)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hover-lift{transition:transform var(--animation-fast) var(--easing-standard),box-shadow var(--animation-fast) var(--easing-standard)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.hover-lift:active{transform:translateY(0)}.animate-success{animation:successPop .4s var(--easing-bounce)}.animate-error{animation:errorShake .4s var(--easing-standard)}@keyframes successPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes errorShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.animate-pulse{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:1;box-shadow:0 0 0 0 var(--color-accent-muted)}50%{opacity:.9;box-shadow:0 0 0 8px transparent}}.stagger-children>*{opacity:0;animation:fadeInUp var(--animation-normal) var(--easing-decelerate) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mascot-container{display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.mascot-container.visible{opacity:1;transform:translateY(0)}.mascot-container[role=button]{cursor:pointer}.mascot-tiny .mascot-image{width:32px;height:32px}.mascot-small .mascot-image{width:64px;height:64px}.mascot-medium .mascot-image{width:100px;height:100px}.mascot-large .mascot-image{width:150px;height:150px}.mascot-character{position:relative;display:flex;align-items:center;justify-content:center}.mascot-image{border-radius:16px;object-fit:cover;transition:transform .3s ease,filter .3s ease}.mascot-lottie{border-radius:16px}.mascot-placeholder{background:var(--color-bg-subtle, rgba(100, 98, 241, .12));border-radius:50%;animation:mascotPulse 1.2s ease-in-out infinite}@keyframes mascotPulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.7;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.mascot-placeholder{animation:none;opacity:.5}}.mascot-tiny .mascot-lottie{width:32px;height:32px}.mascot-small .mascot-lottie{width:64px;height:64px}.mascot-medium .mascot-lottie{width:100px;height:100px}.mascot-large .mascot-lottie{width:150px;height:150px}.mascot-character.has-lottie .mascot-lottie{animation:none!important}.mascot-character.animated .mascot-image{animation:mascotBreathe 3s ease-in-out infinite}.mascot-character.animated.happy .mascot-image{animation:mascotBounce .6s ease,mascotBreathe 3s ease-in-out .6s infinite}.mascot-character.animated.excited .mascot-image{animation:mascotJump .8s ease infinite}.mascot-character.animated.thinking .mascot-image{animation:mascotThink 2s ease-in-out infinite}.mascot-character.animated.sad .mascot-image{animation:mascotSad .5s ease,mascotBreathe 4s ease-in-out .5s infinite;filter:saturate(.7)}.mascot-character.animated.sleeping .mascot-image{animation:mascotSleep 3s ease-in-out infinite;filter:brightness(.8)}.mascot-character.animated.celebrating .mascot-image{animation:mascotCelebrate 1s ease infinite}.mascot-character.animated.greeting .mascot-image{animation:mascotWave 1s ease,mascotBreathe 3s ease-in-out 1s infinite}@keyframes mascotBounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-15px) scale(1.05)}50%{transform:translateY(-5px) scale(1)}70%{transform:translateY(-8px) scale(1.02)}}@keyframes mascotJump{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-5deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-10px) rotate(5deg)}}@keyframes mascotThink{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-2deg)}75%{transform:translateY(-3px) rotate(2deg)}}@keyframes mascotSad{0%{transform:translateY(0)}25%{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(3px) rotate(3deg)}to{transform:translateY(0)}}@keyframes mascotSleep{0%,to{transform:scale(1)}50%{transform:scale(.98)}}@keyframes mascotCelebrate{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1) rotate(0)}75%{transform:scale(1.1) rotate(5deg)}}@keyframes mascotWave{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes mascotBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.02)}}.mascot-thinking-dots{position:absolute;top:-10px;right:-10px;display:flex;gap:4px}.mascot-thinking-dots span{width:8px;height:8px;background:var(--color-accent);border-radius:50%;animation:thinkingDot 1.4s ease-in-out infinite}.mascot-thinking-dots span:nth-child(2){animation-delay:.2s}.mascot-thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinkingDot{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.mascot-sparkles{position:absolute;inset:-20px;pointer-events:none}.mascot-sparkles .sparkle{position:absolute;font-size:1.25rem;animation:sparkle 1.5s ease-in-out infinite}.mascot-sparkles .sparkle:nth-child(1){top:0;left:50%;animation-delay:0s}.mascot-sparkles .sparkle:nth-child(2){top:50%;right:0;animation-delay:.5s}.mascot-sparkles .sparkle:nth-child(3){bottom:0;left:20%;animation-delay:1s}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.mascot-bubble{background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:12px;padding:.75rem 1rem;max-width:250px;text-align:center;position:relative;animation:bubbleFadeIn .3s ease}.mascot-bubble:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--color-border-default)}.mascot-bubble:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--color-bg-subtle)}.mascot-bubble p{margin:0;font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.mascot-bubble.happy,.mascot-bubble.excited,.mascot-bubble.celebrating{background:#22c55e1a;border-color:var(--color-success)}.mascot-bubble.happy:before,.mascot-bubble.excited:before,.mascot-bubble.celebrating:before{border-bottom-color:var(--color-success)}.mascot-bubble.happy:after,.mascot-bubble.excited:after,.mascot-bubble.celebrating:after{border-bottom-color:#22c55e1a}.mascot-bubble.sad{background:#ef44441a;border-color:var(--color-danger)}.mascot-bubble.sad:before{border-bottom-color:var(--color-danger)}.mascot-bubble.sad:after{border-bottom-color:#ef44441a}.mascot-bubble.thinking{background:#6366f11a;border-color:var(--color-accent)}.mascot-bubble.thinking:before{border-bottom-color:var(--color-accent)}.mascot-bubble.thinking:after{border-bottom-color:#6366f11a}@keyframes bubbleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mascot-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem}.mascot-empty-state h3{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.mascot-empty-state p{margin:0;color:var(--color-text-secondary);max-width:300px}.mascot-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;min-height:200px}.mascot-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem}.mascot-error-state h3{margin:0;font-size:1.25rem;color:var(--color-danger)}.mascot-celebration{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem}.mascot-celebration .celebration-description{color:var(--color-text-secondary);font-size:.9375rem;max-width:300px;margin:0}@media(max-width:480px){.mascot-large .mascot-image,.mascot-large .mascot-lottie{width:120px;height:120px}.mascot-bubble{max-width:200px;padding:.625rem .875rem}.mascot-bubble p{font-size:.8125rem}}.celebration-overlay{position:fixed;inset:0;background:#010409d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:celebrationFadeIn .3s ease}@keyframes celebrationFadeIn{0%{opacity:0}to{opacity:1}}.celebration-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:20px;text-align:center;max-width:400px;margin:1rem;animation:celebrationBounceIn .5s var(--easing-bounce)}@keyframes celebrationBounceIn{0%{opacity:0;transform:scale(.8) translateY(20px)}60%{transform:scale(1.05) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.celebration-title{margin:0;font-size:1.75rem;font-weight:700;color:var(--color-text-primary);background:linear-gradient(135deg,#6462f1,#3fb950);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.celebration-description{margin:0;font-size:1rem;color:var(--color-text-secondary);line-height:1.5}.celebration-xp{animation:xpBounce .6s ease}@keyframes xpBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.xp-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:20px;font-size:1.125rem;font-weight:700;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.celebration-btn{margin-top:.5rem;min-width:160px}.inline-celebration{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-subtle);border:1px solid var(--color-success);border-radius:12px;animation:inlineCelebrationIn .4s ease}@keyframes inlineCelebrationIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-xp{font-size:.9375rem;font-weight:600;color:#f59e0b;animation:xpPulse 1s ease-in-out infinite}@keyframes xpPulse{0%,to{opacity:1}50%{opacity:.7}}.xp-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;animation:xpPopupAnim 1.5s ease forwards}.xp-popup span{display:block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:20px;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:0 8px 24px #f59e0b66}@keyframes xpPopupAnim{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}40%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-70%) scale(1)}to{opacity:0;transform:translate(-50%,-100%) scale(.8)}}@media(max-width:480px){.celebration-content{padding:2rem 1.5rem;gap:1.25rem}.celebration-title{font-size:1.5rem}.xp-badge{font-size:1rem;padding:.375rem .875rem}}.notification-stack{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column-reverse;gap:.75rem;z-index:1100;pointer-events:none}.notif{pointer-events:auto;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000004d;animation:notifSlideIn .4s var(--easing-decelerate, ease-out);transition:opacity .3s ease,transform .3s ease;max-width:360px;min-width:200px}.notif:hover{transform:translate(-4px)}@keyframes notifSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notif-xp{background:linear-gradient(135deg,#f59e0b33,#f9731633);border:1px solid rgba(245,158,11,.4)}.notif-xp-icon{font-size:1.25rem;animation:xpIconPulse .6s ease}@keyframes xpIconPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.notif-xp-amount{font-size:1.125rem;font-weight:700;color:#f59e0b;animation:xpCountUp .5s ease}@keyframes xpCountUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notif-xp-reason{font-size:.75rem;color:var(--color-text-tertiary)}.notif-achievement{background:linear-gradient(135deg,#6366f133,#8b5cf633);border:1px solid rgba(99,102,241,.4);padding:1rem 1.25rem}.notif-ach-icon{font-size:2rem;animation:achIconBounce .6s var(--easing-bounce, ease)}@keyframes achIconBounce{0%{transform:scale(0) rotate(-30deg)}60%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}.notif-ach-info{display:flex;flex-direction:column;gap:.125rem;flex:1}.notif-ach-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent)}.notif-ach-name{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.notif-ach-desc{font-size:.75rem;color:var(--color-text-secondary)}.notif-ach-xp{font-size:.8125rem;font-weight:600;color:#f59e0b;white-space:nowrap}.notif-streak{background:linear-gradient(135deg,#f9731633,#ef444433);border:1px solid rgba(249,115,22,.4)}.notif-streak-icon{font-size:1.75rem;animation:streakFlame .8s ease}@keyframes streakFlame{0%{transform:scale(.5) translateY(10px);opacity:0}50%{transform:scale(1.3) translateY(-5px)}to{transform:scale(1) translateY(0);opacity:1}}.notif-streak-info{display:flex;flex-direction:column;gap:.125rem}.notif-streak-label{font-size:1rem;font-weight:700;color:#f97316}.notif-streak-desc{font-size:.75rem;color:var(--color-text-secondary)}.notif-toast{background:var(--color-bg-subtle);border:1px solid var(--color-border-default);color:var(--color-text-primary);font-size:.875rem}.notif-toast.notif-success{border-color:#22c55e66;background:#22c55e1a}.notif-toast.notif-error{border-color:#ef444466;background:#ef44441a}.levelup-overlay{position:fixed;inset:0;background:#010409e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1200;animation:levelupFadeIn .4s ease}@keyframes levelupFadeIn{0%{opacity:0}to{opacity:1}}.levelup-modal{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2.5rem;background:var(--color-bg-subtle);border:2px solid var(--color-accent);border-radius:24px;text-align:center;max-width:400px;margin:1rem;animation:levelupBounceIn .7s var(--easing-bounce, ease);overflow:hidden}.levelup-glow{position:absolute;inset:-50%;background:radial-gradient(circle at center,rgba(99,102,241,.15) 0%,transparent 70%);animation:levelupGlowPulse 2s ease-in-out infinite;pointer-events:none}@keyframes levelupGlowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes levelupBounceIn{0%{opacity:0;transform:scale(.3) translateY(40px)}50%{opacity:1;transform:scale(1.05) translateY(-10px)}70%{transform:scale(.97) translateY(2px)}to{transform:scale(1) translateY(0)}}.levelup-text{display:flex;flex-direction:column;align-items:center;gap:.25rem;position:relative;z-index:1}.levelup-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);animation:levelupLabelIn .5s ease .3s both}@keyframes levelupLabelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.levelup-level{font-size:5rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--color-accent) 0%,#8b5cf6 50%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:levelupNumberIn .6s var(--easing-bounce, ease) .2s both}@keyframes levelupNumberIn{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.levelup-name{font-size:1.375rem;font-weight:600;color:var(--color-text-secondary);animation:levelupLabelIn .5s ease .5s both}.levelup-btn{position:relative;z-index:1;min-width:160px;animation:levelupLabelIn .5s ease .7s both}@media(max-width:480px){.notification-stack{bottom:1rem;right:1rem;left:1rem}.notif{max-width:100%}.levelup-modal{padding:2rem 1.5rem}.levelup-level{font-size:4rem}}*{margin:0;padding:0}html,body{height:100%}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}button,input,select,textarea{font-family:inherit}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:transparent;border:1px solid var(--color-border-default);border-radius:6px;cursor:pointer;color:var(--color-text-primary);font-size:.875rem;transition:all .15s ease}.user-menu-trigger:hover{background-color:var(--color-bg-subtle);border-color:var(--color-border-subtle)}.user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:24px;height:24px;border-radius:50%;background-color:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-arrow{width:16px;height:16px;transition:transform .15s ease}.user-menu-arrow.open{transform:rotate(180deg)}.user-menu-backdrop{position:fixed;inset:0;z-index:99}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background-color:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.user-menu-header{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-default)}.user-menu-info{display:flex;flex-direction:column;gap:.125rem}.user-menu-fullname{font-weight:500;color:var(--color-text-primary)}.user-menu-username{font-size:.8125rem;color:var(--color-text-muted)}.user-menu-rate-limit{padding:.625rem 1rem;display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;background-color:var(--color-bg-muted)}.rate-limit-label{color:var(--color-text-secondary)}.rate-limit-value{color:var(--color-accent-emphasis);font-weight:500}.user-menu-divider{height:1px;background-color:var(--color-border-default)}.user-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;background:none;border:none;color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:background-color .15s ease;text-align:left;text-decoration:none}.user-menu-item:hover{background-color:var(--color-bg-muted);text-decoration:none}.user-menu-item svg{width:16px;height:16px}.user-menu-logout{color:var(--color-danger)}.user-menu-logout:hover{background-color:#f851491a}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;color:var(--color-text-secondary)}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-default);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.streak-widget{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:20px;font-size:.875rem;transition:all .2s ease}.streak-widget.compact{padding:.25rem .5rem;gap:.25rem}.streak-widget.active{background:linear-gradient(135deg,#f9731626,#ef444426);border-color:#f973164d}.streak-widget.animating .streak-flame{animation:flameWobble .5s ease}.streak-flame{font-size:1rem;line-height:1}.streak-widget.compact .streak-flame{font-size:.875rem}.streak-count{font-weight:600;color:var(--color-text-primary)}.streak-widget.active .streak-count{color:#f97316}.streak-label{color:var(--color-text-secondary);font-size:.75rem}@keyframes flameWobble{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1.1) rotate(0)}75%{transform:scale(1.2) rotate(10deg)}}.xp-badge-widget{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,#f59e0b26,#f9731626);border:1px solid rgba(245,158,11,.3);border-radius:12px;font-size:.8125rem}.xp-badge-widget.small{padding:.125rem .375rem;font-size:.75rem;border-radius:8px}.xp-badge-widget.large{padding:.5rem 1rem;font-size:1rem;border-radius:16px}.xp-icon{font-size:.875em}.xp-value{font-weight:600;color:#f59e0b}.xp-label{color:var(--color-text-secondary);font-size:.85em}.level-badge-widget{display:flex;align-items:center;gap:.75rem}.level-badge-widget.small{gap:.5rem}.level-badge-widget.large{gap:1rem}.level-circle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,#8b5cf6 100%);border-radius:50%;box-shadow:0 2px 8px #6366f14d}.level-badge-widget.small .level-circle{width:32px;height:32px}.level-badge-widget.large .level-circle{width:56px;height:56px}.level-number{font-size:1rem;font-weight:700;color:#fff}.level-badge-widget.small .level-number{font-size:.875rem}.level-badge-widget.large .level-number{font-size:1.5rem}.level-info{display:flex;flex-direction:column;gap:.25rem}.level-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.level-badge-widget.small .level-name{font-size:.8125rem}.level-badge-widget.large .level-name{font-size:1.125rem}.level-progress{display:flex;flex-direction:column;gap:.25rem}.level-progress-bar{width:120px;height:6px;background:var(--color-bg-inset);border-radius:3px;overflow:hidden}.level-badge-widget.large .level-progress-bar{width:180px;height:8px}.level-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent) 0%,#8b5cf6 100%);border-radius:3px;transition:width .5s ease}.level-progress-text{font-size:.6875rem;color:var(--color-text-tertiary)}.level-badge-widget.large .level-progress-text{font-size:.75rem}.achievement-badge{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:12px;transition:all .2s ease}.achievement-badge.locked{opacity:.5;filter:grayscale(1)}.achievement-badge:not(.locked):hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.achievement-icon{font-size:2rem;line-height:1}.achievement-info{flex:1}.achievement-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.achievement-description{color:var(--color-text-secondary);font-size:.8125rem;margin-top:.125rem}.achievement-xp{font-size:.75rem;font-weight:500;color:#f59e0b;margin-top:.25rem}.achievement-unlocked-at{font-size:.6875rem;color:var(--color-text-tertiary)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.gamification-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:12px;text-align:center}.stat-icon{font-size:1.75rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.stat-label{font-size:.8125rem;color:var(--color-text-secondary)}.level-up-notification{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:var(--color-bg-subtle);border:2px solid var(--color-accent);border-radius:20px;padding:2rem;text-align:center;animation:levelUpIn .5s var(--easing-bounce);box-shadow:0 0 60px #6366f14d}@keyframes levelUpIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.level-up-title{font-size:1.5rem;font-weight:700;color:var(--color-accent);margin-bottom:.5rem}.level-up-level{font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--color-accent) 0%,#8b5cf6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-up-name{font-size:1.125rem;color:var(--color-text-secondary);margin-top:.25rem}@media(max-width:480px){.achievements-grid{grid-template-columns:1fr}.gamification-stats{grid-template-columns:repeat(2,1fr)}.level-badge-widget.large .level-progress-bar{width:140px}}.mobile-menu-backdrop{position:fixed;inset:0;background:#0009;z-index:199;opacity:0;visibility:hidden;transition:opacity .25s cubic-bezier(.4,0,.2,1),visibility .25s cubic-bezier(.4,0,.2,1)}.mobile-menu-backdrop--visible{opacity:1;visibility:visible}.mobile-menu-panel{position:fixed;top:0;right:0;bottom:0;width:85vw;max-width:320px;background:var(--color-bg-default);border-left:1px solid var(--color-border-default);z-index:200;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu-panel--open{transform:translate(0)}@media(prefers-reduced-motion:reduce){.mobile-menu-backdrop,.mobile-menu-panel{transition:none}}.mobile-menu-close{position:absolute;top:.5rem;right:.5rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;transition:background-color .15s ease,color .15s ease}.mobile-menu-close:hover,.mobile-menu-close:focus-visible{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.mobile-menu-content{padding:3.5rem 1rem 1.5rem;display:flex;flex-direction:column;gap:0}.mobile-menu-separator{height:1px;background:var(--color-border-default);margin:.5rem 0}.mobile-menu-user{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.mobile-menu-avatar-lg{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--color-accent)}.mobile-menu-avatar-img{width:100%;height:100%;object-fit:cover}.mobile-menu-avatar-letter{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-size:1.25rem;font-weight:600}.mobile-menu-user-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.mobile-menu-username{font-weight:600;font-size:1rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-email{font-size:.8125rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-rate{font-size:.75rem;color:var(--color-accent-emphasis);font-weight:500}.mobile-menu-gamification{padding:.5rem 0;display:flex;flex-direction:column;gap:.75rem}.mobile-menu-streak{display:flex;align-items:center;gap:.5rem}.mobile-menu-streak-icon{font-size:1.25rem;line-height:1}.mobile-menu-streak-text{font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.mobile-menu-daily-goal{display:flex;flex-direction:column;gap:.375rem}.mobile-menu-daily-goal-header{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--color-text-secondary)}.mobile-menu-progress-bar{width:100%;height:6px;background:var(--color-bg-emphasis);border-radius:3px;overflow:hidden}.mobile-menu-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#3fb950);border-radius:3px;transition:width .5s ease}@media(prefers-reduced-motion:reduce){.mobile-menu-progress-fill{transition:none}}.mobile-menu-nav{display:flex;flex-direction:column}.mobile-menu-link{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;min-height:48px;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:8px;transition:background-color .15s ease,color .15s ease}.mobile-menu-link:hover,.mobile-menu-link:focus-visible{background:var(--color-bg-subtle);color:var(--color-text-primary);text-decoration:none}.mobile-menu-link--active{color:var(--color-accent);background:var(--color-accent-subtle)}.mobile-menu-link--active:hover{background:var(--color-accent-subtle);text-decoration:none}.mobile-menu-link svg{flex-shrink:0;color:inherit}.mobile-menu-logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem .5rem;min-height:48px;font-size:.9375rem;font-weight:500;color:var(--color-danger);background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background-color .15s ease}.mobile-menu-logout:hover,.mobile-menu-logout:focus-visible{background:#f851491a;text-decoration:none}.mobile-menu-auth{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.mobile-menu-login-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;min-height:48px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;transition:background-color .15s ease}.mobile-menu-login-btn:hover{background:var(--color-accent-emphasis);text-decoration:none}.mobile-menu-register-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1rem;min-height:48px;background:transparent;color:var(--color-accent);border:1px solid var(--color-accent-muted);border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;text-align:center;transition:background-color .15s ease,border-color .15s ease}.mobile-menu-register-btn:hover{background:var(--color-accent-subtle);border-color:var(--color-accent);text-decoration:none}.header{background-color:var(--color-bg-default);border-bottom:1px solid var(--color-border-default);padding:1rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:.75rem}.header-logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.header-logo-icon svg{width:20px;height:20px;color:#fff}.header-logo-image{width:40px;height:40px;object-fit:contain}.header-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.header-title-accent{color:#6462f1}.header-subtitle{margin:0;font-size:.875rem;color:var(--color-text-secondary);font-weight:400}.header-main-nav{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem .875rem;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:6px;transition:all .15s ease}.nav-link:hover{color:var(--color-text-primary);background-color:var(--color-bg-subtle);text-decoration:none}.nav-link.active{color:var(--color-accent);background-color:var(--color-accent-subtle)}.header-nav{display:flex;align-items:center;gap:.5rem}.header-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background-color:var(--color-accent-subtle);color:var(--color-accent-emphasis);border:1px solid var(--color-accent-muted);border-radius:2rem;font-size:.75rem;font-weight:500}.header-premium-btn{display:inline-flex;align-items:center;padding:.375rem .875rem;color:var(--color-accent);border:1px solid var(--color-accent-muted);border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.header-premium-btn:hover{background-color:var(--color-accent-subtle);border-color:var(--color-accent);text-decoration:none}.header-login-btn{display:inline-flex;align-items:center;padding:.375rem .875rem;background-color:var(--color-accent);color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s ease}.header-login-btn:hover{background-color:var(--color-accent-emphasis);text-decoration:none}.header-daily-goal{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--color-bg-subtle);border:1px solid var(--color-border-default);border-radius:20px;font-size:.75rem;cursor:default;position:relative}.daily-goal-tooltip{display:none;position:absolute;top:calc(100% + .5rem);right:0;width:220px;padding:.625rem .75rem;background:var(--color-bg-default);border:1px solid var(--color-border-default);border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:.75rem;line-height:1.4;color:var(--color-text-secondary);z-index:100;white-space:normal}.header-daily-goal:hover .daily-goal-tooltip{display:block}.daily-goal-bar{width:40px;height:4px;background:var(--color-bg-inset);border-radius:2px;overflow:hidden}.daily-goal-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#3fb950);border-radius:2px;transition:width .5s ease}.daily-goal-text{font-weight:600;color:var(--color-text-secondary);font-size:.6875rem;white-space:nowrap}.header-leaderboard-btn{font-size:1.25rem;line-height:1;padding:.25rem;border-radius:8px;text-decoration:none;transition:transform .2s ease;display:flex;align-items:center}.header-leaderboard-btn:hover{transform:scale(1.15);text-decoration:none}.header-mobile-controls{display:none;align-items:center;gap:.75rem}.header-mobile-streak{display:flex;align-items:center;gap:.125rem;font-size:.875rem;line-height:1}.header-mobile-streak-count{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.header-mobile-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;border:2px solid var(--color-accent);flex-shrink:0}.header-mobile-avatar-img{width:100%;height:100%;object-fit:cover}.header-mobile-avatar-letter{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;font-size:.75rem;font-weight:600}.header-mobile-login-btn{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--color-accent);color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;min-height:36px;transition:background-color .15s ease}.header-mobile-login-btn:hover{background:var(--color-accent-emphasis);text-decoration:none}.header-burger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.header-burger-line{display:block;width:20px;height:2px;background:var(--color-text-primary);border-radius:1px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);transform-origin:center}.header-burger--open .header-burger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.header-burger--open .header-burger-line:nth-child(2){opacity:0}.header-burger--open .header-burger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(prefers-reduced-motion:reduce){.header-burger-line{transition:none}}@media(max-width:768px){.header{padding:0}.header-container{flex-wrap:nowrap;gap:0;padding:0 1rem;height:56px}.header-logo{flex:1;min-width:0;gap:.5rem}.header-logo-icon,.header-logo-image{width:32px;height:32px}.header-title{font-size:1.125rem}.header-subtitle,.header-main-nav,.header-nav{display:none}.header-mobile-controls{display:flex}}.footer{background-color:var(--color-bg-default);border-top:1px solid var(--color-border-default);padding:1.5rem 0;margin-top:auto}.footer-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-left{display:flex;align-items:center;gap:1rem}.footer-text{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.footer-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent-emphasis);text-decoration:none;font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:6px;transition:background-color var(--animation-fast) var(--easing-standard)}.footer-link:hover{background-color:var(--color-accent-subtle);text-decoration:none}.footer-link svg{width:16px;height:16px}.footer-right{display:flex;align-items:center;gap:.75rem}@media(max-width:640px){.footer-container{flex-direction:column;text-align:center}.footer-left{flex-wrap:wrap;justify-content:center}}.landing-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary)}.landing-page a:hover{text-decoration:none}.landing-page .container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.section-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);text-align:center;margin:0 0 .75rem;letter-spacing:-.02em}.section-subtitle{font-size:1.125rem;color:var(--text-secondary);text-align:center;margin:0 0 3rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-section{padding:5rem 0 6rem;background:linear-gradient(180deg,rgba(100,98,241,.05) 0%,transparent 100%)}.hero-section .container{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-content{max-width:560px}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#6462f11a;border:1px solid rgba(100,98,241,.2);border-radius:50px;font-size:.875rem;font-weight:500;color:var(--color-accent);margin-bottom:1.5rem}.badge-icon{display:flex}.badge-icon svg{width:16px;height:16px}.hero-title{font-size:3.25rem;font-weight:800;line-height:1.1;color:var(--text-primary);margin:0 0 1.5rem;letter-spacing:-.03em}.hero-title-accent{background:linear-gradient(135deg,var(--color-accent),#7c7af5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:1.25rem;line-height:1.6;color:var(--text-secondary);margin:0 0 2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary-lg{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--color-accent),#7c7af5);color:#fff;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #6462f14d}.btn-primary-lg:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6462f166;text-decoration:none}.btn-primary-lg svg{width:20px;height:20px}.btn-secondary-lg{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:transparent;color:var(--text-primary);border:2px solid rgba(255,255,255,.15);border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s ease}.btn-secondary-lg:hover{background:#ffffff0d;border-color:#ffffff40;text-decoration:none}.btn-secondary-lg svg{width:20px;height:20px}.hero-visual{display:flex;align-items:center;justify-content:center;gap:1rem}.demo-nav-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all .2s ease;flex-shrink:0}.demo-nav-arrow:hover{background:#ffffff1a;border-color:#fff3;color:var(--text-primary)}.demo-nav-arrow svg{width:18px;height:18px}.hero-demo-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;width:100%;max-width:420px;box-shadow:0 20px 40px #0000004d}.demo-card-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.demo-card-dots{display:flex;gap:6px}.demo-card-dots span{width:12px;height:12px;border-radius:50%;background:#ffffff26}.demo-card-dots span:nth-child(1){background:#ff5f56}.demo-card-dots span:nth-child(2){background:#ffbd2e}.demo-card-dots span:nth-child(3){background:#27ca40}.demo-card-type{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.demo-card-content{padding:1.5rem;min-height:180px}.demo-card-indicators{display:flex;justify-content:center;gap:.5rem;padding:1rem;background:#0000001a}.indicator{width:8px;height:8px;border-radius:50%;background:#fff3;border:none;cursor:pointer;transition:width .3s ease,border-radius .3s ease;overflow:hidden;position:relative}.indicator.active{width:24px;border-radius:4px;background:#6462f140}.indicator:after{content:"";position:absolute;top:0;left:0;height:100%;width:0;background:var(--color-accent);border-radius:inherit}.indicator.active:after{animation:progressFill 3s linear forwards}@keyframes progressFill{0%{width:0}to{width:100%}}.demo-exercise{font-size:.9375rem}.demo-question{color:var(--text-primary);margin:0 0 1rem;line-height:1.5}.blank-input{display:inline-block;padding:.25rem .75rem;background:#4ade801a;border:1px solid rgba(74,222,128,.3);border-radius:4px;color:#4ade80;font-family:monospace}.demo-result{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500}.demo-result.correct{background:#4ade801a;color:#4ade80}.demo-result svg{width:16px;height:16px}.demo-options{display:flex;flex-direction:column;gap:.5rem}.demo-option{padding:.625rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-secondary);font-size:.875rem;transition:all .15s}.demo-option.selected{background:#6462f11a;border-color:#6462f14d;color:var(--text-primary)}.demo-option.correct{background:#4ade801a;border-color:#4ade804d;color:#4ade80}.demo-code-lines{display:flex;flex-direction:column;gap:.375rem}.demo-code-line{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#0003;border-radius:6px;font-family:Fira Code,monospace;font-size:.8125rem;color:var(--text-primary)}.line-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;font-family:inherit}.demo-code{margin:0 0 .75rem;padding:1rem;background:#0000004d;border-radius:8px;font-family:Fira Code,monospace;font-size:.8125rem;color:var(--text-primary);line-height:1.5}.demo-ai-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#6462f11a;border:1px solid rgba(100,98,241,.2);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--color-accent)}.demo-ai-badge svg{width:16px;height:16px}.stats-section{padding:3rem 0;background:#0003;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.stat-card{text-align:center;padding:1.5rem;display:flex;flex-direction:column;align-items:center}.stat-icon{width:48px;height:48px;margin-bottom:1rem;background:#6462f11a;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:24px;height:24px;color:var(--color-accent)}.stat-icon.ai{background:linear-gradient(135deg,#6462f133,#7c7af533)}.stat-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:.5rem}.stat-label{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;white-space:nowrap}.stat-desc{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;max-width:180px}.course-demo-section{padding:5rem 0}.course-structure{display:flex;flex-direction:column;gap:3rem}.structure-flow{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.flow-item{display:flex;flex-direction:column;align-items:center;gap:.75rem}.flow-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.flow-icon:hover{transform:scale(1.05)}.flow-icon svg{width:28px;height:28px}.flow-icon.course{background:linear-gradient(135deg,#6462f1,#7c7af5);color:#fff}.flow-icon.block{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.flow-icon.lesson{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.flow-icon.exercise{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.flow-item span{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.flow-arrow{color:var(--text-muted)}.flow-arrow svg{width:24px;height:24px}.course-demo-cards{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;max-width:900px;margin:0 auto}.demo-lesson-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem}.demo-lesson-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.demo-lesson-badge{padding:.25rem .75rem;background:#6462f11a;border-radius:50px;font-size:.75rem;font-weight:600;color:var(--color-accent)}.demo-lesson-time{font-size:.8125rem;color:var(--text-muted)}.demo-lesson-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.demo-lesson-content{color:var(--text-secondary);font-size:.9375rem;line-height:1.6}.demo-lesson-content p{margin:0 0 .75rem}.demo-lesson-content ul{margin:0;padding-left:1.25rem}.demo-lesson-content li{margin-bottom:.5rem}.demo-lesson-content code{padding:.125rem .375rem;background:#6462f11a;border-radius:4px;font-family:Fira Code,monospace;font-size:.8125rem;color:var(--color-accent)}.demo-lesson-progress{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:1rem}.progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent),#7c7af5);border-radius:3px;transition:width .3s}.demo-lesson-progress span{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.demo-quiz-card{background:linear-gradient(135deg,#6462f11a,#7c7af51a);border:1px solid rgba(100,98,241,.2);border-radius:16px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.demo-quiz-icon{width:64px;height:64px;background:#6462f133;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.demo-quiz-icon svg{width:28px;height:28px;color:var(--color-accent)}.demo-quiz-card h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.demo-quiz-card p{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.demo-quiz-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#4ade801a;border-radius:6px;font-size:.8125rem;font-weight:500;color:#4ade80}.demo-quiz-badge svg{width:14px;height:14px}.exercise-types-section{padding:5rem 0;background:#0003}.exercise-types-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.exercise-type-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;transition:all .2s}.exercise-type-card:hover{border-color:#6462f14d;transform:translateY(-4px)}.exercise-type-card.ai-card{border-color:#6462f133;background:linear-gradient(135deg,var(--bg-secondary),rgba(100,98,241,.05))}.exercise-type-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.exercise-type-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.exercise-type-icon svg{width:20px;height:20px}.exercise-type-icon.fill{background:#3b82f61a;color:#3b82f6}.exercise-type-icon.choice{background:#10b9811a;color:#10b981}.exercise-type-icon.order{background:#f59e0b1a;color:#f59e0b}.exercise-type-icon.ai{background:linear-gradient(135deg,#6462f133,#7c7af533);color:var(--color-accent)}.exercise-type-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;font-family:Fira Code,monospace}.ai-badge{padding:.125rem .5rem;background:linear-gradient(135deg,var(--color-accent),#7c7af5);border-radius:4px;font-size:.625rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em}.exercise-type-desc{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.4}.exercise-type-demo{padding:1rem;background:#0003;border-radius:8px}.fill-demo{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.fill-demo code{padding:.125rem .25rem;background:#6462f11a;border-radius:3px;font-family:Fira Code,monospace;color:var(--color-accent)}.fill-blank-demo{padding:.125rem .375rem;background:#4ade8026;border:1px dashed rgba(74,222,128,.5);border-radius:3px;color:#4ade80}.choice-demo{display:flex;flex-direction:column;gap:.375rem}.choice-option{padding:.5rem .75rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:.8125rem;font-family:Fira Code,monospace;color:var(--text-secondary)}.choice-option.selected{background:#10b9811a;border-color:#10b9814d;color:#10b981}.order-demo{display:flex;flex-direction:column;gap:.375rem}.order-line{display:flex;align-items:center;gap:.625rem;padding:.375rem .625rem;background:#ffffff08;border-radius:6px;font-size:.75rem;font-family:Fira Code,monospace;color:var(--text-secondary)}.order-line span{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#f59e0b33;border-radius:4px;font-size:.6875rem;font-weight:600;color:#f59e0b}.read-demo{text-align:center}.read-demo code{display:block;padding:.5rem;background:#0000004d;border-radius:4px;font-family:Fira Code,monospace;font-size:.75rem;color:var(--text-primary);margin-bottom:.75rem}.read-answer{font-size:.75rem;color:var(--text-muted);font-style:italic}.ai-feedback-section{padding:5rem 0}.ai-feedback-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.ai-feedback-text .section-title{text-align:left}.ai-feedback-text .section-subtitle{text-align:left;margin-left:0;margin-bottom:2rem}.ai-features-list{list-style:none;padding:0;margin:0}.ai-features-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;font-size:1rem;color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.05)}.ai-features-list li:last-child{border-bottom:none}.ai-features-list svg{width:20px;height:20px;color:#4ade80;flex-shrink:0}.ai-feedback-demo{display:flex;justify-content:center}.feedback-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.5rem;width:100%;max-width:380px}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.feedback-score{display:flex;align-items:baseline}.score-value{font-size:3rem;font-weight:800;color:var(--text-primary);line-height:1}.score-max{font-size:1.25rem;color:var(--text-muted);margin-left:.25rem}.feedback-status{padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:600}.feedback-status.passed{background:#4ade801a;color:#4ade80}.feedback-section{margin-bottom:1.25rem}.feedback-section:last-child{margin-bottom:0}.feedback-section h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.feedback-section h4 svg{width:16px;height:16px}.feedback-section.strengths h4{color:#4ade80}.feedback-section.improvements h4{color:#fbbf24}.feedback-section.hints h4{color:#60a5fa}.feedback-section ul{margin:0;padding-left:1.25rem}.feedback-section li{font-size:.875rem;color:var(--text-secondary);margin-bottom:.375rem;line-height:1.4}.feedback-section p{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.trainers-section{padding:5rem 0;background:#0003}.trainers-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:2rem}.trainer-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;transition:all .2s}.trainer-card:hover{border-color:#6462f14d;transform:translateY(-2px);background:#6462f10d}.trainer-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.trainer-icon svg{width:24px;height:24px}.trainer-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);text-align:center}.trainers-cta{display:flex;justify-content:center}.test-runner-section{padding:5rem 0}.test-runner-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem 1rem;background:#f973161f;border:1px solid rgba(249,115,22,.25);border-radius:100px;font-size:.8125rem;font-weight:600;color:#f97316;text-align:center;margin:0 auto 1.25rem;display:flex;justify-content:center;width:fit-content}.test-runner-section .section-title{background:linear-gradient(135deg,#f97316,#fb923c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.test-runner-showcase{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;max-width:1100px;margin:0 auto}.test-runner-editor{background:#1a1a2e;border:1px solid rgba(249,115,22,.2);border-radius:12px;overflow:hidden}.editor-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.editor-dots{display:flex;gap:6px}.editor-dots span{width:10px;height:10px;border-radius:50%;background:#ffffff26}.editor-dots span:first-child{background:#ff5f57}.editor-dots span:nth-child(2){background:#ffbd2e}.editor-dots span:nth-child(3){background:#28c840}.editor-title{font-size:.8125rem;color:var(--text-secondary);font-family:monospace}.editor-code{padding:1.25rem;margin:0;font-size:.875rem;line-height:1.7;font-family:JetBrains Mono,Fira Code,monospace;color:#e2e8f0;overflow-x:auto}.editor-code .code-kw{color:#c084fc}.editor-code .code-fn{color:#60a5fa}.editor-code .code-str{color:#4ade80}.editor-code .code-comment{color:#64748b;font-style:italic}.test-runner-features{display:flex;gap:1.25rem;margin-top:1.25rem}.tr-feature{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.tr-feature svg{width:18px;height:18px;color:#f97316;flex-shrink:0}.test-runner-results{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.05)}.results-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.results-status.passed{font-size:.8125rem;font-weight:600;color:#4ade80;background:#4ade801a;padding:.25rem .75rem;border-radius:100px}.results-list{padding:.5rem 0}.test-runner-section .result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;width:auto;height:auto;border-radius:0;justify-content:flex-start;transition:background .15s}.test-runner-section .result-item:hover{background:#ffffff05}.test-runner-section .result-item svg{width:18px;height:18px;flex-shrink:0}.test-runner-section .result-item.passed svg{color:#4ade80}.result-detail{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.result-cmd{font-size:.8125rem;font-weight:600;color:#f97316;font-family:monospace;white-space:nowrap}.result-text{font-size:.8125rem;color:var(--text-secondary);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-time{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .35));font-family:monospace;white-space:nowrap}.results-summary{padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.05)}.summary-bar{height:4px;background:#ffffff14;border-radius:2px;margin-bottom:.5rem;overflow:hidden}.summary-fill{height:100%;width:100%;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:2px;animation:fill-bar 1.2s ease-out}@keyframes fill-bar{0%{width:0}to{width:100%}}.summary-text{font-size:.8125rem;color:#4ade80;font-weight:500}.btn-test-runner{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1.25rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-size:1rem;font-weight:600;border-radius:10px;text-decoration:none;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #f9731640}.btn-test-runner:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f9731659;text-decoration:none}.btn-test-runner svg{width:20px;height:20px}@media(max-width:768px){.test-runner-showcase{grid-template-columns:1fr}.test-runner-features{flex-wrap:wrap}.editor-code{font-size:.8125rem}.test-runner-section .section-title{font-size:1.75rem}}@media(max-width:480px){.test-runner-features{flex-direction:column;gap:.75rem}.editor-code{font-size:.75rem;padding:1rem}}.progress-section{padding:5rem 0;background:#0003}.progress-demo{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;max-width:1000px;margin:0 auto}.progress-course-card{display:flex;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:12px}.progress-course-card.completed{border-color:#4ade8033;background:linear-gradient(135deg,var(--bg-secondary),rgba(74,222,128,.05))}.course-card-icon{width:48px;height:48px;flex-shrink:0;background:#6462f11a;border-radius:12px;display:flex;align-items:center;justify-content:center}.course-card-icon svg{width:24px;height:24px;color:var(--color-accent)}.progress-course-card.completed .course-card-icon{background:#4ade801a}.progress-course-card.completed .course-card-icon svg{color:#4ade80}.course-card-content{flex:1;min-width:0}.course-card-content h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.course-card-content p{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem}.course-card-progress{display:flex;align-items:center;gap:.75rem}.course-card-progress .progress-bar{flex:1;height:4px}.course-card-progress span{font-size:.8125rem;font-weight:600;color:var(--color-accent)}.course-card-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#4ade801a;border-radius:50px;font-size:.75rem;font-weight:600;color:#4ade80}.course-card-badge svg{width:12px;height:12px}.progress-stats-card{padding:1.25rem;background:linear-gradient(135deg,#6462f11a,#7c7af51a);border:1px solid rgba(100,98,241,.2);border-radius:12px}.progress-stats-card h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;text-align:center}.stats-list{display:flex;flex-direction:column;gap:.75rem}.stats-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.stats-item:last-child{border-bottom:none}.stats-number{font-size:1.5rem;font-weight:800;color:var(--text-primary);min-width:40px}.stats-text{font-size:.875rem;color:var(--text-secondary)}.how-it-works-section{padding:5rem 0}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.step-card{background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:all .2s}.step-card:hover{border-color:#6462f14d;transform:translateY(-2px)}.step-card .step-number{width:48px;height:48px;background:linear-gradient(135deg,var(--color-accent),#7c7af5);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:#fff;margin:0 auto 1.25rem}.step-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.step-description{font-size:.9375rem;line-height:1.5;color:var(--text-secondary);margin:0}.cta-section{padding:5rem 0 6rem;background:#0003}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem;letter-spacing:-.02em}.cta-description{font-size:1.25rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.5}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.cta-note{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);margin:0}.cta-note svg{width:16px;height:16px}@media(max-width:1200px){.stats-grid,.exercise-types-grid{grid-template-columns:repeat(2,1fr)}.trainers-grid{grid-template-columns:repeat(4,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.hero-section .container{grid-template-columns:1fr;gap:3rem}.hero-content{max-width:none;text-align:center}.hero-actions{justify-content:center}.course-demo-cards{grid-template-columns:1fr}.ai-feedback-content{grid-template-columns:1fr;gap:3rem}.ai-feedback-text .section-title,.ai-feedback-text .section-subtitle{text-align:center}.ai-feedback-text .section-subtitle{margin-left:auto;margin-right:auto}.progress-demo{grid-template-columns:1fr}}@media(max-width:768px){.section-title{font-size:2rem}.hero-title{font-size:2.5rem}.hero-description{font-size:1.125rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;text-align:left;padding:1rem}.stat-icon{margin:0}.stat-value{font-size:1.75rem}.structure-flow{flex-direction:column;gap:.5rem}.flow-arrow{transform:rotate(90deg)}.exercise-types-grid{grid-template-columns:1fr}.trainers-grid{grid-template-columns:repeat(3,1fr)}.steps-grid{grid-template-columns:1fr}.cta-title{font-size:2rem}.cta-description{font-size:1.125rem}}@media(max-width:480px){.landing-page .container{padding:0 1rem}.hero-section{padding:3rem 0 4rem}.hero-title{font-size:2rem}.hero-actions{flex-direction:column}.btn-primary-lg,.btn-secondary-lg{width:100%;justify-content:center}.hero-demo-card{max-width:100%}.trainers-grid{grid-template-columns:repeat(2,1fr)}.trainer-card{padding:1rem}.trainer-name{font-size:.75rem}}
