:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--warning-gradient: linear-gradient(135deg, #f7971e 0%, #ffd200 100%);--bg-primary: #0f0f1a;--bg-secondary: #1a1a2e;--bg-card: rgba(30, 30, 50, .8);--bg-glass: rgba(255, 255, 255, .05);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .4);--border-color: rgba(255, 255, 255, .1);--border-glow: rgba(102, 126, 234, .5);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .3);--shadow-md: 0 8px 30px rgba(0, 0, 0, .4);--shadow-lg: 0 15px 50px rgba(0, 0, 0, .5);--shadow-glow: 0 0 30px rgba(102, 126, 234, .3);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:var(--font-family);font-size:var(--font-size-base);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:radial-gradient(ellipse at top,rgba(102,126,234,.15) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(118,75,162,.1) 0%,transparent 50%),var(--bg-primary)}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--spacing-md)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #667eea80}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--border-glow)}.btn-success{background:var(--success-gradient);color:#fff}.btn-block{width:100%}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-md)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}input,textarea{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-fast)}input:focus,textarea:focus{outline:none;border-color:var(--border-glow);box-shadow:0 0 20px #667eea33}input::placeholder,textarea::placeholder{color:var(--text-muted)}.progress-bar{width:100%;height:6px;background:var(--bg-glass);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-gradient);border-radius:var(--radius-full);transition:width var(--transition-base)}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.option-item{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all var(--transition-fast)}.option-item:hover{transform:scale(1.05);border-color:var(--border-glow)}.option-item.selected{border-color:#667eea;box-shadow:var(--shadow-glow)}.option-item img{width:100%;height:100%;object-fit:cover}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in{animation:fadeIn var(--transition-slow) forwards}.pulse{animation:pulse 2s infinite}.float{animation:float 3s ease-in-out infinite}.text-center{text-align:center}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.page{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg) 0}.page-header{text-align:center;margin-bottom:var(--spacing-xl)}.page-title{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-glass);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:100%;max-width:400px;position:relative;animation:fadeIn .3s ease;box-shadow:var(--shadow-lg),var(--shadow-glow)}.modal-title{font-size:var(--font-size-xl);text-align:center;margin-bottom:var(--spacing-sm);background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:color var(--transition-fast);padding:4px;line-height:1}.modal-close:hover{color:var(--text-primary)}.input-group{position:relative;margin-bottom:var(--spacing-md)}.code-input{font-size:var(--font-size-lg);text-align:center;letter-spacing:2px;font-family:SF Mono,Monaco,Consolas,monospace;text-transform:none;padding-right:50px}.char-count{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);font-size:var(--font-size-xs);color:var(--text-muted)}.error-message{color:#f5576c;font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--spacing-md);animation:fadeIn .2s ease}.submit-btn{width:100%;margin-bottom:var(--spacing-md)}.modal-links{display:flex;justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap}.modal-link{color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.modal-link:hover{color:#667eea;text-decoration:underline}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn:disabled:before{display:none}
