*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--tube-bg: rgba(255, 255, 255, .15);--tube-border: rgba(255, 255, 255, .4);--primary: #667eea;--secondary: #764ba2;--success: #4ECDC4;--danger: #FF6B6B;--text: #333;--text-light: #fff;--card-bg: rgba(255, 255, 255, .95);--shadow: 0 4px 20px rgba(0, 0, 0, .15);--radius: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .18);--shadow-glow: 0 0 24px rgba(102, 126, 234, .35);--radius-sm: 8px;--radius-lg: 16px;--tube-highlight: rgba(255, 255, 255, .55);--tube-shadow-inner: rgba(0, 0, 0, .18);--color-layer-shine: rgba(255, 255, 255, .45);--tube-highlight-right: rgba(255, 255, 255, .22);--tube-bottom-reflection: rgba(255, 255, 255, .12);--meniscus-shine: rgba(255, 255, 255, .5);--meniscus-shadow: rgba(0, 0, 0, .1);--glass-rim: rgba(255, 255, 255, .35);--bg-atmosphere: radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, .08) 0%, transparent 60%);--theme-transition: .4s ease}body{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-gradient);background-attachment:fixed;min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none;font-feature-settings:"tnum" on,"cv11" on;transition:background var(--theme-transition),color var(--theme-transition)}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-atmosphere);pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}#root,.app{min-height:100vh;display:flex;flex-direction:column}.home-header{text-align:center;padding:40px 20px 20px;color:var(--text-light);position:relative}.sound-toggle-btn{width:40px;height:40px;border:none;border-radius:50%;background:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.header-controls{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:10}.sound-toggle-btn:hover{background:#ffffff59;transform:scale(1.1)}.sound-toggle-btn:active{transform:scale(.95)}.logo{font-size:64px;margin-bottom:8px;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title{font-size:32px;font-weight:800;margin-bottom:8px;letter-spacing:2px;text-shadow:0 2px 10px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.15)}.subtitle{font-size:16px;font-weight:500;opacity:.95;margin-bottom:4px;letter-spacing:.5px}.tagline{font-size:14px;opacity:.75;letter-spacing:.3px}.home-main{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;max-width:500px;margin:0 auto;width:100%}.mode-entry{width:100%;display:flex;flex-direction:column;gap:6px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:4px 0}.mode-grid-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 8px;min-height:72px;border-radius:var(--radius);position:relative;overflow:hidden}.mode-grid-icon{font-size:24px;line-height:1}.mode-grid-label{font-size:15px;font-weight:700;line-height:1.2}.mode-grid-sub{font-size:11px;opacity:.7;line-height:1}.mode-grid-btn:after,.mode-entry .btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.mode-entry .btn:hover:after{left:100%}.home-stats{display:flex;gap:30px;margin:10px 0;flex-wrap:wrap;justify-content:center}.stat-item{text-align:center;color:var(--text-light)}.stat-value{display:block;font-size:28px;font-weight:800}.stat-label{font-size:12px;opacity:.8}.level-overview-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 14px;margin-bottom:10px;background:#667eea0f;border-radius:10px;border:1px solid rgba(102,126,234,.1)}.level-overview-item{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text)}.level-overview-icon{font-size:16px}.level-overview-text strong{color:var(--primary);font-weight:700}.level-overview-progress{flex:1 1 100%;margin-top:4px}.level-overview-track{height:6px;background:#00000014;border-radius:3px;overflow:hidden}.level-overview-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#667eea);border-radius:3px;transition:width .5s ease}.dark-theme .level-overview-bar{background:#667eea1a;border-color:#667eea33}.dark-theme .level-overview-track{background:#ffffff1a}.level-select{width:100%;background:var(--card-bg);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.level-select-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.level-select-header h3{font-size:16px;margin:0}.level-pages{display:flex;align-items:center;gap:8px}.page-btn{width:28px;height:28px;border:none;border-radius:6px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.page-btn:hover:not(:disabled){transform:scale(1.1)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-info{font-size:13px;color:#666;min-width:80px;text-align:center}.level-select h3{margin-bottom:12px;text-align:center;font-size:16px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.level-btn{aspect-ratio:1;border:none;border-radius:10px;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:inset 0 1px #fff9,0 1px 2px #0000000f}.level-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #0000002e}.level-btn:active{transform:translateY(0) scale(.98)}.level-btn.completed{background:linear-gradient(135deg,#95e1a3,#4ecdc4);color:#fff;box-shadow:inset 0 1px #ffffff4d,0 2px 8px #4ecdc44d}.level-btn.current{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 0 0 3px #667eea66,0 4px 12px #667eea59;animation:current-pulse 2s ease-in-out infinite}@keyframes current-pulse{0%,to{box-shadow:0 0 0 3px #667eea66,0 4px 12px #667eea59}50%{box-shadow:0 0 0 4px #667eea8c,0 6px 16px #667eea73}}.level-btn.diff-easy{border-left:4px solid #4ECDC4}.level-btn.diff-normal{border-left:4px solid #667eea}.level-btn.diff-medium{border-left:4px solid #FFA07A}.level-btn.diff-hard{border-left:4px solid #FF6B6B}.level-btn.diff-expert{border-left:4px solid #C589E8}.level-btn.diff-master{border-left:4px solid #333}.level-btn{position:relative}.level-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.8);background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:8px 12px;box-shadow:0 4px 16px #00000026;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:100;pointer-events:none;font-size:12px;color:#333;min-width:120px}.level-btn:hover .level-tooltip,.level-btn:active .level-tooltip{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.level-tooltip-title{display:block;font-weight:600;margin-bottom:4px;color:#667eea;border-bottom:1px solid #f0f0f0;padding-bottom:3px}.level-tooltip-detail{display:flex;flex-direction:column;gap:2px}.level-tooltip-row{display:block;color:#555}.level-tooltip-hint{display:block;color:#4ecdc4;font-size:11px;margin-top:2px}.dark-theme .level-tooltip{background:#2a2a3e;border-color:#444;color:#ddd;box-shadow:0 4px 16px #0006}.dark-theme .level-tooltip-title{color:#8fa4f5;border-bottom-color:#444}.dark-theme .level-tooltip-row{color:#aaa}.dark-theme .level-tooltip-hint{color:#6fe7dd}.level-diff-dot{width:6px;height:6px;border-radius:50%;margin-bottom:2px;display:block}.level-diff-dot[data-diff=diff-easy]{background:#4ecdc4}.level-diff-dot[data-diff=diff-normal]{background:#667eea}.level-diff-dot[data-diff=diff-medium]{background:#ffa07a}.level-diff-dot[data-diff=diff-hard]{background:#ff6b6b}.level-diff-dot[data-diff=diff-expert]{background:#c589e8}.level-diff-dot[data-diff=diff-master]{background:#333}.level-search-box{display:flex;gap:4px;align-items:center}.level-search-input{width:80px;padding:4px 8px;border:1px solid #ddd;border-radius:6px;font-size:13px;text-align:center;outline:none;transition:border-color .2s}.level-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #667eea33}.level-search-btn{padding:4px 10px;border:none;border-radius:6px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:12px;cursor:pointer;transition:all .2s}.level-search-btn:hover:not(:disabled){transform:scale(1.05)}.mode-desc{text-align:center;font-size:12px;color:var(--text-light);opacity:.7;margin:-4px 0 8px}.difficulty-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px;padding:8px 12px;background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow)}.difficulty-filter{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:10px;padding:8px}.diff-filter-btn{padding:4px 10px;border-radius:14px;border:1.5px solid transparent;background:#0000000d;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;color:var(--text)}.diff-filter-btn:hover{transform:translateY(-1px)}.diff-filter-btn.active{font-weight:700;box-shadow:0 2px 8px #00000026}.diff-filter-btn.active.diff-easy{background:#4ecdc4;color:#fff;border-color:#4ecdc4}.diff-filter-btn.active.diff-normal{background:#667eea;color:#fff;border-color:#667eea}.diff-filter-btn.active.diff-medium{background:#ffa07a;color:#fff;border-color:#ffa07a}.diff-filter-btn.active.diff-hard{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.diff-filter-btn.active.diff-expert{background:#c589e8;color:#fff;border-color:#c589e8}.diff-filter-btn.active.diff-master{background:#9c27b0;color:#fff;border-color:#9c27b0}.diff-filter-btn.active:not([class*=diff-]){background:var(--primary, #667eea);color:#fff}.legend-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text);white-space:nowrap}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:3px}.legend-dot.diff-easy{background:#4ecdc4}.legend-dot.diff-normal{background:#667eea}.legend-dot.diff-medium{background:#ffa07a}.legend-dot.diff-hard{background:#ff6b6b}.legend-dot.diff-expert{background:#c589e8}.legend-dot.diff-master{background:#333}.progress-bar-section{width:100%;background:var(--card-bg);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow)}.progress-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--text)}.progress-percent{color:var(--primary);font-size:16px;font-weight:800}.progress-bar-track{height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--success),var(--primary));border-radius:6px;transition:width .5s ease;box-shadow:0 0 10px #4ecdc466}.donate-section{text-align:center;color:var(--text-light);padding:10px}.donate-section p{font-size:14px;margin-bottom:6px;opacity:.8}.donate-link{display:inline-block;padding:8px 20px;background:#fff3;border:2px solid rgba(255,255,255,.4);border-radius:20px;color:var(--text-light);text-decoration:none;font-size:14px;transition:all .2s}.donate-link:hover{background:#ffffff4d;transform:scale(1.05)}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:var(--card-bg);border-radius:var(--radius-sm);padding:10px 14px;box-shadow:var(--shadow-sm)}.faq-question{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:4px}.faq-answer{font-size:13px;color:var(--text);line-height:1.5}.quick-nav-section{margin:16px 0}.quick-nav-section h3{font-size:16px;margin-bottom:12px;color:var(--text-primary, #333)}.quick-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-nav-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:center}.quick-nav-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.quick-nav-card:active{transform:scale(.96)}.quick-nav-icon{font-size:28px}.quick-nav-label{font-size:13px;font-weight:600;color:var(--text-primary, #333)}.quick-nav-desc{font-size:10px;color:var(--text-light, #888);line-height:1.3}@media (max-width: 480px){.quick-nav-grid{grid-template-columns:repeat(2,1fr)}}.home-footer{text-align:center;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));color:var(--text-light);opacity:.7;font-size:14px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px}.footer-link{background:none;border:none;color:var(--text-light);cursor:pointer;font-size:14px;text-decoration:underline}.footer-divider{margin:0 8px}.status-bar{display:flex;gap:8px;margin-bottom:8px}.status-bar>.checkin-card-compact{flex:1;padding:8px 12px;margin-bottom:0}.status-bar>.hint-items-card-compact{flex:0 0 auto;padding:8px 12px;margin-bottom:0;align-items:center}.hint-items-card-compact .hint-items-info{display:flex;flex-direction:column;gap:1px}.hint-items-card-compact .hint-items-tip{margin-left:0;font-size:10px}.checkin-card-compact .checkin-streak{font-size:11px}.checkin-card-compact .checkin-title{font-size:14px}@media (max-width: 380px){.status-bar{flex-direction:column}}@media (max-width: 480px){.home-footer{position:sticky;bottom:0;left:0;right:0;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 8px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:4px;justify-content:flex-start;white-space:nowrap;background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:50}.home-footer::-webkit-scrollbar{display:none}.footer-link{flex-shrink:0;font-size:13px;padding:6px 8px;border-radius:6px;text-decoration:none;transition:background .2s}.footer-link:active{background:#ffffff26}.footer-divider{margin:0 1px;flex-shrink:0;opacity:.4}.fab-nav{bottom:calc(60px + env(safe-area-inset-bottom,0px))}}.game-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:var(--text-light);background:#00000014;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}.btn-back,.btn-hint{background:#fff3;border:none;border-radius:8px;padding:8px 16px;color:var(--text-light);cursor:pointer;font-size:14px;transition:all .2s}.btn-back:hover,.btn-hint:hover{background:#ffffff4d;transform:translateY(-1px)}.btn-back:active,.btn-hint:active{transform:translateY(0) scale(.97);transition:transform .08s}.level-info-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#0000001f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text-light);font-size:13px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.06)}.level-info-item{white-space:nowrap}.level-info-divider{opacity:.5}.combo-badge{color:#ff5e3a;font-weight:700;animation:comboPulse .5s ease}@keyframes comboPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.combo-celebration-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.combo-celebration-card{background:#fff;border-radius:20px;border:4px solid;padding:32px 40px;text-align:center;max-width:320px;width:90%;box-shadow:0 8px 32px #0003;animation:comboCardIn .4s cubic-bezier(.34,1.56,.64,1)}.combo-celebration-emoji{font-size:64px;margin-bottom:12px}.combo-celebration-title{font-size:24px;font-weight:800;margin-bottom:8px}.combo-celebration-desc{font-size:14px;color:#666;margin-bottom:20px}@keyframes comboCardIn{0%{transform:scale(.3) rotate(-10deg);opacity:0}60%{transform:scale(1.1) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes comboPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.dark-theme .combo-celebration-card{background:#1e1e2e;box-shadow:0 8px 32px #00000080}.dark-theme .combo-celebration-desc{color:#aaa}.game-title{font-size:18px;font-weight:700}.game-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px;max-width:600px;margin:0 auto;width:100%}.game-board{width:100%;background:var(--card-bg);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-lg);position:relative;transition:background var(--theme-transition),box-shadow .3s ease}.game-board:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);pointer-events:none}.game-info{display:flex;justify-content:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.level-badge,.difficulty-badge,.moves-badge{padding:4px 12px;border-radius:16px;font-size:13px;font-weight:600;box-shadow:inset 0 1px #ffffff4d;transition:transform .15s ease}.level-badge:hover,.difficulty-badge:hover{transform:translateY(-1px)}.level-badge{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.difficulty-badge{background:#f0f0f0;color:#666}.moves-badge{background:#e8f5e9;color:#2e7d32;transition:transform .2s ease,background .2s ease}.moves-badge.pulse{animation:moves-pulse .3s ease-out}@keyframes moves-pulse{0%{transform:scale(1)}50%{transform:scale(1.2);background:#c8e6c9}to{transform:scale(1)}}.optimal-badge{padding:4px 12px;border-radius:16px;font-size:13px;font-weight:600;background:linear-gradient(135deg,gold,#ffb347);color:#5d4037}.timer-badge{padding:4px 12px;border-radius:16px;font-size:14px;font-weight:700;background:#e3f2fd;color:#1565c0}.timer-badge.timer-normal{background:#667eea26;color:var(--primary);font-variant-numeric:tabular-nums}.timer-badge.timer-danger{background:#ffebee;color:#c62828;animation:timer-pulse .5s ease-in-out infinite}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-context-tip{text-align:center;padding:8px 16px;margin-bottom:8px;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border-radius:12px;color:#555;font-size:13px;font-weight:500;animation:tip-fade-in .4s ease;border:1px solid rgba(102,126,234,.15)}.deadlock-warning-tip{text-align:center;padding:10px 16px;margin-bottom:8px;background:linear-gradient(135deg,#fff3cd,#ffe8a1);border-radius:12px;color:#856404;font-size:13px;font-weight:600;animation:deadlock-warning-pulse .6s ease;border:1px solid rgba(255,193,7,.4);box-shadow:0 2px 12px #ffc10733}@keyframes deadlock-warning-pulse{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}@keyframes tip-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.streak-badge{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:700;white-space:nowrap;animation:streak-pulse 2s ease-in-out infinite;box-shadow:0 2px 6px #ff6b6b66}@keyframes streak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.first-play-guide{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:6px;animation:tip-fade-in .5s ease}.guide-arrow-bounce{font-size:28px;animation:arrow-bounce 1s ease-in-out infinite}.guide-text{font-size:13px;color:#667eea;font-weight:600;background:#667eea1a;padding:4px 12px;border-radius:20px;transition:all .3s ease}.guide-text:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#667eea;margin-right:6px;animation:guide-pulse 1.2s ease-in-out infinite}@keyframes guide-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.level-transition{animation:level-enter .45s cubic-bezier(.22,.61,.36,1)}@keyframes level-enter{0%{opacity:0;transform:translateY(16px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.beginner-hint{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;animation:beginnerHintBounce 1.5s ease-in-out infinite}.beginner-hint-arrow{font-size:28px;line-height:1}.beginner-hint-text{font-size:13px;color:#667eea;font-weight:600;background:#667eea1a;padding:4px 12px;border-radius:12px;white-space:nowrap}@keyframes beginnerHintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.beginner-encouragement{display:flex;align-items:center;gap:8px;margin-bottom:8px;animation:encouragementSlideIn .5s ease-out}.encouragement-emoji{font-size:24px;animation:encouragementBounce .8s ease-in-out infinite}.encouragement-text{font-size:13px;color:#4caf50;font-weight:600;background:#4caf501a;padding:4px 12px;border-radius:12px;white-space:nowrap}@keyframes encouragementSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes encouragementBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.beginner-encouragement.level2-tip .encouragement-text{color:#2196f3;background:#2196f31a}.beginner-encouragement.level3-tip .encouragement-text{color:#9c27b0;background:#9c27b01a}.beginner-encouragement.level4-tip .encouragement-text{color:#ff9800;background:#ff98001a}.beginner-encouragement.level5-tip .encouragement-text{color:#00bcd4;background:#00bcd41a}.beginner-encouragement.level6-tip .encouragement-text{color:#4caf50;background:#4caf501a}.beginner-encouragement.level7-tip .encouragement-text{color:#795548;background:#7955481a}.beginner-encouragement.level8-tip .encouragement-text{color:#e91e63;background:#e91e631a}.beginner-encouragement.level9-tip .encouragement-text{color:#00838f;background:#00838f1a}.beginner-encouragement.level10-tip .encouragement-text{color:#f57f17;background:#f57f171a}.beginner-encouragement.level11-tip .encouragement-text{color:#6a1b9a;background:#6a1b9a1a}.beginner-encouragement.level12-tip .encouragement-text{color:#00695c;background:#00695c1a}.beginner-encouragement.level13-tip .encouragement-text{color:#e65100;background:#e651001a}.beginner-encouragement.level14-tip .encouragement-text{color:#283593;background:#2835931a}.beginner-encouragement.level15-tip .encouragement-text{color:#ad1457;background:#ad14571a}.beginner-encouragement.level16-tip .encouragement-text{color:#00695c;background:#00695c1a}.beginner-encouragement.level17-tip .encouragement-text{color:#4527a0;background:#4527a01a}.beginner-encouragement.level18-tip .encouragement-text{color:#f57f17;background:#f57f171a}.beginner-encouragement.level19-tip .encouragement-text{color:#c62828;background:#c628281a}.beginner-encouragement.level20-tip .encouragement-text{color:#1a237e;background:#1a237e1a}.dark-theme .beginner-encouragement.level2-tip .encouragement-text{color:#64b5f6;background:#2196f326}.dark-theme .beginner-encouragement.level3-tip .encouragement-text{color:#ce93d8;background:#9c27b026}.dark-theme .beginner-encouragement.level4-tip .encouragement-text{color:#ffb74d;background:#ff980026}.dark-theme .beginner-encouragement.level5-tip .encouragement-text{color:#4dd0e1;background:#00bcd426}.dark-theme .beginner-encouragement.level6-tip .encouragement-text{color:#81c784;background:#4caf5026}.dark-theme .beginner-encouragement.level7-tip .encouragement-text{color:#bcaaa4;background:#79554826}.dark-theme .beginner-encouragement.level8-tip .encouragement-text{color:#f06292;background:#e91e6326}.dark-theme .beginner-encouragement.level9-tip .encouragement-text{color:#4db6ac;background:#00838f26}.dark-theme .beginner-encouragement.level10-tip .encouragement-text{color:#ffb74d;background:#f57f1726}.dark-theme .beginner-encouragement.level11-tip .encouragement-text{color:#ba68c8;background:#6a1b9a26}.dark-theme .beginner-encouragement.level12-tip .encouragement-text{color:#4db6ac;background:#00695c26}.dark-theme .beginner-encouragement.level13-tip .encouragement-text{color:#ff8a65;background:#e6510026}.dark-theme .beginner-encouragement.level14-tip .encouragement-text{color:#7986cb;background:#28359326}.dark-theme .beginner-encouragement.level15-tip .encouragement-text{color:#f06292;background:#ad145726}.dark-theme .beginner-encouragement.level16-tip .encouragement-text{color:#4db6ac;background:#00695c26}.dark-theme .beginner-encouragement.level17-tip .encouragement-text{color:#9575cd;background:#4527a026}.dark-theme .beginner-encouragement.level18-tip .encouragement-text{color:#ffb74d;background:#f57f1726}.dark-theme .beginner-encouragement.level19-tip .encouragement-text{color:#ef5350;background:#c6282826}.dark-theme .beginner-encouragement.level20-tip .encouragement-text{color:#7986cb;background:#1a237e26}.tubes-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 8px;min-height:300px;align-items:flex-end;background:radial-gradient(ellipse at center bottom,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:12px;position:relative}.tube-wrapper{display:flex;flex-direction:column;align-items:center}.tube-container{display:flex;flex-direction:column;align-items:center;cursor:pointer;touch-action:manipulation;transition:transform .25s cubic-bezier(.34,1.3,.64,1);will-change:transform;position:relative}.tube-container:hover{transform:translateY(-4px)}.tube-container:hover .tube{border-color:#fff9}.tube-container.selected{transform:translateY(-8px)}.tube-container.selected:after{content:"";position:absolute;bottom:18px;left:50%;transform:translate(-50%);width:36px;height:6px;background:radial-gradient(ellipse,rgba(0,0,0,.25) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:-1}.tube-container.selected .tube{box-shadow:0 0 0 3px var(--primary),0 0 24px color-mix(in srgb,var(--primary) 50%,transparent),0 4px 20px color-mix(in srgb,var(--primary) 40%,transparent);animation:selected-glow 1.5s ease-in-out infinite}@keyframes selected-glow{0%,to{box-shadow:0 0 0 3px var(--primary),0 0 20px color-mix(in srgb,var(--primary) 40%,transparent),0 4px 20px color-mix(in srgb,var(--primary) 30%,transparent)}50%{box-shadow:0 0 0 3px var(--primary),0 0 30px color-mix(in srgb,var(--primary) 60%,transparent),0 4px 25px color-mix(in srgb,var(--primary) 50%,transparent)}}.tube-container.hinted .tube{animation:pulse-hint 1s ease-in-out infinite}.tube-container.pouring .tube{animation:pour-bounce .3s cubic-bezier(.34,1.4,.64,1);will-change:transform}@keyframes pour-bounce{0%{transform:scale(1)}30%{transform:scale(1.06) rotate(-1deg)}60%{transform:scale(1.1);box-shadow:0 0 20px #4ecdc499,inset 2px 0 4px #ffffff4d}to{transform:scale(1) rotate(0)}}.tube-container.pouring .color-layer{animation:layer-fade-in .3s cubic-bezier(.34,1.3,.64,1)}@keyframes layer-fade-in{0%{opacity:.4;transform:translateY(-12px) scale(.95)}60%{opacity:1;transform:translateY(2px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-hint{0%,to{box-shadow:0 0 0 3px var(--success),0 4px 20px #4ecdc44d}50%{box-shadow:0 0 0 5px var(--success),0 4px 25px #4ecdc480}}.tube{width:44px;height:140px;position:relative;border:3px solid var(--tube-border);border-top:none;border-radius:0 0 20px 20px;background:var(--tube-bg);overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:box-shadow .2s,background var(--theme-transition),border-color var(--theme-transition);box-shadow:inset 2px 0 4px #ffffff40,inset -2px 0 4px var(--tube-shadow-inner),inset 0 -3px 6px var(--tube-bottom-reflection)}.tube:before{content:"";position:absolute;top:4px;left:3px;width:3px;bottom:8px;background:linear-gradient(180deg,var(--tube-highlight) 0%,rgba(255,255,255,.1) 100%);border-radius:2px;z-index:2;pointer-events:none}.tube:after{content:"";position:absolute;top:6px;right:4px;width:1.5px;bottom:10px;background:linear-gradient(180deg,var(--tube-highlight-right) 0%,transparent 100%);border-radius:1px;z-index:2;pointer-events:none}.tube-inner{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:0 0 17px 17px}.tube-mouth{position:absolute;top:-3px;left:-6px;right:-6px;height:6px;border:3px solid var(--tube-border);border-bottom:none;border-radius:6px 6px 0 0;background:var(--tube-bg)}.color-layer{position:absolute;left:0;right:0;transition:transform .3s cubic-bezier(.34,1.2,.64,1),opacity .3s ease;will-change:transform,opacity;box-shadow:inset 0 2px 4px var(--color-layer-shine),inset 0 -2px 4px #0000002e,inset 2px 0 4px #ffffff2e,inset -2px 0 4px #0000001a}.color-layer:before{content:"";position:absolute;top:15%;left:15%;width:30%;height:30%;background:radial-gradient(ellipse at center,var(--color-layer-shine) 0%,transparent 70%);border-radius:50%;pointer-events:none}.tube-inner>.color-layer:last-child:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(180deg,var(--meniscus-shine) 0%,transparent 100%);border-radius:50% 50% 0 0/100% 100% 0 0;pointer-events:none;z-index:1}.cb-pattern-red:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.35) 4px,rgba(0,0,0,.35) 6px);pointer-events:none}.cb-pattern-blue:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.35) 4px,rgba(0,0,0,.35) 6px);pointer-events:none}.cb-pattern-yellow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(0,0,0,.4) 4px,rgba(0,0,0,.4) 6px);pointer-events:none}.cb-pattern-green:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 4px,rgba(0,0,0,.35) 4px,rgba(0,0,0,.35) 6px);pointer-events:none}.cb-pattern-purple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(0,0,0,.4) 2px,transparent 3px);background-size:8px 8px;pointer-events:none}.cb-pattern-orange:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 6px,rgba(0,0,0,.35) 6px,rgba(0,0,0,.35) 8px);pointer-events:none}.cb-pattern-pink:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,transparent 2px,rgba(0,0,0,.35) 3px,transparent 4px);background-size:8px 8px;pointer-events:none}.cb-pattern-cyan:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 6px,rgba(0,0,0,.35) 6px,rgba(0,0,0,.35) 8px);pointer-events:none}.cb-pattern-brown:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,0,0,.3) 8px,rgba(0,0,0,.3) 10px),repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.3) 8px,rgba(0,0,0,.3) 10px);pointer-events:none}.cb-pattern-gray:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(0,0,0,.4) 1.5px,transparent 2px),radial-gradient(circle,rgba(0,0,0,.4) 1.5px,transparent 2px);background-size:6px 6px;background-position:0 0,3px 3px;pointer-events:none}.tube-index{margin-top:6px;font-size:11px;color:#999}.tube-color-labels{margin-top:4px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:60px}.color-label{font-size:9px;font-weight:600;padding:1px 3px;border-radius:3px;background:#ffffffb3;color:#333;line-height:1.2;white-space:nowrap}.cb-label-red{background:#ff6b6b33;border-left:2px solid #FF6B6B}.cb-label-blue{background:#4ecdc433;border-left:2px solid #4ECDC4}.cb-label-yellow{background:#ffe66d40;border-left:2px solid #FFE66D}.cb-label-green{background:#95e1a333;border-left:2px solid #95E1A3}.cb-label-purple{background:#c589e833;border-left:2px solid #C589E8}.cb-label-orange{background:#ffa07a33;border-left:2px solid #FFA07A}.cb-label-pink{background:#ffb6c133;border-left:2px solid #FFB6C1}.cb-label-cyan{background:#87ceeb33;border-left:2px solid #87CEEB}.cb-label-brown{background:#d4a57433;border-left:2px solid #D4A574}.cb-label-gray{background:#b0b0b033;border-left:2px solid #B0B0B0}.game-controls{display:flex;justify-content:center;gap:12px;margin-top:16px}.btn{border:none;border-radius:var(--radius-sm);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.08)}.btn:active{transform:translateY(0) scale(.98);transition:transform .05s ease}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:grayscale(.3)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--text-light);box-shadow:0 4px 15px color-mix(in srgb,var(--primary) 40%,transparent)}.btn-primary:hover{box-shadow:0 6px 20px color-mix(in srgb,var(--primary) 50%,transparent)}.btn-secondary{background:#fff3;color:var(--text-light);border:2px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-large{padding:14px 32px;font-size:18px;letter-spacing:.5px}.btn-undo{background:#f0f0f0;color:#333}.btn-reset{background:#fff3e0;color:#e65100}.btn-pause{background:#e8f5e9;color:#2e7d32}.btn-pause:disabled{opacity:.5;cursor:not-allowed}.btn-hint{background:#fff8e1;color:#f57c00;position:relative}.btn-hint:disabled{opacity:.5;cursor:not-allowed}.hint-count{display:inline-block;background:#ff9800;color:#fff;border-radius:10px;padding:0 6px;font-size:11px;min-width:18px;text-align:center;margin-left:2px}.hint-items-card{display:flex;align-items:center;gap:8px;background:#fff8e1e6;border:1px solid #ffe082;border-radius:12px;padding:10px 16px;margin-bottom:12px;font-size:14px;flex-wrap:wrap}.hint-items-icon{font-size:20px}.hint-items-text{font-weight:500}.hint-items-text strong{color:#f57c00;font-size:16px}.hint-items-tip{font-size:11px;color:#999;margin-left:auto}.win-overlay,.deadlock-overlay,.pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .3s ease}.win-card,.deadlock-card{background:#fff;border-radius:20px;padding:32px 40px;text-align:center;box-shadow:0 10px 40px #0000004d;animation:pop-in .4s ease;max-width:400px;width:90vw;-webkit-overflow-scrolling:touch}@keyframes pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.win-emoji,.deadlock-emoji{font-size:64px;margin-bottom:12px;animation:bounce 1s ease}.pause-card{background:#fff;border-radius:20px;padding:32px 40px;text-align:center;box-shadow:0 10px 40px #0000004d;animation:pop-in .4s ease;max-width:400px;width:90vw}.pause-emoji{font-size:64px;margin-bottom:12px;animation:pulse 2s ease infinite}.pause-card h2{font-size:24px;margin-bottom:8px;color:var(--text)}.pause-card p{color:#666;font-size:16px}.win-card h2,.deadlock-card h2{font-size:24px;margin-bottom:8px;color:var(--text)}.win-card p,.deadlock-card p{color:#666;font-size:16px}.best-score{margin-top:10px;color:var(--text-light);font-size:14px;opacity:.9}.info-page{max-width:500px;margin:0 auto;padding:20px;color:var(--text-light);line-height:1.8}.info-page h2{margin-bottom:16px;font-size:22px;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 4px rgba(0,0,0,.2)}.info-page h3{margin:18px 0 8px;font-size:16px;font-weight:600;padding-left:8px;border-left:3px solid rgba(255,255,255,.4)}.info-page ul{padding-left:20px;margin-bottom:12px}.info-page li{margin-bottom:6px;font-size:14px}.info-page p{font-size:14px;margin-bottom:8px}.color-encyclopedia-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.encyclopedia-progress-bar{margin-bottom:16px;padding:12px 14px;background:#667eea0f;border-radius:10px}.encyclopedia-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.encyclopedia-progress-text{font-size:13px;font-weight:600;color:var(--text, #333)}.encyclopedia-progress-count{font-size:13px;font-weight:700;color:var(--primary, #667eea)}.encyclopedia-progress-track{height:8px;background:#00000014;border-radius:4px;overflow:hidden}.encyclopedia-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease}.encyclopedia-progress-complete{display:inline-block;margin-top:6px;font-size:12px;color:#4caf50;font-weight:600}html[style*="1a1a2e"] .encyclopedia-progress-bar{background:#ffffff0a}html[style*="1a1a2e"] .encyclopedia-progress-track{background:#ffffff14}@media (prefers-color-scheme: dark){.encyclopedia-progress-bar{background:#ffffff0a}.encyclopedia-progress-track{background:#ffffff14}}.color-encyclopedia-card{background:var(--card-bg);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;transition:box-shadow .25s ease,transform .2s ease,border-color .2s;overflow:hidden}.color-encyclopedia-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.color-encyclopedia-card.card-expanded{box-shadow:0 4px 12px #667eea26}.color-encyclopedia-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,margin-top .3s ease}.color-encyclopedia-card.card-expanded .color-encyclopedia-detail{max-height:300px;opacity:1;margin-top:8px}.card-expand-icon{margin-left:auto;font-size:12px;color:var(--text-light, #999);flex-shrink:0;transition:transform .3s ease}.color-encyclopedia-card.card-expanded .card-expand-icon{transform:rotate(90deg)}.encyclopedia-recent-colors{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;padding:10px 12px;background:#667eea0f;border-radius:8px}.recent-colors-label{font-size:13px;color:var(--text-light, #666);font-weight:600;white-space:nowrap}.recent-color-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;border-radius:16px;background:var(--card-bg);border:1px solid var(--tube-border, rgba(0,0,0,.06));color:var(--text, #333);cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap}.recent-color-chip:hover{background:#667eea26;transform:translateY(-1px)}.recent-colors-clear{margin-left:auto;font-size:12px;color:var(--text-light, #999);background:none;border:none;cursor:pointer;padding:2px 6px;opacity:.7}.recent-colors-clear:hover{color:#e74c3c;opacity:1}.color-encyclopedia-header{display:flex;align-items:center;gap:10px;padding-left:8px;margin-bottom:8px}.color-encyclopedia-emoji{font-size:28px;line-height:1}.color-encyclopedia-name{font-size:16px;font-weight:700;margin:0}.color-encyclopedia-hex{font-size:12px;color:var(--text-light, #888);font-family:monospace;opacity:.8}.color-encyclopedia-keywords{font-size:13px;color:var(--primary);font-weight:600;margin-bottom:6px}.color-encyclopedia-desc{font-size:13px;line-height:1.7;color:var(--text, #555);margin-bottom:8px}.color-encyclopedia-tip{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--text-light, #666);background:#ffe66d26;padding:8px 10px;border-radius:8px}.color-encyclopedia-tip .tip-icon{flex-shrink:0}.color-theory-section{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.color-theory-card{background:var(--card-bg);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-sm);color:var(--text)}.color-theory-card h4{font-size:15px;font-weight:700;margin-bottom:6px;color:var(--primary)}.color-theory-card p{font-size:13px;line-height:1.7;color:#555}.color-trivia-section{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.color-trivia-item{background:var(--card-bg);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-sm);color:var(--text)}.color-trivia-item h4{font-size:14px;font-weight:700;margin-bottom:4px;color:var(--secondary)}.color-trivia-item p{font-size:13px;line-height:1.7;color:#555}.version{margin-top:24px;opacity:.6;font-size:12px}.ad-slot{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:1px dashed rgba(255,255,255,.3);border-radius:8px;margin:12px 0}.ad-label{font-size:11px;color:#fff6}@media (min-width: 769px) and (max-width: 1024px){.tube{width:48px;height:150px}.home-main{max-width:600px}.level-grid{grid-template-columns:repeat(5,1fr)}.game-main{max-width:700px}.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.title{font-size:28px}.tube{width:40px;height:120px}.level-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 375px){.home-header{padding:24px 16px 12px}.logo{font-size:48px}.title{font-size:24px}.tube{width:34px;height:105px}.tubes-grid{gap:6px;padding:12px 2px}.level-grid{grid-template-columns:repeat(4,1fr)}.game-main{padding:6px}.game-board{padding:10px}.tube-container{padding-bottom:2px}}@media (min-width: 1025px){.tube{width:50px;height:160px}.home-main{max-width:600px}.game-main{max-width:800px}.stats-grid{grid-template-columns:repeat(5,1fr)}}@media (hover: none) and (pointer: coarse){.tube-container:hover{transform:none}.tube-container.selected{transform:translateY(-6px)}.tube-container:active{transform:scale(.92);transition:transform .08s ease}.tube-container.selected:active{transform:translateY(-4px) scale(.92)}.btn-back,.btn-hint{padding:10px 18px;min-height:44px}.game-controls .btn{min-height:44px;padding:10px 14px}.level-btn{min-height:44px;min-width:44px}.footer-link{min-height:36px;padding:6px 8px}}.tube-container:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:8px}.btn:focus-visible,.btn-back:focus-visible,.btn-hint:focus-visible,.level-btn:focus-visible,.footer-link:focus-visible,.page-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.theme-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.new-record-badge{color:#ff6b6b;font-weight:700;font-size:16px;margin-top:6px;animation:bounce-in .5s ease}.prev-best-badge{color:#888;font-size:13px;margin-top:6px}.deadlock-hint-text{font-size:13px;color:#888;margin-top:4px;line-height:1.5}@keyframes bounce-in{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.win-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.win-actions .btn{width:100%}.win-actions .btn-secondary{background:#f0f0f0;color:#666}@media (max-width: 768px){.win-card,.deadlock-card{padding:20px 18px;max-width:92vw;max-height:85vh;overflow-y:auto;border-radius:16px}.win-emoji,.deadlock-emoji{font-size:44px;margin-bottom:6px}.win-card h2,.deadlock-card h2{font-size:18px;margin-bottom:4px}.win-card p,.deadlock-card p{font-size:13px}.star{font-size:26px}.star-rating{gap:6px;margin:8px 0 6px}.new-record-badge{font-size:14px}.win-actions{gap:8px;margin-top:14px}.win-actions .btn{padding:10px 12px;font-size:13px;min-height:40px}}@media (max-width: 375px){.win-card,.deadlock-card{padding:16px 14px;max-width:94vw}.win-emoji,.deadlock-emoji{font-size:36px}.win-card h2,.deadlock-card h2{font-size:16px}.win-actions .btn{padding:8px 10px;font-size:12px;min-height:38px}.star{font-size:22px}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;animation:fade-in .3s ease;padding:20px}.tutorial-card{background:#fff;border-radius:20px;padding:28px 24px;text-align:center;box-shadow:0 10px 40px #0000004d;animation:pop-in .4s ease;max-width:360px;width:100%}.tutorial-emoji{font-size:56px;margin-bottom:12px;animation:bounce 1s ease}.tutorial-card h2{font-size:20px;margin-bottom:20px;color:#333}.tutorial-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:24px;text-align:left}.tutorial-step{display:flex;align-items:center;gap:12px;font-size:14px;color:#555}.step-icon{font-size:24px;flex-shrink:0}.share-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;z-index:300;animation:fade-in .3s ease}.btn-daily{background:linear-gradient(135deg,#ff6b6b,#ffa07a);color:#fff;box-shadow:0 4px 15px #ff6b6b66;padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-daily:hover{transform:scale(1.05)}.btn-daily-done{background:#4ecdc44d;color:var(--text-light);border:2px solid rgba(78,205,196,.6);padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;opacity:.8}.btn-endless{background:linear-gradient(135deg,#6b73ff,#000dff);color:#fff;box-shadow:0 4px 15px #6b73ff66;padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-endless:hover{transform:scale(1.05)}.btn-timed{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;box-shadow:0 4px 15px #4facfe66;padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.btn-timed:hover{transform:scale(1.05)}.achievement-summary{text-align:center;font-size:18px;font-weight:700;margin-bottom:20px;color:var(--text-light);background:#ffffff26;padding:10px 20px;border-radius:12px}.achievement-list{display:flex;flex-direction:column;gap:10px}.achievement-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:#fffffff2;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.achievement-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.achievement-card.unlocked{border-left:4px solid #4ECDC4;box-shadow:var(--shadow-sm),0 0 0 1px #4ecdc426}.achievement-card.locked{opacity:.6;border-left:4px solid #ccc}.achievement-icon{font-size:36px;flex-shrink:0}.achievement-info{flex:1}.achievement-name{font-size:15px;font-weight:700;color:#333;margin-bottom:4px}.achievement-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.achievement-name-row .achievement-name{margin-bottom:0}.ach-rarity-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap;letter-spacing:.5px}.achievement-desc{font-size:12px;color:#888}.achievement-overall{background:#ffffff26;border-radius:12px;padding:14px 16px;margin-bottom:16px}.achievement-overall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.achievement-overall-text{color:var(--text-light);font-size:15px;font-weight:700}.achievement-overall-pct{color:gold;font-size:18px;font-weight:800}.achievement-overall-track{height:8px;background:#fff3;border-radius:4px;overflow:hidden}.achievement-overall-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,gold);border-radius:4px;transition:width .5s ease}.ach-rarity-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.ach-rarity-stat-item{padding:8px 10px;border-left:3px solid;border-radius:6px;background:#ffffff0a}.ach-rarity-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ach-rarity-stat-label{font-size:12px;font-weight:600}.ach-rarity-stat-count{font-size:11px;opacity:.7}.ach-rarity-stat-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.ach-rarity-stat-fill{height:100%;border-radius:2px;transition:width .5s ease}@media (max-width: 375px){.ach-rarity-stats{grid-template-columns:1fr}}.ach-rarity-pie{margin:12px 0;padding:14px;background:#ffffff0a;border-radius:12px}.ach-rarity-pie-title{font-size:13px;font-weight:600;margin-bottom:10px;color:#667eea}.ach-rarity-pie-content{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ach-rarity-pie-svg{flex-shrink:0}.ach-pie-center-num{font-size:13px;font-weight:700;fill:#667eea}.ach-pie-center-label{font-size:8px;fill:#999}.ach-rarity-pie-legend{display:flex;flex-direction:column;gap:6px}.ach-pie-legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.ach-pie-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ach-pie-legend-label{font-weight:500;min-width:32px}.ach-pie-legend-count{color:#999;font-size:11px}.dark-theme .ach-rarity-pie{background:#ffffff0f}.dark-theme .ach-pie-center-num{fill:#8fa4f5}.dark-theme .ach-pie-center-label{fill:#777}.achievement-hint-cards{display:flex;gap:10px;margin:12px 0}.ach-hint-card{flex:1;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:transform .2s,box-shadow .2s}.ach-hint-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ach-hint-recent{background:linear-gradient(135deg,#4ecdc41f,#ffd70014);border:1px solid rgba(78,205,196,.3)}.ach-hint-next{background:linear-gradient(135deg,#667eea1f,#764ba214);border:1px solid rgba(102,126,234,.3)}.ach-hint-complete{background:linear-gradient(135deg,#ffd70026,#ff6b6b14);border:1px solid rgba(255,215,0,.3)}.ach-hint-icon{font-size:28px;flex-shrink:0}.ach-hint-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ach-hint-label{font-size:11px;color:var(--text-light, #999);font-weight:600}.ach-hint-name{font-size:14px;font-weight:700;color:var(--text, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ach-hint-time{font-size:11px;color:var(--text-light, #999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 480px){.achievement-hint-cards{flex-direction:column}}html[style*="1a1a2e"] .ach-hint-recent{background:linear-gradient(135deg,#4ecdc41a,#ffd7000f);border-color:#4ecdc433}html[style*="1a1a2e"] .ach-hint-next{background:linear-gradient(135deg,#667eea1a,#764ba20f);border-color:#667eea33}html[style*="1a1a2e"] .ach-hint-name{color:#ffffffe6}html[style*="1a1a2e"] .ach-hint-label,html[style*="1a1a2e"] .ach-hint-time{color:#fff9}.achievement-category-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.achievement-rarity-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.ach-rarity-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#ffffff0d;color:var(--text-light);font-size:11px;cursor:pointer;transition:all .2s ease}.ach-rarity-btn:hover{background:#ffffff1f}.ach-rarity-btn.active{background:#ffffff1a;font-weight:600}.ach-rarity-count{font-size:10px;opacity:.7}.ach-cat-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid rgba(255,255,255,.3);border-radius:20px;background:#ffffff1a;color:var(--text-light);font-size:12px;cursor:pointer;transition:all .2s ease}.ach-cat-btn:hover{background:#fff3}.ach-cat-btn.active{background:var(--primary);border-color:var(--primary);font-weight:600}.ach-cat-icon{font-size:14px}.ach-cat-name{white-space:nowrap}.ach-cat-count{font-size:10px;opacity:.8;background:#00000026;padding:1px 5px;border-radius:8px}.achievement-category-progress{margin-bottom:14px;padding:10px 14px;background:#ffffff1a;border-radius:10px}.ach-cat-progress-header{display:flex;justify-content:space-between;font-size:13px;color:var(--text-light);margin-bottom:6px}.ach-cat-progress-track{height:6px;background:#ffffff26;border-radius:3px;overflow:hidden}.ach-cat-progress-fill{height:100%;background:#4ecdc4;border-radius:3px;transition:width .4s ease}.achievement-date{font-size:11px;color:#aaa;margin-top:2px}.achievement-check{font-size:16px;flex-shrink:0}.achievement-empty-hint{text-align:center;padding:30px 20px;color:var(--text-light);font-size:14px;opacity:.8}.achievement-view-toggle{display:flex;gap:8px;margin:12px 0 16px;justify-content:center}.ach-view-btn{padding:6px 16px;font-size:13px;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.ach-view-btn:hover{background:#e5e7eb}.ach-view-btn.active{background:var(--primary-color, #667eea);color:#fff;border-color:var(--primary-color, #667eea)}.achievement-timeline{padding:4px 0}.timeline-group{margin-bottom:20px}.timeline-date-header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,#f0f4ff,#e0e7ff);border-radius:8px;margin-bottom:10px;font-size:13px;color:#4b5563}.timeline-date-icon{font-size:14px}.timeline-date-text{font-weight:600}.timeline-date-count{margin-left:auto;font-size:11px;color:#9ca3af;background:#fff9;padding:2px 8px;border-radius:10px}.timeline-items{padding-left:8px}.timeline-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;position:relative}.timeline-item-line{width:20px;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-item-dot{width:32px;height:32px;border-radius:50%;background:#fef3c7;border:2px solid #fbbf24;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;z-index:1}.timeline-connector{position:absolute;top:32px;left:50%;transform:translate(-50%);width:2px;height:calc(100% - 10px);background:#e5e7eb}.timeline-item-content{flex:1;min-width:0}.timeline-item-name{font-size:14px;font-weight:600;color:#1f2937}.timeline-item-desc{font-size:12px;color:#6b7280;margin-top:2px}.timeline-item-time{font-size:11px;color:#9ca3af;margin-top:4px}[data-theme=dark] .ach-view-btn{background:#374151;color:#9ca3af;border-color:#4b5563}[data-theme=dark] .ach-view-btn:hover{background:#4b5563}[data-theme=dark] .ach-view-btn.active{background:#667eea;color:#fff;border-color:#667eea}[data-theme=dark] .timeline-date-header{background:linear-gradient(135deg,#1e293b,#312e81);color:#d1d5db}[data-theme=dark] .timeline-date-count{background:#ffffff1a;color:#9ca3af}[data-theme=dark] .timeline-item-dot{background:#422006;border-color:#92400e}[data-theme=dark] .timeline-connector{background:#374151}[data-theme=dark] .timeline-item-name{color:#f3f4f6}[data-theme=dark] .timeline-item-desc{color:#9ca3af}[data-theme=dark] .timeline-item-time{color:#6b7280}.achievement-notification{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:400;animation:slide-up .4s ease;cursor:pointer;max-width:90vw}@keyframes slide-up{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.achievement-notif-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:16px 24px;border-radius:16px;box-shadow:0 8px 30px #667eea80}.achievement-notif-icon{font-size:40px;animation:bounce 1s ease}.achievement-notif-text{display:flex;flex-direction:column;gap:2px}.achievement-notif-title{font-size:12px;opacity:.9}.achievement-notif-name{font-size:16px;font-weight:700}.achievement-notif-desc{font-size:12px;opacity:.8}.achievement-notif-rarity{font-size:11px;font-weight:600;margin-top:4px;letter-spacing:.5px}.achievement-notif-card{border-left:4px solid #4CAF50;transition:border-color .3s,box-shadow .3s}@keyframes legendaryGlow{0%,to{box-shadow:0 4px 20px #ff98004d,0 0 #ff980066}50%{box-shadow:0 4px 30px #ff980080,0 0 0 4px #ff980026}}@keyframes epicGlow{0%,to{box-shadow:0 4px 20px #9c27b033}50%{box-shadow:0 4px 25px #9c27b059}}.settings-card{background:#fffffff2;border-radius:12px;padding:8px 0;margin-bottom:16px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;transition:background .2s,padding-left .2s;border-left:3px solid transparent}.setting-item:hover{background:#00000008;border-left-color:var(--primary);padding-left:17px}.setting-item:active{background:#0000000f}.setting-item-static{display:flex;align-items:center;padding:14px 20px}.setting-info{display:flex;align-items:center;gap:14px}.setting-icon{font-size:28px;flex-shrink:0}.setting-name{font-size:15px;font-weight:600;color:#333}.setting-desc{font-size:12px;color:#888;margin-top:2px}.setting-danger .setting-name,.setting-danger .setting-icon{color:#ff6b6b}.backup-actions{display:flex;gap:10px;padding:10px 16px}.btn-backup{flex:1;padding:10px;font-size:14px;text-align:center;cursor:pointer}.toggle-switch{width:48px;height:26px;background:#ddd;border-radius:13px;position:relative;transition:background .3s;flex-shrink:0}.toggle-switch.on{background:linear-gradient(135deg,var(--primary),var(--secondary))}.toggle-knob{width:22px;height:22px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s cubic-bezier(.34,1.5,.64,1),box-shadow .2s;box-shadow:0 2px 6px #0003}.toggle-switch.on .toggle-knob{transform:translate(22px);box-shadow:0 2px 8px #00000040,0 0 0 2px #ffffff4d}.star-rating{display:flex;justify-content:center;gap:8px;margin:12px 0 8px}.win-efficiency-bar{margin:12px auto 8px;width:90%;max-width:280px}.win-efficiency-label{text-align:center;font-size:13px;font-weight:600;margin-bottom:6px;color:#666}.win-efficiency-track{position:relative;height:8px;background:#00000014;border-radius:4px;overflow:visible}.win-efficiency-fill{height:100%;border-radius:4px;transition:width .8s ease}.win-efficiency-marker{position:absolute;top:-3px;width:2px;height:14px;background:#4ecdc4;border-radius:1px;transform:translate(-50%)}.win-efficiency-scale{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#999}.star{font-size:32px;transition:transform .3s ease,opacity .3s ease}.star-filled{opacity:1;position:relative}.star-empty{opacity:.25;filter:grayscale(1)}@keyframes star-pop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}.share-image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:500;animation:fade-in .3s ease;padding:20px}.share-image-card{background:#fff;border-radius:16px;padding:20px;text-align:center;max-width:400px;width:100%;animation:pop-in .4s ease}.share-image-card h3{font-size:18px;margin-bottom:12px;color:#333}.share-image-preview,.replay-video-preview{width:100%;border-radius:12px;margin-bottom:16px;box-shadow:0 4px 20px #00000026}.video-fallback-hint{color:#e67e22;font-size:13px;text-align:center;margin-bottom:12px;padding:8px;background:#fef9e7;border-radius:8px}.loading-indicator{text-align:center;padding:20px}.loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;margin:0 auto 12px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.share-image-actions{display:flex;flex-direction:column;gap:8px}.share-image-actions .btn{text-decoration:none;text-align:center;display:block}.share-image-actions .btn-secondary{background:#f0f0f0;color:#666}.keyboard-hint{text-align:center;font-size:11px;color:#999;margin-top:8px;opacity:.7}.keyboard-hint .hint-mobile{display:none}.keyboard-hint .hint-desktop{display:inline}@media (max-width: 768px){.keyboard-hint .hint-mobile{display:inline}.keyboard-hint .hint-desktop{display:none}.keyboard-hint{font-size:12px;line-height:1.5;padding:0 12px}}.game-board{animation:board-enter .4s ease-out}@keyframes board-enter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.win-card{animation:pop-in .4s ease,win-glow 1.5s ease-in-out infinite alternate .4s}@keyframes win-glow{0%{box-shadow:0 10px 40px #0000004d,0 0 #667eea00}to{box-shadow:0 10px 40px #0000004d,0 0 30px 5px #667eea4d}}.win-emoji{animation:bounce 1s ease,spin .8s ease}@keyframes spin{0%{transform:rotate(0) scale(.5)}to{transform:rotate(360deg) scale(1)}}.timer-badge.timer-danger{animation:timer-pulse .5s ease-in-out infinite alternate}@keyframes timer-pulse{0%{transform:scale(1)}to{transform:scale(1.15)}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-card{background:#fffffff2;border-radius:12px;padding:16px 12px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;border:1px solid transparent}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#667eea33}.stat-card-icon{font-size:28px;margin-bottom:6px}.stat-card-value{font-size:22px;font-weight:800;color:var(--text);margin-bottom:4px}.stat-card-label{font-size:12px;color:#888}.stats-detail{background:#fffffff2;border-radius:12px;padding:16px 20px;box-shadow:0 2px 10px #0000001a}.stats-detail h3{font-size:16px;margin-bottom:12px;color:var(--text)}.stats-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:14px;color:#555}.stats-row:last-child{border-bottom:none}.daily-leaderboard-row{padding:6px 8px;border-radius:8px;background:#667eea0d;margin:4px 0;font-size:13px}.daily-leaderboard-row:first-child{background:#ffd7001a}.daily-best-hint{color:#667eea;font-weight:600;font-size:12px}.stats-row span:last-child{font-weight:700;color:var(--text)}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 16px}.theme-btn{border:3px solid transparent;border-radius:12px;padding:16px 12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:80px;justify-content:center}.theme-btn:hover{transform:scale(1.03)}.theme-btn.theme-active{box-shadow:0 0 0 2px var(--primary),0 4px 15px #00000026}.theme-icon{font-size:28px}.theme-name-label{font-size:13px;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3)}.recent-play-card{display:flex;align-items:center;gap:12px;background:#fffffff2;border-radius:14px;padding:14px 18px;margin-bottom:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 12px #0000001a}.recent-play-card:hover{transform:translateY(-2px);box-shadow:0 4px 18px #00000026}.recent-play-card:active{transform:translateY(0)}.replay-last-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#667eea14,#764ba214);border-radius:14px;padding:12px 18px;margin-bottom:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea1a}.replay-last-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #667eea33}.replay-last-card:active{transform:translateY(0)}.replay-last-icon{font-size:20px}.replay-last-info{display:flex;flex-direction:column;flex:1;gap:2px}.replay-last-label{font-size:13px;color:#667eea;font-weight:600}.replay-last-detail{font-size:14px;color:var(--text)}.replay-last-arrow{font-size:18px;color:#999}.daily-goals-card{background:linear-gradient(135deg,#ffb8000f,#ff78320f);border-radius:14px;padding:14px 18px;margin-bottom:16px;box-shadow:0 2px 8px #ffb80014}.today-summary-card{display:flex;justify-content:space-around;align-items:center;background:linear-gradient(135deg,#667eea0f,#764ba20f);border-radius:14px;padding:12px 16px;margin-bottom:16px;box-shadow:0 2px 8px #667eea0f}.today-summary-item{display:flex;flex-direction:column;align-items:center;gap:2px}.today-summary-icon{font-size:18px}.today-summary-value{font-size:20px;font-weight:700;color:var(--primary)}.today-summary-label{font-size:11px;color:#999}.daily-goals-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.daily-goals-title{font-size:15px;font-weight:700;color:#ff8a00}.daily-goals-progress{font-size:13px;color:#999;font-weight:600}.daily-goals-list{display:flex;flex-direction:column;gap:8px}.daily-goals-bar{height:4px;background:#ffb80026;border-radius:2px;margin-bottom:10px;overflow:hidden}.daily-goals-bar-fill{height:100%;background:linear-gradient(90deg,#ff8a00,#ff5e3a);border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.goal-content{flex:1;display:flex;flex-direction:column;gap:4px}.goal-row{display:flex;justify-content:space-between;align-items:center}.goal-progress-bar{height:3px;background:#0000000f;border-radius:2px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#ffa726,#ff7043);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}.goal-progress-done{background:linear-gradient(90deg,#66bb6a,#4caf50)}.daily-goal-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#ffffff80;transition:all .2s}.goal-completed{background:#4caf501a}.goal-claimed{opacity:.6}.goal-icon{font-size:16px;flex-shrink:0}.goal-desc{font-size:13px;color:var(--text);flex:1}.goal-progress-text{font-size:12px;color:#999;font-weight:600;min-width:30px;text-align:right}.goal-claim-btn{font-size:12px;color:#fff;background:linear-gradient(135deg,#ff8a00,#ff5e3a);border:none;border-radius:8px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:all .2s}.goal-claim-btn:hover{transform:scale(1.05)}.goal-claim-btn:active{transform:scale(.95)}.goal-claimed-icon{font-size:14px}.goal-pending-icon{font-size:14px;color:#ccc}.goal-claim-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#4caf50f2;color:#fff;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;z-index:1000;box-shadow:0 4px 14px #00000026;animation:toastSlideDown .3s ease}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes checkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.4);opacity:1}to{transform:scale(1);opacity:1}}.goal-just-completed{animation:goalFlash .6s ease-out}@keyframes goalFlash{0%{background:#4caf5066;transform:scale(1.02)}to{background:#4caf501a;transform:scale(1)}}@keyframes progressCharging{0%{box-shadow:0 0 #66bb6a80}50%{box-shadow:0 0 8px 2px #66bb6a99}to{box-shadow:0 0 #66bb6a00}}.goal-progress-charging{animation:progressCharging .8s ease-out}@keyframes claimPulse{0%,to{transform:scale(1);box-shadow:0 0 #ff8a0066}50%{transform:scale(1.08);box-shadow:0 0 0 4px #ff8a0026}}.claim-btn-pulse{animation:claimPulse .6s ease-out 2}.all-goals-done{border:2px solid rgba(76,175,80,.3);box-shadow:0 4px 20px #4caf5026}.all-goals-done-text{text-align:center;font-size:13px;font-weight:700;color:#4caf50;margin:6px 0 2px;animation:checkPop .5s ease-out}@keyframes rainbowFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.bar-fill-rainbow{background:linear-gradient(90deg,#4caf50,#2196f3,#9c27b0,#ff9800,#4caf50)!important;background-size:200% 200%!important;animation:rainbowFlow 2s ease infinite}.goals-celebration-burst{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.burst-particle{position:absolute;top:-20px;font-size:16px;animation:burstFall 2s ease-out forwards}@keyframes burstFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(120px) rotate(360deg);opacity:0}}.recent-icon{font-size:20px;color:var(--primary);width:36px;height:36px;background:#667eea1a;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recent-text{flex:1;display:flex;flex-direction:column;gap:2px}.recent-label{font-size:12px;color:#999}.recent-level{font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.recent-mode-tag{font-size:14px}.recent-arrow{font-size:18px;color:#ccc}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;background:#fffffffa;box-shadow:0 -4px 20px #00000026;padding:12px 16px;z-index:400;animation:slide-up .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-install-content{display:flex;align-items:center;gap:12px;max-width:500px;margin:0 auto}.pwa-install-icon{font-size:28px;flex-shrink:0}.pwa-install-text{flex:1;display:flex;flex-direction:column;gap:2px}.pwa-install-title{font-size:15px;font-weight:700;color:var(--text)}.pwa-install-desc{font-size:12px;color:#888}.pwa-install-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0;transition:transform .2s}.pwa-install-btn:hover{transform:scale(1.05)}.pwa-install-btn:active{transform:scale(.95)}.pwa-install-close{background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:4px 8px;flex-shrink:0;transition:color .2s}.pwa-install-close:hover{color:#333}.help-fab{position:fixed;bottom:80px;right:20px;width:44px;height:44px;border-radius:50%;background:#667eeae6;color:#fff;border:none;font-size:20px;cursor:pointer;box-shadow:0 4px 15px #0003;z-index:300;transition:transform .2s,opacity .3s;display:flex;align-items:center;justify-content:center}.help-fab:hover{transform:scale(1.1)}.help-fab:active{transform:scale(.95)}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:500;animation:fade-in .3s ease;padding:20px}.help-modal-card{background:#fff;border-radius:16px;padding:24px 20px;max-width:380px;width:100%;animation:pop-in .4s ease}.help-modal-card h2{font-size:18px;margin-bottom:16px;text-align:center;color:var(--text)}.help-modal-step{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:14px;color:#555;line-height:1.5}.help-modal-step .step-icon{font-size:18px;flex-shrink:0}.help-modal-close{width:100%;margin-top:8px}.replay-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:500;animation:fade-in .3s ease;padding:16px}.replay-card{background:#fff;border-radius:16px;padding:20px 16px;max-width:500px;width:100%;animation:pop-in .4s ease}.replay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.replay-header h3{font-size:18px;color:var(--text)}.replay-progress{font-size:14px;color:#666;font-weight:600}.replay-tubes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px;max-height:50vh;overflow-y:auto}.replay-tube{transform:scale(.85);transition:all .3s ease}.replay-tube.replay-from{box-shadow:0 0 0 3px #ff6b6b80;transform:scale(.9)}.replay-tube.replay-to{box-shadow:0 0 0 3px #4ecdc480;transform:scale(.9)}.replay-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.replay-controls .btn{font-size:13px;padding:8px 14px}.chart-bar-row{display:flex;align-items:center;gap:8px;padding:6px 0}.chart-bar-label{font-size:12px;color:#555;min-width:80px;flex-shrink:0}.chart-bar-track{flex:1;height:20px;background:#0000000f;border-radius:10px;overflow:hidden}.chart-bar-fill{height:100%;border-radius:10px;transition:width .6s ease;min-width:2px}.chart-bar-count{font-size:13px;font-weight:600;color:var(--text);min-width:30px;text-align:right;white-space:nowrap}.progress-overall{width:100%;height:24px;background:#0000000f;border-radius:12px;overflow:hidden;margin-bottom:10px}.progress-overall-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:12px;transition:width .6s ease}.level-grid-chart{display:grid;grid-template-columns:repeat(20,1fr);gap:3px;margin:12px 0 8px}.level-grid-cell{width:100%;aspect-ratio:1;border-radius:3px;cursor:pointer;transition:transform .15s ease}.level-grid-cell:hover{transform:scale(1.3)}.level-grid-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#777}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.difficulty-progress{display:flex;flex-direction:column;gap:6px;margin-top:12px}.diff-progress-item{display:flex;align-items:center;gap:8px;font-size:11px}.diff-progress-label{min-width:32px;font-weight:600;flex-shrink:0}.diff-progress-track{flex:1;height:8px;background:#0000000f;border-radius:4px;overflow:hidden}.diff-progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.diff-progress-count{min-width:38px;text-align:right;color:#777;flex-shrink:0}.checkin-card{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff9e6,#fff3cd);border-radius:12px;padding:12px 16px;border:2px solid #ffd966;box-shadow:0 2px 8px #ffc80026;transition:transform .2s}.checkin-card.checkin-done{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#81c784}.checkin-info{display:flex;align-items:center;gap:10px}.checkin-icon{font-size:24px}.checkin-text{display:flex;flex-direction:column;gap:2px}.checkin-title{font-size:15px;font-weight:700;color:#5d4e00}.checkin-done .checkin-title{color:#2e7d32}.checkin-streak{font-size:12px;color:#8a7a00}.checkin-done .checkin-streak{color:#4e7c50}.checkin-btn{background:linear-gradient(135deg,#ffa726,#ff8a00);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .2s;box-shadow:0 2px 8px #ff88004d}.checkin-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #f806}.checkin-btn:active{transform:scale(.98)}.checkin-checked{font-size:20px}.checkin-milestone-hint{font-size:11px;color:#998a00;text-align:center;padding:4px 8px;background:#ffe6641a;border-radius:6px}.efficiency-badge{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap}.eff-perfect{background:#4ccdc433;color:#2d8a5e}.eff-good{background:#667eea26;color:#5060c0}.eff-warn{background:#ffa05026;color:#c07020}.eff-bad{background:#ff64641f;color:#c04040}.checkin-reward-card{text-align:center;padding:24px}.checkin-calendar{margin-top:12px;background:#00000008;border-radius:12px;padding:12px}.calendar-header{text-align:center;font-weight:600;font-size:15px;margin-bottom:8px;color:#333}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.calendar-weekday{text-align:center;font-size:11px;color:#999;padding:2px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{position:relative;text-align:center;font-size:12px;padding:6px 0;border-radius:6px;background:#0000000a;color:#666;min-height:28px}.calendar-day-empty{background:transparent}.calendar-day-checked{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:600}.calendar-day-today{outline:2px solid #ff9800;outline-offset:-2px}.calendar-day-mark{position:absolute;top:1px;right:2px;font-size:8px;color:#fff}.trend-chart{display:flex;align-items:flex-end;gap:4px;height:100px;padding:8px 4px;background:#00000008;border-radius:8px;overflow-x:auto}.trend-bar-wrapper{display:flex;flex-direction:column;align-items:center;flex:1;min-width:24px;height:100%;justify-content:flex-end;gap:2px}.trend-bar{width:100%;max-width:20px;background:linear-gradient(180deg,var(--primary),var(--secondary));border-radius:4px 4px 0 0;min-height:4px;transition:height .3s ease}.stats-heatmap{margin-top:8px}.stats-heatmap-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:3px;margin-bottom:6px}.stats-heatmap-cell{aspect-ratio:1;border-radius:3px;min-height:12px;min-width:12px;transition:transform .15s}.stats-heatmap-cell:hover{transform:scale(1.4);z-index:1}.stats-heatmap-legend{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-light, #999);justify-content:flex-end}.stats-heatmap-legend .stats-heatmap-cell{min-height:10px;min-width:10px}@media (max-width: 768px){.stats-heatmap-grid{grid-template-columns:repeat(10,1fr)}}html[style*="1a1a2e"] .stats-heatmap-cell{background:#ffffff0d}.trend-bar-label{font-size:10px;line-height:1}.daily-tip-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#4ecdc414,#c459e814);border:1px solid rgba(78,205,196,.15);border-radius:12px;margin-bottom:12px;transition:all .3s ease}.daily-tip-card:hover{background:linear-gradient(135deg,#4ecdc41f,#c459e81f);border-color:#4ecdc44d}.daily-tip-nav{display:flex;flex-direction:column;gap:4px;margin-left:auto;flex-shrink:0}.daily-tip-nav-btn{width:28px;height:28px;border:1px solid rgba(102,126,234,.2);border-radius:6px;background:#fff9;color:var(--text, #333);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.daily-tip-nav-btn:hover{background:var(--primary, #667eea);color:#fff;border-color:var(--primary, #667eea)}.daily-tip-nav-btn:active{transform:scale(.92)}.daily-challenge-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#ff6b6b1f,#ffa07a1f);border:1px solid rgba(255,107,107,.25);border-radius:14px;margin-bottom:12px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.daily-challenge-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.daily-challenge-banner:hover{background:linear-gradient(135deg,#ff6b6b2e,#ffa07a2e);border-color:#ff6b6b66;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b26}.daily-banner-icon{font-size:32px;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.daily-banner-content{display:flex;flex-direction:column;gap:2px;flex:1}.daily-banner-title{font-size:16px;font-weight:700;color:#ff6b6b}.daily-banner-sub{font-size:13px;color:#888}.daily-banner-arrow{font-size:20px;color:#ff6b6b;flex-shrink:0;transition:transform .2s}.daily-challenge-banner:hover .daily-banner-arrow{transform:translate(4px)}.weekly-challenge-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#ffd7001f,#ffa5001f);border:1px solid rgba(255,215,0,.3);border-left:4px solid #FFD700;border-radius:14px;margin-bottom:12px;cursor:pointer;transition:all .3s ease;position:relative}.weekly-challenge-banner:hover{background:linear-gradient(135deg,#ffd7002e,#ffa5002e);border-color:#ffd70073;transform:translateY(-2px);box-shadow:0 4px 12px #ffd70026}.weekly-challenge-banner.weekly-done{opacity:.7;cursor:default}.weekly-banner-icon{font-size:32px;flex-shrink:0}.weekly-banner-content{display:flex;flex-direction:column;gap:2px;flex:1}.weekly-banner-title{font-size:16px;font-weight:700;color:orange}.weekly-banner-sub{font-size:13px;color:#888}.weekly-banner-arrow{font-size:20px;color:orange;flex-shrink:0;transition:transform .2s}.weekly-challenge-banner:hover .weekly-banner-arrow{transform:translate(4px)}@media (max-width: 480px){.weekly-challenge-banner{padding:12px 14px;gap:10px}.weekly-banner-icon{font-size:26px}.weekly-banner-title{font-size:14px}.weekly-banner-sub{font-size:12px}}.weekend-bonus-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;background:linear-gradient(135deg,#ff69b41f,#ffb6c11f);border:1px solid rgba(255,105,180,.3);border-left:4px solid #FF69B4;border-radius:14px;margin-bottom:12px;cursor:pointer;transition:all .3s ease}.weekend-bonus-banner:hover{background:linear-gradient(135deg,#ff69b42e,#ffb6c12e);border-color:#ff69b473;transform:translateY(-2px);box-shadow:0 4px 12px #ff69b426}.weekend-bonus-banner.weekend-claimed{opacity:.7;cursor:default}.weekend-banner-icon{font-size:32px;flex-shrink:0}.weekend-banner-content{display:flex;flex-direction:column;gap:2px;flex:1}.weekend-banner-title{font-size:16px;font-weight:700;color:#ff69b4}.weekend-banner-sub{font-size:13px;color:#888}.weekend-banner-arrow{font-size:20px;color:#ff69b4;flex-shrink:0;transition:transform .2s}.weekend-bonus-banner:hover .weekend-banner-arrow{transform:translate(4px)}@media (max-width: 480px){.weekend-bonus-banner{padding:12px 14px;gap:10px}.weekend-banner-icon{font-size:26px}.weekend-banner-title{font-size:14px}.weekend-banner-sub{font-size:12px}}.daily-tip-icon{font-size:28px;flex-shrink:0;line-height:1.2}.daily-tip-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.daily-tip-label{font-size:11px;color:#4ecdc4;font-weight:600;letter-spacing:.5px}.daily-tip-title{font-size:14px;font-weight:600;color:#333}.daily-tip-text{font-size:13px;color:#666;line-height:1.5}.smart-recommend-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#ff6b6b14,#ffa07a14);border:1px solid rgba(255,107,107,.2);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.smart-recommend-card:hover{background:linear-gradient(135deg,#ff6b6b24,#ffa07a24);border-color:#ff6b6b66;transform:translateY(-1px)}.smart-recommend-card:active{transform:translateY(0)}.smart-rec-icon{font-size:28px;flex-shrink:0}.smart-rec-info{display:flex;flex-direction:column;gap:2px;flex:1}.smart-rec-label{font-size:11px;color:#ff6b6bb3;font-weight:600}.smart-rec-title{font-size:15px;font-weight:700;color:var(--text, #333)}.smart-rec-desc{font-size:12px;color:var(--text, #666);opacity:.7}.smart-rec-arrow{font-size:18px;color:#ff6b6b80}.recommend-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.2);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.recommend-card:hover{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea66;transform:translateY(-1px)}.recommend-card:active{transform:translateY(0)}.recommend-icon{font-size:24px;flex-shrink:0}.recommend-info{flex:1;display:flex;flex-direction:column;gap:2px}.recommend-label{font-size:14px;font-weight:600;color:#333}.recommend-detail{font-size:12px;color:#888}.recommend-arrow{font-size:18px;color:#667eea;flex-shrink:0}.daily-recommend-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#ff6b6b14,#ffe66d14);border:1px solid rgba(255,167,38,.25);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:12px;position:relative;overflow:hidden}.daily-recommend-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#ff6b6b,#ffa07a)}.daily-recommend-card:hover{background:linear-gradient(135deg,#ff6b6b1f,#ffe66d1f);border-color:#ffa72666;transform:translateY(-1px)}.daily-recommend-card:active{transform:translateY(0)}.daily-rec-icon{font-size:24px;flex-shrink:0}.daily-rec-info{flex:1;display:flex;flex-direction:column;gap:2px}.daily-rec-label{font-size:14px;font-weight:600;color:#333}.daily-rec-detail{font-size:12px;color:#888}.daily-rec-arrow{font-size:18px;color:#ff6b6b;flex-shrink:0}.feature-section{margin-bottom:16px}.faq-section{margin-top:24px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}.faq-section h3{font-size:18px;font-weight:700;color:#333;margin-bottom:16px}.faq-item{margin-bottom:16px;padding:12px 16px;background:#667eea0a;border-radius:10px;border-left:3px solid rgba(102,126,234,.3)}.faq-item h4{font-size:15px;font-weight:600;color:#555;margin-bottom:6px}.faq-item p{font-size:14px;line-height:1.6;color:#666;margin:0}@media (max-width: 480px){.faq-item{padding:10px 12px}.faq-item h4{font-size:14px}.faq-item p{font-size:13px}}.feature-section h4{font-size:15px;font-weight:600;color:#555;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.06)}.feature-section ul{list-style:none;padding-left:0}.feature-section li{font-size:13px;color:#666;padding:4px 0 4px 16px;position:relative}.feature-section li:before{content:"路";position:absolute;left:4px;color:#999;font-weight:700}.changelog-content{max-height:400px;overflow-y:auto;text-align:left;margin-bottom:20px;width:100%}.changelog-version{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee}.changelog-version:last-child{border-bottom:none}.changelog-version h3{font-size:16px;color:#667eea;margin-bottom:8px;font-weight:600}.changelog-version ul{list-style:none;padding:0;margin:0}.changelog-version li{font-size:13px;color:#555;padding:4px 0 4px 16px;position:relative;line-height:1.5}.changelog-version li:before{content:"?";position:absolute;left:0;color:#667eea}.replay-info-text{font-size:16px;color:#333;margin-bottom:12px;font-weight:600}.replay-actions-hint{font-size:14px;color:#888;margin-bottom:16px}.replay-view-actions{display:flex;gap:10px;justify-content:center;margin-bottom:16px}.replay-detail-moves{font-size:12px;color:#999;text-align:left;max-height:80px;overflow-y:auto;word-break:break-all;line-height:1.6;padding:8px;background:#f5f5f5;border-radius:8px}.btn-help{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;border:1px solid #90caf9;font-weight:600;padding:8px 14px;border-radius:10px;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-help:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);transform:translateY(-1px);box-shadow:0 4px 12px #1565c033}.btn-help:active{transform:translateY(0)}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fade-in .2s ease-out}.help-modal-card{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:card-pop .3s ease-out}.help-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;flex-shrink:0}.help-modal-header h3{margin:0;font-size:18px;color:#333}.help-close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#999;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.help-close-btn:hover{background:#f0f0f0;color:#333}.help-modal-body{padding:16px 20px;overflow-y:auto;flex:1}.help-section{margin-bottom:18px}.help-section h4{margin:0 0 8px;font-size:15px;color:#444;font-weight:700}.help-section ul{margin:0;padding-left:20px;list-style-type:disc}.help-section li{font-size:13px;color:#666;line-height:1.8;margin-bottom:2px}.help-section strong{color:#333;font-weight:600}.help-section kbd{display:inline-block;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:1px 6px;font-size:12px;font-family:monospace;color:#333;margin:0 2px}.help-modal-footer{padding:12px 20px;border-top:1px solid #eee;text-align:center;flex-shrink:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes card-pop{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tips-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:400px;overflow-y:auto;padding-right:4px}.tip-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#667eea0a;border:1px solid rgba(102,126,234,.1);border-radius:8px;transition:all .2s ease}.tip-item:hover{background:#667eea14;border-color:#667eea33}.tip-item-icon{font-size:20px;flex-shrink:0;line-height:1.2}.tip-item-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tip-item-title{font-size:13px;font-weight:600;color:#333}.tip-item-text{font-size:12px;color:#666;line-height:1.5}.fab-nav{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.fab-nav-btn{width:44px;height:44px;border-radius:50%;border:none;background:#667eeae6;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #667eea66;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fab-nav-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #667eea80}.fab-nav-btn:active{transform:scale(.95)}@media (max-width: 768px){.fab-nav{bottom:16px;right:16px}.fab-nav-btn{width:40px;height:40px;font-size:18px}}@media (max-width: 480px){.fab-nav{bottom:calc(60px + env(safe-area-inset-bottom,0px))}}@keyframes tube-settle{0%{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 16px #4ecdc499}to{transform:scale(1)}}.tube-settled{animation:tube-settle .4s ease-out}@keyframes ripple-effect{0%{transform:scale(0);opacity:.6}to{transform:scale(2.5);opacity:0}}.win-ripple{position:absolute;border-radius:50%;background:#4ecdc44d;pointer-events:none;animation:ripple-effect .8s ease-out forwards}@keyframes moves-pulse-enhanced{0%{transform:scale(1);color:#333}30%{transform:scale(1.15);color:#4ecdc4}to{transform:scale(1);color:#333}}.moves-pulse-active{animation:moves-pulse-enhanced .3s ease-out}@media (max-width: 375px){.btn-help{padding:6px 10px;font-size:12px}.help-modal-card{max-width:100%;max-height:90vh}.help-section li{font-size:12px}.tips-list{max-height:300px}.tip-item{padding:8px 10px}.tip-item-icon{font-size:18px}}.btn-small{padding:6px 12px;font-size:12px;border-radius:6px}.btn-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;box-shadow:0 2px 8px #ff6b6b4d}.btn-danger:hover{box-shadow:0 4px 12px #ff6b6b66}.editor-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.editor-actions .btn{flex:1;min-width:120px}.editor-section{background:var(--card-bg);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.editor-label{display:block;font-size:14px;font-weight:600;color:var(--text-light);margin-bottom:8px}.editor-input{width:100%;padding:10px 12px;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:#fffffff2;font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.editor-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #667eea33}.editor-textarea{width:100%;padding:10px 12px;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:#fffffff2;font-size:13px;color:var(--text);outline:none;resize:vertical;font-family:monospace;transition:border-color .2s,box-shadow .2s}.editor-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #667eea33}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.4);cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;box-shadow:inset 0 2px 3px #fff6,inset 0 -2px 3px #00000026}.color-swatch:hover{transform:scale(1.15)}.color-swatch.color-selected{border-color:#fff;box-shadow:0 0 0 3px var(--primary),inset 0 2px 3px #fff6;transform:scale(1.1)}.capacity-picker{display:flex;gap:8px}.capacity-btn{padding:8px 20px;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);background:#ffffff26;color:var(--text-light);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.capacity-btn:hover{background:#ffffff40}.capacity-btn.capacity-selected{background:linear-gradient(135deg,var(--primary),var(--secondary));border-color:transparent;color:#fff;box-shadow:0 2px 8px #667eea66}.editor-tubes{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 0}.editor-tube{position:relative}.tube-remove-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#ff6b6b;color:#fff;border:2px solid #fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;z-index:3}.tube-remove-btn:hover{transform:scale(1.2)}.add-tube-btn{padding:10px 16px;border:2px dashed rgba(255,255,255,.5);border-radius:var(--radius);background:#ffffff1a;color:var(--text-light);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;align-self:center;min-height:44px}.add-tube-btn:hover{background:#fff3;border-color:#ffffffb3}.custom-levels-grid{display:flex;flex-direction:column;gap:12px}.custom-level-item{background:var(--card-bg);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.custom-level-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.custom-level-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.custom-level-item-name{font-size:15px;font-weight:700;color:var(--text)}.custom-level-item-diff{font-size:12px;padding:2px 8px;border-radius:10px;background:#667eea26;color:var(--primary);font-weight:600}.custom-level-item-info{display:flex;gap:12px;font-size:12px;color:#888;margin-bottom:10px;flex-wrap:wrap}.custom-level-item-actions{display:flex;gap:8px;flex-wrap:wrap}.custom-level-item-actions .btn{flex:1;min-width:80px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-light)}.empty-icon{font-size:56px;display:block;margin-bottom:12px;opacity:.6}.empty-state p{font-size:15px;margin-bottom:6px}.empty-hint{font-size:13px!important;opacity:.7}.validation-msg{padding:10px 14px;background:#ff6b6b26;border:1px solid rgba(255,107,107,.4);border-radius:var(--radius-sm);color:#ff6b6b;font-size:13px;margin-bottom:12px;font-weight:500}.editor-tips{background:#ffffff1a;border-radius:var(--radius);padding:12px 16px;margin-top:16px;border:1px solid rgba(255,255,255,.15)}.editor-tips p{font-size:12px;color:var(--text-light);opacity:.85;margin-bottom:4px;line-height:1.6}.custom-levels-section{width:100%;background:var(--card-bg);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.custom-levels-title{font-size:16px;margin-bottom:12px;color:var(--text)}.custom-levels-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.custom-level-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#667eea0d;border:1px solid rgba(102,126,234,.1);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.custom-level-card:hover{background:#667eea1a;border-color:#667eea40;transform:translate(2px)}.custom-level-icon{font-size:20px;flex-shrink:0}.custom-level-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.custom-level-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-level-meta{font-size:11px;color:#999}.custom-level-arrow{font-size:16px;color:var(--primary);flex-shrink:0}@media (max-width: 375px){.editor-actions .btn{min-width:100%}.editor-tubes{gap:8px}.color-swatch{width:32px;height:32px}.custom-level-item-actions{flex-direction:column}.custom-level-item-actions .btn{min-width:100%}}.sorted-badge{background:#4ecdc426;color:#4ecdc4;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;white-space:nowrap;transition:all .3s ease}.sorted-badge.sorted-complete{background:#95e1a340;color:#95e1a3;animation:sorted-complete-pulse .6s ease}@keyframes sorted-complete-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media (max-width: 768px){.tubes-grid{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.3) transparent;padding:16px 8px;max-width:100vw}.tubes-grid:not(.tubes-grid-many){flex-wrap:wrap;overflow-x:visible}}@media (max-width: 375px){.tubes-grid{gap:4px;padding:12px 4px}.tube{width:30px;height:95px}}.collapsible-section{margin:8px 0}.collapse-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px 14px;background:#667eea0f;border:1px solid rgba(102,126,234,.12);border-radius:var(--radius-sm);transition:all .2s ease;-webkit-user-select:none;user-select:none}.collapse-header:hover{background:#667eea1a}.collapse-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.collapse-toggle{font-size:12px;color:var(--primary);transition:transform .3s ease}.collapse-content{overflow:hidden;transition:max-height .3s ease,opacity .2s ease;max-height:2000px;opacity:1}.collapse-content.collapsed{max-height:0;opacity:0;padding:0;margin:0}@media (max-width: 768px){.collapse-header{padding:12px 10px}}.btn:focus-visible,.level-btn:focus-visible,.checkin-btn:focus-visible,.collapse-header:focus-visible,.footer-link:focus-visible,.fab-nav-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.tube-container:focus-visible{outline:3px solid var(--primary);outline-offset:4px;border-radius:8px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}.home-header{position:relative}.home-header:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:240px;height:240px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none;z-index:-1}.mode-grid-btn{transition:transform .2s ease,box-shadow .3s ease,filter .2s ease}.mode-grid-btn:hover{transform:translateY(-3px);filter:brightness(1.1)}.header-spacer{width:40px;flex-shrink:0}.modal-body-text{text-align:center;color:#666;margin-bottom:16px}.modal-body-text-lg{text-align:center;color:#666;margin-bottom:16px;font-size:16px}.modal-body-text-announcement{text-align:center;color:#666;margin-bottom:16px;font-size:15px;line-height:1.6}.modal-actions{display:flex;gap:12px;flex-direction:column}.modal-actions-sm{display:flex;gap:8px;flex-direction:column}.modal-hint-text{text-align:center;color:#999;font-size:13px;margin-bottom:16px}.modal-hint-text-sm{text-align:center;color:#999;font-size:12px}.stats-note{font-size:12px;color:#999}.stats-subtitle{margin-top:12px;color:var(--primary)}.stat-value-streak-hot{color:#ff6b6b}.page-loading-container{display:flex;align-items:center;justify-content:center;min-height:100vh}.page-loading-inner{text-align:center}.page-loading-emoji{font-size:48px;margin-bottom:12px;animation:loading-breathe 1.6s ease-in-out infinite}.page-loading-text{color:var(--primary);font-size:14px}@keyframes loading-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}@media (orientation: landscape) and (max-height: 500px){.home-header{padding:16px 20px 8px}.logo{font-size:40px;margin-bottom:4px}.title{font-size:22px;margin-bottom:4px}.subtitle,.tagline{display:none}.home-main{padding:8px 16px;gap:8px}.game-header{padding:8px 16px}.game-title{font-size:16px}}@media (max-width: 340px){.home-header{padding:20px 12px 8px}.logo{font-size:42px}.title{font-size:22px;letter-spacing:1px}.home-main{padding:12px;gap:8px}.mode-grid{gap:6px}.mode-grid-btn{padding:10px 6px;min-height:64px}.mode-grid-label{font-size:13px}.mode-grid-sub{font-size:10px}.tube{width:28px;height:88px}.tubes-grid{gap:3px}.game-info{gap:6px}.level-badge,.difficulty-badge,.moves-badge,.optimal-badge,.timer-badge{font-size:11px;padding:3px 8px}.game-controls .btn{padding:8px 10px;font-size:12px}.keyboard-hint{font-size:10px}}@media (max-width: 480px){.game-info{gap:6px}.level-badge,.difficulty-badge,.moves-badge{padding:3px 8px;font-size:12px}}.recent-play-card,.recommend-card,.daily-tip-card{position:relative;overflow:hidden}.recent-play-card:before,.recommend-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s ease;pointer-events:none}.recent-play-card:hover:before,.recommend-card:hover:before{left:100%}.help-visual-steps{display:flex;justify-content:space-around;gap:8px;margin:12px 0 16px;flex-wrap:wrap}.help-visual-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:100px;max-width:200px}.help-visual-demo{background:#667eea14;border-radius:10px;padding:8px 4px 4px;display:flex;justify-content:center;border:1px solid rgba(102,126,234,.15);width:100%}.help-visual-demo svg{width:100%;height:auto;max-width:120px}.help-visual-step p{font-size:12px;text-align:center;color:#555;line-height:1.4;margin:0}@media (max-width: 480px){.help-visual-steps{flex-direction:column;align-items:center;gap:12px}.help-visual-step{min-width:0;width:100%;max-width:240px}.help-visual-demo{padding:6px 4px 4px}.help-visual-demo svg{max-width:140px}.help-visual-step p{font-size:11px}}@media (max-width: 375px){.help-modal-card{max-width:95vw;padding:14px}.help-modal-body{padding:0 4px}.help-section h4{font-size:14px}.help-section ul,.help-rules-list{padding-left:16px}.help-section li{font-size:12px;line-height:1.5}}.help-rules-list{margin-top:8px}.star-pop{animation:star-pop-in .5s cubic-bezier(.175,.885,.32,1.275) both}@keyframes star-pop-in{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.3) rotate(10deg);opacity:1}80%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}.best-score-badge{background:linear-gradient(135deg,gold,orange);color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #ffa5004d}.color-pair-match{background:var(--card-bg, #fff);border-radius:12px;padding:20px;margin:12px 0 20px;box-shadow:0 2px 8px #0000000f}.cpm-intro{margin-bottom:16px}.cpm-intro p{font-size:13px;color:var(--text, #333);line-height:1.5;opacity:.8}.cpm-best{font-size:13px;color:var(--primary, #667eea);font-weight:600;margin-top:6px}.cpm-start-btn{display:block;margin:0 auto;padding:10px 28px;background:var(--primary, #667eea);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.cpm-start-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #667eea66}.cpm-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text, #333)}.cpm-score{color:var(--primary, #667eea)}.cpm-moves{color:var(--text, #333);opacity:.7}.cpm-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:360px;margin:0 auto}.cpm-card{aspect-ratio:1;border-radius:10px;border:2px solid var(--tube-border, rgba(255,255,255,.3));cursor:pointer;transition:all .3s;font-size:24px;font-weight:700;color:var(--text, #333);opacity:.7;display:flex;align-items:center;justify-content:center}.cpm-card:hover:not(:disabled){opacity:1;transform:scale(1.05)}.cpm-card.cpm-flipped{opacity:1;border-color:var(--text, #333)}.cpm-card.cpm-matched{opacity:.5;cursor:default;animation:cpmMatchPulse .5s ease}@keyframes cpmMatchPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.cpm-result{font-size:48px;text-align:center;margin-bottom:8px}.cpm-final-score{font-size:18px;font-weight:600;color:var(--text, #333);text-align:center;margin:8px 0}.cpm-rating{font-size:14px;color:var(--text, #333);opacity:.7;text-align:center}.cpm-new-best{font-size:13px;color:var(--primary, #667eea);font-weight:600;text-align:center;margin-top:4px}@media (max-width: 375px){.cpm-card-grid{grid-template-columns:repeat(4,1fr);gap:6px}.cpm-card{font-size:18px;border-radius:8px}}.cpm-lowscore-btn{display:block;margin:8px auto 4px;padding:6px 16px;font-size:13px;color:var(--primary, #667eea);background:transparent;border:1px solid var(--primary, #667eea);border-radius:8px;cursor:pointer;transition:all .2s}.cpm-lowscore-btn:hover{background:var(--primary, #667eea);color:#fff}.cpm-lowscore-item{padding:8px 12px;border-bottom:1px solid var(--border, #eee)}.cpm-lowscore-header{display:flex;justify-content:space-between;margin-bottom:4px}.cpm-lowscore-diff{font-size:12px;font-weight:600;color:var(--primary, #667eea)}.cpm-lowscore-date{font-size:11px;color:var(--text-light, #888)}.cpm-lowscore-stats{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text, #333);margin-bottom:4px}.cpm-lowscore-moves{font-weight:600}.cpm-lowscore-par{opacity:.7}.cpm-lowscore-eff{color:#f59e0b;font-weight:600}.cpm-lowscore-time{opacity:.7}.cpm-lowscore-bar{width:100%;height:4px;background:var(--border, #eee);border-radius:2px;overflow:hidden}.cpm-lowscore-bar-fill{height:100%;border-radius:2px;transition:width .3s}.cpm-difficulty-select{display:flex;gap:8px;justify-content:center;margin:12px 0;flex-wrap:wrap}.cpm-difficulty-btn{padding:6px 14px;border:1.5px solid var(--tube-border, rgba(255,255,255,.3));background:transparent;color:var(--text, #333);border-radius:16px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;opacity:.7}.cpm-difficulty-btn:hover{opacity:1}.cpm-difficulty-btn.cpm-difficulty-active{background:var(--primary, #667eea);color:#fff;border-color:var(--primary, #667eea);opacity:1}.cpm-custom-pairs{padding:12px 16px;background:var(--bg-card, #f8f9fa);border-radius:10px;width:100%;max-width:280px;margin:8px auto 4px}.cpm-custom-label{display:block;font-size:13px;font-weight:600;color:var(--text, #333);margin-bottom:8px;text-align:center}.cpm-custom-slider{width:100%;height:6px;border-radius:3px;background:var(--tube-border, #e0e0e0);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.cpm-custom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary, #667eea);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0003}.cpm-custom-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary, #667eea);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px #0003}.cpm-custom-range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary, #999);margin-top:4px}.cpm-mode-toggle{display:flex;gap:8px;justify-content:center;margin:10px 0}.cpm-mode-btn{padding:6px 14px;border-radius:16px;border:1.5px solid var(--tube-border, rgba(255,255,255,.3));background:transparent;color:var(--text, #333);font-size:13px;cursor:pointer;transition:all .2s;opacity:.6}.cpm-mode-btn.cpm-mode-active{background:var(--primary, #667eea);color:#fff;border-color:var(--primary, #667eea);opacity:1}.cpm-timer{font-size:15px;font-weight:700;color:var(--primary, #667eea)}.cpm-timer.cpm-timer-urgent{color:#f44;animation:cpm-timer-pulse .5s infinite}@keyframes cpm-timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.color-sequence-game{background:var(--card-bg, #fff);border-radius:12px;padding:20px;margin:12px 0 20px;box-shadow:0 2px 8px #0000000f}.csg-intro{margin-bottom:16px}.csg-intro p{font-size:13px;color:var(--text, #333);line-height:1.5;opacity:.8}.csg-color-count-select{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px 0 12px;flex-wrap:wrap}.csg-color-count-label{font-size:12px;color:var(--text-light, #888)}.csg-colors{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:280px;margin:0 auto 16px}.csg-best{font-size:13px;color:var(--primary, #667eea);font-weight:600;margin-top:6px}.csg-start-btn{display:block;margin:0 auto;padding:10px 28px;background:var(--primary, #667eea);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.csg-start-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #667eea66}.csg-start-buttons{display:flex;flex-direction:column;gap:10px;align-items:center}.csg-resume-btn{padding:8px 24px;background:#667eea1f;color:var(--primary, #667eea);border:1px solid rgba(102,126,234,.3);border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.csg-resume-btn:hover{background:#667eea33;transform:scale(1.03)}.csg-save-hint{font-size:12px;color:#667eeab3;margin-top:4px}.csg-header{display:flex;justify-content:space-between;margin-bottom:16px;font-size:14px;font-weight:600;color:var(--text, #333)}.csg-level{color:var(--primary, #667eea)}.csg-status{color:var(--text, #333);opacity:.7}.csg-color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:280px;margin:0 auto 16px}.csg-color-btn{aspect-ratio:1.5;border-radius:16px;border:none;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0000001a}.csg-color-btn:disabled{cursor:default}.csg-color-btn.csg-active{box-shadow:0 0 20px #fff9}.csg-progress{text-align:center;font-size:13px;color:var(--text, #333);opacity:.6}.csg-result{font-size:48px;text-align:center;margin-bottom:8px}.csg-final-level{font-size:18px;font-weight:600;color:var(--text, #333);text-align:center;margin:8px 0}.csg-rating{font-size:14px;color:var(--text, #333);opacity:.7;text-align:center}.csg-new-best{font-size:13px;color:var(--primary, #667eea);font-weight:600;text-align:center;margin-top:4px}.csg-milestone{position:relative;text-align:center;padding:8px 0;animation:bounce-in .5s ease}.csg-milestone-text{font-size:18px;font-weight:700;color:#ff6b6b;text-shadow:0 0 10px rgba(255,107,107,.3)}@media (max-width: 375px){.csg-color-grid{max-width:240px;gap:8px}.csg-color-btn{border-radius:12px}}.color-reaction-test{background:var(--card-bg, #fff);border-radius:12px;padding:20px;margin:12px 0}.color-reaction-test.idle{text-align:center}.crt-intro{margin-bottom:16px}.crt-intro p{font-size:14px;color:var(--text, #333);line-height:1.6;margin:4px 0}.crt-best,.crt-avg{font-size:13px!important;opacity:.7}.crt-start-btn{padding:10px 28px;border-radius:20px;border:none;background:var(--primary, #667eea);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.crt-start-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.crt-header{display:flex;justify-content:space-between;margin-bottom:16px;font-size:14px;color:var(--text, #333);font-weight:600}.crt-waiting{text-align:center;padding:40px 0}.crt-wait-text{font-size:20px;color:var(--text, #333);opacity:.6}.crt-target{text-align:center;margin-bottom:20px;padding:16px;background:var(--tube-bg, rgba(255,255,255,.1));border-radius:12px}.crt-target-text{font-size:16px;color:var(--text, #333);opacity:.7}.crt-target-color{font-size:28px;font-weight:800;margin-left:8px}.crt-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:280px;margin:0 auto}.crt-color-btn{aspect-ratio:1.5;border-radius:16px;border:none;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px #0000001a}.crt-color-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #00000026}.crt-color-btn:active{transform:scale(.95)}.crt-feedback{text-align:center;font-size:14px;color:var(--text, #333);margin-top:12px;font-weight:600}.crt-result{font-size:48px;text-align:center;margin-bottom:8px}.crt-final-score{font-size:18px;font-weight:600;color:var(--text, #333);text-align:center;margin:8px 0}.crt-rating{font-size:14px;color:var(--text, #333);opacity:.7;text-align:center}.crt-new-best{font-size:13px;color:var(--primary, #667eea);font-weight:600;text-align:center;margin-top:4px}.crt-new-record{font-size:15px;color:#f59e0b;font-weight:700;text-align:center;margin:6px 0}.crt-best-score{font-size:13px;color:var(--text-light, #888);text-align:center;margin:4px 0}.crt-best-hint{font-size:13px;color:var(--text-light, #888);text-align:center;margin-top:8px}.crt-wrongbook-btn{display:block;margin:8px auto 4px;padding:6px 16px;font-size:13px;color:var(--primary, #667eea);background:transparent;border:1px solid var(--primary, #667eea);border-radius:8px;cursor:pointer;transition:all .2s}.crt-wrongbook-btn:hover{background:var(--primary, #667eea);color:#fff}.crt-wrongbook-item{padding:8px 12px;border-bottom:1px solid var(--border, #eee)}.crt-wrongbook-round{font-size:11px;color:var(--text-light, #888);margin-bottom:6px}.crt-wrongbook-colors{display:flex;align-items:center;gap:8px}.crt-wrongbook-color{display:flex;align-items:center;gap:4px}.crt-wrongbook-swatch{width:28px;height:28px;border-radius:6px;border:2px solid rgba(0,0,0,.1)}.crt-wrongbook-swatch.wrong{border-color:#ef4444;position:relative}.crt-wrongbook-swatch.wrong:after{content:"✗";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.crt-wrongbook-label{font-size:12px;color:var(--text, #333)}.crt-wrongbook-arrow{font-size:14px;color:var(--text-light, #888)}@media (max-width: 375px){.crt-options{max-width:240px;gap:8px}.crt-color-btn{border-radius:12px}.crt-target-color{font-size:22px}}.color-mixer-container{background:var(--card-bg, #fff);border-radius:12px;padding:16px;margin:12px 0 20px;box-shadow:0 2px 8px #0000000f}.color-mixer-intro{margin-bottom:12px}.color-mixer-intro p{font-size:13px;color:var(--text, #333);line-height:1.5;opacity:.8}.color-mixer-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:16px}.mixer-color-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border:2px solid transparent;border-radius:10px;cursor:pointer;transition:all .2s;opacity:.6;min-height:64px}.mixer-color-btn:hover{opacity:.85;transform:scale(1.05)}.mixer-color-btn.mixer-color-active{opacity:1;border-color:var(--text, #333);box-shadow:0 2px 8px #0003;transform:scale(1.05)}.mixer-color-emoji{font-size:20px}.mixer-color-name-text{font-size:11px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:500}.color-mixer-result{display:flex;align-items:center;gap:16px;padding:16px;background:var(--tube-bg, rgba(255,255,255,.1));border-radius:10px;margin-bottom:12px}.mixer-result-circle{width:64px;height:64px;border-radius:50%;border:3px solid var(--tube-border, rgba(255,255,255,.4));box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--card-bg, #fff)}.mixer-placeholder{font-size:28px;color:var(--text, #333);opacity:.4;font-weight:700}.mixer-result-info{display:flex;flex-direction:column;gap:4px;flex:1}.mixer-result-name{font-size:16px;font-weight:600;color:var(--text, #333)}.mixer-result-rgb{font-size:13px;color:var(--text, #333);opacity:.6;font-family:monospace}.mixer-result-formula{font-size:12px;color:var(--text, #333);opacity:.5}.mixer-counter{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 12px;border-radius:10px;background:var(--tube-bg, rgba(255,255,255,.1));border:1px solid var(--tube-border, rgba(255,255,255,.2));flex-shrink:0}.mixer-counter-num{font-size:20px;font-weight:700;color:var(--primary, #667eea)}.mixer-counter-label{font-size:10px;color:var(--text, #333);opacity:.6}.mixer-milestone-toast{text-align:center;padding:10px 16px;margin-bottom:12px;background:linear-gradient(135deg,#667eea26,#764ba226);border-radius:10px;font-size:14px;font-weight:600;color:var(--text, #333);cursor:pointer;animation:milestoneFadeIn .4s ease}@keyframes milestoneFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mixer-clear-btn{display:block;margin:0 auto;padding:6px 16px;background:var(--tube-bg, rgba(255,255,255,.1));border:1px solid var(--tube-border, rgba(255,255,255,.2));border-radius:8px;font-size:12px;cursor:pointer;color:var(--text, #333);opacity:.7;transition:all .2s}.mixer-clear-btn:hover{background:var(--primary, #667eea);color:#fff;opacity:1}.mixer-action-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mixer-action-buttons .mixer-clear-btn{margin:0}.mixer-share-btn{padding:6px 16px;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:8px;font-size:12px;cursor:pointer;color:var(--primary, #667eea);font-weight:600;transition:all .2s}.mixer-share-btn:hover{background:var(--primary, #667eea);color:#fff}.mixer-tips{margin-top:12px;padding:10px 12px;background:#667eea14;border-radius:8px;border-left:3px solid var(--primary, #667eea)}.mixer-tips p{font-size:12px;color:var(--text, #333);opacity:.7;line-height:1.5}.stats-share-bar{text-align:center;margin-bottom:16px}.btn-share{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border-radius:24px;font-size:14px}.color-perception-test{background:var(--card-bg, #fff);border-radius:12px;padding:20px;margin:12px 0 20px;box-shadow:0 2px 8px #0000000f}.color-perception-test.idle{text-align:center}.cpt-intro{margin-bottom:16px}.cpt-intro p{font-size:14px;color:var(--text-light, #666);line-height:1.6;margin:4px 0}.cpt-best{font-weight:600;color:var(--text, #333)}.cpt-start-btn{display:inline-block;padding:10px 28px;background:var(--primary, #667eea);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.cpt-start-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea4d}.cpt-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text, #333)}.cpt-instruction{font-size:13px;color:var(--text-light, #888);text-align:center;margin-bottom:12px}.cpt-target-color{width:120px;height:120px;border-radius:16px;margin:0 auto 16px;box-shadow:0 4px 12px #00000026;border:3px solid var(--text-light, #fff)}.cpt-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:320px;margin:0 auto}.cpt-option-btn{height:72px;border:3px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.cpt-option-btn:hover:not(:disabled){transform:scale(1.03);box-shadow:0 2px 8px #00000026}.cpt-option-btn:disabled{cursor:default;opacity:.6}.cpt-option-btn.cpt-correct{border-color:#4caf50;box-shadow:0 0 0 3px #4caf504d}.cpt-option-btn.cpt-wrong{border-color:#f44336;box-shadow:0 0 0 3px #f443364d}.cpt-feedback{text-align:center;font-size:16px;font-weight:600;margin-top:12px;min-height:24px}.color-perception-test.finished{text-align:center}.cpt-result{font-size:48px;margin-bottom:8px}.cpt-final-score{font-size:22px;font-weight:700;color:var(--text, #333)}.cpt-rating{font-size:14px;color:var(--text-light, #888);margin:8px 0 4px}.cpt-new-best{font-size:14px;font-weight:600;color:gold}.cpt-new-record{font-size:18px;font-weight:700;color:#ff6b6b;margin:8px 0;animation:bounce-in .5s ease}.cpt-best-score{font-size:14px;font-weight:600;color:var(--text-light, #888);margin:4px 0}.daily-color-knowledge-card{background:linear-gradient(135deg,#f0f4ff,#fdf0ff);border-radius:12px;padding:14px 16px;margin:12px 0;display:flex;align-items:center;gap:12px;border-left:4px solid #667eea;cursor:pointer;transition:transform .2s,box-shadow .2s}.daily-color-knowledge-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.daily-color-knowledge-card:active{transform:translateY(0)}.daily-color-knowledge-emoji{font-size:32px;flex-shrink:0}.daily-color-knowledge-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.daily-color-knowledge-label{font-size:11px;color:#667eea;font-weight:600}.daily-color-knowledge-title{font-size:14px;font-weight:600;color:var(--text-primary, #333)}.daily-color-knowledge-text{font-size:12px;color:var(--text-light, #888);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-color-knowledge-arrow{font-size:18px;color:#667eea;flex-shrink:0}.daily-quiz-entry-card{background:linear-gradient(135deg,#f0fff4,#fffbeb);border-radius:12px;padding:14px 16px;margin:12px 0;display:flex;align-items:center;gap:12px;border-left:4px solid #10b981;cursor:pointer;transition:transform .2s,box-shadow .2s}.daily-quiz-entry-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98126}.daily-quiz-entry-card:active{transform:translateY(0)}.daily-quiz-entry-card.quiz-unanswered{animation:quiz-pulse 2s ease-in-out infinite;border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7)}@keyframes quiz-pulse{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 0 8px #f59e0b00}}.daily-quiz-entry-card.quiz-unanswered .daily-quiz-entry-icon{animation:quiz-bounce 1.5s ease-in-out infinite}@keyframes quiz-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.daily-quiz-entry-icon{font-size:32px;flex-shrink:0}.daily-quiz-entry-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.daily-quiz-entry-label{font-size:11px;color:#10b981;font-weight:600;display:flex;align-items:center;gap:6px}.quiz-streak-badge{display:inline-flex;align-items:center;gap:2px;font-size:10px;padding:1px 6px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;font-weight:700;white-space:nowrap}.daily-quiz-entry-title{font-size:14px;font-weight:600;color:var(--text-primary, #333);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-quiz-entry-sub{font-size:12px;color:var(--text-light, #888)}.daily-quiz-entry-arrow{font-size:18px;color:#10b981;flex-shrink:0}@media (max-width: 375px){.daily-quiz-entry-card{padding:10px 12px;gap:8px}.daily-quiz-entry-icon{font-size:26px}.daily-quiz-entry-title{font-size:13px}}@media (hover: none) and (pointer: coarse){.btn:active{transform:scale(.96);opacity:.9;transition:transform .08s ease,opacity .08s ease}.checkin-btn:active{transform:scale(.96);transition:transform .08s ease}.fab-nav-btn:active{transform:scale(.9)}.mode-grid-btn:active{transform:scale(.97);filter:brightness(.95)}}.page-loading-emoji{position:relative}.page-loading-emoji:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;background:radial-gradient(circle,var(--primary, #667eea) 0%,transparent 70%);opacity:.25;z-index:-1;animation:loading-aura 1.6s ease-in-out infinite}@keyframes loading-aura{0%,to{transform:scale(.9);opacity:.2}50%{transform:scale(1.15);opacity:.35}}.win-card .star-rating .star{animation-fill-mode:both}.win-card h2{animation:win-title-enter .5s cubic-bezier(.34,1.4,.64,1) both}.win-card p{animation:win-text-enter .5s ease .2s both}.win-card .win-efficiency-bar{animation:win-text-enter .5s ease .35s both}.win-card .win-actions{animation:win-text-enter .5s ease .5s both}@keyframes win-title-enter{0%{opacity:0;transform:translateY(-12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes win-text-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.achievement-card.unlocked{transition:transform .2s ease,box-shadow .3s ease}.achievement-card.unlocked:hover{box-shadow:var(--shadow),0 0 0 1px #4ecdc459,0 0 16px #4ecdc426}.level-btn.completed{position:relative}.level-btn.completed:hover{filter:brightness(1.05)}.progress-bar-fill{position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%{left:-50%}to{left:100%}}.daily-challenge-banner:hover .daily-banner-icon,.weekly-challenge-banner:hover .weekly-banner-icon{transform:scale(1.1);transition:transform .3s ease}.fab-nav-btn{transition:transform .2s ease,box-shadow .2s ease,rotate .3s ease}.fab-nav-btn:hover{rotate:-8deg}.tutorial-card .changelog-content::-webkit-scrollbar,.help-modal-body::-webkit-scrollbar,.tips-list::-webkit-scrollbar{width:6px}.tutorial-card .changelog-content::-webkit-scrollbar-thumb,.help-modal-body::-webkit-scrollbar-thumb,.tips-list::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.tutorial-card .changelog-content::-webkit-scrollbar-thumb:hover,.help-modal-body::-webkit-scrollbar-thumb:hover,.tips-list::-webkit-scrollbar-thumb:hover{background:#667eea80}.color-swatch.color-selected{animation:swatch-selected-pulse .4s ease-out}@keyframes swatch-selected-pulse{0%{transform:scale(1.1)}50%{transform:scale(1.2)}to{transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){.progress-bar-fill:after,.page-loading-emoji:after,.daily-challenge-banner:before,.mode-grid-btn:after,.mode-entry .btn:after,.recent-play-card:before,.recommend-card:before{animation:none!important}.logo,.streak-badge,.timer-badge.timer-danger,.daily-banner-icon{animation:none!important}*{scroll-behavior:auto!important}}@media (min-width: 1025px){.tubes-grid{max-width:720px;margin:0 auto}}.deadlock-warning-tip{animation:deadlock-warning-pulse .6s ease,deadlock-border-pulse 1.5s ease-in-out infinite .6s}@keyframes deadlock-border-pulse{0%,to{box-shadow:0 2px 12px #ffc10733}50%{box-shadow:0 2px 16px #ffc10773}}.daily-quiz-container{background:var(--card-bg, #fff);border-radius:12px;padding:20px;margin:12px 0;border:1px solid var(--tube-border, rgba(0,0,0,.1))}@media (prefers-color-scheme: dark){.cpm-card{background:#ffffff1f!important;border-color:#ffffff4d}.crt-waiting,.crt-feedback,.csg-progress,.csg-status,.cpt-instruction,.cpt-feedback{color:var(--text-light, #e0e0e0)}.mixer-tips,.daily-quiz-option{background:#ffffff0f}.daily-quiz-option:hover:not(:disabled){background:#667eea26}.daily-quiz-result{background:#ffffff0f}.mixer-color-emoji{text-shadow:0 1px 2px rgba(0,0,0,.5)}.color-encyclopedia-tip{background:#ffe66d1a}.color-theory-card,.color-trivia-item{background:#ffffff0a}.encyclopedia-recent-colors{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.recent-color-chip{background:#ffffff14;border-color:#ffffff26}.recent-color-chip:hover{background:#667eea33}.color-encyclopedia-card.card-expanded{box-shadow:0 4px 16px #0006}}:root[style*=dark] .cpm-card,html[style*="1a1a2e"] .cpm-card{background:#ffffff1f!important}html[style*="1a1a2e"] .daily-quiz-option,html[style*="1a1a2e"] .mixer-tips,html[style*="1a1a2e"] .daily-quiz-result,html[style*="1a1a2e"] .color-encyclopedia-tip,html[style*="1a1a2e"] .color-theory-card,html[style*="1a1a2e"] .color-trivia-item{background:#ffffff0f}html[style*="1a1a2e"] .encyclopedia-recent-colors{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}html[style*="1a1a2e"] .daily-tip-nav-btn{background:#ffffff14;border-color:#ffffff26;color:#fffc}html[style*="1a1a2e"] .daily-tip-nav-btn:hover{background:var(--primary, #667eea);color:#fff;border-color:var(--primary, #667eea)}html[style*="1a1a2e"] .cpt-new-record{color:#ffb084}html[style*="1a1a2e"] .cpt-best-score{color:#ffffff80}html[style*="1a1a2e"] .quiz-trend-chart,html[style*="1a1a2e"] .quiz-difficulty-stats{background:#ffffff0a}html[style*="1a1a2e"] .quiz-trend-date{color:#fff6}html[style*="1a1a2e"] .csg-milestone-text{color:#ffb084;text-shadow:0 0 10px rgba(255,176,132,.3)}html[style*="1a1a2e"] .sound-toggle-btn{background:#ffffff1a}html[style*="1a1a2e"] .sound-toggle-btn:hover{background:#fff3}html[style*="1a1a2e"] .recent-color-chip{background:#ffffff14;border-color:#ffffff26}html[style*="1a1a2e"] .recent-color-chip:hover{background:#e9456033}html[style*="1a1a2e"] .color-encyclopedia-card.card-expanded{box-shadow:0 4px 16px #0006;border:1px solid rgba(255,255,255,.1)}html[style*="1a1a2e"] .color-encyclopedia-tip{background:#ffe66d1a;color:#ffffffb3}.daily-quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.daily-quiz-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.daily-quiz-stats{font-size:12px;color:var(--text-light, #666)}.daily-quiz-streak-badge{background:linear-gradient(135deg,#ff9800,#ff5722);color:#fff;font-size:13px;font-weight:600;padding:6px 14px;border-radius:16px;margin-bottom:10px;display:inline-block;animation:quiz-streak-glow 2s ease-in-out infinite}@keyframes quiz-streak-glow{0%,to{box-shadow:0 0 4px #ff57224d}50%{box-shadow:0 0 12px #ff572280}}.seasonal-topic-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;border:2px solid #fbbf24;position:relative;overflow:hidden}.seasonal-topic-banner:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fbbf244d}.seasonal-topic-badge{position:absolute;top:8px;right:12px;font-size:10px;color:#92400e;background:#ffffff80;padding:2px 8px;border-radius:10px;font-weight:600}.seasonal-topic-icon{font-size:32px;flex-shrink:0}.seasonal-topic-info{flex:1;min-width:0}.seasonal-topic-title{font-size:15px;font-weight:700;color:#78350f;margin:0 0 4px}.seasonal-topic-desc{font-size:12px;color:#92400e;margin:0 0 6px}.seasonal-topic-colors{display:flex;gap:6px}[data-theme=dark] .seasonal-topic-banner{background:linear-gradient(135deg,#422006,#78350f);border-color:#92400e}[data-theme=dark] .seasonal-topic-badge{background:#ffffff26;color:#fcd34d}[data-theme=dark] .seasonal-topic-title{color:#fcd34d}[data-theme=dark] .seasonal-topic-desc{color:#fbbf24}.color-topics-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.topic-filter-btn{padding:4px 12px;font-size:12px;color:var(--text, #333);background:transparent;border:1px solid var(--border, #ddd);border-radius:14px;cursor:pointer;transition:all .2s;opacity:.7}.topic-filter-btn:hover{opacity:1}.topic-filter-btn.topic-filter-active{background:var(--primary, #667eea);color:#fff;border-color:var(--primary, #667eea);opacity:1}.color-topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:20px}.color-topic-card{background:var(--card-bg, rgba(255,255,255,.06));border:1px solid var(--border-color, rgba(0,0,0,.08));border-radius:14px;padding:16px;cursor:pointer;transition:transform .2s,box-shadow .2s}.color-topic-card:hover{transform:translateY(-3px);box-shadow:0 4px 16px #667eea26}.color-topic-icon{font-size:28px;margin-bottom:8px}.color-topic-title{font-size:15px;font-weight:700;margin:0 0 6px;color:var(--text-primary, #333)}.color-topic-desc{font-size:12px;color:var(--text-light, #666);margin:0 0 10px;line-height:1.5}.color-topic-colors{display:flex;gap:4px}.color-topic-chip{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;border:2px solid rgba(255,255,255,.3)}.daily-quiz-difficulty{font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px;margin-left:4px}.daily-quiz-difficulty-easy{background:#4caf5026;color:#4caf50}.daily-quiz-difficulty-medium{background:#ffc10726;color:#ffa000}.daily-quiz-difficulty-hard{background:#f4433626;color:#f44336}html[style*="1a1a2e"] .daily-quiz-difficulty-easy{color:#81c784}html[style*="1a1a2e"] .daily-quiz-difficulty-medium{color:#ffd54f}html[style*="1a1a2e"] .daily-quiz-difficulty-hard{color:#ef5350}.daily-quiz-question{margin-bottom:16px}.daily-quiz-q-text{font-size:16px;font-weight:600;color:var(--text, #333);line-height:1.5}.daily-quiz-options{display:flex;flex-direction:column;gap:8px}.daily-quiz-option{padding:12px 16px;border-radius:8px;border:2px solid var(--tube-border, rgba(0,0,0,.15));background:transparent;color:var(--text, #333);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}.daily-quiz-option:hover:not(:disabled){border-color:var(--primary, #667eea);background:#667eea14}.daily-quiz-option:disabled{cursor:default;opacity:.7}.daily-quiz-option.dq-correct{border-color:#4caf50;background:#4caf5026;color:#4caf50;font-weight:600;opacity:1}.daily-quiz-option.dq-wrong{border-color:#f44336;background:#f4433626;color:#f44336;opacity:1}.daily-quiz-result{margin-top:16px;padding:12px;border-radius:8px;background:#667eea14}.daily-quiz-result-text{font-size:15px;font-weight:600;margin-bottom:8px}.daily-quiz-explanation{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text-light, #666);line-height:1.5;margin-bottom:8px}.dq-explanation-icon{flex-shrink:0}.quiz-difficulty-stats{margin-top:10px;padding:10px 12px;border-radius:8px;background:#00000008}.quiz-diff-stats-label{display:block;font-size:12px;font-weight:600;color:var(--text-light, #666);margin-bottom:6px}.quiz-diff-stats-row{display:flex;gap:8px;flex-wrap:wrap}.quiz-diff-stat{font-size:12px;padding:4px 10px;border-radius:12px;font-weight:500}.quiz-diff-easy{background:#22c55e1f;color:#15803d}.quiz-diff-medium{background:#eab3081f;color:#a16207}.quiz-diff-hard{background:#ef44441f;color:#b91c1c}.quiz-trend-chart{margin-top:10px;padding:10px 12px;border-radius:8px;background:#00000008}.quiz-trend-label{display:block;font-size:12px;font-weight:600;color:var(--text-light, #666);margin-bottom:8px}.quiz-trend-bars{display:flex;gap:6px;align-items:flex-end;justify-content:center}.quiz-trend-bar-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.quiz-trend-bar{width:100%;max-width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;border-left:3px solid transparent}.quiz-trend-correct{background:#22c55e26}.quiz-trend-wrong{background:#ef444426}.quiz-trend-date{font-size:10px;color:var(--text-light, #999);white-space:nowrap}.quiz-calendar-heatmap{margin-top:12px;padding:12px;background:#ffffff0d;border-radius:8px}.quiz-calendar-label{display:block;font-size:12px;font-weight:600;color:var(--text-light, #666);margin-bottom:8px}.quiz-calendar-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:3px;margin-bottom:8px}.quiz-cal-cell{aspect-ratio:1;border-radius:3px;min-height:14px;min-width:14px;transition:transform .15s;cursor:default}.quiz-cal-cell:hover{transform:scale(1.3);z-index:1}.quiz-calendar-legend{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--text-light, #999)}.quiz-cal-legend-item{display:flex;align-items:center;gap:3px}.quiz-cal-legend-box{display:inline-block;width:10px;height:10px;border-radius:2px}@media (max-width: 768px){.quiz-calendar-grid{grid-template-columns:repeat(10,1fr)}.quiz-cal-cell{min-height:16px;min-width:16px}}html[style*="1a1a2e"] .quiz-calendar-heatmap{background:#ffffff0f}html[style*="1a1a2e"] .quiz-calendar-label,html[style*="1a1a2e"] .quiz-calendar-legend{color:#ffffffb3}.daily-quiz-comeback{font-size:12px;color:var(--text-light, #999);text-align:center;margin-top:8px}.daily-quiz-already{text-align:center;color:var(--text-light, #999);font-size:14px;margin-top:8px}.daily-quiz-share-btn{display:block;width:100%;padding:10px 16px;margin-top:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,opacity .2s}.daily-quiz-share-btn:hover{opacity:.9;transform:translateY(-1px)}.daily-quiz-share-btn:active{transform:translateY(0)}.daily-quiz-wrongbook-btn{display:block;width:100%;padding:10px 16px;margin-top:8px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #f59e0b;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.daily-quiz-wrongbook-btn:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);transform:translateY(-1px)}.daily-quiz-wrongbook-btn:active{transform:translateY(0)}.quiz-wrongbook-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.quiz-wrongbook-modal{background:#fff;border-radius:14px;max-width:480px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.quiz-wrongbook-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.quiz-wrongbook-header h3{margin:0;font-size:16px;color:#333}.quiz-wrongbook-close{background:none;border:none;font-size:18px;color:#999;cursor:pointer;padding:4px 8px;border-radius:6px}.quiz-wrongbook-close:hover{background:#f5f5f5}.quiz-wrongbook-list{overflow-y:auto;padding:12px 20px 20px;flex:1}.quiz-wrongbook-empty{text-align:center;color:#999;padding:40px 0}.quiz-wrongbook-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.quiz-wrongbook-item:last-child{border-bottom:none}.quiz-wrongbook-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.quiz-wrongbook-difficulty{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.quiz-wrongbook-diff-easy{background:#dcfce7;color:#166534}.quiz-wrongbook-diff-medium{background:#fef3c7;color:#92400e}.quiz-wrongbook-diff-hard{background:#fee2e2;color:#991b1b}.quiz-wrongbook-date{font-size:12px;color:#999}.quiz-wrongbook-question{font-size:14px;color:#333;margin:0 0 8px;font-weight:500}.quiz-wrongbook-options{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.quiz-wrongbook-option{font-size:13px;padding:6px 10px;border-radius:6px;background:#f9fafb;color:#666}.quiz-wrongbook-option.qw-correct{background:#dcfce7;color:#166534;font-weight:600}.quiz-wrongbook-option.qw-wrong{background:#fee2e2;color:#991b1b;text-decoration:line-through}.quiz-wrongbook-explanation{font-size:12px;color:#6b7280;margin:0;padding:8px 10px;background:#f0f9ff;border-radius:6px;line-height:1.5}[data-theme=dark] .quiz-wrongbook-modal{background:#1e1e1e}[data-theme=dark] .quiz-wrongbook-header{border-color:#333}[data-theme=dark] .quiz-wrongbook-header h3{color:#eee}[data-theme=dark] .quiz-wrongbook-close{color:#888}[data-theme=dark] .quiz-wrongbook-close:hover{background:#333}[data-theme=dark] .quiz-wrongbook-item{border-color:#333}[data-theme=dark] .quiz-wrongbook-question{color:#ddd}[data-theme=dark] .quiz-wrongbook-option{background:#2a2a2a;color:#aaa}[data-theme=dark] .quiz-wrongbook-option.qw-correct{background:#14532d;color:#86efac}[data-theme=dark] .quiz-wrongbook-option.qw-wrong{background:#7f1d1d;color:#fca5a5}[data-theme=dark] .quiz-wrongbook-explanation{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .daily-quiz-wrongbook-btn{background:linear-gradient(135deg,#422006,#78350f);color:#fcd34d;border-color:#92400e}.cpt-wrongbook-btn{display:block;margin:12px auto 0;padding:8px 18px;font-size:13px;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.cpt-wrongbook-btn:hover{background:#e5e7eb;color:#4b5563}.cpt-wrongbook-btn:active{transform:scale(.97)}.perception-wrong-item{padding:10px 0;border-bottom:1px solid #f0f0f0}.perception-wrong-item:last-child{border-bottom:none}.perception-wrong-date{font-size:11px;color:#999;margin-bottom:6px}.perception-wrong-colors{display:flex;align-items:center;gap:10px}.perception-wrong-color-block{display:flex;flex-direction:column;align-items:center;gap:4px}.perception-wrong-label{font-size:11px;color:#6b7280}.perception-wrong-label.wrong{color:#ef4444}.perception-wrong-swatch{width:36px;height:36px;border-radius:8px;border:2px solid #ddd;display:inline-block}.perception-wrong-name{font-size:12px;color:#374151;font-weight:500}.perception-wrong-name.wrong{color:#ef4444}.perception-wrong-arrow{font-size:18px;color:#d1d5db}.quiz-wrongbook-clear{display:block;margin:12px auto 4px;padding:6px 14px;font-size:12px;color:#9ca3af;background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.quiz-wrongbook-clear:hover{color:#ef4444;border-color:#fca5a5}[data-theme=dark] .cpt-wrongbook-btn{background:#374151;color:#9ca3af;border-color:#4b5563}[data-theme=dark] .cpt-wrongbook-btn:hover{background:#4b5563;color:#d1d5db}[data-theme=dark] .perception-wrong-item{border-color:#333}[data-theme=dark] .perception-wrong-date{color:#666}[data-theme=dark] .perception-wrong-label{color:#9ca3af}[data-theme=dark] .perception-wrong-swatch{border-color:#444}[data-theme=dark] .perception-wrong-name{color:#d1d5db}[data-theme=dark] .quiz-wrongbook-clear{color:#666;border-color:#333}[data-theme=dark] .quiz-wrongbook-clear:hover{color:#fca5a5;border-color:#7f1d1d}.daily-quiz-share-toast{text-align:center;font-size:12px;color:#10b981;margin-top:6px}.encyclopedia-search-bar{display:flex;align-items:center;gap:8px;margin:16px 0 8px;position:relative}.encyclopedia-search-input{flex:1;padding:10px 14px;font-size:14px;border:2px solid #e0e0e0;border-radius:10px;outline:none;transition:border-color .2s;background:#fff;color:#333}.encyclopedia-search-input:focus{border-color:#667eea}.encyclopedia-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:#e0e0e0;border:none;border-radius:50%;width:24px;height:24px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:background .2s}.encyclopedia-search-clear:hover{background:#ccc}.encyclopedia-search-result-count{font-size:12px;color:var(--text-light, #888);margin-bottom:12px}.encyclopedia-category-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.encyclopedia-category-tag{padding:6px 12px;background:#f0f4ff;border:1px solid #d6e0ff;border-radius:20px;font-size:13px;color:#667eea;cursor:pointer;transition:all .2s;white-space:nowrap}.encyclopedia-category-tag:hover{background:#667eea;color:#fff;border-color:#667eea}.encyclopedia-category-tag:active{transform:scale(.95)}.info-page h3[id]{scroll-margin-top:60px}@media (max-width: 375px){.encyclopedia-category-tag{font-size:12px;padding:5px 10px}}@media (max-width: 375px){.daily-quiz-container{padding:14px}.daily-quiz-q-text{font-size:14px}.daily-quiz-option{padding:10px 12px;font-size:13px}}.title{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--primary) 55%,#ffffff) 60%,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25)) drop-shadow(0 1px 2px rgba(0,0,0,.15))}.logo{filter:drop-shadow(0 6px 12px rgba(0,0,0,.25)) drop-shadow(0 0 18px color-mix(in srgb,var(--primary) 45%,transparent))}.stat-value{background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--secondary) 40%,#ffffff));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.mode-grid-btn{box-shadow:inset 0 1px #ffffff59,inset 0 -2px 6px #0000001f,0 2px 8px #0000001f}.mode-grid-btn:hover{box-shadow:inset 0 1px #fff6,0 4px 14px color-mix(in srgb,var(--primary) 30%,transparent)}.level-select{position:relative}.level-select:before{content:"";position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 50%,transparent),transparent);pointer-events:none}.info-page a{color:color-mix(in srgb,var(--primary) 70%,#ffffff);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--primary) 50%,transparent);transition:color .2s,border-color .2s;padding-bottom:1px}.info-page a:hover{color:#fff;border-bottom-color:#fff;border-bottom-style:solid}.info-page li::marker{color:color-mix(in srgb,var(--primary) 70%,#ffffff)}.win-emoji{animation:win-emoji-celebrate 1.2s cubic-bezier(.34,1.56,.64,1)}@keyframes win-emoji-celebrate{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.25) rotate(10deg);opacity:1}80%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.theme-btn.theme-active{box-shadow:0 0 0 2px var(--primary),0 4px 15px #00000026,0 0 18px color-mix(in srgb,var(--primary) 35%,transparent)}@media (min-width: 401px) and (max-width: 768px){.home-header{padding:28px 16px 14px}.logo{font-size:52px}.title{font-size:28px}}.feature-section{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 16px;margin:10px 0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.feature-section h4{margin-bottom:8px;font-size:15px;font-weight:700}@media (prefers-reduced-motion: reduce){.win-emoji{animation:none!important}}.app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.08) 0%,transparent 35%),radial-gradient(circle at 85% 75%,rgba(255,255,255,.06) 0%,transparent 40%);animation:ambient-float 18s ease-in-out infinite alternate}@keyframes ambient-float{0%{transform:translate(0) scale(1)}50%{transform:translate(2%,-1%) scale(1.04)}to{transform:translate(-1%,2%) scale(1)}}.home-header .title{background:linear-gradient(135deg,#fff,#f0f4ff,#ffe4f1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}@supports not (-webkit-background-clip: text){.home-header .title{-webkit-text-fill-color:initial;color:var(--text-light)}}.home-header .subtitle,.home-header .tagline{animation:header-fade-up .6s ease .15s both}@keyframes header-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:.95;transform:translateY(0)}}.tube-inner>.color-layer:last-child:after{animation:liquid-ripple 3.5s ease-in-out infinite}@keyframes liquid-ripple{0%,to{transform:scaleX(1);opacity:.9}50%{transform:scaleX(1.08);opacity:1}}.tube-container:hover .tube{box-shadow:inset 2px 0 4px #ffffff4d,inset -2px 0 4px var(--tube-shadow-inner),inset 0 -3px 6px var(--tube-bottom-reflection),0 0 12px #ffffff1f}.mode-grid-btn{transition:transform .18s cubic-bezier(.34,1.3,.64,1),box-shadow .25s ease,filter .2s ease}.mode-grid-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #0000002e;filter:brightness(1.05)}.home-stats .stat-value{transition:transform .3s cubic-bezier(.34,1.4,.64,1)}.home-stats .stat-item:hover .stat-value{transform:scale(1.08)}.home-stats .stat-value-streak-hot{animation:streak-hot-pulse 2.2s ease-in-out infinite}@keyframes streak-hot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.quick-nav-card .quick-nav-icon{transition:transform .3s cubic-bezier(.34,1.5,.64,1)}.page-loading-container{min-height:60vh;display:flex;align-items:center;justify-content:center}.page-loading-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.page-loading-emoji{font-size:56px;animation:page-loading-breathe 1.8s ease-in-out infinite}@keyframes page-loading-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:1}}.page-loading-text{color:var(--text-light);font-size:14px;letter-spacing:1px;opacity:.85;animation:page-loading-dots 1.5s ease-in-out infinite}@keyframes page-loading-dots{0%,to{opacity:.5}50%{opacity:1}}.app>main,main.info-page,main.achievements-page,main.stats-page,main.settings-page,main.editor-page,main.privacy-page{animation:page-enter .4s ease both}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.info-page p,.info-page li{line-height:1.65}.info-page h2,.info-page h3,.info-page h4{margin-top:1.2em;letter-spacing:.3px}.info-page ul{padding-left:1.4em}.info-page li{margin-bottom:.35em}.tube-index{transition:color .2s ease,transform .2s ease}.tube-container:hover .tube-index{color:#666;transform:scale(1.05)}.tube-container.selected .tube-index{color:var(--primary);font-weight:700}.btn:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 25%,transparent)}@media (max-width: 480px){.tubes-grid{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.game-main{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}@media (hover: none) and (pointer: coarse){.mode-grid-btn:active{transform:scale(.96);filter:brightness(.92);transition:transform .08s ease,filter .08s ease}.quick-nav-card:active{transform:scale(.97);background:#fffffffa}.level-btn:active{transform:scale(.94);transition:transform .08s ease}}@media (orientation: landscape) and (max-height: 500px){.tube{width:32px;height:90px}.tubes-grid{min-height:180px;padding:8px 4px}.game-board{padding:8px}}canvas[aria-hidden=true]{z-index:150!important}@media (prefers-color-scheme: dark){.home-header .title{background:linear-gradient(135deg,#fff,#d6e4ff,#ffd6e7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.feature-section{background:#ffffff0a;border-color:#ffffff14}.info-page h2,.info-page h3,.info-page h4{color:var(--text-light)}}@media (prefers-reduced-motion: reduce){.app:after,.tube-inner>.color-layer:last-child:after,.home-stats .stat-value-streak-hot,.page-loading-emoji,.page-loading-text{animation:none!important}.app>main,main.info-page,main.achievements-page,main.stats-page,main.settings-page,main.editor-page,main.privacy-page{animation:none!important}}.saved-recipes-entry{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#4ecdc414,#95e1a314);border:1px solid rgba(78,205,196,.2);border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:12px}.saved-recipes-entry:hover{background:linear-gradient(135deg,#4ecdc424,#95e1a324);border-color:#4ecdc466;transform:translateY(-1px)}.saved-recipes-entry:active{transform:translateY(0)}.saved-recipes-icon{font-size:26px;flex-shrink:0}.saved-recipes-info{display:flex;flex-direction:column;gap:2px;flex:1}.saved-recipes-title{font-size:15px;font-weight:700;color:var(--text, #333)}.saved-recipes-count{font-size:12px;color:var(--text-light, #666)}.saved-recipes-arrow{font-size:18px;color:var(--text-light, #999);flex-shrink:0}.saved-recipes-list{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin:12px 0}.saved-recipe-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#667eea0d;border-radius:8px;border:1px solid rgba(102,126,234,.1)}.saved-recipe-colors{display:flex;align-items:center;gap:4px;flex:1}.saved-recipe-color-name{font-size:13px;font-weight:600;color:var(--text, #333)}.saved-recipe-plus,.saved-recipe-equal{font-size:12px;color:var(--text-light, #999)}.saved-recipe-swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.saved-recipe-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.saved-recipe-result{font-size:13px;font-weight:600;color:var(--text, #333)}.saved-recipe-rgb{font-size:11px;color:var(--text-light, #999);font-family:monospace}.saved-recipe-date{font-size:11px;color:var(--text-light, #999);flex-shrink:0}.dark-theme .saved-recipes-entry{background:linear-gradient(135deg,#4ecdc41f,#95e1a31f);border-color:#4ecdc440}.dark-theme .saved-recipe-item{background:#667eea1a;border-color:#667eea26}.color-skill-compare{margin:16px 0;padding:16px;background:linear-gradient(135deg,#667eea0f,#764ba20f);border:1px solid rgba(102,126,234,.15);border-radius:12px}.color-skill-compare h4{margin:0 0 12px;font-size:16px;color:var(--text, #333)}.skill-compare-empty{text-align:center;color:var(--text-light, #999);font-size:13px;padding:12px 0;margin:0}.scroll-top-fab{position:fixed;bottom:80px;right:24px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 4px 16px #667eea66;z-index:50;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;animation:fade-in .3s ease}.scroll-top-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #667eea80}.scroll-top-fab:active{transform:scale(.95)}@media (max-width: 768px){.scroll-top-fab{bottom:64px;right:16px;width:42px;height:42px;font-size:18px}}.dark-theme .scroll-top-fab{background:linear-gradient(135deg,#4a5bc7,#5a3d82);box-shadow:0 4px 16px #4a5bc766}.skill-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.skill-compare-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:#ffffff80;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.skill-icon{font-size:22px}.skill-name{font-size:12px;color:var(--text-light, #666)}.skill-score{font-size:18px;font-weight:700;color:var(--text, #333)}.skill-bar{height:6px;background:#0000000f;border-radius:3px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.dark-theme .color-skill-compare{background:linear-gradient(135deg,#667eea1f,#764ba21f);border-color:#667eea33}.dark-theme .skill-compare-item{background:#ffffff0d;border-color:#ffffff14}.dark-theme .skill-bar{background:#ffffff14}@media (max-width: 480px){.skill-compare-grid{grid-template-columns:1fr}}.win-overlay,.deadlock-overlay,.tutorial-overlay,.help-modal-overlay,.share-image-overlay,.replay-overlay{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0000008c}.win-card{background:linear-gradient(160deg,#fff,#f8fbff);box-shadow:0 12px 48px #00000059,0 0 0 1px #ffffff80 inset;animation:win-card-pop .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.win-card:before{content:"";position:absolute;top:-60%;left:50%;transform:translate(-50%);width:120%;height:60%;background:radial-gradient(ellipse at center,rgba(255,230,109,.18) 0%,transparent 70%);pointer-events:none}@keyframes win-card-pop{0%{transform:scale(.6) translateY(20px);opacity:0}60%{transform:scale(1.04) translateY(-4px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.win-emoji{animation:win-emoji-celebrate .8s cubic-bezier(.34,1.56,.64,1)}@keyframes win-emoji-celebrate{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.3) rotate(10deg);opacity:1}80%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0)}}.star.star-pop{filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.star.star-filled.star-pop{animation:star-burst .6s cubic-bezier(.34,1.8,.64,1) both}@keyframes star-burst{0%{transform:scale(0) rotate(-90deg);opacity:0}50%{transform:scale(1.4) rotate(15deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.star.star-filled.star-pop:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,0,.4) 0%,transparent 70%);animation:star-glow-burst .8s ease-out both;pointer-events:none}@keyframes star-glow-burst{0%{transform:scale(0);opacity:1}to{transform:scale(3);opacity:0}}.win-card.three-stars-celebration{position:relative;overflow:hidden}.win-card.three-stars-celebration:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,215,0,.08) 30deg,transparent 60deg,rgba(255,215,0,.08) 90deg,transparent 120deg,rgba(255,215,0,.08) 150deg,transparent 180deg,rgba(255,215,0,.08) 210deg,transparent 240deg,rgba(255,215,0,.08) 270deg,transparent 300deg,rgba(255,215,0,.08) 330deg,transparent 360deg);animation:celebration-rotate 3s linear infinite;pointer-events:none}@keyframes celebration-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.deadlock-card{background:linear-gradient(160deg,#fffde7,#fff8e1);border-top:4px solid #ffc107;animation:deadlock-card-shake .5s ease}@keyframes deadlock-card-shake{0%{transform:scale(.7) translate(0);opacity:0}20%{transform:scale(1.02) translate(-6px);opacity:1}40%{transform:scale(1.02) translate(6px)}60%{transform:scale(1.02) translate(-4px)}80%{transform:scale(1.02) translate(4px)}to{transform:scale(1) translate(0)}}.deadlock-emoji{animation:deadlock-wobble 1.2s ease-in-out infinite}@keyframes deadlock-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.level-badge{box-shadow:inset 0 1px #ffffff4d,0 2px 6px #667eea40}.difficulty-badge{box-shadow:inset 0 1px #fff6,0 1px 3px #00000014}.moves-badge{box-shadow:inset 0 1px #fff6,0 1px 3px #2e7d321f}.moves-badge.moves-pulse-active{animation:moves-pulse-enhanced .3s ease-out}@keyframes moves-pulse-enhanced{0%{transform:scale(1)}40%{transform:scale(1.25);box-shadow:0 0 12px #4ecdc480}to{transform:scale(1)}}.efficiency-badge.eff-perfect{box-shadow:0 0 8px #4ecdc466}.efficiency-badge.eff-good{box-shadow:0 0 6px #667eea4d}.efficiency-badge.eff-warn{box-shadow:0 0 6px #ff98004d}.timer-badge.timer-danger{box-shadow:0 0 10px #c6282866,inset 0 1px #ffffff4d}.level-btn.diff-easy:hover{box-shadow:0 4px 14px #4ecdc466}.level-btn.diff-normal:hover{box-shadow:0 4px 14px #667eea66}.level-btn.diff-medium:hover{box-shadow:0 4px 14px #ffa07a66}.level-btn.diff-hard:hover{box-shadow:0 4px 14px #ff6b6b66}.level-btn.diff-expert:hover{box-shadow:0 4px 14px #c589e866}.level-btn.diff-master:hover{box-shadow:0 4px 14px #3336}.level-btn.completed{position:relative;overflow:hidden}.level-btn.completed:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s ease;pointer-events:none}.level-btn.completed:hover:after{left:150%}.progress-bar-fill{background:linear-gradient(135deg,var(--primary),var(--secondary));position:relative;overflow:hidden;transition:width .6s cubic-bezier(.34,1.2,.64,1)}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:progress-shimmer 2.5s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.diff-progress-fill{transition:width .6s cubic-bezier(.34,1.2,.64,1);position:relative;overflow:hidden}.diff-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 3s ease-in-out infinite}.achievement-notification{animation:achievement-slide-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes achievement-slide-in{0%{transform:translate(120%) scale(.8);opacity:0}60%{transform:translate(-8%) scale(1.03);opacity:1}to{transform:translate(0) scale(1);opacity:1}}.achievement-notif-icon{animation:achievement-icon-spin .8s cubic-bezier(.34,1.56,.64,1)}@keyframes achievement-icon-spin{0%{transform:rotate(-360deg) scale(0)}to{transform:rotate(0) scale(1)}}.tutorial-card,.help-modal-card{box-shadow:0 16px 48px #00000059,0 0 0 1px #ffffff4d inset}.game-controls .btn{transition:transform .18s cubic-bezier(.34,1.3,.64,1),box-shadow .2s ease,filter .2s ease}.game-controls .btn:hover:not(:disabled){transform:translateY(-3px) scale(1.04)}.game-controls .btn:active:not(:disabled){transform:translateY(0) scale(.96);transition:transform .06s ease}.hint-count{box-shadow:0 1px 4px #ff980066;transition:transform .2s ease}.btn-hint:hover:not(:disabled) .hint-count{transform:scale(1.15)}.footer-link{position:relative;transition:color .2s ease,opacity .2s ease}.footer-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--text-light);border-radius:1px;transition:width .25s ease,left .25s ease}.footer-link:hover{opacity:1}.footer-link:hover:after{width:100%;left:0}.faq-item{transition:background .2s ease,padding-left .2s ease;border-radius:8px;padding:8px 10px;margin-bottom:4px}.faq-item:hover{background:#ffffff14;padding-left:14px}.faq-question{transition:color .2s ease}.faq-item:hover .faq-question{color:var(--text-light)}.checkin-card-compact.checkin-done{opacity:.85}.checkin-btn{position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.34,1.3,.64,1),box-shadow .2s ease;box-shadow:0 2px 8px #ff98004d}.checkin-btn:hover{transform:scale(1.05);box-shadow:0 4px 14px #ff980073}.checkin-btn:active{transform:scale(.96);transition:transform .06s ease}.checkin-checked{animation:checkin-pop .4s cubic-bezier(.34,1.8,.64,1)}@keyframes checkin-pop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}.diff-filter-btn{position:relative;transition:all .2s ease}.diff-filter-btn.active{font-weight:700;box-shadow:0 2px 8px #667eea4d}.diff-filter-btn.active:after{content:"";position:absolute;bottom:-3px;left:20%;width:60%;height:2px;background:var(--primary);border-radius:1px}.diff-filter-btn.diff-easy.active{box-shadow:0 2px 8px #4ecdc466}.diff-filter-btn.diff-hard.active{box-shadow:0 2px 8px #ff6b6b66}.diff-filter-btn.diff-expert.active{box-shadow:0 2px 8px #c589e866}.diff-filter-btn.diff-master.active{box-shadow:0 2px 8px #3336}.tube-mouth{box-shadow:inset 0 2px 3px #ffffff4d,inset 0 -1px 2px #00000014}.tube-mouth:before{content:"";position:absolute;top:1px;left:4px;width:30%;height:1.5px;background:#ffffff80;border-radius:1px;pointer-events:none}@media (prefers-color-scheme: dark){.win-card{background:linear-gradient(160deg,#2a2a3e,#252538);box-shadow:0 12px 48px #0009,0 0 0 1px #ffffff14 inset}.win-card:before{background:radial-gradient(ellipse at center,rgba(255,230,109,.1) 0%,transparent 70%)}.deadlock-card{background:linear-gradient(160deg,#3a3520,#332f1a);border-top-color:#ffc107}.faq-item:hover{background:#ffffff0f}}.dark-theme .win-card{background:linear-gradient(160deg,#2a2a3e,#252538);box-shadow:0 12px 48px #0009,0 0 0 1px #ffffff14 inset}.dark-theme .deadlock-card{background:linear-gradient(160deg,#3a3520,#332f1a)}.dark-theme .pause-card{background:linear-gradient(160deg,#2a2a3e,#252538);box-shadow:0 12px 48px #0009,0 0 0 1px #ffffff14 inset}.dark-theme .faq-item:hover{background:#ffffff0f}@media (prefers-reduced-motion: reduce){.win-card,.win-emoji,.star.star-filled.star-pop,.deadlock-card,.deadlock-emoji,.achievement-notification,.achievement-notif-icon,.checkin-checked,.progress-bar-fill:after,.diff-progress-fill:after,.level-btn.completed:after{animation:none!important}}@media (hover: none) and (pointer: coarse){.game-controls .btn:active:not(:disabled){transform:scale(.94);filter:brightness(.9);transition:transform .08s ease,filter .08s ease}.checkin-btn:active{transform:scale(.94);transition:transform .08s ease}.diff-filter-btn:active{transform:scale(.96);transition:transform .08s ease}.footer-link:active{opacity:.7;transition:opacity .08s ease}}.dark-theme .crt-wrongbook-item{border-bottom-color:#ffffff14}.dark-theme .crt-wrongbook-label{color:var(--text, #e0e0e0)}.dark-theme .crt-wrongbook-swatch{border-color:#ffffff26}.dark-theme .crt-wrongbook-round{color:#ffffff80}.dark-theme .cpm-lowscore-item{border-bottom-color:#ffffff14}.dark-theme .cpm-lowscore-stats{color:var(--text, #e0e0e0)}.dark-theme .cpm-lowscore-bar{background:#ffffff1a}.tube-container.pouring:before{content:"";position:absolute;top:-6px;left:50%;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#ffffffd9,#fff0 70%);transform:translate(-50%) scale(0);pointer-events:none;z-index:3;animation:pour-splash .3s ease-out}@keyframes pour-splash{0%{transform:translate(-50%) scale(0);opacity:0}40%{transform:translate(-50%) scale(1.6);opacity:1}to{transform:translate(-50%) scale(2.4);opacity:0}}.tube-inner>.color-layer:last-child:before{content:"";position:absolute;top:1px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);border-radius:50%;pointer-events:none;z-index:1}.game-board{box-shadow:var(--shadow-lg),inset 0 -2px 8px #0000000a}.game-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:radial-gradient(circle at 25% 25%,rgba(102,126,234,.025) 0%,transparent 30%),radial-gradient(circle at 75% 75%,rgba(118,75,162,.025) 0%,transparent 30%);pointer-events:none;z-index:0}.game-board>*{position:relative;z-index:1}.level-badge{font-weight:700;letter-spacing:.3px;box-shadow:inset 0 1px #ffffff59,0 2px 8px color-mix(in srgb,var(--primary) 35%,transparent)}.difficulty-badge{opacity:.92}.moves-badge{font-variant-numeric:tabular-nums;letter-spacing:.2px}.timer-badge.timer-danger{border:1.5px solid rgba(198,40,40,.4);animation:timer-danger-enhanced .6s ease-in-out infinite}@keyframes timer-danger-enhanced{0%,to{transform:scale(1);box-shadow:0 0 8px #c6282866,inset 0 1px #ffffff4d}50%{transform:scale(1.06);box-shadow:0 0 16px #c62828a6,inset 0 1px #ffffff4d}}.tube-index{margin-top:6px;min-width:20px;padding:2px 6px;border-radius:10px;background:#0000000f;color:#666;font-size:11px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;transition:background .2s ease,color .2s ease,transform .2s ease}.tube-container:hover .tube-index{background:#667eea1f;color:var(--primary)}.tube-container.selected .tube-index{background:var(--primary);color:#fff;transform:scale(1.08)}@media (prefers-color-scheme: dark){.tube-index{background:#ffffff14;color:#ccc}}.dark-theme .tube-index{background:#ffffff14;color:#ccc}.replay-tube.replay-from .tube{box-shadow:inset 2px 0 4px #ffffff40,inset -2px 0 4px var(--tube-shadow-inner),0 0 0 2px #ff6b6b99,0 0 12px #ff6b6b59}.replay-tube.replay-to .tube{box-shadow:inset 2px 0 4px #ffffff40,inset -2px 0 4px var(--tube-shadow-inner),0 0 0 2px #4ecdc499,0 0 12px #4ecdc459;animation:replay-to-pulse .6s ease-out}@keyframes replay-to-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.win-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.08)}.win-actions .btn{flex:1 1 auto;min-width:110px;max-width:200px}.achievement-card,.stats-card,.custom-level-card,.quick-nav-card{transition:transform .2s cubic-bezier(.34,1.3,.64,1),box-shadow .25s ease,border-color .2s ease}.achievement-card:hover:not(.locked),.stats-card:hover,.custom-level-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001a}.achievement-card.locked{cursor:default;opacity:.78}.achievement-card.locked:hover{transform:none}.help-visual-demo{background:linear-gradient(135deg,#ffffff80,#f5f7ff80);border-radius:10px;padding:8px 10px;border:1px solid rgba(102,126,234,.15);margin-bottom:6px;transition:border-color .2s ease,background .2s ease}.help-visual-step:hover .help-visual-demo{border-color:#667eea66;background:linear-gradient(135deg,#ffffffb3,#f0f4ffb3)}.help-visual-step p{transition:color .2s ease}.help-visual-step:hover p{color:var(--primary)}@media (max-width: 380px){.game-header{padding:8px 10px;gap:6px}.btn-back,.btn-hint{padding:6px 10px;font-size:12px;border-radius:6px}.game-title{font-size:14px;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-info-bar{padding:6px 8px;font-size:11px;gap:5px;flex-wrap:wrap}.level-info-divider{display:none}}.footer-link:focus-visible{outline:2px solid var(--text-light);outline-offset:3px;border-radius:3px}.level-btn.completed{background:linear-gradient(135deg,#95e1a3,#4ecdc4);text-shadow:0 1px 1px rgba(0,0,0,.15)}.level-btn.completed:hover{background:linear-gradient(135deg,#7dd89a,#3fbdb4)}.keyboard-hint{color:var(--text);opacity:.7;letter-spacing:.2px;line-height:1.6;padding:10px 14px;background:#0000000a;border-radius:8px;border-left:3px solid var(--primary);text-align:center}@media (prefers-color-scheme: dark){.keyboard-hint{background:#ffffff0d;color:#ddd}}.dark-theme .keyboard-hint{background:#ffffff0d;color:#ddd}@media (hover: none) and (pointer: coarse){.tube-container:active:not(.selected){transform:scale(.96);transition:transform .08s ease}.tube-container.selected:active{transform:translateY(-4px) scale(.98);transition:transform .08s ease}}.theme-btn{transition:transform .18s cubic-bezier(.34,1.3,.64,1),box-shadow .2s ease}.theme-btn:hover{transform:translateY(-2px) scale(1.04)}.theme-btn:active{transform:scale(.96);transition:transform .08s ease}.tube-container.selected:after{background:radial-gradient(ellipse,rgba(0,0,0,.35) 0%,transparent 70%);width:40px;height:7px;bottom:16px;animation:selected-shadow-pulse 1.5s ease-in-out infinite}@keyframes selected-shadow-pulse{0%,to{transform:translate(-50%) scale(1);opacity:.85}50%{transform:translate(-50%) scale(.85);opacity:1}}.efficiency-badge{transition:transform .18s ease,box-shadow .2s ease;cursor:default}.efficiency-badge:hover{transform:translateY(-1px) scale(1.05)}@media (prefers-reduced-motion: reduce){.tube-container.pouring:before,.timer-badge.timer-danger,.replay-tube.replay-to .tube,.tube-container.selected:after,.theme-btn,.achievement-card,.stats-card,.custom-level-card,.quick-nav-card{animation:none!important;transition:none!important}}@media (prefers-color-scheme: dark){.game-board{box-shadow:var(--shadow-lg),inset 0 -2px 8px #0003}.keyboard-hint{border-left-color:var(--primary)}.help-visual-demo{background:linear-gradient(135deg,#ffffff0a,#ffffff05);border-color:#ffffff1a}.help-visual-step:hover .help-visual-demo{background:linear-gradient(135deg,#ffffff14,#ffffff0a);border-color:#667eea80}.win-actions{border-top-color:#ffffff1a}}.dark-theme .game-board{box-shadow:var(--shadow-lg),inset 0 -2px 8px #0003}.dark-theme .help-visual-demo{background:linear-gradient(135deg,#ffffff0a,#ffffff05);border-color:#ffffff1a}.dark-theme .win-actions{border-top-color:#ffffff1a}.today-achievement-card{background:linear-gradient(135deg,#667eea14,#764ba214);border:1px solid rgba(102,126,234,.2);border-radius:16px;padding:16px;margin:12px 0;cursor:pointer;transition:transform .2s,box-shadow .2s}.today-achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.today-achievement-card:active{transform:translateY(0)}.today-ach-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.today-ach-icon{font-size:28px}.today-ach-info{display:flex;flex-direction:column;gap:2px}.today-ach-label{font-size:15px;font-weight:700;color:#333}.today-ach-progress{font-size:13px;color:#888}.today-ach-bar{width:100%;height:8px;background:#667eea1f;border-radius:4px;overflow:hidden;margin-bottom:10px}.today-ach-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .5s ease}.today-ach-detail{display:flex;flex-direction:column;gap:4px}.today-ach-recent{font-size:13px;color:#555}.today-ach-next{font-size:12px;color:#999}@media (max-width: 480px){.today-achievement-card{padding:12px;margin:10px 0}.today-ach-icon{font-size:24px}.today-ach-label{font-size:14px}}.dark-theme .today-achievement-card{background:linear-gradient(135deg,#667eea1f,#764ba21f);border-color:#667eea4d}.dark-theme .today-ach-label{color:#e0e0e0}.dark-theme .today-ach-progress{color:#aaa}.dark-theme .today-ach-bar{background:#ffffff14}.dark-theme .today-ach-recent{color:#ccc}.dark-theme .today-ach-next{color:#888}.dark-theme .replay-last-card{background:linear-gradient(135deg,#667eea26,#764ba226);box-shadow:0 2px 8px #0000004d}.dark-theme .replay-last-label{color:#8e9aef}.dark-theme .replay-last-detail{color:#ccc}.dark-theme .daily-goals-card{background:linear-gradient(135deg,#ffb8001a,#ff78321a);box-shadow:0 2px 8px #0000004d}.dark-theme .today-summary-card{background:linear-gradient(135deg,#667eea1f,#764ba21f);box-shadow:0 2px 8px #0000004d}.dark-theme .today-summary-value{color:#8e9aef}.dark-theme .today-summary-label{color:#777}.dark-theme .daily-goals-title{color:#ffb74d}.dark-theme .daily-goal-item{background:#ffffff0d}.dark-theme .goal-completed{background:#4caf5026}.dark-theme .goal-desc{color:#ddd}.dark-theme .goal-progress-text{color:#999}.dark-theme .goal-pending-icon{color:#555}mark.search-highlight{background:#ffeb3b66;color:inherit;padding:1px 3px;border-radius:3px;font-weight:600}.dark-theme mark.search-highlight{background:#ffeb3b40;color:#fff}.mode-grid-btn.btn-primary:hover{box-shadow:0 6px 24px #667eea80,0 0 0 2px #667eea4d}.mode-grid-btn.btn-daily:hover{box-shadow:0 6px 24px #ff6b6b80,0 0 0 2px #ffa07a66}.mode-grid-btn.btn-endless:hover{box-shadow:0 6px 24px #6b73ff8c,0 0 0 2px #000dff40}.mode-grid-btn.btn-timed:hover{box-shadow:0 6px 24px #4facfe8c,0 0 0 2px #00f2fe59}.mode-grid-btn:hover .mode-grid-icon{transform:translateY(-2px) scale(1.1);transition:transform .3s cubic-bezier(.34,1.5,.64,1)}.mode-grid-icon{transition:transform .25s ease}.fab-nav{padding:6px;border-radius:28px;background:#ffffff14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #00000026}.fab-nav-btn{position:relative;overflow:hidden;background-image:linear-gradient(135deg,#ffffff26,#667eeae6)}.fab-nav-btn:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:#ffffff80;border-radius:1px;pointer-events:none}.fab-nav-btn:hover{transform:scale(1.12) rotate(-3deg);box-shadow:0 6px 20px #667eea8c}.fab-nav-btn:active{transform:scale(.94) rotate(0);transition:transform .08s ease}.win-overlay:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.7) 0%,transparent 60%);pointer-events:none;animation:win-flash .6s ease-out forwards;z-index:-1}@keyframes win-flash{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.win-card .win-emoji{animation:win-emoji-pop .6s cubic-bezier(.34,1.5,.64,1)}@keyframes win-emoji-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.win-card h2{animation:win-text-in .5s ease .15s both}.win-card>p,.win-card .new-record-badge,.win-card .prev-best-badge{animation:win-text-in .5s ease .25s both}.win-card .star-rating{animation:win-text-in .5s ease .35s both}.win-card .win-efficiency-bar{animation:win-text-in .5s ease .45s both}.win-card .win-actions{animation:win-text-in .5s ease .55s both}@keyframes win-text-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tube-inner>.color-layer:last-child:after{animation:liquid-surface-wave 3.5s ease-in-out infinite}@keyframes liquid-surface-wave{0%,to{transform:scaleX(1);opacity:.7}50%{transform:scaleX(1.04);opacity:.9}}.tube:after{box-shadow:0 0 0 0 transparent,0 -2px 4px #ffffff26 inset}.tube-inner{box-shadow:inset 0 -4px 8px -2px #ffffff2e}.info-page>h2:first-of-type{position:relative;padding-top:12px}.info-page>h2:first-of-type:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);border-radius:2px;pointer-events:none}.info-page h3{position:relative;transition:border-color .25s ease,padding-left .25s ease}.info-page h3:hover{border-left-color:#fffc;padding-left:12px}.chart-bar-fill{animation:chart-bar-grow .8s cubic-bezier(.34,1.2,.64,1) both;transform-origin:left center}@keyframes chart-bar-grow{0%{transform:scaleX(0);opacity:.3}to{transform:scaleX(1);opacity:1}}.progress-bar-fill,.achievement-overall-fill,.ach-cat-progress-fill,.today-ach-bar-fill,.diff-progress-fill,.progress-overall-bar{animation:chart-bar-grow 1s cubic-bezier(.34,1.2,.64,1) both}.stats-heatmap-cell{animation:heatmap-fade-in .4s ease both}@keyframes heatmap-fade-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.timeline-connector{background:linear-gradient(180deg,var(--primary) 0%,var(--primary) 100%);background-size:100% 100%;animation:timeline-draw .6s ease both}@keyframes timeline-draw{0%{transform:scaleY(0);transform-origin:top center;opacity:0}to{transform:scaleY(1);transform-origin:top center;opacity:1}}.timeline-item-dot{animation:timeline-dot-pop .4s cubic-bezier(.34,1.5,.64,1) both}@keyframes timeline-dot-pop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.toggle-switch{transition:background .25s cubic-bezier(.34,1.2,.64,1)}.toggle-knob{transition:transform .3s cubic-bezier(.34,1.5,.64,1),box-shadow .2s ease}.toggle-switch.on .toggle-knob{animation:toggle-on-bounce .4s cubic-bezier(.34,1.5,.64,1)}@keyframes toggle-on-bounce{0%{transform:translate(0)}60%{transform:translate(20px)}80%{transform:translate(18px)}to{transform:translate(20px)}}.collapse-toggle{transition:transform .3s cubic-bezier(.34,1.3,.64,1);display:inline-block}.collapse-toggle.collapsed{transform:rotate(-90deg)}.collapse-header:hover .collapse-toggle{transform:scale(1.15)}.collapse-header:hover .collapse-toggle.collapsed{transform:rotate(-90deg) scale(1.15)}.level-btn{transition:transform .18s ease,box-shadow .2s ease,filter .2s ease;position:relative}.level-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.level-btn.current:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 6px #ffffffe6;animation:current-pulse 1.4s ease-in-out infinite}@keyframes current-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.level-btn.completed:hover{box-shadow:0 4px 12px #95e1a366}@media (max-width: 360px){.tube{width:36px;height:116px;border-radius:0 0 16px 16px}.tube-inner{border-radius:0 0 13px 13px}.tube-mouth{left:-5px;right:-5px;height:5px}.tubes-grid[data-tube-count="9"] .tube,.tubes-grid[data-tube-count="10"] .tube,.tubes-grid[data-tube-count="11"] .tube,.tubes-grid[data-tube-count="12"] .tube{width:32px;height:104px}}@media (prefers-reduced-motion: reduce){.win-overlay:before,.win-card .win-emoji,.win-card h2,.win-card>p,.win-card .new-record-badge,.win-card .prev-best-badge,.win-card .star-rating,.win-card .win-efficiency-bar,.win-card .win-actions,.tube-inner>.color-layer:last-child:after,.chart-bar-fill,.progress-bar-fill,.achievement-overall-fill,.ach-cat-progress-fill,.today-ach-bar-fill,.diff-progress-fill,.progress-overall-bar,.stats-heatmap-cell,.timeline-connector,.timeline-item-dot,.toggle-switch.on .toggle-knob,.collapse-toggle,.level-btn.current:after,.mode-grid-btn:hover .mode-grid-icon,.fab-nav-btn{animation:none!important;transition:none!important}}@media (prefers-color-scheme: dark){.fab-nav{background:#00000040;border-color:#ffffff14}.info-page>h2:first-of-type:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}}.dark-theme .fab-nav{background:#00000040;border-color:#ffffff14}.dark-theme .info-page>h2:first-of-type:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.dark-theme .timeline-connector{background:linear-gradient(180deg,var(--primary) 0%,var(--primary) 100%)}.dark-theme .beginner-hint-text{color:#8b9aff;background:#8b9aff26}@media (prefers-color-scheme: dark){.beginner-hint-text{color:#8b9aff;background:#8b9aff26}}.dark-theme .encouragement-text{color:#81c784;background:#81c78426}@media (prefers-color-scheme: dark){.encouragement-text{color:#81c784;background:#81c78426}}.logo:before{content:"";position:absolute;top:50%;left:50%;width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from 0deg,#ff6b6b,#ffe66d,#95e1a3,#4ecdc4,#ff6b6b 360deg);filter:blur(14px);opacity:.45;z-index:-1;animation:logo-ring-spin 12s linear infinite}@keyframes logo-ring-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.home-header .title{background:linear-gradient(135deg,#fff,#ffe66d,#ff9a9e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.subtitle{position:relative;display:inline-block;padding-bottom:6px}.subtitle:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);border-radius:1px}.mode-grid-btn.btn-primary{position:relative;background:linear-gradient(135deg,#667eea,#764ba2,#ff6b9d);background-size:200% 200%;animation:primary-btn-shimmer 4s ease-in-out infinite;box-shadow:0 4px 16px #667eea73,inset 0 1px #ffffff4d}@keyframes primary-btn-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.mode-grid-btn.btn-primary:hover{box-shadow:0 8px 24px #667eea99,0 0 0 3px #fff3,inset 0 1px #fff6}.mode-grid-btn.btn-primary .mode-grid-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}.mode-grid-btn,.btn,.btn-back,.btn-hint,.level-btn,.footer-link,.quick-nav-card{position:relative;overflow:hidden}.mode-grid-btn:after,.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff59;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:width .4s ease-out,height .4s ease-out,opacity .6s ease-out}.mode-grid-btn:active:after,.btn:active:after{width:220%;height:220%;opacity:.6;transition:width 0s,height 0s,opacity 0s}.mode-entry .btn:after{display:none}.mode-entry .btn:hover:after{display:none}.tube-container.pouring .color-layer{animation:liquid-pour-in .4s cubic-bezier(.22,.61,.36,1)}@keyframes liquid-pour-in{0%{opacity:0;transform:translateY(-14px) scaleY(.4);transform-origin:top center}50%{opacity:.9;transform:translateY(2px) scaleY(1.05)}to{opacity:1;transform:translateY(0) scaleY(1)}}.tube-inner>.color-layer:last-child:before{animation:liquid-shine 2.8s ease-in-out infinite}@keyframes liquid-shine{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.level-btn.completed{background:linear-gradient(135deg,#ffd89b,#95e1a3 60%,#4ecdc4);box-shadow:inset 0 1px #ffffff80,0 2px 8px #ffc36e59,0 0 0 1px #ffd89b80;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.level-btn.completed:hover{box-shadow:inset 0 1px #fff9,0 6px 16px #ffc36e80,0 0 0 2px #ffd89b99}.level-btn.current{position:relative;box-shadow:0 0 0 3px #667eea66,0 0 12px #ffe66d80,0 0 20px #ff6b6b59,0 4px 12px #667eea59,inset 0 1px #ffffff4d;animation:current-glow-pulse 2.4s ease-in-out infinite}@keyframes current-glow-pulse{0%,to{box-shadow:0 0 0 3px #667eea66,0 0 12px #ffe66d80,0 0 20px #ff6b6b59,0 4px 12px #667eea59,inset 0 1px #ffffff4d}50%{box-shadow:0 0 0 4px #667eea8c,0 0 18px #ffe66db3,0 0 28px #ff6b6b80,0 6px 16px #667eea73,inset 0 1px #fff6}}.info-page h2{position:relative;padding-left:28px}.info-page h2:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;border-radius:2px;background:linear-gradient(180deg,#ffe66d,#ff9a9e,#667eea);box-shadow:0 0 8px #ffe66d66}.info-page ul{list-style:none;padding-left:4px}.info-page li{position:relative;padding-left:18px}.info-page li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#ffe66d,#ff9a9e);box-shadow:0 0 4px #ff9a9e66}.info-page p{letter-spacing:.2px;word-break:break-word}.achievement-card.unlocked{position:relative;border:1px solid rgba(255,216,155,.5);background:linear-gradient(135deg,#fffffffa,#fff8ebf2);box-shadow:0 2px 8px #ffc36e33,inset 0 1px #fff9}.achievement-card.unlocked:hover{box-shadow:0 6px 20px #ffc36e66,0 0 0 2px #ffd89b80,inset 0 1px #ffffffb3}.achievement-card.unlocked .achievement-icon{filter:drop-shadow(0 2px 6px rgba(255,195,110,.6))}.achievement-card.locked{filter:saturate(.4) brightness(.85);transition:filter .3s ease}.achievement-card.locked:hover{filter:saturate(.6) brightness(.95)}.info-page,.achievement-list,.stats-container,.settings-container{animation:page-enter-fade .45s cubic-bezier(.22,.61,.36,1)}@keyframes page-enter-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0000000d;border-radius:5px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea80,#764ba280);border-radius:5px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#667eeabf,#764ba2bf);background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:rgba(102,126,234,.5) rgba(0,0,0,.05)}.stat-value,.stats-number,.stats-value,.achievement-overall-pct,.achievement-overall-text,.moves-badge,.timer-badge,.optimal-badge,.level-badge,.home-stats,.daily-leaderboard-row,.today-ach-progress,.daily-goals-progress{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" on}@media (hover: none) and (pointer: coarse){.footer-link{padding:8px 10px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.quick-nav-card{min-height:88px;padding:12px 8px}.quick-nav-card:active{transform:scale(.97);filter:brightness(.95);transition:transform .08s ease,filter .08s ease}.level-btn:active:not(:disabled){transform:scale(.94);transition:transform .08s ease}}@media (hover: none) and (pointer: coarse){.mode-grid-btn:active{transform:scale(.96);transition:transform .08s ease}.mode-grid-btn.btn-primary:active{transform:scale(.96);filter:brightness(.95)}}.level-search-box{display:flex;gap:6px;align-items:center}.level-search-input{padding:6px 10px;border:1px solid rgba(102,126,234,.25);border-radius:8px;background:#ffffffe6;font-size:13px;width:90px;transition:border-color .2s ease,box-shadow .2s ease}.level-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea26}.level-search-btn{padding:6px 12px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.level-search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #667eea59}.level-search-btn:disabled{opacity:.4;cursor:not-allowed}.quick-nav-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;background:var(--card-bg);border:1px solid rgba(102,126,234,.12);border-radius:var(--radius);cursor:pointer;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.quick-nav-card:hover{transform:translateY(-3px);border-color:#667eea59;box-shadow:0 8px 20px #667eea2e}.quick-nav-icon{font-size:28px;line-height:1;transition:transform .3s cubic-bezier(.34,1.5,.64,1)}.quick-nav-card:hover .quick-nav-icon{transform:scale(1.15) translateY(-2px)}.quick-nav-label{font-size:13px;font-weight:700;color:var(--text)}.quick-nav-desc{font-size:11px;color:#888;text-align:center;line-height:1.3}.diff-filter-btn{padding:5px 11px;border-radius:14px;border:1px solid rgba(0,0,0,.08);background:#fffc;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.diff-filter-btn:hover:not(.active){background:#fff;border-color:#667eea4d;transform:translateY(-1px)}@media (prefers-color-scheme: dark){.logo:before{opacity:.35}.home-header .title{background:linear-gradient(135deg,#fff,#ffe66d,#ff9a9e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.level-btn.completed{background:linear-gradient(135deg,#6b5d3f,#4a6b5a 60%,#2d5a5a);border-color:#ffd89b4d;color:#ffe66d}.info-page h2:before{background:linear-gradient(180deg,#ffe66d,#ff9a9e,#8b9aff);box-shadow:0 0 6px #ffe66d4d}.info-page li:before{background:linear-gradient(135deg,#ffe66d,#ff9a9e);box-shadow:0 0 3px #ff9a9e4d}.achievement-card.unlocked{background:linear-gradient(135deg,#3a3228f2,#2d281ee6);border-color:#ffd89b59;color:#ffe66d}.achievement-card.unlocked .achievement-name{color:#ffe66d}.achievement-card.locked{background:#28283799}::-webkit-scrollbar-track{background:#ffffff0a}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea99,#764ba299)}*{scrollbar-color:rgba(102,126,234,.6) rgba(255,255,255,.04)}.quick-nav-card{background:#282837b3;border-color:#8b9aff33}.quick-nav-card:hover{border-color:#8b9aff66;box-shadow:0 8px 20px #0006}.quick-nav-label{color:#e0e0e0}.quick-nav-desc{color:#999}.diff-filter-btn{background:#ffffff14;border-color:#ffffff1f;color:#ddd}.diff-filter-btn:hover:not(.active){background:#ffffff26;border-color:#8b9aff66}.level-search-input{background:#282837cc;color:#e0e0e0;border-color:#8b9aff40}.level-search-input:focus{border-color:#8b9aff;box-shadow:0 0 0 3px #8b9aff33}}.dark-theme .logo:before{opacity:.35}.dark-theme .level-btn.completed{background:linear-gradient(135deg,#6b5d3f,#4a6b5a 60%,#2d5a5a);border-color:#ffd89b4d;color:#ffe66d}.dark-theme .info-page h2:before{background:linear-gradient(180deg,#ffe66d,#ff9a9e,#8b9aff);box-shadow:0 0 6px #ffe66d4d}.dark-theme .info-page li:before{background:linear-gradient(135deg,#ffe66d,#ff9a9e);box-shadow:0 0 3px #ff9a9e4d}.dark-theme .achievement-card.unlocked{background:linear-gradient(135deg,#3a3228f2,#2d281ee6);border-color:#ffd89b59}.dark-theme .achievement-card.unlocked .achievement-name{color:#ffe66d}.dark-theme .achievement-card.locked{background:#28283799}.dark-theme .quick-nav-card{background:#282837b3;border-color:#8b9aff33}.dark-theme .quick-nav-card:hover{border-color:#8b9aff66;box-shadow:0 8px 20px #0006}.dark-theme .quick-nav-label{color:#e0e0e0}.dark-theme .quick-nav-desc{color:#999}.dark-theme .diff-filter-btn{background:#ffffff14;border-color:#ffffff1f;color:#ddd}.dark-theme .diff-filter-btn:hover:not(.active){background:#ffffff26;border-color:#8b9aff66}.dark-theme .level-search-input{background:#282837cc;color:#e0e0e0;border-color:#8b9aff40}.dark-theme .level-search-input:focus{border-color:#8b9aff;box-shadow:0 0 0 3px #8b9aff33}@media (prefers-reduced-motion: reduce){.logo:before,.mode-grid-btn.btn-primary,.tube-container.pouring .color-layer,.tube-inner>.color-layer:last-child:before,.level-btn.current,.info-page,.achievement-list,.stats-container,.settings-container,.quick-nav-icon,.quick-nav-card:hover .quick-nav-icon{animation:none!important;transition:none!important}.home-header .title{-webkit-text-fill-color:initial;background:none;color:var(--text-light)}.mode-grid-btn:after,.btn:after{transition:none!important}}@media (prefers-contrast: high){.level-btn.current{box-shadow:0 0 0 4px #000,inset 0 0 0 2px #fff}.achievement-card.unlocked{border:2px solid #000}.quick-nav-card{border:2px solid rgba(0,0,0,.5)}}.color-pairing-section{margin:20px 0;padding:0}.pairing-intro{color:#666;font-size:.9rem;margin-bottom:16px;line-height:1.6}.pairing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.pairing-card{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;background:#fff}.pairing-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.pairing-colors{display:flex;height:60px}.pairing-color-block{display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.pairing-color-hex{font-size:.65rem;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5);font-family:monospace}.pairing-info{padding:12px 14px}.pairing-name{font-size:.95rem;font-weight:600;margin:0 0 6px;color:#333}.pairing-desc{font-size:.8rem;color:#666;line-height:1.5;margin:0 0 8px}.pairing-tags{display:flex;flex-wrap:wrap;gap:6px}.pairing-tag{font-size:.7rem;padding:2px 8px;border-radius:10px;background:#f0f0f0;color:#555}.dark-theme .pairing-card{background:#1e1e1e;border-color:#333}.dark-theme .pairing-name{color:#e0e0e0}.dark-theme .pairing-desc{color:#aaa}.dark-theme .pairing-tag{background:#333;color:#ccc}.dark-theme .pairing-intro{color:#aaa}.win-card:before{background:conic-gradient(from 0deg,#667eea26,#2196f340,#667eea26)}.win-card:not(.three-stars-celebration):before{background:conic-gradient(from 0deg,#2196f32e,#667eea47,#2196f32e)}.win-card:has(.star-filled:nth-child(2)):not(:has(.star-filled:nth-child(3))):before{background:conic-gradient(from 0deg,#9c27b033,#ba68c852,#9c27b033)}.win-card.three-stars-celebration:before{background:conic-gradient(from 0deg,#ffd70040,#ff980066,#ffd70040);filter:drop-shadow(0 0 12px rgba(255,195,0,.35))}.btn-undo,.btn-hint,.btn-pause,.btn-reset,.btn-help{transition:transform .18s cubic-bezier(.34,1.4,.64,1),box-shadow .2s ease,filter .2s ease}.btn-undo:hover,.btn-hint:hover,.btn-pause:hover,.btn-reset:hover,.btn-help:hover{transform:translateY(-2px);filter:brightness(1.06)}.btn-undo:active,.btn-hint:active,.btn-pause:active,.btn-reset:active,.btn-help:active{transform:translateY(0) scale(.96);filter:brightness(.95)}.theme-btn.theme-active:after{animation:theme-check-pop .45s cubic-bezier(.34,1.7,.64,1) both}@keyframes theme-check-pop{0%{transform:scale(0) rotate(-90deg);opacity:0}60%{transform:scale(1.25) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.achievement-card.unlocked[data-rarity=legendary],.achievement-card.unlocked.rarity-legendary{position:relative;animation:legendary-glow 3s ease-in-out infinite}@keyframes legendary-glow{0%,to{box-shadow:0 0 0 1px #ff98004d,0 0 12px #ff980026,0 4px 16px #00000014}50%{box-shadow:0 0 0 2px #ff980080,0 0 24px #ff980059,0 6px 20px #ff98002e}}.achievement-card.unlocked[data-rarity=epic],.achievement-card.unlocked.rarity-epic{animation:epic-glow 3.6s ease-in-out infinite}@keyframes epic-glow{0%,to{box-shadow:0 0 0 1px #9c27b033,0 4px 12px #0000000f}50%{box-shadow:0 0 0 1px #9c27b059,0 0 16px #9c27b033}}@media (hover: none) and (pointer: coarse){.mode-grid-btn:active,.btn:active,.level-btn:active,.checkin-btn:active,.diff-filter-btn:active,.fab-nav-btn:active,.quick-nav-card:active,.recommend-card:active,.daily-recommend-card:active,.smart-recommend-card:active,.recent-play-card:active,.replay-last-card:active,.footer-link:active{transform:scale(.95);transition:transform .08s ease}.tube-container:active{transform:scale(.97)}.tube-container.selected:active{transform:translateY(-8px) scale(.97)}}.info-page,.stats-container,.settings-container,.achievements-page,.level-editor-container,.privacy-page{animation:page-enter-slide .4s cubic-bezier(.22,.61,.36,1) both}@keyframes page-enter-slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}body{background-size:200% 200%;background-position:0% 50%;animation:bg-gradient-flow 24s ease-in-out infinite}@keyframes bg-gradient-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (hover: hover) and (pointer: fine){.tube-container:hover .color-layer{animation:liquid-wobble 1.4s ease-in-out infinite}}@keyframes liquid-wobble{0%,to{transform:translate(0)}25%{transform:translate(.6px)}75%{transform:translate(-.6px)}}.progress-bar-fill,.today-ach-bar-fill,.achievement-overall-fill,.ach-cat-progress-fill,.level-overview-fill,.diff-progress-fill{position:relative;overflow:hidden}.progress-bar-fill:after,.today-ach-bar-fill:after,.achievement-overall-fill:after,.ach-cat-progress-fill:after,.level-overview-fill:after,.diff-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:translate(-100%);animation:progress-shine 2.4s ease-in-out infinite;pointer-events:none}@keyframes progress-shine{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.keyboard-hint{animation:keyboard-hint-pulse 3s ease-in-out infinite}@keyframes keyboard-hint-pulse{0%,to{opacity:.55}50%{opacity:.85}}.level-btn.completed:hover .level-diff-dot{animation:level-dot-spin .6s ease}@keyframes level-dot-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.3)}to{transform:rotate(360deg) scale(1)}}.logo{position:relative}.logo:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,109,.25) 0%,rgba(255,107,107,.15) 30%,rgba(102,126,234,.1) 60%,transparent 80%);z-index:-1;animation:logo-aura-breath 4s ease-in-out infinite;pointer-events:none}@keyframes logo-aura-breath{0%,to{transform:scale(.9);opacity:.6}50%{transform:scale(1.1);opacity:.9}}.mode-grid-btn{transition:transform .18s cubic-bezier(.34,1.4,.64,1),box-shadow .2s ease,filter .2s ease;box-shadow:0 4px #0000001f,0 6px 14px #00000026}.mode-grid-btn:hover{transform:translateY(-2px);box-shadow:0 6px #0000001f,0 10px 20px #0000002e;filter:brightness(1.04)}.mode-grid-btn:active{transform:translateY(2px);box-shadow:0 1px #0000001f,0 2px 6px #00000026;filter:brightness(.96);transition:transform .06s ease,box-shadow .06s ease}.recent-play-card,.replay-last-card,.recommend-card,.daily-recommend-card,.smart-recommend-card,.daily-color-knowledge-card,.daily-quiz-entry-card,.today-achievement-card,.saved-recipes-entry,.weekly-challenge-banner:not(.weekly-done),.weekend-bonus-banner:not(.weekend-claimed),.daily-challenge-banner{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.recent-play-card:hover,.replay-last-card:hover,.recommend-card:hover,.daily-recommend-card:hover,.smart-recommend-card:hover,.daily-color-knowledge-card:hover,.daily-quiz-entry-card:hover,.today-achievement-card:hover,.saved-recipes-entry:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea2e,0 2px 6px #0000000f}.moves-badge.moves-pulse-active{animation:moves-pulse-enhanced .4s cubic-bezier(.34,1.6,.64,1)}@keyframes moves-pulse-enhanced{0%{transform:scale(1)}40%{transform:scale(1.18);box-shadow:0 0 12px #4caf5066}to{transform:scale(1)}}.timer-badge.timer-danger{animation:timer-danger-shake .4s ease-in-out infinite,timer-pulse .5s ease-in-out infinite}@keyframes timer-danger-shake{0%,to{transform:translate(0)}25%{transform:translate(-1px)}75%{transform:translate(1px)}}.checkin-card.checkin-done{opacity:.78;filter:saturate(.85)}.checkin-card.checkin-done:hover{opacity:.92;filter:saturate(.95)}.help-visual-step{background:#667eea0a;border:1px solid rgba(102,126,234,.12);border-radius:10px;padding:10px;transition:transform .2s ease,background .2s ease}.help-visual-step:hover{transform:translateY(-2px);background:#667eea14}.help-visual-step p{font-size:12.5px;margin-top:6px;text-align:center}.dark-theme .help-visual-step{background:#8b9aff0f;border-color:#8b9aff2e}.dark-theme .help-visual-step:hover{background:#8b9aff1f}.dark-theme body,body.dark-theme{animation-duration:36s}.dark-theme .logo:after{opacity:.5;animation:logo-aura-breath-dark 5s ease-in-out infinite}@keyframes logo-aura-breath-dark{0%,to{transform:scale(.85);opacity:.35}50%{transform:scale(1.05);opacity:.55}}@media (prefers-reduced-motion: reduce){body{animation:none!important;background-size:100% 100%!important}.logo:after,.mode-grid-btn,.mode-grid-btn:hover,.mode-grid-btn:active,.btn-undo,.btn-hint,.btn-pause,.btn-reset,.btn-help,.btn-undo:hover,.btn-hint:hover,.btn-pause:hover,.btn-reset:hover,.btn-help:hover,.btn-undo:active,.btn-hint:active,.btn-pause:active,.btn-reset:active,.btn-help:active,.theme-btn.theme-active:after,.achievement-card.unlocked[data-rarity=legendary],.achievement-card.unlocked.rarity-legendary,.achievement-card.unlocked[data-rarity=epic],.achievement-card.unlocked.rarity-epic,.info-page,.stats-container,.settings-container,.achievements-page,.level-editor-container,.privacy-page,.tube-container:hover .color-layer,.progress-bar-fill:after,.today-ach-bar-fill:after,.achievement-overall-fill:after,.ach-cat-progress-fill:after,.level-overview-fill:after,.diff-progress-fill:after,.keyboard-hint,.level-btn.completed:hover .level-diff-dot,.moves-badge.moves-pulse-active,.timer-badge.timer-danger,.help-visual-step,.help-visual-step:hover,.recent-play-card:hover,.replay-last-card:hover,.recommend-card:hover,.daily-recommend-card:hover,.smart-recommend-card:hover,.daily-color-knowledge-card:hover,.daily-quiz-entry-card:hover,.today-achievement-card:hover,.saved-recipes-entry:hover{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.help-visual-step{border:2px solid rgba(0,0,0,.55);background:#fff}.achievement-card.unlocked[data-rarity=legendary],.achievement-card.unlocked.rarity-legendary{border:2px solid #b8860b;box-shadow:0 0 0 1px #000}.achievement-card.unlocked[data-rarity=epic],.achievement-card.unlocked.rarity-epic{border:2px solid #4a148c}.mode-grid-btn{border:2px solid #000}.moves-badge.moves-pulse-active{outline:2px solid #000}}@media (max-width: 380px){.mode-grid-label{font-size:14px}.mode-grid-sub{font-size:10.5px}.level-badge,.difficulty-badge,.moves-badge,.optimal-badge,.timer-badge{font-size:12px;padding:3px 9px}.tube{width:38px;height:120px}.tube-container{transform-origin:center bottom}.win-actions .btn{padding:8px 12px;font-size:13px}.progress-percent,.diff-progress-count{white-space:nowrap;font-size:11.5px}}@media (min-width: 768px){.game-main{max-width:640px;margin:0 auto;width:100%}.game-board{max-width:640px;margin:0 auto}.tube{width:48px;height:150px}.tubes-grid{gap:16px;padding:24px 12px}}@media (hover: hover) and (pointer: fine){.tube-container:focus-visible .tube{animation:tube-focus-breathe 1.8s ease-in-out infinite}}@keyframes tube-focus-breathe{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 50%,transparent),0 0 14px color-mix(in srgb,var(--primary) 28%,transparent),inset 2px 0 4px #ffffff40,inset -2px 0 4px var(--tube-shadow-inner),inset 0 -3px 6px var(--tube-bottom-reflection)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 70%,transparent),0 0 26px color-mix(in srgb,var(--primary) 50%,transparent),inset 2px 0 4px #ffffff4d,inset -2px 0 4px var(--tube-shadow-inner),inset 0 -3px 6px var(--tube-bottom-reflection)}}.tube-inner:empty:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:0 0 14px 14px;background:radial-gradient(ellipse at center,rgba(255,255,255,.06) 0%,transparent 60%),repeating-linear-gradient(135deg,transparent 0,transparent 6px,rgba(255,255,255,.03) 6px,rgba(255,255,255,.03) 7px);pointer-events:none;opacity:.7}.dark-theme .tube-inner:empty:after{background:radial-gradient(ellipse at center,rgba(255,255,255,.05) 0%,transparent 60%),repeating-linear-gradient(135deg,transparent 0,transparent 6px,rgba(255,255,255,.045) 6px,rgba(255,255,255,.045) 7px);opacity:.55}.achievement-card.unlocked[data-rarity=legendary]:before,.achievement-card.unlocked.rarity-legendary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 12% 22%,rgba(255,215,0,.55) .6px,transparent 1.4px),radial-gradient(circle at 78% 18%,rgba(255,200,80,.45) .5px,transparent 1.1px),radial-gradient(circle at 30% 78%,rgba(255,180,60,.5) .5px,transparent 1.1px),radial-gradient(circle at 88% 65%,rgba(255,235,130,.45) .4px,transparent .9px),radial-gradient(circle at 55% 35%,rgba(255,215,0,.35) .4px,transparent .9px),radial-gradient(circle at 65% 88%,rgba(255,200,80,.4) .4px,transparent .9px);pointer-events:none;border-radius:inherit;z-index:0;animation:legendary-particles-drift 6s ease-in-out infinite}@keyframes legendary-particles-drift{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-2px);opacity:1}}.achievement-card.unlocked[data-rarity=legendary]>*,.achievement-card.unlocked.rarity-legendary>*{position:relative;z-index:1}.achievement-overall-fill[style*="width: 100%"],.ach-cat-progress-fill[style*="width: 100%"],.level-overview-fill[style*="width: 100%"],.progress-bar-fill[style*="width: 100%"],.today-ach-bar-fill[style*="width: 100%"],.diff-progress-fill[style*="width: 100%"]{background:linear-gradient(90deg,gold,#ffb347,gold);box-shadow:0 0 12px #ffc8008c}:root{--btn-shadow-color: 102, 126, 234;--btn-shadow-color-2: 118, 75, 162}.mode-grid-btn{box-shadow:0 4px rgba(var(--btn-shadow-color),.35),0 6px 16px rgba(var(--btn-shadow-color-2),.3),inset 0 1px #ffffff4d}.mode-grid-btn:hover{box-shadow:0 6px rgba(var(--btn-shadow-color),.4),0 10px 22px rgba(var(--btn-shadow-color-2),.35),inset 0 1px #fff6}.mode-grid-btn:active{box-shadow:0 1px rgba(var(--btn-shadow-color),.3),0 2px 8px rgba(var(--btn-shadow-color-2),.25),inset 0 1px #ffffff4d}.checkin-card{position:relative}.checkin-card.checkin-done:after{content:"✓";position:absolute;top:10px;right:12px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4ecdc4,#667eea);color:#fff;border-radius:50%;font-size:13px;font-weight:800;box-shadow:0 2px 8px #4ecdc466;pointer-events:none;animation:checkin-pop-10th .4s cubic-bezier(.34,1.6,.64,1)}@keyframes checkin-pop-10th{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.help-visual-steps{counter-reset:help-step}.help-visual-step{counter-increment:help-step;position:relative;margin-top:14px}.help-visual-step:first-child{margin-top:6px}.help-visual-step:before{content:counter(help-step);position:absolute;top:-8px;right:10px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:50%;font-size:11px;font-weight:800;box-shadow:0 2px 6px #667eea66;z-index:2}.deadlock-warning-tip{animation:deadlock-warning-pulse .6s ease,deadlock-shake-10th .5s ease-in-out .6s}@keyframes deadlock-shake-10th{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-1px)}80%{transform:translate(1px)}}.level-btn.completed:before{content:"";position:absolute;top:4px;right:6px;width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 6px #fff,7px 2px 0 -1px #ffffffb3,-3px 6px 0 -1px #ffffff80;animation:completed-star-twinkle 2.4s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes completed-star-twinkle{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.timer-badge.timer-danger{position:relative}.timer-badge.timer-danger:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:18px;background:conic-gradient(from 0deg,rgba(255,82,82,.55) 0deg,transparent 60deg,transparent 360deg);animation:timer-ring-rotate 1s linear infinite;z-index:-1;pointer-events:none}@keyframes timer-ring-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.efficiency-badge{transition:transform .2s ease,box-shadow .2s ease;cursor:default;display:inline-block}.efficiency-badge:hover{transform:translateY(-1px) scale(1.06)}.efficiency-badge.eff-perfect:hover{box-shadow:0 0 12px #ffd7008c}.efficiency-badge.eff-good:hover{box-shadow:0 0 10px #66bb6a73}.efficiency-badge.eff-warn:hover{box-shadow:0 0 10px #ff980073}.efficiency-badge.eff-bad:hover{box-shadow:0 0 10px #ff525273}.win-card{position:relative;overflow:hidden}.win-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 15% 20%,rgba(255,215,0,.5) 1px,transparent 2px),radial-gradient(circle at 85% 15%,rgba(255,192,203,.45) 1px,transparent 2px),radial-gradient(circle at 70% 80%,rgba(78,205,196,.45) 1px,transparent 2px),radial-gradient(circle at 25% 75%,rgba(149,225,211,.45) 1px,transparent 2px),radial-gradient(circle at 50% 50%,rgba(255,230,109,.4) 1px,transparent 2px);pointer-events:none;animation:win-particles-fall 3s ease-out .4s;opacity:0}@keyframes win-particles-fall{0%{opacity:0;transform:translateY(-10px)}30%{opacity:1}to{opacity:0;transform:translateY(8px)}}.tube-container.selected .tube{animation:selected-glow 1.5s ease-in-out infinite,selected-float-10th 2s ease-in-out infinite}@keyframes selected-float-10th{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.dark-theme .tube{backdrop-filter:blur(6px) brightness(1.05);-webkit-backdrop-filter:blur(6px) brightness(1.05);background:#ffffff14;border-color:#ffffff40}.dark-theme .tube-mouth{background:#ffffff14;border-color:#ffffff40}@media (max-width: 360px){.game-title{font-size:16px}.game-info{gap:6px}.level-badge,.difficulty-badge,.moves-badge,.optimal-badge,.timer-badge{font-size:11px;padding:3px 7px}.efficiency-badge{font-size:10px;padding:2px 6px}.game-controls .btn{padding:6px 10px;font-size:12px}.keyboard-hint .hint-mobile{font-size:11px}.win-card{padding:16px 14px}.win-card h2{font-size:22px}}@media (min-width: 769px) and (max-width: 1024px){.home-main,.game-main,.game-board{max-width:580px}.tube{width:46px;height:145px}.tubes-grid{gap:14px;padding:18px 10px}}@media (prefers-reduced-motion: reduce){.tube-container:focus-visible .tube,.tube-inner:empty:after,.achievement-card.unlocked[data-rarity=legendary]:before,.achievement-card.unlocked.rarity-legendary:before,.deadlock-warning-tip,.level-btn.completed:before,.timer-badge.timer-danger:before,.timer-badge.timer-danger,.win-card:after,.tube-container.selected .tube,.checkin-card.checkin-done:after,.efficiency-badge,.efficiency-badge:hover{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.tube-container:focus-visible .tube{outline:3px solid #000;outline-offset:3px}.timer-badge.timer-danger:before{background:conic-gradient(from 0deg,#000 0deg,transparent 60deg,transparent 360deg)}.checkin-card.checkin-done:after{border:2px solid #000;background:#000;color:#fff}.help-visual-step:before{border:2px solid #000}.level-btn.completed:before{background:#000}.efficiency-badge{border:1.5px solid #000}}.achievement-card.unlocked[data-rarity=epic]:before,.achievement-card.unlocked.rarity-epic:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle 2px at 18% 28%,rgba(186,104,200,.7) 100%,transparent),radial-gradient(circle 1.5px at 78% 22%,rgba(156,39,176,.6) 100%,transparent),radial-gradient(circle 2.5px at 62% 78%,rgba(186,104,200,.5) 100%,transparent),radial-gradient(circle 1.5px at 32% 72%,rgba(206,147,216,.6) 100%,transparent),radial-gradient(circle 2px at 88% 58%,rgba(156,39,176,.45) 100%,transparent);background-repeat:no-repeat;animation:epic-particles-drift 7s ease-in-out infinite;border-radius:inherit;z-index:0}.achievement-card.unlocked.rarity-epic>*{position:relative;z-index:1}@keyframes epic-particles-drift{0%,to{transform:translateY(0);opacity:.65}50%{transform:translateY(-2px);opacity:1}}.ach-rarity-btn{position:relative;transition:all .2s ease,box-shadow .25s ease}.ach-rarity-btn:hover{transform:translateY(-1px)}.ach-rarity-btn[data-rarity=common]:hover,.ach-rarity-btn:hover{box-shadow:0 0 0 1px #ffffff59,0 2px 8px #ffffff26}.ach-rarity-btn[data-rarity=rare]:hover{box-shadow:0 0 0 1px #2196f380,0 2px 10px #2196f34d}.ach-rarity-btn[data-rarity=epic]:hover{box-shadow:0 0 0 1px #9c27b08c,0 2px 10px #9c27b059}.ach-rarity-btn[data-rarity=legendary]:hover{box-shadow:0 0 0 1px #ffd70099,0 2px 12px #ffd70066}.calendar-day-today{animation:calendar-today-breathe 2s ease-in-out infinite}@keyframes calendar-today-breathe{0%,to{outline:2px solid #ff9800;outline-offset:-2px;box-shadow:0 0 #ff980000}50%{outline:2px solid #ffb74d;outline-offset:-2px;box-shadow:0 0 0 4px #ff98002e}}.calendar-day-today.calendar-day-checked{animation:calendar-today-checked-breathe 2.4s ease-in-out infinite}@keyframes calendar-today-checked-breathe{0%,to{box-shadow:0 0 #ffd70000}50%{box-shadow:0 0 0 3px #ffd70073}}.color-swatch.color-selected{animation:color-swatch-pulse 1.8s ease-in-out infinite}@keyframes color-swatch-pulse{0%,to{box-shadow:0 0 0 3px var(--primary),inset 0 2px 3px #fff6}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--primary) 50%,transparent),0 0 12px color-mix(in srgb,var(--primary) 45%,transparent),inset 0 2px 3px #fff6}}.editor-tube{transition:transform .2s ease;border-radius:8px}@media (hover: hover) and (pointer: fine){.editor-tube:hover{transform:translateY(-2px)}.editor-tube:hover .tube{box-shadow:inset 2px 0 4px #ffffff40,inset -2px 0 4px var(--tube-shadow-inner),inset 0 -3px 6px var(--tube-bottom-reflection),0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent)}}.achievement-card.unlocked{position:relative;overflow:hidden}.achievement-card.unlocked:after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:skew(-18deg);pointer-events:none;transition:left .7s ease;z-index:2}@media (hover: hover) and (pointer: fine){.achievement-card.unlocked:hover:after{left:130%}}.game-board{animation:game-board-ambient 4.5s ease-in-out infinite}@keyframes game-board-ambient{0%,to{box-shadow:var(--shadow-lg)}50%{box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent)}}.tube-settled .tube-inner>.color-layer:last-child:before{content:"";position:absolute;top:0;left:50%;width:4px;height:4px;border-radius:50%;background:#fff9;transform:translate(-50%,-50%) scale(0);animation:liquid-ripple .6s ease-out;pointer-events:none;z-index:2}@keyframes liquid-ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:.8}to{transform:translate(-50%,-50%) scale(8);opacity:0}}.info-page h3{transition:border-left-width .25s ease,border-left-color .25s ease,padding-left .25s ease}@media (hover: hover) and (pointer: fine){.info-page h3:hover{border-left-width:5px;border-left-color:#ffffffb3;padding-left:12px}}.stat-card{position:relative}.stat-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 color-mix(in srgb,var(--primary) 0%,transparent);transition:box-shadow .3s ease}@media (hover: hover) and (pointer: fine){.stat-card:hover:after{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent),0 0 16px color-mix(in srgb,var(--primary) 18%,transparent)}}.setting-item+.setting-item,.setting-item+.setting-item-static,.setting-item-static+.setting-item,.setting-item-static+.setting-item-static{box-shadow:inset 0 1px #0000000a}.dark-theme .setting-item+.setting-item,.dark-theme .setting-item-static+.setting-item,.dark-theme .setting-item+.setting-item-static,.dark-theme .setting-item-static+.setting-item-static{box-shadow:inset 0 1px #ffffff0f}.page-loading-emoji{animation:loading-emoji-spin 1.6s ease-in-out infinite;display:inline-block}@keyframes loading-emoji-spin{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(180deg)}}.achievement-card.locked{position:relative}.achievement-card.locked:after{content:"🔒";position:absolute;top:8px;right:10px;font-size:13px;opacity:.55;pointer-events:none;filter:grayscale(.3)}@media (max-width: 900px) and (orientation: landscape){.game-board{padding:10px 14px}.game-info{margin-bottom:8px;gap:6px}.tubes-grid{padding:8px 4px;gap:10px}.tube{height:110px}.game-controls{margin-top:8px;gap:6px}.keyboard-hint{margin-top:4px}.home-header{padding:16px 16px 8px}}.beginner-hint-arrow{animation:beginner-arrow-bounce-11 1.2s ease-in-out infinite;display:inline-block}@keyframes beginner-arrow-bounce-11{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-6px) scale(1.08)}60%{transform:translateY(-3px) scale(1.04)}}.toggle-switch.on .toggle-knob{animation:toggle-on-pulse 2.4s ease-in-out infinite}@keyframes toggle-on-pulse{0%,to{box-shadow:0 2px 8px #00000040,0 0 0 2px #ffffff4d}50%{box-shadow:0 2px 8px #00000040,0 0 0 4px color-mix(in srgb,var(--primary) 25%,transparent)}}.dark-theme .info-page,.dark-theme .info-page p,.dark-theme .info-page li{color:#ffffffe0}.dark-theme .info-page h3{border-left-color:#ffffff8c}@media (prefers-reduced-motion: reduce){.achievement-card.unlocked.rarity-epic:before,.calendar-day-today,.calendar-day-today.calendar-day-checked,.color-swatch.color-selected,.game-board,.page-loading-emoji,.beginner-hint-arrow,.toggle-switch.on .toggle-knob,.tube-settled .tube-inner>.color-layer:last-child:before{animation:none!important}.achievement-card.unlocked:after,.info-page h3:hover,.stat-card:hover:after,.editor-tube:hover{transition:none!important}}@media (prefers-contrast: high){.achievement-card.unlocked.rarity-epic:before{display:none}.achievement-card.locked:after{filter:none;opacity:1;color:#000}.calendar-day-today{outline:3px solid #000!important;animation:none!important}.ach-rarity-btn[data-rarity=rare]:hover,.ach-rarity-btn[data-rarity=epic]:hover,.ach-rarity-btn[data-rarity=legendary]:hover{box-shadow:0 0 0 2px #000}.color-swatch.color-selected{box-shadow:0 0 0 3px #000!important;animation:none!important}}
