:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-primary-light: #60a5fa;--color-bg: #1e293b;--color-bg-light: #334155;--color-bg-lighter: #475569;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--letter-bg: #334155;--letter-bg-hover: #475569;--letter-bg-selected: #3b82f6;--letter-border: #475569;--letter-border-selected: #60a5fa;--path-color: #3b82f6;--path-color-valid: #22c55e;--path-color-invalid: #ef4444;--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 1;--z-overlay: 10;--z-modal: 100;--z-tooltip: 1000}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.app{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.screen{position:absolute;top:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;flex-direction:column;padding:var(--spacing-lg);opacity:0;transition:opacity var(--transition-base)}.screen.active{display:flex;opacity:1}h1{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm)}p{color:var(--color-text-secondary);line-height:1.6}button{font-family:inherit;font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);background:var(--color-primary);border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md)}button:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@media(max-width:768px){body{font-size:var(--font-size-sm)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}.screen{padding:var(--spacing-md)}}.no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media(hover:none)and (pointer:coarse){button{min-height:44px;min-width:44px}}.menu-screen .menu-content{text-align:center}.menu-screen .game-title{font-size:72px;font-weight:800;letter-spacing:-2px;background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-md)}.menu-screen .tagline{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl)}.menu-screen .play-btn{font-size:var(--font-size-xl);padding:var(--spacing-lg) var(--spacing-2xl);min-width:200px}.high-score-display{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-light);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.high-score-display .hs-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.high-score-display .hs-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary)}.difficulty-selector{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.difficulty-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.difficulty-buttons{display:flex;gap:var(--spacing-sm)}.difficulty-btn{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-lighter);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;min-width:80px}.difficulty-btn:hover{background:var(--color-bg-light);border-color:var(--color-primary-light)}.difficulty-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.difficulty-btn .diff-label{font-weight:600;font-size:var(--font-size-md)}.difficulty-btn .diff-time{font-size:var(--font-size-xs);opacity:.7}.difficulty-btn.active .diff-time{opacity:.9}.daily-section{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);width:100%;max-width:280px}.daily-divider{display:flex;align-items:center;gap:var(--spacing-md);width:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.daily-divider:before,.daily-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.daily-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:var(--font-size-md);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f59e0b4d}.daily-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.daily-btn:active{transform:translateY(0)}.daily-btn .daily-icon{font-size:var(--font-size-lg)}.daily-btn .daily-text{flex:1;text-align:left}.daily-btn.completed{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d}.daily-btn.completed:hover{box-shadow:0 4px 12px #22c55e66}.daily-btn .completed-badge{background:#fff3;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.countdown-screen{background:var(--color-bg)}.countdown-screen .countdown-number{font-size:140px;font-weight:800;color:var(--color-primary);text-shadow:0 0 40px rgba(59,130,246,.5);animation:countdownBounce 1s cubic-bezier(.34,1.56,.64,1) infinite}@keyframes countdownBounce{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.2);opacity:1}40%{transform:scale(1)}to{transform:scale(1);opacity:1}}.game-screen{justify-content:flex-start;padding-top:var(--spacing-lg);gap:var(--spacing-md)}.game-header{display:flex;justify-content:space-between;width:100%;max-width:360px;padding:0 var(--spacing-md)}.game-header .score,.game-header .timer{font-size:var(--font-size-lg);font-weight:600;position:relative}.game-header .score #score-value{display:inline-block;transition:transform .2s}.game-header .score #score-value.bump{animation:scoreBump .3s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreBump{0%{transform:scale(1)}50%{transform:scale(1.3);color:var(--color-success)}to{transform:scale(1)}}.game-header .timer #timer-value.warning{color:var(--color-warning);animation:timerPulse .5s ease-in-out infinite}.game-header .timer #timer-value.critical{color:var(--color-error);animation:timerCritical .3s ease-in-out infinite}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes timerCritical{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .5s ease}.game-screen.time-low:before{opacity:1;background:radial-gradient(ellipse at center,transparent 50%,rgba(245,158,11,.1) 100%)}.game-screen.time-critical:before{opacity:1;background:radial-gradient(ellipse at center,transparent 40%,rgba(239,68,68,.15) 100%);animation:vignettePulse 1s ease-in-out infinite}.game-screen.time-danger:before{opacity:1;background:radial-gradient(ellipse at center,transparent 30%,rgba(239,68,68,.25) 100%);animation:vignettePulseFast .5s ease-in-out infinite}@keyframes vignettePulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes vignettePulseFast{0%,to{opacity:1}50%{opacity:.5}}.score-popup{position:fixed;font-size:var(--font-size-xl);font-weight:700;color:var(--color-success);pointer-events:none;z-index:var(--z-tooltip);animation:scoreFloat 1s ease-out forwards;text-shadow:0 2px 4px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center}.score-popup.combo{color:#f59e0b;font-size:var(--font-size-2xl);animation:scoreFloatCombo 1s ease-out forwards}.score-popup.big-word{color:#a855f7;font-size:var(--font-size-2xl);text-shadow:0 0 20px rgba(168,85,247,.6);animation:scoreFloatBig 1.2s ease-out forwards}.score-popup.big-word.combo{color:#ec4899;text-shadow:0 0 20px rgba(236,72,153,.6)}.score-popup .combo-label{font-size:var(--font-size-sm);color:#fbbf24;margin-top:2px}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.2)}}@keyframes scoreFloatCombo{0%{opacity:1;transform:translateY(0) scale(1)}30%{transform:translateY(-20px) scale(1.4)}to{opacity:0;transform:translateY(-80px) scale(1.3)}}@keyframes scoreFloatBig{0%{opacity:1;transform:translateY(0) scale(1)}20%{transform:translateY(-10px) scale(1.6)}40%{transform:translateY(-30px) scale(1.4)}to{opacity:0;transform:translateY(-100px) scale(1.2)}}.celebration-particle{position:absolute;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:100;animation:particleBurst .8s ease-out forwards}@keyframes particleBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:1}20%{transform:translate(-50%,-50%) scale(1.5);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.5);opacity:0}}.current-word{font-size:var(--font-size-2xl);font-weight:700;min-height:48px;min-width:120px;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-light);border-radius:var(--radius-md);letter-spacing:6px;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.current-word.has-word{background:var(--color-bg-lighter);border-color:var(--color-primary);box-shadow:0 0 15px #3b82f633}.current-word.success{background:var(--color-success);color:#fff;border-color:var(--color-success);animation:wordSuccess .5s cubic-bezier(.34,1.56,.64,1)}@keyframes wordSuccess{0%{transform:scale(1)}30%{transform:scale(1.15)}to{transform:scale(1)}}.current-word.big-success{background:linear-gradient(135deg,#a855f7,#8b5cf6);color:#fff;border-color:#a855f7;animation:wordSuccessBig .7s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 30px #a855f780}.current-word.huge-success{background:linear-gradient(135deg,#ec4899,#f43f5e);color:#fff;border-color:#ec4899;animation:wordSuccessHuge .7s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 40px #ec489999}@keyframes wordSuccessBig{0%{transform:scale(1)}25%{transform:scale(1.25) rotate(-2deg)}50%{transform:scale(1.2) rotate(2deg)}75%{transform:scale(1.1) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes wordSuccessHuge{0%{transform:scale(1)}20%{transform:scale(1.35) rotate(-3deg)}40%{transform:scale(1.25) rotate(3deg)}60%{transform:scale(1.15) rotate(-2deg)}80%{transform:scale(1.05) rotate(1deg)}to{transform:scale(1) rotate(0)}}.current-word.error{background:var(--color-error);color:#fff;border-color:var(--color-error);animation:wordError .4s ease-in-out}@keyframes wordError{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-10px) rotate(-2deg)}40%{transform:translate(10px) rotate(2deg)}60%{transform:translate(-6px) rotate(-1deg)}80%{transform:translate(6px) rotate(1deg)}}.current-word.duplicate{background:var(--color-warning);color:#fff;border-color:var(--color-warning);animation:wordDuplicate .5s ease-in-out}@keyframes wordDuplicate{0%,to{opacity:1}50%{opacity:.5}}.game-board{position:relative;width:100%;max-width:360px;height:400px;display:flex;justify-content:space-between;padding:0 var(--spacing-lg)}.path-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-overlay);overflow:visible}.path-overlay path{stroke-dasharray:3000;stroke-dashoffset:3000;animation:drawPath .3s ease-out forwards}@keyframes drawPath{to{stroke-dashoffset:0}}.path-overlay circle{animation:dotPop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes dotPop{0%{r:0;opacity:0}to{r:8;opacity:1}}.path-overlay.path-success path{stroke:var(--color-success)!important;stroke-width:6!important;filter:drop-shadow(0 0 8px var(--color-success));transition:all .15s ease}.path-overlay.path-success circle{fill:var(--color-success)!important;filter:drop-shadow(0 0 6px var(--color-success))}.path-overlay.path-big path{stroke:#a855f7!important;stroke-width:8!important;filter:drop-shadow(0 0 12px #a855f7)}.path-overlay.path-big circle{fill:#a855f7!important;filter:drop-shadow(0 0 10px #a855f7)}.column{display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center}.left-column{align-items:flex-start}.right-column{align-items:flex-end}.letter-btn{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--letter-bg);border:3px solid var(--letter-border);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);padding:0;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.letter-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .2s}.letter-btn:hover{background:var(--letter-bg-hover);transform:scale(1.08);border-color:var(--color-primary-light)}.letter-btn:active{transform:scale(.95)}.letter-btn:active:after{opacity:1}.letter-btn.selected{background:var(--letter-bg-selected);border-color:var(--letter-border-selected);transform:scale(1.12);box-shadow:0 0 25px #3b82f699;animation:letterPop .2s cubic-bezier(.34,1.56,.64,1)}@keyframes letterPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1.12)}}.letter-btn.invalid{animation:letterShake .4s ease-in-out;border-color:var(--color-error)}@keyframes letterShake{0%,to{transform:translate(0)}20%{transform:translate(-6px) rotate(-2deg)}40%{transform:translate(6px) rotate(2deg)}60%{transform:translate(-4px) rotate(-1deg)}80%{transform:translate(4px) rotate(1deg)}}.letter-btn .letter-char{font-size:28px;font-weight:700;line-height:1;transition:transform .15s}.letter-btn.selected .letter-char{transform:scale(1.1)}.letter-btn .letter-value{font-size:11px;color:var(--color-text-muted);font-weight:500;transition:color .15s}.letter-btn.selected .letter-value{color:var(--color-text-secondary)}.controls{display:flex;gap:var(--spacing-md);width:100%;max-width:360px;justify-content:center}.controls .btn{flex:1;max-width:150px}.controls .clear-btn{background:var(--color-bg-lighter)}.controls .clear-btn:hover:not(:disabled){background:var(--color-bg-light)}.controls .clear-btn:disabled,.controls .clear-btn.disabled{background:var(--color-bg-lighter);color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.controls .undo-btn{background:var(--color-bg-lighter);border:1px solid var(--color-border)}.controls .undo-btn:hover:not(:disabled){background:var(--color-bg-light);border-color:var(--color-primary-light)}.controls .undo-btn:disabled,.controls .undo-btn.disabled{background:var(--color-bg-lighter);color:var(--color-text-muted);cursor:not-allowed;opacity:.5}.controls .submit-btn{background:var(--color-success);transition:all .2s ease}.controls .submit-btn:hover:not(:disabled){background:#16a34a}.controls .submit-btn:disabled,.controls .submit-btn.disabled{background:var(--color-bg-lighter);color:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}.found-words{width:100%;max-width:360px;max-height:150px;overflow-y:auto}.found-words h3{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.word-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.word-item{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:var(--color-bg-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);animation:wordItemPop .3s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent;transition:all .2s}.word-item:first-child{background:var(--color-bg-lighter);border-color:var(--color-success)}.word-item.combo{background:linear-gradient(135deg,#f59e0b33,#fbbf241a);border-color:#f59e0b}.word-item.combo .points{color:#f59e0b}.word-item.big-word{background:linear-gradient(135deg,#a855f733,#8b5cf61a);border-color:#a855f7}.word-item.big-word .points{color:#a855f7}.word-item.huge-word{background:linear-gradient(135deg,#ec489940,#f43f5e26);border-color:#ec4899;animation:hugeWordGlow 2s ease-in-out infinite}.word-item.huge-word .points{color:#ec4899}@keyframes hugeWordGlow{0%,to{box-shadow:0 0 5px #ec48994d}50%{box-shadow:0 0 15px #ec489980}}@keyframes wordItemPop{0%{opacity:0;transform:scale(.5) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.word-item .word{font-weight:500}.word-item .points{color:var(--color-success);font-weight:700}.results-screen{padding:var(--spacing-xl)}.results-content{text-align:center;max-width:400px}.results-content h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xl)}.final-score{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-xl);animation:fadeInUp .5s ease-out}.final-score .score-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:2px}.final-score .score-value{font-size:80px;font-weight:800;color:var(--color-primary);text-shadow:0 0 30px rgba(59,130,246,.4);animation:scoreCountUp .8s cubic-bezier(.34,1.56,.64,1)}@keyframes scoreCountUp{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.high-score-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:linear-gradient(135deg,#a855f7,#8b5cf6);color:#fff;font-weight:700;font-size:var(--font-size-md);border-radius:var(--radius-full);margin-bottom:var(--spacing-lg);animation:badgePop .6s cubic-bezier(.34,1.56,.64,1)}.high-score-badge.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 20px #fbbf2480}.high-score-badge.silver{background:linear-gradient(135deg,#9ca3af,#6b7280)}.high-score-badge.bronze{background:linear-gradient(135deg,#d97706,#b45309)}@keyframes badgePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.stat .stat-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase}.stat .stat-value{font-size:var(--font-size-lg);font-weight:600}.found-words-recap{margin-bottom:var(--spacing-xl)}.found-words-recap h3{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.word-list-recap{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs)}.word-chip{background:var(--color-bg-light);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.missed-words-section{margin-bottom:var(--spacing-xl)}.missed-words-section h3{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.missed-words-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-xs)}.word-chip.missed{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.results-buttons{display:flex;gap:var(--spacing-md);justify-content:center}.results-buttons .btn{min-width:140px}.results-buttons .menu-btn{background:var(--color-bg-lighter)}.results-buttons .menu-btn:hover{background:var(--color-bg-light)}.results-buttons .share-btn{background:var(--color-primary);color:#fff}.results-buttons .share-btn:hover{background:var(--color-primary-dark)}.results-buttons .share-btn.copied{background:var(--color-success)}.tutorial-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);display:none;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);z-index:50}.tutorial-screen.active{display:flex}.tutorial-container{max-width:500px;width:100%;display:flex;flex-direction:column;gap:var(--spacing-xl)}.tutorial-steps{display:flex;justify-content:center;gap:var(--spacing-sm)}.step-dot{width:12px;height:12px;border-radius:50%;background:var(--color-bg-lighter);transition:all .3s ease}.step-dot.active{background:var(--color-primary);transform:scale(1.2)}.step-dot.completed{background:var(--color-success)}.tutorial-content{text-align:center;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tutorial-title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-primary)}.tutorial-text{font-size:var(--font-size-lg);color:var(--color-text-muted);line-height:1.6}.tutorial-visual{min-height:200px;display:flex;align-items:center;justify-content:center;animation:fadeInUp .4s ease-out .1s both}.tutorial-demo{background:var(--color-bg-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:100%}.demo-columns{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);position:relative}.demo-column{display:flex;flex-direction:column;gap:var(--spacing-sm)}.demo-column.left{align-items:flex-start}.demo-column.right{align-items:flex-end}.demo-letter{width:48px;height:48px;background:var(--letter-bg);border:2px solid var(--letter-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;transition:all .3s ease}.demo-letter.highlight{background:var(--letter-bg-selected);border-color:var(--letter-border-selected);box-shadow:0 0 15px #3b82f666}.demo-letter.highlight:after{content:attr(data-order);position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:var(--color-primary);border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}.demo-path{flex:1;max-width:100px;height:120px}.animated-path{stroke-dasharray:300;stroke-dashoffset:300;animation:drawPath 1.5s ease-in-out forwards infinite}@keyframes drawPath{0%{stroke-dashoffset:300}50%{stroke-dashoffset:0}to{stroke-dashoffset:0}}.demo-word{text-align:center;margin-top:var(--spacing-md);font-size:var(--font-size-md);color:var(--color-text-muted);font-family:monospace}.score-examples{display:flex;flex-direction:column;gap:var(--spacing-md)}.score-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-lighter);border-radius:var(--radius-md)}.score-row.combo{background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border:1px solid rgba(251,191,36,.3)}.word-example{font-weight:700;letter-spacing:2px;flex:1}.points-example{color:var(--color-success);font-weight:700}.bonus-tag,.combo-tag{font-size:var(--font-size-sm);padding:2px 8px;border-radius:var(--radius-sm)}.bonus-tag{background:#a855f733;color:#a855f7}.combo-tag{background:#fbbf2433;color:#fbbf24}.controls-demo{display:flex;flex-direction:column;gap:var(--spacing-sm)}.control-row{display:flex;align-items:center;gap:var(--spacing-md)}.control-key{min-width:100px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-lighter);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-weight:600;text-align:center}.control-desc{color:var(--color-text-muted)}.tutorial-nav{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.tutorial-skip{background:transparent;color:var(--color-text-muted)}.tutorial-skip:hover{background:var(--color-bg-light);color:var(--color-text)}.tutorial-prev{background:var(--color-bg-lighter)}.tutorial-next{background:var(--color-primary);color:#fff;min-width:120px}.tutorial-next:hover{background:var(--color-primary-dark)}
