:root{--bg:#fff;--bg-gradient:radial-gradient(circle at 50% 30%, #fff 0%, #f8fafc 100%);--text:#2d3748;--text-muted:#718096;--primary:#f59e0b;--primary-hover:#d97706;--accent:#ec4899;--danger:#ef4444;--success:#10b981;--card-bg:#fffffff0;--card-border:#e2e8f0;--shadow:0 10px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--font-main:"Comic Relief", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, cursive, sans-serif;--font-fun:"Comic Relief", "Fredoka", "Outfit", cursive, sans-serif}[data-theme=dark]{--bg:#0b0f19;--bg-gradient:radial-gradient(circle at 50% 30%, #151d30 0%, #080c14 100%);--text:#f1f5f9;--text-muted:#94a3b8;--primary:#fbbf24;--primary-hover:#f59e0b;--accent:#f472b6;--card-bg:#131a2ae0;--card-border:#ffffff1f;--shadow:0 12px 30px -5px #00000080, 0 8px 16px -6px #0000004d}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background:var(--bg-gradient);background-color:var(--bg);width:100%;height:100%;color:var(--text);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s,color .3s;overflow:hidden}#root{background:0 0;flex-direction:column;width:100%;height:100%;display:flex;position:relative}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .2s}button:active{transform:scale(.96)}.app-game-container{background-color:var(--bg);background:var(--bg-gradient);-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:space-between;align-items:center;width:100vw;height:100vh;transition:background .3s,background-color .3s;display:flex;position:relative;overflow:hidden;cursor:none!important}.app-game-container input,.app-game-container select,.app-game-container button{cursor:pointer}.scoreboard-container{z-index:30;justify-content:space-between;align-items:center;width:100%;padding:18px 32px;display:flex;position:relative}.scoreboard-left{align-items:center;gap:16px;display:flex}.scoreboard-right{align-items:center;gap:14px;display:flex}.quick-controls-bar{background:var(--card-bg);border:1.5px solid var(--card-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:8px;padding:5px 8px;display:flex}.mode-toggle-btn{font-family:var(--font-fun);color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.mode-toggle-btn:hover{color:#0f172a;background:#e2e8f0;transform:translateY(-1px)}.mode-toggle-btn.active{color:#831843;background:linear-gradient(135deg,#fbcfe8 0%,#f472b6 100%);box-shadow:0 4px 12px #f472b659}.sound-toggle-btn,.theme-toggle-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.sound-toggle-btn:hover,.theme-toggle-btn:hover{background:#e2e8f0;transform:scale(1.08)translateY(-1px)}.sound-toggle-btn.muted{color:#dc2626;background:#fee2e2}.comfort-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #fbcfe8;border-radius:20px;align-items:center;gap:12px;padding:8px 18px;animation:3s ease-in-out infinite pulseSoft;display:flex;box-shadow:0 8px 20px -4px #f472b640}@keyframes pulseSoft{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.comfort-card-icon{font-size:26px}.comfort-card-info{flex-direction:column;display:flex}.comfort-card-title{font-family:var(--font-fun);color:#db2777;letter-spacing:.8px;font-size:14px;font-weight:800}.comfort-card-subtitle{color:var(--text-muted);font-size:11px;font-weight:600}.comfort-zen-pill{background:var(--card-bg);color:#db2777;font-family:var(--font-fun);border:1.5px solid #fbcfe8;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;box-shadow:0 4px 12px #f472b626}.control-btn{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 6px #0000000a}.control-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.control-btn.active{color:#b45309;background:#fef3c7;border-color:#f59e0b}.score-card{background:linear-gradient(#fff 0%,#fffbeb 100%);border:2px solid #fef3c7;border-radius:20px;flex-direction:column;align-items:center;padding:8px 24px;display:flex;box-shadow:0 8px 20px -4px #f59e0b26,0 2px 6px #00000008}.score-label{letter-spacing:1.2px;color:#d97706;font-size:11px;font-weight:800}.score-value{font-family:var(--font-fun);color:#b45309;font-size:38px;font-weight:700;line-height:1.1}.combo-badge{color:#fff;font-family:var(--font-fun);background:linear-gradient(135deg,#ef4444 0%,#f97316 100%);border-radius:999px;align-items:center;gap:5px;padding:6px 14px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 12px #ef444459}.high-score-card{background:linear-gradient(#fff 0%,#faf5ff 100%);border:2px solid #ede9fe;border-radius:20px;flex-direction:column;align-items:center;padding:8px 24px;display:flex;box-shadow:0 8px 20px -4px #7c3aed26,0 2px 6px #00000008}.high-score-label{letter-spacing:1.2px;color:#8b5cf6;font-size:11px;font-weight:800}.high-score-value{font-family:var(--font-fun);color:#6d28d9;font-size:38px;font-weight:700;line-height:1.1}.lb-floating-btn{z-index:50;color:#7c3aed;font-family:var(--font-fun);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #d8b4fe;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 10px 25px -4px #7c3aed40,0 4px 10px #0000000f}.lb-floating-btn:hover{color:#5b21b6;background:#faf5ff;border-color:#c084fc;transform:translateY(-3px)scale(1.04);box-shadow:0 14px 28px -4px #7c3aed59}.lb-floating-btn:active{transform:translateY(-1px)scale(.98)}.cat-stage-wrapper{z-index:10;flex:1;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative;overflow:hidden}.cat-image-container{aspect-ratio:16/9;transform-origin:50%;z-index:10;background:0 0;justify-content:center;align-items:center;width:100%;max-width:1380px;display:flex;position:relative;transform:scale(1.35)}.cat-img{object-fit:contain;pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}.interactive-box{transition:border-color .15s}.interactive-box:hover{background-color:#ef44442e!important;border-color:#dc2626!important}.box-tag{color:#fff;white-space:nowrap;pointer-events:none;background:#ef4444;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:-26px;left:0;box-shadow:0 2px 6px #0003}.box-handle{z-index:30;cursor:pointer;background:#fff;border:2px solid #ef4444;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)}.handle-nw{cursor:nwse-resize;top:0;left:0}.handle-n{cursor:ns-resize;top:0;left:50%}.handle-ne{cursor:nesw-resize;top:0;left:100%}.handle-e{cursor:ew-resize;top:50%;left:100%}.handle-se{cursor:nwse-resize;top:100%;left:100%}.handle-s{cursor:ns-resize;top:100%;left:50%}.handle-sw{cursor:nesw-resize;top:100%;left:0}.handle-w{cursor:ew-resize;top:50%;left:0}.floating-score-pop{pointer-events:none;font-family:var(--font-fun);color:#d97706;text-shadow:0 2px 6px #ffffffe6,0 0 12px #f59e0b66;z-index:40;font-size:24px;font-weight:800;animation:.9s cubic-bezier(.1,.8,.2,1) forwards floatUpAndFade;position:fixed;transform:translate(-50%,-50%)}@keyframes floatUpAndFade{0%{opacity:1;transform:translate(-50%)scale(.8)}30%{transform:translate(-50%,-24px)scale(1.2)}to{opacity:0;transform:translate(-50%,-60px)scale(1)}}.debug-panel-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9000;background:#fffffff5;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;width:380px;max-width:90vw;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;box-shadow:0 20px 40px -10px #00000026,0 1px 3px #0000000d;cursor:default!important}.debug-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.debug-title{color:#1e293b;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.debug-close-btn{color:#94a3b8;background:0 0;border-radius:6px;padding:4px;font-size:16px}.debug-close-btn:hover{color:#0f172a;background:#e2e8f0}.debug-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.status-badge-row{flex-wrap:wrap;gap:8px;display:flex}.status-pill{color:#475569;background:#f1f5f9;border-radius:6px;padding:4px 10px;font-size:12px}.status-pill.alert{color:#b91c1c;background:#fee2e2}.status-pill.idle{color:#15803d;background:#dcfce7}.status-pill.in-box{color:#b45309;background:#fef3c7}.debug-meter-wrap{flex-direction:column;gap:4px;margin-top:8px;display:flex}.meter-label{color:#64748b;justify-content:space-between;font-size:12px;font-weight:600;display:flex}.meter-bar{background:#e2e8f0;border-radius:999px;width:100%;height:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#f59e0b,#ef4444);height:100%;transition:width 80ms}.section-label{color:#475569;margin-bottom:6px;font-size:12px;font-weight:700}.coord-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.coord-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:flex}.coord-key{color:#64748b;min-width:36px;font-weight:700}.coord-item input{color:#0f172a;background:0 0;border:none;width:100%;font-family:inherit;font-weight:600}.coord-unit{color:#94a3b8;font-size:11px}.debug-hint{color:#64748b;margin-top:6px;font-size:11px;line-height:1.4}.preset-selector-row{gap:6px;margin-bottom:8px;display:flex}.preset-select{color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:6px 10px;font-size:13px;font-weight:600}.btn-danger-sm{background:#fee2e2;border-radius:8px;padding:6px 10px}.new-preset-row{gap:6px;display:flex}.preset-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:6px 10px;font-size:13px}.btn-save-preset{color:#fff;background:#f59e0b;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.btn-save-preset:hover{background:#d97706}.debug-footer{border-top:1px solid #f1f5f9;gap:8px;padding-top:6px;display:flex}.btn-secondary-sm{color:#475569;background:#f1f5f9;border-radius:8px;flex:1;padding:6px 10px;font-size:12px;font-weight:600}.btn-secondary-sm:hover{color:#0f172a;background:#e2e8f0}.game-over-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9500;background:#0f172aa6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;cursor:default!important}.game-over-card{text-align:center;background:#fff;border-radius:28px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:32px 28px;display:flex;position:relative;box-shadow:0 25px 50px -12px #00000059;cursor:default!important}.game-over-cat-avatar{background:#fee2e2;border:4px solid #ef4444;border-radius:50%;width:104px;height:104px;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 8px 20px #ef444440}.avatar-img{object-fit:cover;object-position:center;width:100%;height:100%}.avatar-badge{font-size:26px;position:absolute;bottom:0;right:0}.game-over-title{font-family:var(--font-fun);color:#dc2626;margin-bottom:6px;font-size:32px;font-weight:800}.game-over-subtitle{color:#64748b;margin-bottom:24px;font-size:15px}.game-over-stats{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:24px;display:grid}.stat-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;padding:12px 14px;display:flex}.stat-label{letter-spacing:.5px;color:#94a3b8;margin-bottom:4px;font-size:11px;font-weight:700}.stat-number{font-family:var(--font-fun);color:#1e293b;font-size:32px;font-weight:700;line-height:1}.stat-box.current-stat .stat-number{color:#d97706}.stat-box.high-stat .stat-number{color:#0284c7}.restart-btn{color:#fff;width:100%;font-family:var(--font-fun);background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:18px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 8px 20px -4px #f59e0b73}.restart-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -4px #f59e0b8c}.restart-icon{font-size:20px}@media (width<=768px){.scoreboard-container{padding:10px 14px}.scoreboard-left{gap:8px}.score-card,.high-score-card{border-radius:14px;padding:6px 14px}.score-label,.high-score-label{letter-spacing:.8px;font-size:9px}.score-value,.high-score-value{font-size:24px}.combo-badge{padding:4px 10px;font-size:13px}.lb-floating-btn{padding:9px 16px;font-size:13px;bottom:14px;left:14px}.control-btn{padding:6px 12px;font-size:13px}.cat-image-container{width:100vw;max-width:none;transform:scale(2.05)}.comb-cursor-img{width:58px}.game-over-card{border-radius:22px;padding:24px 20px}.game-over-title{font-size:26px}.game-over-cat-avatar{width:90px;height:90px}.stat-number{font-size:26px}.restart-btn{padding:13px 18px;font-size:16px}}@media (width<=480px){.cat-image-container{transform:scale(2.35)}}.game-over-actions{flex-direction:column;gap:10px;width:100%;display:flex}.lb-btn-modal{color:#334155;width:100%;font-family:var(--font-fun);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-size:15px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.lb-btn-modal:hover{color:#0f172a;background:#e2e8f0;transform:translateY(-1px)}.lb-toggle-btn{font-family:var(--font-fun);font-size:14px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #a855f71f;color:#8b5cf6!important;background:#fff!important;border:1.5px solid #d8b4fe!important}.lb-toggle-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #a855f733;background:#faf5ff!important;border-color:#c084fc!important}.game-over-step-box{flex-direction:column;align-items:center;width:100%;animation:.25s cubic-bezier(.16,1,.3,1) stepFadeIn;display:flex}@keyframes stepFadeIn{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.step-celebration-badge{color:#b45309;letter-spacing:.8px;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1.5px solid #fcd34d;border-radius:9999px;align-items:center;gap:6px;margin-bottom:14px;padding:6px 14px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #f59e0b40}.record-avatar{border-color:#f59e0b!important;box-shadow:0 8px 24px #f59e0b59!important}.record-title{color:#d97706!important;margin-bottom:6px!important;font-size:26px!important}.record-score-highlight{flex-direction:column;align-items:center;margin-bottom:12px;display:flex}.record-score-number{font-family:var(--font-fun);color:#d97706;margin-bottom:6px;font-size:46px;font-weight:900;line-height:1}.record-combo-pill{color:#dc2626;background:#fee2e2;border-radius:9999px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-flex}.step-ask-prompt{color:#475569;text-align:center;max-width:360px;margin-bottom:22px;font-size:15px;line-height:1.5}.btn-primary-action{color:#fff;width:100%;font-family:var(--font-fun);cursor:pointer;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:15px 24px;font-size:17px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 8px 20px -4px #7c3aed66}.btn-primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px -4px #7c3aed8c}.btn-primary-action:disabled{opacity:.6;cursor:not-allowed}.btn-secondary-action{color:#475569;width:100%;font-family:var(--font-fun);cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:16px;justify-content:center;align-items:center;padding:13px 20px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.btn-secondary-action:hover:not(:disabled){color:#0f172a;background:#e2e8f0;transform:translateY(-1px)}.step-header-icon{margin-bottom:6px;font-size:36px}.step-header-title{font-family:var(--font-fun);color:#4c1d95;margin-bottom:4px;font-size:24px;font-weight:800}.step-header-subtitle{color:#6b21a8;margin-bottom:18px;font-size:14px;font-weight:600}.step-submit-form{text-align:left;flex-direction:column;width:100%;display:flex}.step-input-label{color:#475569;margin-bottom:8px;font-size:13px;font-weight:700}.step-input-group{gap:8px;width:100%;margin-bottom:6px;display:flex}.step-name-input{color:#1e293b;background:#f8fafc;border:2px solid #cbd5e1;border-radius:14px;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s}.step-name-input:focus{background:#fff;border-color:#9333ea;box-shadow:0 0 0 3px #9333ea26}.step-dice-btn,.lb-dice-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f1f5f9;border:2px solid #cbd5e1;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;font-size:20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.step-dice-btn:hover:not(:disabled),.lb-dice-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8;transform:rotate(15deg)scale(1.08)}.step-input-meta{color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px;font-size:12px;display:flex}.step-success-notice{color:#065f46;background:#ecfdf5;border:1.5px solid #a7f3d0;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:20px;padding:16px;font-size:15px;font-weight:700;display:flex}.game-over-submitted-pill{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9999px;align-items:center;gap:6px;margin-bottom:16px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.leaderboard-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9600;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out lbFadeIn;display:flex;position:fixed;inset:0;cursor:default!important}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.leaderboard-card{background:#fff;border:2px solid #ede9fe;border-radius:28px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;padding:24px;display:flex;box-shadow:0 25px 50px -12px #00000059;cursor:default!important}.lb-header{border-bottom:1.5px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.lb-title-wrap{align-items:center;gap:10px;display:flex}.lb-icon{font-size:26px}.lb-title{font-family:var(--font-fun);color:#4c1d95;letter-spacing:.5px;font-size:22px;font-weight:800}.lb-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.lb-close-btn:hover{color:#0f172a;background:#e2e8f0}.lb-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.lb-tab{font-family:var(--font-fun);color:#64748b;cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:8px 12px;font-size:14px;font-weight:700;transition:all .2s}.lb-tab.active{color:#7c3aed;background:#fff;box-shadow:0 2px 8px #7c3aed1f}.lb-submit-box{background:linear-gradient(135deg,#faf5ff 0%,#f3e8ff 100%);border:1.5px solid #d8b4fe;border-radius:16px;margin-bottom:16px;padding:14px}.lb-submit-info{color:#6b21a8;margin-bottom:8px;font-size:13px;font-weight:600}.lb-submit-info strong{color:#7c3aed;font-size:18px;font-family:var(--font-fun)}.lb-submit-row{align-items:center;gap:10px;width:100%;display:flex}.lb-input-dice-group{flex:1;gap:8px;min-width:0;display:flex}.lb-name-input{color:#1e293b;background:#fff;border:1.5px solid #c084fc;border-radius:12px;outline:none;flex:1;min-width:0;padding:10px 14px;font-family:inherit;font-size:16px;font-weight:600;transition:all .2s}.lb-name-input:focus{border-color:#9333ea;box-shadow:0 0 0 3px #9333ea26}.lb-dice-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1.5px solid #c084fc;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.lb-dice-btn:hover:not(:disabled){background:#f3e8ff;border-color:#9333ea;transform:rotate(15deg)scale(1.06)}.lb-submit-btn{color:#fff;font-family:var(--font-fun);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #7c3aed4d}.lb-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #7c3aed66}.lb-submit-btn:disabled{opacity:.6;cursor:not-allowed}.lb-success-badge{color:#065f46;text-align:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600}.lb-list-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;max-height:380px;padding-right:4px;overflow-y:auto}.lb-list{flex-direction:column;gap:8px;display:flex}.lb-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;transition:all .15s;display:flex}.lb-row:hover{background:#f1f5f9}.lb-row.rank-1{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1.5px solid #fde68a;box-shadow:0 2px 8px #f59e0b1f}.lb-row.rank-2{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1.5px solid #cbd5e1}.lb-row.rank-3{background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%);border:1.5px solid #fed7aa}.lb-rank-badge{font-family:var(--font-fun);text-align:center;color:#64748b;flex-shrink:0;width:28px;font-size:18px;font-weight:800}.lb-player-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.lb-player-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.lb-player-date{color:#94a3b8;font-size:11px}.lb-combo-pill{color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.lb-score-val{font-family:var(--font-fun);color:#7c3aed;flex-shrink:0;font-size:20px;font-weight:800}.lb-row.rank-1 .lb-score-val{color:#d97706}.lb-my-rank-banner{background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:1.5px solid #c4b5fd;border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 14px;animation:.2s ease-out bannerFade;display:flex;box-shadow:0 2px 8px #7c3aed14}@keyframes bannerFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lb-my-rank-text{color:#5b21b6;font-size:13px;font-weight:600}.lb-my-rank-text strong{font-family:var(--font-fun);color:#7c3aed;font-size:16px}.lb-scroll-my-rank-btn{color:#fff;font-family:var(--font-fun);cursor:pointer;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border:none;border-radius:10px;align-items:center;gap:4px;padding:6px 13px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 10px #7c3aed40}.lb-scroll-my-rank-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #7c3aed66}.lb-footer-my-rank{padding:6px 14px;font-size:13px}.lb-row-wrapper{flex-direction:column;display:flex}.lb-sub10-divider{color:#94a3b8;letter-spacing:.8px;text-transform:uppercase;align-items:center;gap:12px;margin:8px 0 6px;font-size:11px;font-weight:800;display:flex}.lb-sub10-divider:before,.lb-sub10-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.lb-row.rank-sub10{background:#fafafa;border-color:#f1f5f9;border-radius:10px;padding:6px 12px}.lb-row.rank-sub10 .lb-rank-badge{color:#94a3b8;width:24px;font-size:13px;font-weight:700}.lb-row.rank-sub10 .lb-player-name{font-size:12.5px;font-weight:600}.lb-row.rank-sub10 .lb-player-date{font-size:10px}.lb-row.rank-sub10 .lb-combo-pill{padding:2px 6px;font-size:10px}.lb-row.rank-sub10 .lb-score-val{font-size:15px;font-weight:700}.lb-row.rank-me{background:#f5f3ff!important;border:2px solid #8b5cf6!important;box-shadow:0 0 0 1px #8b5cf64d,0 3px 12px #8b5cf626!important}.lb-player-name-row{align-items:center;gap:6px;display:flex}.lb-you-tag{color:#fff;letter-spacing:.6px;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border-radius:6px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;display:inline-block}@keyframes myRankPulse{0%{transform:scale(1);box-shadow:0 0 #a855f7b3}50%{transform:scale(1.02);box-shadow:0 0 0 10px #a855f700}to{transform:scale(1);box-shadow:0 0 #a855f700}}.rank-highlight-pulse{animation:1.2s cubic-bezier(.16,1,.3,1) myRankPulse!important}.lb-loading{color:#7c3aed;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;font-size:14px;font-weight:600;display:flex}.lb-spinner{font-size:28px}.lb-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 16px;display:flex}.lb-empty-icon{margin-bottom:4px;font-size:42px}.lb-empty-title{font-family:var(--font-fun);color:#475569;font-size:18px;font-weight:700}.lb-empty-subtitle{color:#94a3b8;font-size:13px}.lb-footer{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.lb-clear-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s}.lb-clear-btn:hover{color:#b91c1c;background:#fee2e2}.lb-refresh-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.lb-refresh-btn:hover{color:#1e293b;background:#e2e8f0;transform:translateY(-1px)}@media (width<=560px){.leaderboard-overlay{align-items:flex-end;padding:0}.leaderboard-card{width:100%;max-width:100%;max-height:90dvh;padding:20px 16px max(20px, env(safe-area-inset-bottom,20px));border-radius:26px 26px 0 0}.lb-header{margin-bottom:12px;padding-bottom:10px}.lb-title{font-size:20px}.lb-close-btn{width:36px;height:36px;font-size:15px}.lb-submit-box{margin-bottom:12px;padding:12px}.lb-submit-row{flex-direction:column;gap:10px}.lb-input-dice-group{gap:8px;width:100%}.lb-name-input{padding:10px 12px;font-size:16px}.lb-dice-btn{width:44px;height:44px;font-size:20px}.lb-submit-btn{justify-content:center;width:100%;padding:11px 16px;font-size:14px}.lb-my-rank-banner{gap:10px;padding:8px 12px}.lb-my-rank-text{font-size:12.5px}.lb-scroll-my-rank-btn{padding:6px 12px;font-size:12px}.lb-list-wrap{min-height:150px;max-height:46dvh}.lb-row{gap:10px;padding:8px 10px}.lb-row.rank-sub10{gap:8px;padding:6px 10px}.lb-rank-badge{width:24px;font-size:16px}.lb-row.rank-sub10 .lb-rank-badge{width:22px;font-size:13px}.lb-player-name{font-size:13px}.lb-row.rank-sub10 .lb-player-name{font-size:12px}.lb-score-val{font-size:17px}.lb-row.rank-sub10 .lb-score-val{font-size:14px}.lb-footer{flex-wrap:nowrap;gap:10px;margin-top:12px;padding-top:12px}.lb-refresh-btn,.lb-footer-my-rank{text-align:center;white-space:nowrap;flex:1;justify-content:center;min-height:42px;padding:9px 12px;font-size:13px}}.bottom-right-actions{z-index:50;align-items:center;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.settings-floating-btn,.credits-floating-btn{color:#475569;font-family:var(--font-fun);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #cbd5e1;border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:static;box-shadow:0 8px 20px -4px #00000014,0 2px 6px #0000000a}.settings-floating-btn{color:#334155;border-color:#cbd5e1}.settings-floating-btn .btn-cog-icon{font-size:16px;transition:transform .3s}.settings-floating-btn:hover .btn-cog-icon{transform:rotate(45deg)}.settings-floating-btn:hover,.credits-floating-btn:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-2px)scale(1.03);box-shadow:0 12px 24px -4px #0000001f}.settings-floating-btn:active,.credits-floating-btn:active{transform:translateY(0)scale(.98)}.credits-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9700;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out lbFadeIn;display:flex;position:fixed;inset:0;cursor:default!important}.credits-card{background:#fff;border:2px solid #ede9fe;border-radius:28px;flex-direction:column;width:100%;max-width:440px;padding:24px;display:flex;box-shadow:0 25px 50px -12px #00000059;cursor:default!important}.credits-header{border-bottom:1.5px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.credits-title-wrap{align-items:center;gap:8px;display:flex}.credits-icon{font-size:22px}.credits-title{font-family:var(--font-fun);color:#4c1d95;letter-spacing:.5px;font-size:22px;font-weight:800}.credits-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.credits-close-btn:hover{color:#0f172a;background:#e2e8f0}.credits-body{flex-direction:column;gap:10px;display:flex}.credit-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:4px;padding:10px 14px;transition:all .15s;display:flex}.credit-item:hover{background:#f1f5f9;border-color:#cbd5e1}.credit-role{font-family:var(--font-fun);color:#64748b;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.credit-role-icon{font-size:16px}.credit-names{flex-wrap:wrap;align-items:center;gap:8px;padding-left:22px;display:flex}.credit-link{color:#7c3aed;border-bottom:1.5px solid #0000;font-size:14px;font-weight:700;text-decoration:none;transition:all .15s}.credit-link:hover{color:#5b21b6;border-bottom-color:#7c3aed}.credit-sep{color:#cbd5e1;font-size:12px}.credits-footer{text-align:center;color:#94a3b8;border-top:1px solid #f1f5f9;margin-top:14px;padding-top:10px;font-size:13px;font-weight:600}@media (width<=768px){.bottom-right-actions{gap:8px;bottom:14px;right:14px}.settings-floating-btn,.credits-floating-btn{padding:8px 14px;font-size:13px}}@media (width<=480px){.credits-overlay,.settings-overlay{align-items:flex-end;padding:0}.credits-card,.settings-card{border-radius:28px 28px 0 0;width:100%;max-width:100%;padding:20px 16px 24px}}.settings-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9700;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out lbFadeIn;display:flex;position:fixed;inset:0;cursor:default!important}.settings-card{background:#fff;border:2px solid #e2e8f0;border-radius:28px;flex-direction:column;width:100%;max-width:460px;padding:24px;display:flex;box-shadow:0 25px 50px -12px #00000059;cursor:default!important}.settings-header{border-bottom:1.5px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.settings-title-wrap{align-items:center;gap:8px;display:flex}.settings-icon{font-size:22px}.settings-title{font-family:var(--font-fun);color:#1e293b;letter-spacing:.5px;font-size:22px;font-weight:800}.settings-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.settings-close-btn:hover{color:#0f172a;background:#e2e8f0}.settings-body{flex-direction:column;gap:12px;display:flex}.settings-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;transition:all .15s;display:flex}.settings-item:hover{background:#f1f5f9}.settings-item-info{align-items:center;gap:12px;display:flex}.settings-item-icon{flex-shrink:0;font-size:24px}.settings-item-texts{flex-direction:column;gap:2px;display:flex}.settings-item-name{font-family:var(--font-fun);color:#1e293b;font-size:15px;font-weight:700}.settings-item-desc{color:#64748b;font-size:12px;line-height:1.35}.settings-toggle-btn{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;flex-shrink:0;width:48px;height:28px;padding:2px;transition:background-color .25s;position:relative}.settings-toggle-btn .toggle-thumb{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .25s cubic-bezier(.16,1,.3,1);display:block;transform:translate(0);box-shadow:0 2px 4px #0003}.settings-toggle-btn.active{background:#f59e0b}.settings-toggle-btn.active .toggle-thumb{transform:translate(20px)}.settings-footer{text-align:center;color:#94a3b8;border-top:1px solid #f1f5f9;margin-top:14px;padding-top:10px;font-size:12px;font-weight:600}[data-theme=dark] .score-card{background:linear-gradient(#1e293b 0%,#0f172a 100%);border-color:#f59e0b59;box-shadow:0 8px 24px -4px #0009,0 0 15px #f59e0b26}[data-theme=dark] .score-label{color:#fbbf24}[data-theme=dark] .score-value{color:#fef08a}[data-theme=dark] .high-score-card{background:linear-gradient(#1e293b 0%,#0f172a 100%);border-color:#a855f759;box-shadow:0 8px 24px -4px #0009,0 0 15px #a855f726}[data-theme=dark] .high-score-label{color:#c084fc}[data-theme=dark] .high-score-value{color:#e9d5ff}[data-theme=dark] .comfort-card{background:linear-gradient(#24142a 0%,#170d1c 100%);border-color:#f472b666;box-shadow:0 8px 24px -4px #0009,0 0 15px #f472b633}[data-theme=dark] .comfort-card-title{color:#f472b6}[data-theme=dark] .comfort-card-subtitle{color:#94a3b8}[data-theme=dark] .comfort-zen-pill{color:#f472b6;background:#24142a;border-color:#f472b666}[data-theme=dark] .lb-floating-btn{color:#c084fc;background:#1e1b4b;border-color:#7c3aed;box-shadow:0 10px 25px -4px #0009,0 0 15px #7c3aed4d}[data-theme=dark] .lb-floating-btn:hover{color:#e9d5ff;background:#2e1065;border-color:#a855f7}[data-theme=dark] .settings-floating-btn,[data-theme=dark] .credits-floating-btn{color:#cbd5e1;background:#1e293b;border-color:#334155;box-shadow:0 8px 20px -4px #00000080}[data-theme=dark] .settings-floating-btn:hover,[data-theme=dark] .credits-floating-btn:hover{color:#fff;background:#334155;border-color:#64748b}[data-theme=dark] .game-over-card,[data-theme=dark] .leaderboard-card,[data-theme=dark] .credits-card,[data-theme=dark] .settings-card,[data-theme=dark] .debug-panel-card{color:#f1f5f9!important;background:#111827!important;border:1.5px solid #1f2937!important;box-shadow:0 25px 60px -12px #000000d9!important}[data-theme=dark] .lb-header,[data-theme=dark] .credits-header,[data-theme=dark] .settings-header,[data-theme=dark] .debug-header{border-bottom-color:#1f2937!important}[data-theme=dark] .lb-title,[data-theme=dark] .credits-title,[data-theme=dark] .settings-title,[data-theme=dark] .debug-title{color:#f3f4f6!important}[data-theme=dark] .lb-close-btn,[data-theme=dark] .credits-close-btn,[data-theme=dark] .settings-close-btn,[data-theme=dark] .debug-close-btn{color:#94a3b8!important;background:#1f2937!important}[data-theme=dark] .lb-close-btn:hover,[data-theme=dark] .credits-close-btn:hover,[data-theme=dark] .settings-close-btn:hover,[data-theme=dark] .debug-close-btn:hover{color:#fff!important;background:#374151!important}[data-theme=dark] .game-over-title{color:#ef4444!important}[data-theme=dark] .game-over-subtitle{color:#94a3b8!important}[data-theme=dark] .stat-box{background:#1f2937!important;border:1px solid #374151!important}[data-theme=dark] .stat-label{color:#94a3b8!important}[data-theme=dark] .stat-number{color:#f3f4f6!important}[data-theme=dark] .stat-box.current-stat .stat-number{color:#fbbf24!important}[data-theme=dark] .stat-box.high-stat .stat-number{color:#38bdf8!important}[data-theme=dark] .lb-btn-modal{color:#c084fc!important;background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .lb-btn-modal:hover{color:#e9d5ff!important;background:#374151!important}[data-theme=dark] .lb-tabs{background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .lb-tab{color:#94a3b8!important}[data-theme=dark] .lb-tab.active{color:#c084fc!important;background:#111827!important;box-shadow:0 2px 8px #0006!important}[data-theme=dark] .lb-submit-box{background:linear-gradient(135deg,#1e1b4b 0%,#17122a 100%)!important;border-color:#a855f759!important}[data-theme=dark] .lb-submit-info{color:#e9d5ff!important}[data-theme=dark] .lb-submit-info strong{color:#fef08a!important}[data-theme=dark] .lb-name-input{color:#f3f4f6!important;background:#111827!important;border-color:#374151!important}[data-theme=dark] .lb-name-input:focus{border-color:#a855f7!important}[data-theme=dark] .step-celebration-badge{color:#fef3c7!important;background:#78350f!important;border-color:#92400e!important}[data-theme=dark] .record-title,[data-theme=dark] .record-score-number{color:#fbbf24!important}[data-theme=dark] .record-combo-pill{color:#fca5a5!important;background:#7f1d1d!important}[data-theme=dark] .step-ask-prompt{color:#cbd5e1!important}[data-theme=dark] .step-header-title{color:#c084fc!important}[data-theme=dark] .step-header-subtitle{color:#d8b4fe!important}[data-theme=dark] .step-input-label{color:#cbd5e1!important}[data-theme=dark] .step-name-input{color:#f3f4f6!important;background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .step-name-input:focus{border-color:#a855f7!important;box-shadow:0 0 0 3px #a855f733!important}[data-theme=dark] .step-dice-btn,[data-theme=dark] .lb-dice-btn{color:#f3f4f6!important;background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .step-dice-btn:hover:not(:disabled),[data-theme=dark] .lb-dice-btn:hover:not(:disabled){background:#374151!important}[data-theme=dark] .step-input-meta{color:#94a3b8!important}[data-theme=dark] .btn-secondary-action{color:#cbd5e1!important;background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .btn-secondary-action:hover:not(:disabled){color:#fff!important;background:#374151!important}[data-theme=dark] .step-success-notice,[data-theme=dark] .game-over-submitted-pill{color:#a7f3d0!important;background:#064e3b!important;border-color:#047857!important}[data-theme=dark] .lb-row{background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .lb-row:hover{background:#283548!important}[data-theme=dark] .lb-row.rank-1{background:linear-gradient(135deg,#2d2011 0%,#1f2937 100%)!important;border-color:#f59e0b!important}[data-theme=dark] .lb-row.rank-2{background:linear-gradient(135deg,#262e3d 0%,#1f2937 100%)!important;border-color:#94a3b8!important}[data-theme=dark] .lb-row.rank-3{background:linear-gradient(135deg,#301f19 0%,#1f2937 100%)!important;border-color:#fb923c!important}[data-theme=dark] .lb-player-name{color:#f3f4f6!important}[data-theme=dark] .lb-player-date{color:#94a3b8!important}[data-theme=dark] .lb-score-val{color:#c084fc!important}[data-theme=dark] .lb-row.rank-1 .lb-score-val{color:#fbbf24!important}[data-theme=dark] .lb-combo-pill{color:#fef08a!important;background:#f59e0b33!important;border-color:#f59e0b66!important}[data-theme=dark] .lb-my-rank-banner{background:linear-gradient(135deg,#1e1b4b 0%,#2e1065 100%)!important;border-color:#4338ca!important}[data-theme=dark] .lb-my-rank-text{color:#c7d2fe!important}[data-theme=dark] .lb-my-rank-text strong{color:#fef08a!important}[data-theme=dark] .lb-sub10-divider{color:#64748b!important}[data-theme=dark] .lb-sub10-divider:before,[data-theme=dark] .lb-sub10-divider:after{background:#374151!important}[data-theme=dark] .lb-row.rank-sub10{background:#151d2a!important;border-color:#1f2937!important}[data-theme=dark] .lb-row.rank-me{background:#2e1065!important;border-color:#a855f7!important;box-shadow:0 0 0 1px #a855f766,0 3px 14px #a855f74d!important}[data-theme=dark] .lb-footer{border-top-color:#1f2937!important}[data-theme=dark] .lb-refresh-btn{color:#cbd5e1!important;background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .lb-refresh-btn:hover{color:#fff!important;background:#374151!important}[data-theme=dark] .lb-empty-title{color:#cbd5e1!important}[data-theme=dark] .lb-empty-subtitle{color:#94a3b8!important}[data-theme=dark] .credit-item,[data-theme=dark] .settings-item{background:#1f2937!important;border-color:#374151!important}[data-theme=dark] .credit-item:hover,[data-theme=dark] .settings-item:hover{background:#283548!important}[data-theme=dark] .credit-role{color:#94a3b8!important}[data-theme=dark] .credit-link{color:#a78bfa!important}[data-theme=dark] .credit-link:hover{color:#c4b5fd!important}[data-theme=dark] .credits-footer,[data-theme=dark] .settings-footer{color:#64748b!important;border-top-color:#1f2937!important}[data-theme=dark] .settings-item-name{color:#f3f4f6!important}[data-theme=dark] .settings-item-desc{color:#94a3b8!important}[data-theme=dark] .settings-toggle-btn{background:#374151!important}[data-theme=dark] .settings-toggle-btn.active{background:#f59e0b!important}
