:root{--color-primary: #C53030;--color-primary-dark: #9B2C2C;--color-primary-light: #FC8181;--color-accent: #D69E2E;--color-accent-light: #ECC94B;--color-accent-dark: #B7791F;--color-jade: #38A169;--color-jade-light: #68D391;--color-bg: #FDF6EC;--color-bg-dark: #F7ECDC;--color-bg-card: #FFFEFA;--color-bg-festive: linear-gradient(180deg, #FDF6EC 0%, #FFECD2 50%, #FCE1C8 100%);--color-bg-tabbar: #FCE1C8;--color-text: #2D2A26;--color-text-light: #5C534A;--color-text-muted: #8B7E74;--color-border: #E8D5C4;--shadow-soft: 0 4px 20px rgba(197, 48, 48, .08);--shadow-medium: 0 8px 30px rgba(197, 48, 48, .12);--shadow-card: 0 2px 12px rgba(214, 158, 46, .1);--shadow-festive: 0 4px 20px rgba(214, 158, 46, .15);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-festive: "HuiWenMingChao", "PingFang SC", "Microsoft YaHei", sans-serif}@font-face{font-family:HuiWenMingChao;src:url(/fonts/%E6%B1%87%E6%96%87%E6%98%8E%E6%9C%9D%E4%BD%93.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,sans-serif;background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#app{width:100%;height:100%;position:relative;overflow:hidden}#scene-container{width:100%;height:100%;position:relative}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-festive);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-logo{width:80px;height:80px;margin-bottom:24px;animation:logoFloat 2s ease-in-out infinite}.loading-logo img{width:100%;height:100%;object-fit:contain}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.loading-title{font-family:var(--font-festive);font-size:28px;color:var(--color-primary);letter-spacing:6px;margin-bottom:8px}.loading-subtitle{font-size:14px;color:var(--color-accent);letter-spacing:2px;margin-bottom:40px}.loading-progress-container{width:200px;height:6px;background:#c5303026;border-radius:3px;overflow:hidden;position:relative}.loading-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent) 100%);border-radius:3px;width:0%;transition:width .3s ease}.loading-progress-glow{position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6));animation:progressGlow 1.5s ease-in-out infinite}@keyframes progressGlow{0%,to{opacity:0}50%{opacity:1}}.loading-text{margin-top:16px;font-size:13px;color:var(--color-text-muted);letter-spacing:1px}.loading-spinner{width:48px;height:48px;border:3px solid var(--color-primary-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scene{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal)}.scene.active{opacity:1;visibility:visible}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;font-size:16px;font-weight:500;letter-spacing:1px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 15px #c530304d;border:1px solid rgba(255,255,255,.1)}.btn-primary:active{transform:scale(.96);box-shadow:0 2px 8px #c5303040}.btn-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%);color:#fff;box-shadow:0 4px 15px #d69e2e4d}.btn-accent:active{transform:scale(.96);box-shadow:0 2px 8px #d69e2e40}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:active{background:var(--color-bg-dark);transform:scale(.96)}.btn-ghost{background:transparent;color:var(--color-primary-dark);padding:10px 20px}.btn-ghost:active{background:#c4956a1a}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.title-lg{font-size:28px;font-weight:600;color:var(--color-text);letter-spacing:2px}.title-md{font-size:20px;font-weight:500;color:var(--color-text);letter-spacing:1px}.title-sm{font-size:16px;font-weight:500;color:var(--color-text-light)}.desc{font-size:14px;color:var(--color-text-muted);line-height:1.6}.divider{width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);margin:16px auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-scale-in{animation:scaleIn .4s ease forwards}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.gap-1{gap:8px}.gap-2{gap:16px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.home-scene{background:url(/resource/game-bg.png) center top / cover no-repeat;background-color:#3a0a0a;padding:0 24px;justify-content:flex-start;align-items:center;overflow-y:auto;position:relative}.home-top-bar{position:fixed;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:10}.home-top-btn{width:44px;height:44px;border-radius:50%;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--transition-fast)}.home-top-btn img{width:100%;height:100%;object-fit:contain}.home-top-btn:active{transform:scale(.9);opacity:.8}.home-content{display:flex;flex-direction:column;align-items:center;max-width:340px;width:100%;padding-top:28vh}.home-title{font-family:var(--font-festive);font-size:36px;font-weight:700;color:#ffe8b0;letter-spacing:6px;margin-bottom:16px;text-shadow:0 2px 12px rgba(0,0,0,.5),0 0 40px rgba(214,158,46,.3);text-align:center}.home-play-card{position:relative;width:100%;max-width:340px;cursor:pointer;transition:transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.home-play-card:active{transform:scale(.97)}.play-card-bg{width:100%;height:auto;display:block;border-radius:16px}.play-card-banner-text{position:absolute;top:3.2%;left:50%;transform:translate(-50%);color:#ffd8a0;font-size:13px;font-weight:600;letter-spacing:3px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.4)}.play-card-button-text{position:absolute;top:25%;left:50%;transform:translate(-50%);color:#7a3b10;font-size:22px;font-weight:700;letter-spacing:6px;white-space:nowrap;text-shadow:0 1px 2px rgba(255,255,255,.3)}.play-card-tagline{position:absolute;top:42%;left:50%;transform:translate(-50%);color:#8b6914;font-size:13px;font-weight:500;letter-spacing:2px;white-space:nowrap;opacity:.85}.home-desc{font-size:14px;color:var(--color-text-muted);margin-bottom:32px}.home-modes{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin-bottom:20px}.home-mode-card{flex:1;min-width:calc(50% - 6px);background:var(--color-bg-card);border-radius:var(--radius-lg);padding:18px 16px;text-align:center;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent;position:relative;overflow:hidden}.home-mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:0;transition:opacity var(--transition-fast)}.home-mode-card:active{transform:scale(.96)}.home-mode-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-festive)}.home-mode-card:hover:before{opacity:1}.home-mode-card.endless{flex-basis:100%}.home-mode-card.locked{opacity:.5;cursor:not-allowed}.home-mode-card.locked:hover{border-color:transparent;transform:none;box-shadow:var(--shadow-card)}.home-mode-card.locked:hover:before{opacity:0}.mode-icon{font-size:32px;margin-bottom:10px}.mode-name{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:6px}.mode-desc{font-size:12px;color:var(--color-text-muted);line-height:1.4}.home-card-entry{width:100%;background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(197,48,48,.03) 100%);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-fast);border:1px solid rgba(197,48,48,.1);margin-bottom:12px}.home-card-entry:active{transform:scale(.98)}.home-card-entry:hover{box-shadow:var(--shadow-festive);border-color:var(--color-primary-light)}.card-entry-left{display:flex;align-items:center;gap:12px}.card-entry-icon{font-size:28px}.card-entry-info{display:flex;flex-direction:column;gap:2px}.card-entry-title{font-size:15px;font-weight:600;color:var(--color-text)}.card-entry-count{font-size:12px;color:var(--color-primary)}.card-entry-arrow{font-size:16px;color:var(--color-text-muted)}.home-stats-card{width:100%;background:transparent;border-radius:var(--radius-md);padding:12px 16px;border:1px dashed var(--color-border)}.stats-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.stats-icon{font-size:14px}.stats-title{font-size:12px;font-weight:500;color:var(--color-text-muted)}.stats-content{display:flex;flex-wrap:wrap;gap:12px}.stats-item{display:flex;align-items:center;gap:4px}.stats-label{font-size:11px;color:var(--color-text-muted)}.stats-value{font-size:11px;font-weight:500;color:var(--color-text-light)}.stats-value.muted{color:var(--color-text-muted);font-weight:400}.home-cta{width:100%;max-width:260px;padding:16px 40px;font-size:18px}.home-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center}.home-footer-text{font-size:11px;color:var(--color-text-muted);letter-spacing:1px}.settings-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.settings-modal.active{opacity:1;visibility:visible}.settings-modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:0;max-width:320px;width:90%;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);overflow:hidden;box-shadow:var(--shadow-medium)}.settings-modal.active .settings-modal-content{transform:scale(1) translateY(0)}.settings-header{background:linear-gradient(135deg,var(--color-bg-dark) 0%,var(--color-bg) 100%);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border)}.settings-title{font-size:18px;font-weight:600;color:var(--color-text);letter-spacing:2px}.settings-close-btn{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:20px;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.settings-close-btn:hover{color:var(--color-primary)}.settings-body{padding:20px 24px}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--color-bg-dark)}.settings-item:last-child{border-bottom:none}.settings-item-left{display:flex;align-items:center;gap:12px}.settings-item-icon{font-size:24px}.settings-item-label{font-size:15px;color:var(--color-text);font-weight:500}.toggle-switch{position:relative;width:56px;height:32px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#d4d4d4;border-radius:16px;transition:all var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;width:26px;height:26px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all var(--transition-fast);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;color:#fff;pointer-events:none}.toggle-label.on{left:8px;opacity:0}.toggle-label.off{right:8px;color:#888}.toggle-switch input:checked+.toggle-slider .toggle-label.on{opacity:1}.toggle-switch input:checked+.toggle-slider .toggle-label.off{opacity:0}.settings-footer{padding:16px 24px 24px;display:flex;flex-direction:column;gap:12px}.settings-footer .btn{width:100%}.level-scene{background:var(--color-bg);padding:60px 24px 40px;overflow-y:auto}.level-header{text-align:center;margin-bottom:32px}.level-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;color:#fff;margin-bottom:12px}.level-header-title{font-size:22px;color:var(--color-text);letter-spacing:3px;margin-bottom:8px}.level-header-desc{font-size:13px;color:var(--color-text-muted);line-height:1.5}.level-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:360px;margin:0 auto}.level-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;text-align:center;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent}.level-card:active{transform:scale(.96)}.level-card.unlocked:hover,.level-card.challenge-ready:hover,.level-card.endless-ready:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-soft)}.level-card.locked{opacity:.5;cursor:not-allowed}.level-card.locked:hover{border-color:transparent;transform:none}.level-card.completed{border-color:var(--color-jade-light);background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(91,138,114,.1) 100%)}.level-card.challenge-ready{border-color:var(--color-primary-light);background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(196,149,106,.1) 100%)}.level-card.endless-ready{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(139,77,107,.1) 100%)}.level-card-number{font-size:32px;font-weight:600;color:var(--color-primary);margin-bottom:6px}.level-card.completed .level-card-number{color:var(--color-jade)}.level-card.locked .level-card-number{color:var(--color-text-muted)}.level-card-title{font-size:14px;color:var(--color-text-light);margin-bottom:4px}.level-card-pieces{font-size:11px;color:var(--color-text-muted)}.level-card-time{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;font-size:12px;color:var(--color-jade)}.level-card-time .time-icon{font-size:11px}.level-card-status{margin-top:10px;font-size:11px;padding:4px 10px;border-radius:10px;display:inline-block}.level-card.completed .level-card-status{background:var(--color-jade-light);color:#fff}.level-card.challenge-ready .level-card-status{background:var(--color-primary);color:#fff}.level-card.endless-ready .level-card-status{background:var(--color-accent);color:#fff}.level-card.locked .level-card-status{background:var(--color-bg-dark);color:var(--color-text-muted);font-size:10px}.level-card.time-locked{opacity:.7;cursor:pointer;position:relative;background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(139,126,116,.1) 100%)}.level-card.time-locked:hover{border-color:#8b7e744d;box-shadow:var(--shadow-soft)}.level-card.time-locked .level-card-number{color:var(--color-text-muted)}.level-card.time-locked .level-card-status{background:linear-gradient(135deg,#8b7e74,#6b5e54);color:#fff;font-size:10px}.level-time-lock-icon{position:absolute;top:8px;right:8px;font-size:16px}.level-back-btn{position:absolute;top:20px;left:20px;width:40px;height:40px;border-radius:50%;background:var(--color-bg-card);border:none;box-shadow:var(--shadow-card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--color-text-light);z-index:10}.game-scene{background:url(/resource/game-bg.png) center top / cover no-repeat;background-color:#3a0a0a;padding:6px 4px;display:flex;flex-direction:column;height:100%}.game-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;padding:0 4px;flex-shrink:0}.game-header-center{display:flex;flex-direction:column;align-items:center;gap:4px}.game-back-btn{width:40px;height:40px;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#ffe8c0;transition:all var(--transition-fast)}.game-back-btn:active{transform:scale(.9)}.game-title{font-size:16px;color:#ffe8c0;letter-spacing:2px;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.4)}.game-hint-btn{width:40px;height:40px;border-radius:50%;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;box-shadow:0 2px 8px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#ffe8c0;transition:all var(--transition-fast)}.game-hint-btn:active{transform:scale(.9)}.game-hint-btn:disabled{opacity:.4;cursor:not-allowed}.game-timer{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:20px;box-shadow:0 2px 8px #00000026;transition:all var(--transition-fast)}.timer-icon{font-size:14px}.timer-text{font-size:16px;font-weight:600;font-family:SF Mono,Monaco,Menlo,monospace;color:#ffe8c0;min-width:50px;text-align:center}.game-timer.warning{background:linear-gradient(135deg,#fff3cd,#ffe69c)}.game-timer.warning .timer-text{color:#856404}.game-timer.danger{background:linear-gradient(135deg,#f8d7da,#f5c2c7);animation:timerPulse .5s ease-in-out infinite}.game-timer.danger .timer-text{color:#842029}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-challenge-target{text-align:center;padding:8px 16px;margin-bottom:8px;background:linear-gradient(135deg,#c4956a1a,#c4956a33);border-radius:8px;font-size:13px;color:var(--color-primary-dark)}.game-modifiers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px 0;margin-bottom:8px}.modifier-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:12px}.modifier-badge.buff{background:linear-gradient(135deg,#5b8a7233,#5b8a724d);color:var(--color-jade)}.modifier-badge.debuff{background:linear-gradient(135deg,#8b4d6b33,#8b4d6b4d);color:var(--color-accent)}.modifier-icon{font-size:14px}.modifier-name{font-weight:500}.game-board-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0;position:relative}.board-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10;transition:opacity .3s ease}.board-loading.fade-out{opacity:0;pointer-events:none}.board-loading-spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:boardSpin .8s linear infinite}@keyframes boardSpin{to{transform:rotate(360deg)}}.board-loading-text{font-size:14px;color:var(--color-text-muted);letter-spacing:1px}.level-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fdf6eceb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:999;opacity:0;transition:opacity .2s ease}.level-loading-overlay.active{opacity:1}.game-footer{padding:4px 0 2px;text-align:center;flex-shrink:0}.game-progress{font-size:14px;color:#ffe8c0cc;text-shadow:0 1px 3px rgba(0,0,0,.3)}.game-moves{font-size:12px;color:#ffe8c0a6;margin-top:4px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.timeout-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.timeout-modal.active{opacity:1;visibility:visible}.timeout-modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:32px 24px;max-width:300px;width:90%;text-align:center;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal)}.timeout-modal.active .timeout-modal-content{transform:scale(1) translateY(0)}.timeout-icon{font-size:48px;margin-bottom:16px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.timeout-title{font-size:24px;font-weight:600;color:var(--color-text);margin-bottom:12px}.timeout-progress{font-size:16px;color:var(--color-primary);margin-bottom:8px}.timeout-encourage{font-size:14px;color:var(--color-text-muted);margin-bottom:24px}.timeout-actions{display:flex;flex-direction:column;gap:12px}.timeout-actions .btn{width:100%;padding:14px}.result-scene{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-dark) 100%);padding:40px 24px;justify-content:center;align-items:center;min-height:100dvh;max-height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.result-content{display:flex;flex-direction:column;align-items:center;max-width:340px;animation:fadeInUp .6s ease}.result-card{width:100%;background:var(--color-bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-medium);margin-bottom:32px}.result-image{width:100%;aspect-ratio:1;object-fit:cover}.result-card-content{padding:24px;text-align:center}.result-blessing{font-size:20px;color:var(--color-text);font-weight:500;letter-spacing:2px;margin-bottom:12px;line-height:1.5}.result-level-tag{font-size:12px;color:var(--color-text-muted);letter-spacing:1px}.result-stats{font-size:12px;color:var(--color-jade);margin-top:8px}.result-brand{font-size:12px;color:var(--color-primary);margin-top:16px;letter-spacing:1px}.result-actions{width:100%;display:flex;flex-direction:column;gap:12px}.result-share-btn{width:100%;padding:16px;font-size:16px}.result-next-btn{width:100%;padding:14px;font-size:15px}.result-home-link{margin-top:16px;font-size:14px;color:var(--color-text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.hint-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.hint-modal.active{opacity:1;visibility:visible}.hint-modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:20px;max-width:320px;width:90%;transform:scale(.9);transition:transform var(--transition-normal)}.hint-modal.active .hint-modal-content{transform:scale(1)}.hint-image{width:100%;border-radius:var(--radius-md);margin-bottom:16px}.hint-close-btn{width:100%;padding:12px}.endless-start-scene{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-dark) 100%);padding:40px 24px;justify-content:center;align-items:center}.endless-start-content{display:flex;flex-direction:column;align-items:center;max-width:340px;width:100%}.endless-start-header{text-align:center;margin-bottom:24px}.endless-icon{font-size:48px;margin-bottom:12px}.endless-title{font-size:28px;font-weight:600;color:var(--color-text);letter-spacing:3px;margin-bottom:8px}.endless-subtitle{font-size:14px;color:var(--color-text-muted)}.endless-rules{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;margin-bottom:24px;width:100%}.endless-rules p{font-size:13px;color:var(--color-text-light);line-height:1.6;margin-bottom:8px}.endless-rules p:last-child{margin-bottom:0}.endless-buff-selection{display:flex;flex-direction:column;gap:12px;width:100%;margin-bottom:24px}.buff-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent}.buff-card:hover{border-color:var(--color-jade-light);box-shadow:var(--shadow-soft)}.buff-card:active{transform:scale(.98)}.buff-card-icon{font-size:28px;margin-bottom:8px}.buff-card-name{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:4px}.buff-card-desc{font-size:13px;color:var(--color-text-muted);line-height:1.4;margin-bottom:8px}.buff-card-rarity{font-size:11px;padding:2px 8px;border-radius:8px;background:var(--color-jade-light);color:#fff;display:inline-block}.endless-start-footer{text-align:center}.endless-back-link{font-size:14px;color:var(--color-text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.endless-start-btn{width:100%;padding:16px;font-size:18px;margin-bottom:20px}.endless-level-selector{width:100%;margin-bottom:24px;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px}.selector-label{font-size:14px;color:var(--color-text-light);margin-bottom:12px;text-align:center}.level-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.level-option{width:44px;height:44px;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative}.level-option:hover{border-color:var(--color-primary-light);background:var(--color-bg-warm)}.level-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.level-option.selected .level-num{color:var(--color-primary);font-weight:600}.level-option.completed{background:var(--color-jade-light);border-color:var(--color-jade)}.level-option.completed .level-num{color:#fff}.level-option.locked{opacity:.5;cursor:not-allowed}.level-option.locked:hover{border-color:var(--color-border);background:var(--color-bg)}.level-num{font-size:14px;color:var(--color-text);font-weight:500}.level-check{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--color-jade);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center}.endless-reward-scene{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-dark) 100%);padding:40px 24px;justify-content:center;align-items:center;overflow-y:auto}.endless-reward-content{display:flex;flex-direction:column;align-items:center;max-width:340px;width:100%}.reward-header{text-align:center;margin-bottom:20px}.reward-level-badge{display:inline-block;padding:4px 12px;background:var(--color-accent);color:#fff;border-radius:12px;font-size:12px;margin-bottom:12px}.reward-title{font-size:24px;font-weight:600;color:var(--color-text);margin-bottom:8px}.reward-stats{font-size:14px;color:var(--color-text-muted)}.current-modifiers{width:100%;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:12px;margin-bottom:20px}.modifiers-label{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}.modifiers-list{display:flex;flex-wrap:wrap;gap:6px}.modifier-tag{font-size:11px;padding:4px 8px;border-radius:8px}.modifier-tag.buff{background:#5b8a7233;color:var(--color-jade)}.modifier-tag.debuff{background:#8b4d6b33;color:var(--color-accent)}.reward-selection{width:100%}.reward-selection-title{font-size:18px;font-weight:600;color:var(--color-text);text-align:center;margin-bottom:8px}.reward-selection-desc{font-size:13px;color:var(--color-text-muted);text-align:center;margin-bottom:16px}.reward-options{display:flex;flex-direction:column;gap:12px}.reward-option{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:14px;cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent}.reward-option:hover{box-shadow:var(--shadow-soft)}.reward-option:active{transform:scale(.98)}.reward-option-safe:hover{border-color:var(--color-jade-light)}.reward-option-balanced:hover{border-color:var(--color-primary)}.reward-option-risky:hover{border-color:var(--color-accent)}.reward-option-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.reward-option-icon{font-size:20px}.reward-option-label{font-size:15px;font-weight:600;color:var(--color-text)}.reward-effects{display:flex;flex-direction:column;gap:4px}.reward-effects.buffs .effect-item{color:var(--color-jade)}.reward-effects.debuffs .effect-item{color:var(--color-accent)}.effect-item{display:flex;align-items:center;gap:6px;font-size:13px}.effect-icon{font-size:14px}.endless-victory{text-align:center;width:100%}.victory-icon{font-size:64px;margin-bottom:16px;animation:bounce .6s ease}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.victory-title{font-size:24px;font-weight:600;color:var(--color-text);margin-bottom:8px}.victory-desc{font-size:14px;color:var(--color-text-muted);margin-bottom:20px}.victory-summary{display:flex;justify-content:center;gap:24px;margin-bottom:24px}.summary-item{text-align:center}.summary-item span{display:block;font-size:12px;color:var(--color-text-muted);margin-bottom:4px}.summary-item strong{font-size:18px;color:var(--color-text)}.victory-actions{display:flex;flex-direction:column;gap:12px}.victory-actions .btn{width:100%;padding:14px}.trigger-history{width:100%;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;margin-bottom:20px}.history-label{font-size:13px;color:var(--color-text-muted);margin-bottom:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.history-item:hover{transform:translate(4px)}.history-item:active{transform:scale(.98)}.history-item.buff{background:#38a1691a}.history-item.debuff{background:#c530301a}.history-icon{font-size:20px}.history-name{font-size:14px;font-weight:600;color:var(--color-text);min-width:70px}.history-item.buff .history-name{color:var(--color-jade)}.history-item.debuff .history-name{color:var(--color-primary)}.history-desc{font-size:12px;color:var(--color-text-muted)}.no-triggers{text-align:center;padding:24px;background:var(--color-bg-card);border-radius:var(--radius-lg);margin-bottom:20px}.no-triggers p{font-size:14px;color:var(--color-text-light);margin-bottom:8px}.no-triggers-hint{font-size:12px!important;color:var(--color-text-muted)!important}.reward-actions{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.reward-actions .btn{width:100%;padding:16px;font-size:16px}.card-gallery-scene{background:var(--color-bg-festive);padding:20px 20px 40px;overflow-y:auto}.gallery-back-btn{position:fixed;top:16px;left:16px;width:40px;height:40px;border-radius:50%;background:var(--color-bg-card);border:none;box-shadow:var(--shadow-card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--color-text-light);z-index:10}.gallery-header{text-align:center;padding:40px 0 20px}.gallery-title{font-family:var(--font-festive);font-size:28px;color:var(--color-primary);letter-spacing:4px;margin-bottom:8px}.gallery-subtitle{font-size:14px;color:var(--color-text-muted)}.gallery-nickname-section{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px;box-shadow:var(--shadow-card)}.nickname-label{font-size:13px;color:var(--color-text-muted);margin-bottom:8px;display:block}.nickname-input-wrapper{display:flex;align-items:center;gap:8px}.nickname-input{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color var(--transition-fast)}.nickname-input:focus{border-color:var(--color-primary)}.nickname-input::placeholder{color:var(--color-text-muted)}.nickname-suffix{font-size:15px;color:var(--color-primary);font-weight:500;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-card{background:var(--color-bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-fast)}.gallery-card.collected:active{transform:scale(.96)}.gallery-card.collected:hover{box-shadow:var(--shadow-festive)}.gallery-card.locked{cursor:default;opacity:.7}.gallery-card-image{position:relative;aspect-ratio:1;overflow:hidden}.gallery-card-image img{width:100%;height:100%;object-fit:cover}.gallery-card-locked{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-dark);gap:8px}.gallery-card-locked .lock-icon{font-size:28px;opacity:.5}.gallery-card-locked .lock-text{font-size:12px;color:var(--color-text-muted)}.gallery-card-info{padding:12px;text-align:center}.gallery-card-title{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:4px}.gallery-card-blessing{font-size:11px;color:var(--color-text-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.gallery-empty .empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.gallery-empty .empty-text{font-size:18px;color:var(--color-text);margin-bottom:8px}.gallery-empty .empty-hint{font-size:14px;color:var(--color-text-muted);margin-bottom:24px}.card-detail-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:url(/resource/game-bg.png) center / cover no-repeat;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal);padding:20px}.card-detail-modal:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#1e05058c;pointer-events:none}.card-detail-modal.active{opacity:1;visibility:visible}.card-detail-content{background:transparent;max-width:360px;width:100%;max-height:90vh;overflow-y:auto;transform:scale(.9) translateY(20px);transition:transform var(--transition-normal);position:relative;z-index:1}.card-detail-modal.active .card-detail-content{transform:scale(1) translateY(0)}.detail-close-btn{position:absolute;top:8px;right:8px;width:36px;height:36px;border:none;background:#fff3;border-radius:50%;cursor:pointer;font-size:18px;color:#fff;z-index:10;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-preview{padding:0}.card-preview{text-align:center;display:flex;justify-content:center;align-items:center;min-height:400px}.card-preview .preview-canvas{width:100%;max-width:340px;height:auto;border-radius:8px;box-shadow:0 4px 20px #0000004d}.preview-qrcode{width:48px;height:48px;border-radius:4px}.preview-brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;color:#ffffffbf}.preview-brand-url{color:#ffffff8c;font-size:11px}.detail-actions{margin-top:10px;padding:0;display:flex;gap:12px}.detail-actions .btn{flex:1;position:relative;background:transparent;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.detail-actions .btn-img-wrap{position:relative;width:100%;display:block}.detail-actions .btn-img-wrap img{width:100%;height:auto;display:block}.detail-actions .btn-img-wrap span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffe8c0;font-size:15px;font-weight:700;letter-spacing:2px;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.3)}.detail-actions .btn:active{transform:scale(.96);opacity:.9}.modifier-notification-container{position:fixed;bottom:100px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:500;pointer-events:none}.modifier-notification{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--color-bg-card);border-radius:24px;box-shadow:0 8px 30px #0003;opacity:0;transform:translateY(20px) scale(.9);transition:all .3s cubic-bezier(.34,1.56,.64,1);min-width:200px}.modifier-notification.show{opacity:1;transform:translateY(0) scale(1)}.modifier-notification.buff{border-left:4px solid var(--color-jade)}.modifier-notification.debuff{border-left:4px solid var(--color-primary)}.notification-icon{font-size:28px;flex-shrink:0}.notification-content{display:flex;flex-direction:column;gap:2px}.notification-name{font-size:15px;font-weight:600;color:var(--color-text)}.notification-desc{font-size:12px;color:var(--color-text-muted)}.modifier-notification.buff .notification-name{color:var(--color-jade)}.modifier-notification.debuff .notification-name{color:var(--color-primary)}.grid-puzzle.fog-effect{filter:blur(3px);transition:filter .5s ease}.grid-puzzle.darkness-effect{filter:brightness(.4);transition:filter .5s ease}.grid-puzzle.time-freeze-effect{position:relative}.grid-puzzle.time-freeze-effect:after{content:"❄️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:64px;animation:freezePulse 1s ease-in-out infinite;pointer-events:none;z-index:100}@keyframes freezePulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}@keyframes shakeBoard{0%,to{transform:translate(0)}25%{transform:translate(-3px) translateY(2px)}50%{transform:translate(3px) translateY(-2px)}75%{transform:translate(-2px) translateY(1px)}}.grid-puzzle.stun-effect{opacity:.6;filter:grayscale(50%);cursor:not-allowed!important}.grid-puzzle.stun-effect:after{content:"💫";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;animation:stunSpin .5s linear infinite;pointer-events:none;z-index:100}@keyframes stunSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.grid-puzzle.pixelate-effect{filter:blur(4px);image-rendering:pixelated}.game-timer.slow-time{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);animation:slowTimePulse 2s ease-in-out infinite}.game-timer.slow-time .timer-text{color:#00838f}@keyframes slowTimePulse{0%,to{box-shadow:0 0 #00bcd400}50%{box-shadow:0 0 10px 3px #00bcd44d}}.game-timer.fast-time{background:linear-gradient(135deg,#ffebee,#ffcdd2);animation:fastTimePulse .3s ease-in-out infinite}.game-timer.fast-time .timer-text{color:#c62828}@keyframes fastTimePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.result-new-record{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,gold,orange);color:#fff;border-radius:16px;font-size:13px;font-weight:600;margin-bottom:12px;animation:recordPulse 1s ease infinite}@keyframes recordPulse{0%,to{box-shadow:0 0 #ffd70066}50%{box-shadow:0 0 0 8px #ffd70000}}.result-time-compare{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-top:8px}.result-time-compare .old-time{color:var(--color-text-muted);text-decoration:line-through}.result-time-compare .new-time{color:var(--color-jade);font-weight:600}.result-time-compare .time-diff{color:var(--color-jade);font-size:12px}.result-download-btn{display:flex;align-items:center;justify-content:center;gap:8px}.result-actions-row{display:flex;gap:12px;width:100%}.result-actions-row .btn{flex:1}.toast-container{position:fixed;top:60px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:9999;pointer-events:none;width:90%;max-width:340px}.toast{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#1e140fd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:28px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(-20px) scale(.9);transition:all .3s cubic-bezier(.34,1.56,.64,1);pointer-events:auto}.toast.show{opacity:1;transform:translateY(0) scale(1)}.toast.hide{opacity:0;transform:translateY(-10px) scale(.95)}.toast-icon{font-size:20px;flex-shrink:0}.toast-content{display:flex;flex-direction:column;gap:2px}.toast-title{font-size:13px;font-weight:600;color:#fffffff2}.toast-message{font-size:13px;color:#ffe8c0e6;line-height:1.4}.toast-info{border-color:#3b82f64d}.toast-success{border-color:#38a1694d}.toast-success .toast-title{color:#68d391}.toast-warning{border-color:#f59e0b4d}.toast-warning .toast-title{color:#f6c042}.toast-error{border-color:#c530304d}.toast-error .toast-title{color:#fc8181}.toast-buff{border-color:#38a1694d}.toast-buff .toast-title{color:#68d391}.toast-debuff{border-color:#c530304d}.toast-debuff .toast-title{color:#fc8181}.image-save-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;-webkit-user-select:none;user-select:none}.image-save-overlay.active{opacity:1}.image-save-content{position:relative;max-width:88vw;max-height:88vh;text-align:center;display:flex;flex-direction:column;align-items:center}.image-save-img{max-width:100%;max-height:72vh;border-radius:8px;box-shadow:0 8px 40px #00000080;-webkit-touch-callout:default!important;-webkit-user-select:auto!important;user-select:auto!important}.image-save-hint{color:#ffffffbf;font-size:14px;margin-top:20px;letter-spacing:1px;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.75}50%{opacity:1}}.image-save-close{position:absolute;top:-44px;right:-4px;width:36px;height:36px;color:#ffffffb3;font-size:22px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-save-close:active{background:#ffffff40}.home-tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background-color:#6b1515;padding-bottom:env(safe-area-inset-bottom)}.tab-bar-bg{width:100%;height:auto;display:block}.tab-bar-zones{position:absolute;top:0;left:0;right:0;bottom:0;display:flex}.home-tab-zone{flex:1;background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:0}.home-tab-zone:active{background:#ffffff14}.home-tab-content{padding-bottom:calc(80px + env(safe-area-inset-bottom));width:100%;display:flex;flex-direction:column;align-items:center}.home-continue-card{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 50%);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 15px #c530304d;margin-bottom:16px}.home-continue-card:active{transform:scale(.98)}.continue-left{display:flex;align-items:center;gap:12px}.continue-icon{font-size:28px}.continue-info{display:flex;flex-direction:column;gap:2px}.continue-title{font-size:15px;font-weight:600;color:#fff}.continue-desc{font-size:12px;color:#fffc}.continue-arrow{font-size:20px;color:#fffc}.records-tab-content{padding:40px 20px 20px;background:#fdf6eceb;border-radius:var(--radius-xl) var(--radius-xl) 0 0;min-height:60vh;margin-top:20vh}.records-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.record-stat-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;text-align:center;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.record-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.record-stat-icon{font-size:32px;margin-bottom:8px}.record-stat-value{font-size:24px;font-weight:700;color:var(--color-text);margin-bottom:4px}.record-stat-label{font-size:12px;color:var(--color-text-muted)}.achievement-section{margin-bottom:24px}.achievement-title{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:12px;display:flex;align-items:center;gap:8px}.achievement-grid{display:flex;flex-wrap:wrap;gap:10px}.achievement-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-bg-card);border-radius:20px;box-shadow:var(--shadow-card);font-size:13px;color:var(--color-text-light)}.achievement-badge.earned{background:linear-gradient(135deg,gold,orange);color:#fff;box-shadow:0 4px 15px #ffd7004d}.achievement-badge.locked{opacity:.5}.achievement-badge-icon{font-size:16px}.level-records-section{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-card)}.level-records-title{font-size:14px;color:var(--color-text-muted);margin-bottom:12px}.level-record-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-bg-dark)}.level-record-item:last-child{border-bottom:none}.level-record-left{display:flex;align-items:center;gap:12px}.level-record-number{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--color-primary)}.level-record-item.completed .level-record-number{background:linear-gradient(135deg,var(--color-jade) 0%,var(--color-jade-dark) 100%)}.level-record-item.locked .level-record-number{background:var(--color-bg-dark);color:var(--color-text-muted)}.level-record-info{display:flex;flex-direction:column;gap:2px}.level-record-name{font-size:14px;font-weight:500;color:var(--color-text)}.level-record-time{font-size:12px;color:var(--color-jade)}.level-record-item.locked .level-record-name{color:var(--color-text-muted)}.level-record-status{font-size:18px}.cards-tab-content{padding:20px}.cards-entry-card{background:linear-gradient(135deg,var(--color-bg-card) 0%,rgba(197,48,48,.05) 100%);border-radius:var(--radius-xl);padding:24px;text-align:center;box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-fast);border:1px solid rgba(197,48,48,.1)}.cards-entry-card:active{transform:scale(.98)}.cards-entry-card:hover{box-shadow:var(--shadow-festive);border-color:var(--color-primary-light)}.cards-entry-icon{font-size:48px;margin-bottom:12px}.cards-entry-title{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:8px}.cards-entry-desc{font-size:14px;color:var(--color-text-muted);margin-bottom:16px}.cards-entry-count{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:#fff;border-radius:20px;font-size:14px;font-weight:500}.cards-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.cards-preview-item{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-dark)}.cards-preview-item img{width:100%;height:100%;object-fit:cover}.cards-preview-item.empty{display:flex;align-items:center;justify-content:center;font-size:20px;opacity:.3}.grid-puzzle{position:relative;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.grid-puzzle canvas{display:block;border-radius:inherit;will-change:transform}.grid-puzzle.completed{animation:puzzleComplete .8s ease}@keyframes puzzleComplete{0%{box-shadow:var(--shadow-medium)}50%{box-shadow:0 0 60px #c4956ab3}to{box-shadow:var(--shadow-medium)}}.grid-puzzle.fog-effect{filter:blur(2px) contrast(.85);transition:filter .3s ease}.grid-puzzle.darkness-effect{filter:brightness(.4);transition:filter .3s ease}.grid-puzzle.time-freeze-effect{filter:saturate(.3) brightness(1.1);transition:filter .3s ease}.grid-puzzle.shake-effect{animation:shakeBoard .1s linear infinite}@keyframes shakeBoard{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.grid-puzzle.mirror-effect{transform:scaleX(-1);transition:transform .3s ease}.grid-puzzle.flip-effect{transform:scaleY(-1);transition:transform .3s ease}.grid-puzzle.pixelate-effect{filter:blur(3px);image-rendering:pixelated;transition:filter .3s ease}.grid-puzzle.stun-effect{pointer-events:none;filter:blur(1px) hue-rotate(30deg);transition:filter .3s ease}@media (max-width: 360px){.grid-puzzle{border-radius:var(--radius-md)}}
