.infinite-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.infinite-toggle-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);flex:1}.infinite-toggle-switch{position:relative;width:48px;height:28px;appearance:none;background-color:var(--color-bg-card);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast)}.infinite-toggle-switch:checked{background-color:var(--color-brand-primary)}.infinite-toggle-switch:before{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;background-color:#fff;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.infinite-toggle-switch:checked:before{transform:translate(20px)}.infinite-panel{background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid transparent;transition:border-color var(--transition-base)}.infinite-panel.active{border-color:var(--color-brand-primary)}.infinite-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.infinite-panel-title{font-size:var(--text-base);font-weight:700;color:var(--color-brand-primary);display:flex;align-items:center;gap:var(--space-2)}.infinite-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background-color:var(--color-brand-primary);color:#fff}.seed-section{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.seed-label{font-size:var(--text-sm);color:var(--color-text-secondary);min-width:50px}.seed-input{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-base);font-family:var(--font-mono);background-color:var(--color-bg-card);border:2px solid var(--color-bg-elevated);border-radius:var(--radius-md);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.seed-input:focus{outline:none;border-color:var(--color-brand-primary)}.seed-input::placeholder{color:var(--color-text-muted)}.seed-refresh-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--color-bg-card);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.seed-refresh-btn:hover{background-color:var(--color-bg-elevated);color:var(--color-brand-primary)}.seed-share-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background-color:var(--color-bg-card);border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.seed-share-btn:hover{background-color:var(--color-bg-elevated);color:var(--color-brand-primary)}.seed-copied-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background-color:var(--color-bg-elevated);color:var(--color-text-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.difficulty-section{margin-bottom:var(--space-3)}.difficulty-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.difficulty-selector{display:flex;gap:var(--space-2)}.difficulty-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:600;background-color:var(--color-bg-card);border:2px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.difficulty-btn:hover{background-color:var(--color-bg-elevated)}.difficulty-btn.selected{border-color:currentColor;background-color:var(--color-bg-elevated)}.difficulty-btn.easy{color:#22c55e}.difficulty-btn.medium{color:#eab308}.difficulty-btn.hard{color:#ef4444}.difficulty-btn .emoji{font-size:var(--text-base)}.session-stats{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-3)}.session-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.session-stats-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.session-stats-reset{font-size:var(--text-xs);color:var(--color-text-muted);background:none;border:none;cursor:pointer;text-decoration:underline}.session-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.session-stat{text-align:center}.session-stat-value{font-size:var(--text-xl);font-weight:700;color:var(--color-brand-primary);line-height:1.2}.session-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.session-stat.streak .session-stat-value{color:#f59e0b}.session-stat.time .session-stat-value{font-size:var(--text-lg)}.streak-indicator{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:#f59e0b33;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:#f59e0b}.streak-indicator.large{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}.streak-fire{animation:flicker .5s infinite alternate}@keyframes flicker{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}.session-summary-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.session-summary-overlay.active{opacity:1;visibility:visible}.session-summary-content{background-color:var(--color-bg-secondary);padding:var(--space-6);border-radius:var(--radius-xl);text-align:center;max-width:320px;width:90%}.session-summary-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-brand-primary);margin-bottom:var(--space-4)}.session-summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.session-summary-stat{background-color:var(--color-bg-card);padding:var(--space-3);border-radius:var(--radius-lg)}.session-summary-stat-value{font-size:var(--text-2xl);font-weight:700;color:var(--color-text-primary)}.session-summary-stat-label{font-size:var(--text-xs);color:var(--color-text-muted)}.session-summary-actions{display:flex;gap:var(--space-3);justify-content:center}.infinite-mode-compact{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm)}.infinite-mode-compact .seed-display{font-family:var(--font-mono);color:var(--color-text-secondary)}.infinite-mode-compact .difficulty-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.infinite-mode-compact .difficulty-badge.easy{background-color:#22c55e33;color:#22c55e}.infinite-mode-compact .difficulty-badge.medium{background-color:#eab30833;color:#eab308}.infinite-mode-compact .difficulty-badge.hard{background-color:#ef444433;color:#ef4444}@media (max-width: 360px){.session-stats-grid{grid-template-columns:repeat(2,1fr)}.difficulty-selector{flex-direction:column}.difficulty-btn{justify-content:flex-start}}.undo-timeline{display:flex;align-items:center;position:relative;width:100%;padding:var(--space-2);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;user-select:none;touch-action:pan-x;cursor:grab}.undo-timeline:focus{outline:2px solid var(--focus-ring-color);outline-offset:2px}.undo-timeline.dragging{cursor:grabbing}.undo-timeline-track{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:var(--space-1);padding-right:var(--space-4);-webkit-overflow-scrolling:touch;scrollbar-width:none}.undo-timeline-track::-webkit-scrollbar{display:none}.undo-timeline-thumb-wrapper{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);scroll-snap-align:start;position:relative}.undo-timeline-thumb-wrapper:hover{transform:scale(1.05);background-color:#ffffff0d}.undo-timeline-thumb-wrapper:active{transform:scale(.95)}.undo-timeline-thumb-wrapper.current{background-color:#6366f133;box-shadow:0 0 0 2px var(--color-brand-primary)}.undo-timeline-thumb-wrapper.current:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-brand-primary)}.undo-timeline-thumb-wrapper.future{opacity:.6}.undo-timeline-thumb-wrapper.future .undo-timeline-thumb{filter:grayscale(30%)}.undo-timeline-thumb-wrapper.hover{transform:scale(1.1);box-shadow:0 0 0 3px var(--color-brand-accent);z-index:10}.undo-timeline-thumb{width:40px;height:60px;border-radius:var(--radius-sm);object-fit:contain;background-color:var(--color-bg-primary);pointer-events:none}.undo-timeline-thumb-label{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.undo-timeline-thumb-wrapper.current .undo-timeline-thumb-label{color:var(--color-brand-primary);font-weight:600}.undo-timeline-indicator{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(90deg,var(--color-brand-primary),var(--color-brand-secondary));border-radius:var(--radius-full) var(--radius-full) 0 0;transition:left var(--transition-fast),width var(--transition-fast);pointer-events:none;z-index:5}.undo-timeline:empty:before{content:"No moves yet";color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-4);text-align:center;width:100%}.undo-timeline:before,.undo-timeline:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:2}.undo-timeline:before{left:0;background:linear-gradient(to right,var(--color-bg-secondary),transparent)}.undo-timeline:after{right:0;background:linear-gradient(to left,var(--color-bg-secondary),transparent)}@media (max-width: 360px){.undo-timeline-thumb{width:32px;height:48px}.undo-timeline-track{gap:var(--space-1)}}@media (prefers-reduced-motion: reduce){.undo-timeline-track{scroll-behavior:auto}.undo-timeline-thumb-wrapper,.undo-timeline-indicator{transition:none}}@media (prefers-contrast: high){.undo-timeline-thumb-wrapper.current{box-shadow:0 0 0 3px var(--color-text-primary)}.undo-timeline-thumb-wrapper:hover{outline:2px solid var(--color-text-primary)}}@media (prefers-color-scheme: dark){.undo-timeline-thumb-wrapper:hover{background-color:#ffffff1a}}@keyframes thumbAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.undo-timeline-thumb-wrapper:not(.current){animation:thumbAppear .2s ease-out}@keyframes currentPulse{0%,to{box-shadow:0 0 0 2px var(--color-brand-primary)}50%{box-shadow:0 0 0 4px #6366f180}}.undo-timeline-thumb-wrapper.current{animation:currentPulse 2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.undo-timeline-thumb-wrapper.current{animation:none}.undo-timeline-thumb-wrapper:not(.current){animation:none}}.game-board{min-height:350px;max-height:450px}#game-canvas{cursor:pointer;touch-action:none}#game-canvas:active{cursor:grabbing}.hint-active{animation:hintPulse .5s ease-in-out 3}@keyframes hintPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.stars-display{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.star{font-size:2rem;opacity:.3;transition:all .3s ease}.star.filled{opacity:1;animation:starPop .4s ease}@keyframes starPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.settings-content{max-width:280px}.settings-group{margin-bottom:var(--space-4)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;cursor:pointer}.setting-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-brand-primary)}.next-puzzle-section{display:flex;justify-content:center;padding:var(--space-4) 0}#btn-next-puzzle{min-width:200px}.infinite-win .game-overlay-content{border:2px solid var(--color-brand-primary)}.game-overlay-title.lose{color:var(--color-error)}.stats-summary{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.level-progress{font-size:var(--text-sm);color:var(--color-text-muted)}.overlay-buttons{display:flex;gap:var(--space-3);justify-content:center}@media (max-width: 360px){.game-stats{padding:var(--space-2)}.game-stat-value{font-size:var(--text-lg)}.star{font-size:1.5rem}}@media (prefers-color-scheme: dark){.game-board{background-color:var(--color-bg-secondary)}}@media (prefers-reduced-motion: reduce){.star.filled,.hint-active{animation:none}}.undo-timeline-container{margin:var(--space-2) 0;min-height:0;transition:min-height var(--transition-base)}.undo-timeline-container:not(:empty){min-height:100px}
