/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.fixed{position:fixed}.relative{position:relative}.container{width:100%}.block{display:block}.grid{display:grid}.hidden{display:none}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}html,body{height:100%;overflow:hidden auto}body{min-width:320px;margin:0}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.app-container{display:flex;flex-direction:column;align-items:center;font-family:sans-serif;width:100vw;min-height:100vh;background-color:#f0f0f0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-header{background-color:#333;color:#fff;padding:10px 20px;text-align:center;width:100%;box-sizing:border-box}.game-area{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px;gap:15px;width:100%;max-width:100vw;box-sizing:border-box}.game-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:min(85vw,500px);padding:10px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:5px}.app-controls{padding:5px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:5px}h1{margin:0;font-size:1.5em}.comment{padding:5px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;margin:0;font-size:.7em;color:#666}@media (max-width: 768px){.app-container{padding:0;touch-action:none}.game-area{padding:5px;gap:8px}.game-info{max-width:92vw;padding:8px;gap:8px;grid-template-columns:1fr 1fr}}@media (max-width: 375px){.game-area{padding:2px;gap:5px}.game-info{max-width:95vw;padding:5px;gap:5px;grid-template-columns:1fr 1fr}}@media (max-height: 600px) and (orientation: landscape){.game-area{padding:2px;gap:5px}.game-info{padding:5px;gap:5px}}.grid-container{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);border:2px solid #ccc;width:min(85vw,85vh);height:min(85vw,85vh);margin:10px auto;touch-action:none;max-width:500px;max-height:500px}.grid-cell{border:1px solid #eee;display:flex;align-items:flex-end;justify-content:center;padding-bottom:.2vmin;font-size:min(3.5vw,3.5vh,1.8rem);font-family:sans-serif;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);background-image:url(/icons/favicon.png);background-size:cover;background-position:center;background-repeat:no-repeat;box-sizing:border-box;aspect-ratio:1}.grid-cell.empty{background-image:none}.selected-apple{background-color:#a0e0ffcc;border:2px solid #007bff;box-shadow:0 0 8px #007bff99;transform:scale(1.05);z-index:1;position:relative}.sum-display{margin-top:10px;font-weight:700}@media (max-width: 768px) and (orientation: portrait){.grid-container{width:min(95vw,70vh);height:min(95vw,70vh);margin:5px auto;max-width:none;max-height:none}.grid-cell{font-size:min(4.5vw,3vh,2rem);padding-bottom:.3vmin}.sum-display{font-size:1rem}}@media (max-width: 768px) and (orientation: landscape){.grid-container{width:min(65vw,85vh);height:min(65vw,85vh);margin:5px auto}.grid-cell{font-size:min(3vw,4vh,1.5rem)}}@media (max-width: 375px){.grid-container{width:min(95vw,65vh);height:min(95vw,65vh);margin:2px auto;border-width:1px}.grid-cell{font-size:min(5vw,2.5vh,1.2rem);border-width:.5px}}@media (min-width: 1200px){.grid-container{width:min(60vw,60vh);height:min(60vw,60vh);max-width:600px;max-height:600px}.grid-cell{font-size:min(2.5vw,2.5vh,2.2rem)}}.score-board{padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9}.score-board h2{margin:0;font-size:2em;color:#333;font-weight:700}@media (max-width: 768px){.score-board{padding:5px 8px;margin:0}.score-board h2{font-size:1.5em}}.timer-bar{padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9}.timer-bar p{margin:0;font-size:1.8em;color:#c0392b;font-weight:700}@media (max-width: 768px){.timer-bar{padding:5px 8px;margin:0}.timer-bar p{font-size:1.3em}}.controls{display:flex;gap:50px}.controls button{padding:10px 15px;border:none;border-radius:4px;background-color:#3498db;color:#fff;font-size:1em;cursor:pointer;transition:background-color .2s}.controls button:hover{background-color:#2980b9}@media (max-width: 768px){.controls{flex-direction:row;justify-content:space-around;align-items:center}.controls button{width:auto;margin-bottom:0;padding:8px 10px;font-size:.85em}}.sum-display{padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;margin-top:10px}.sum-display p{margin:0;font-size:.9em;font-weight:400;color:#27ae60}@media (max-width: 768px){.sum-display{padding:5px 8px;margin:0}.sum-display p{font-size:.8em}}.combo-display{position:relative;text-align:center;pointer-events:none;transition:all .3s ease;margin:10px 0;z-index:100;height:4.3rem}.combo-text{font-size:2rem;font-weight:700;color:#ff6b35;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:.5rem;animation:comboGlow .5s ease-in-out}.combo-bonus{font-size:1.2rem;font-weight:700;color:gold;text-shadow:1px 1px 2px rgba(0,0,0,.5);animation:comboBounce .6s ease-in-out}.combo-placeholder{height:5.1rem;visibility:hidden}.combo-timer{margin-top:8px;width:100%;max-width:200px;margin-left:auto;margin-right:auto}.combo-timer-bar{width:100%;height:8px;background-color:#ffffff4d;border-radius:4px;overflow:hidden;box-shadow:0 2px 4px #0003}.combo-timer-fill{height:100%;background:linear-gradient(90deg,#ff6b35,gold);border-radius:4px;transition:width .1s linear;box-shadow:0 0 8px #ff6b3599}.combo-active .combo-text{animation:comboGlow .5s ease-in-out,comboScale .3s ease-in-out}.combo-active .combo-bonus{animation:comboBounce .6s ease-in-out,comboScale .3s ease-in-out .1s}.combo-level-up{animation:comboLevelUp .8s ease-out}.combo-sparkle{animation:comboSparkle 1.2s ease-in-out}@keyframes comboGlow{0%{text-shadow:2px 2px 4px rgba(0,0,0,.5);transform:scale(1)}50%{text-shadow:2px 2px 8px rgba(255,107,53,.8),0 0 20px rgba(255,107,53,.6);transform:scale(1.1)}to{text-shadow:2px 2px 4px rgba(0,0,0,.5);transform:scale(1)}}@keyframes comboBounce{0%{transform:translateY(0);opacity:0}50%{transform:translateY(-10px);opacity:1}to{transform:translateY(0);opacity:1}}@keyframes comboScale{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes comboLevelUp{0%{transform:scale(.5) rotate(-10deg);opacity:0;text-shadow:0 0 30px rgba(255,107,53,1)}30%{transform:scale(1.3) rotate(5deg);opacity:1;text-shadow:0 0 20px rgba(255,107,53,.8),2px 2px 4px rgba(0,0,0,.5)}60%{transform:scale(.9) rotate(-2deg);text-shadow:0 0 15px rgba(255,107,53,.6),2px 2px 4px rgba(0,0,0,.5)}80%{transform:scale(1.05) rotate(1deg);text-shadow:0 0 10px rgba(255,107,53,.4),2px 2px 4px rgba(0,0,0,.5)}to{transform:scale(1) rotate(0);opacity:1;text-shadow:2px 2px 4px rgba(0,0,0,.5)}}@keyframes comboSparkle{0%,to{filter:drop-shadow(0 0 2px rgba(255,215,0,.7))}25%{filter:drop-shadow(0 0 8px rgba(255,215,0,1)) drop-shadow(0 0 12px rgba(255,107,53,.8))}50%{filter:drop-shadow(0 0 4px rgba(255,215,0,.9)) drop-shadow(0 0 8px rgba(255,107,53,.6))}75%{filter:drop-shadow(0 0 6px rgba(255,215,0,1)) drop-shadow(0 0 10px rgba(255,107,53,.7))}}@media (max-width: 768px){.combo-display{margin:5px 0}.combo-text{font-size:1.5rem}.combo-bonus{font-size:1rem}.combo-placeholder{height:4.8rem}.combo-timer{margin-top:6px;max-width:150px}.combo-timer-bar{height:6px}}.start-screen{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100vw;min-height:100vh;text-align:center;color:#fff;background-color:#000;padding:40px 20px 20px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.start-screen>h1{margin-top:60px;margin-bottom:20px}.start-screen>.start-button{margin-bottom:10px}.start-button{padding:10px 20px;font-size:1.5rem;cursor:pointer;margin-top:5px;color:#fff;background-color:#00f}.leaderboard-button{padding:10px 20px;font-size:1.2rem;cursor:pointer;margin-top:15px;color:#fff;background-color:#6c757d;border:none;border-radius:5px;transition:background-color .3s ease}.leaderboard-button:hover{background-color:#5a6268}@media (max-width: 768px){.start-screen{padding:20px 15px 15px;height:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch}.start-screen>h1{font-size:2rem;margin-top:20px;margin-bottom:15px}.start-screen>.start-button{margin-bottom:5px}.start-button{padding:12px 25px;font-size:1.3rem}.leaderboard-button{padding:10px 20px;font-size:1.1rem}}.start-screen .leaderboard-container-inline{margin-bottom:20px}.rule-selection{margin:30px 0;width:90%;max-width:600px}.rule-selection h2{color:#fff;margin-bottom:20px;text-align:center;font-size:1.8rem}.rule-options{display:flex;flex-direction:column;gap:15px}.rule-option{border:2px solid #555;border-radius:10px;padding:20px;background-color:#ffffff0d;cursor:pointer;transition:all .3s ease;color:#ddd}.rule-option:hover{border-color:#4caf50;background-color:#4caf501a}.rule-option.selected{border-color:#4caf50;background-color:#4caf5033;color:#fff}.rule-option h3{margin:0 0 10px;color:#4caf50;font-size:1.3rem}.rule-option.selected h3{color:#66bb6a}.rule-option p{margin:0 0 15px;font-size:1rem;line-height:1.4}.rule-details{display:flex;gap:20px;font-size:.9rem;font-weight:700;justify-content:center;margin-top:5px}.rule-details span{color:#81c784}@media (max-width: 768px){.rule-selection{width:95%}.rule-selection h2{font-size:1.5rem}.rule-option{padding:15px}.rule-option h3{font-size:1.1rem}.rule-option p{font-size:.9rem}.rule-details{flex-direction:row;gap:15px;justify-content:center}}.notification-settings{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:16px;margin:20px 0 40px;max-width:400px;width:80%}.notification-settings h3{margin:0 0 12px;color:#333;font-size:1.1em}.permission-status{display:flex;align-items:center;margin-bottom:12px;font-size:.9em}.status{font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px}.permission-granted{background-color:#d4edda;color:#155724}.permission-denied{background-color:#f8d7da;color:#721c24}.permission-default{background-color:#fff3cd;color:#856404}.permission-request{margin:12px 0}.permission-request p{margin:0 0 8px;font-size:.9em;color:#666}.permission-button{background-color:#007bff;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:.9em;transition:background-color .2s}.permission-button:hover:not(:disabled){background-color:#0056b3}.permission-button:disabled{background-color:#6c757d;cursor:not-allowed}.permission-denied-info{margin:12px 0;padding:12px;color:#721c24;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px}.permission-denied-info p{margin:0 0 8px;font-size:.9em}.permission-denied-info small{color:#666;line-height:1.4}.notification-toggle{margin:12px 0}.toggle-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-checkbox{display:none}.toggle-slider{position:relative;width:44px;height:24px;background-color:#ccc;border-radius:24px;transition:background-color .2s;margin-right:12px}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .2s}.toggle-checkbox:checked+.toggle-slider{background-color:#007bff}.toggle-checkbox:checked+.toggle-slider:before{transform:translate(20px)}.toggle-text{font-size:.9em;color:#333}.notification-info{margin-top:12px;padding-top:12px;border-top:1px solid #dee2e6}.notification-info small{color:#666;line-height:1.4}@media (max-width: 768px){.notification-settings{margin:12px 0;padding:12px}.notification-settings h3{font-size:1em}.permission-request p,.toggle-text,.permission-status{font-size:.85em}}.leaderboard-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000}.leaderboard-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 15px #0003;width:80%;max-width:500px;max-height:80vh;overflow-y:auto;color:#333}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.leaderboard-container h2{margin:0;color:#007bff}.header-filter-buttons{display:flex;gap:8px}.header-filter-button{padding:4px 12px;border:1px solid #4ade80;background-color:#0000004d;color:#4ade80;border-radius:12px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .3s ease}.header-filter-button:hover:not(:disabled){background-color:#4ade801a;border-color:#22c55e;color:#22c55e}.header-filter-button.active{background-color:#4ade80;color:#000;border-color:#4ade80;font-weight:600}.header-filter-button:disabled{border-color:#666;color:#666;cursor:not-allowed;background-color:#0003}.group-share-container{text-align:center;margin-top:15px;margin-bottom:10px}.group-share-button{background-color:#28a745;color:#fff;border:none;padding:8px 16px;font-size:.9rem;border-radius:6px;cursor:pointer;transition:background-color .3s ease;display:inline-flex;align-items:center;gap:4px}.group-share-button:hover{background-color:#218838}.group-share-button:active{background-color:#1e7e34}.leaderboard-table{width:100%;border-collapse:collapse;margin-bottom:20px}.leaderboard-table th,.leaderboard-table td{border:1px solid #ddd;padding:8px 12px;text-align:left}.leaderboard-table th{background-color:#f2f2f2;font-weight:700;text-align:center}.leaderboard-table tr:nth-child(2n){background-color:#f9f9f9}.leaderboard-table td.rank{width:30px;text-align:center}.leaderboard-table td.score{width:70px;text-align:center}.close-button-container{text-align:center}.leaderboard-close-button{background-color:#007bff;color:#fff;border:none;padding:10px 20px;font-size:1rem;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.leaderboard-close-button:hover{background-color:#0056b3}.leaderboard-container-inline{margin:20px 0;padding:20px;background-color:#ffffff1a;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:80%;max-width:600px;min-height:300px;position:relative}.leaderboard-container-inline h2{margin-bottom:15px;color:#fff}.leaderboard-table-inline{width:100%;border-collapse:collapse;margin-bottom:20px;color:#ddd;table-layout:fixed;transition:opacity .2s ease-in-out}.leaderboard-table-inline th,.leaderboard-table-inline td{border:1px solid #555;padding:8px 12px;text-align:left;text-align:center}.leaderboard-table-inline th{background-color:#333;color:#fff;font-weight:700;text-align:center}.leaderboard-table-inline tbody tr:nth-child(odd){background-color:#ffffff0d}.leaderboard-table-inline tbody tr:hover{background-color:#ffffff26}.leaderboard-table-inline th:nth-child(1),.leaderboard-table-inline td:nth-child(1){width:15%;text-align:center}.leaderboard-table-inline th:nth-child(2),.leaderboard-table-inline td:nth-child(2){width:25%;text-align:center}.leaderboard-table-inline th:nth-child(3),.leaderboard-table-inline td:nth-child(3){width:20%;text-align:center}.leaderboard-table-inline th:nth-child(4),.leaderboard-table-inline td:nth-child(4){width:40%;text-align:center;font-size:.9rem}.leaderboard-message{text-align:center;padding:20px;margin-top:10px;font-size:1.1rem;color:#ccc;opacity:1;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.leaderboard-message.error{color:#ff6b6b;font-weight:700}@media (max-width: 768px){.leaderboard-container-inline{width:90%;padding:15px}.leaderboard-table-inline th,.leaderboard-table-inline td{padding:6px 8px;font-size:.9rem}.leaderboard-table-inline th:nth-child(4),.leaderboard-table-inline td:nth-child(4){font-size:.8rem}.leaderboard-container-inline h2{font-size:1.5rem}.leaderboard-message{font-size:1rem}}.game-over-screen{display:flex;flex-direction:column;align-items:center;width:100vw;text-align:center;background-color:#000c;color:#fff;overflow-y:auto}.game-over-screen h1{font-size:3rem}.score-summary .high-score{font-size:1rem;margin:5px 0}.score-summary .your-score{font-size:1.5rem;font-weight:700;margin:10px 0}.buttons{margin-bottom:20px}.buttons button{padding:10px 20px;font-size:1.2rem;cursor:pointer;margin:0 10px;border:none;border-radius:5px}.restart-button{background-color:#4caf50;color:#fff}.main-menu-button{background-color:#f44336;color:#fff}.save-score-container{display:flex;flex-direction:column;align-items:center;margin:0;width:80%;max-width:400px}.save-score-section{display:grid;grid-template-columns:1fr auto;align-items:center;justify-content:center;gap:10px;width:100%}.save-score-section input[type=text]{padding:10px;font-size:1rem;border:1px solid #ccc;border-radius:4px;color:#333;flex-grow:1;background-color:#fff}.save-score-section input[type=text]:disabled{background-color:#eee;cursor:not-allowed}.save-score-section button{padding:10px 20px;font-size:1rem;cursor:pointer;background-color:#007bff;color:#fff;border:none;border-radius:5px}.save-score-section button:hover{background-color:#0056b3}.save-score-section button:disabled{background-color:#ccc;cursor:not-allowed}.save-status-message{margin-top:15px;font-size:1rem;padding:10px;border-radius:5px;width:100%;box-sizing:border-box;text-align:center}.save-status-message.success{background-color:#28a745;color:#fff}.save-status-message.error{background-color:#dc3545;color:#fff}.save-status-message.info{background-color:#17a2b8;color:#fff}.score-display-after-save{margin-top:10px;font-size:1.2rem;color:#fff;padding:10px;background-color:#ffffff1a;border-radius:5px;text-align:center;width:100%;box-sizing:border-box}.game-over-screen .leaderboard-container-inline{margin-top:30px}@media (max-width: 768px){.game-over-screen{padding:15px;width:100vw;box-sizing:border-box}.game-over-screen h1{font-size:2rem}.score-summary p{font-size:1.2rem}.buttons{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.buttons button{width:70%;margin:0;padding:10px 12px;font-size:1rem}.save-score-container{width:90%}.save-score-section{flex-direction:column}.save-score-section input[type=text]{width:100%;box-sizing:border-box}.save-score-section button{width:100%}.save-status-message{font-size:.9rem}.score-display-after-save{font-size:1.1rem}.game-over-screen .leaderboard-container-inline{margin-top:20px}.game-over-screen .leaderboard-table-inline th,.game-over-screen .leaderboard-table-inline td{font-size:.85rem}.game-over-screen .leaderboard-container-inline h2{font-size:1.3rem}.game-over-screen .leaderboard-message{font-size:.9rem}}
