*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#f5f5f5;color:#333;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:12px;overflow-x:hidden}.container{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:600px}.site-nav{margin-top:16px;display:flex;justify-content:center}.site-nav-back{color:#aaa;text-decoration:none;font-size:.8rem;padding:4px 8px;border-radius:4px;transition:color .2s}.site-nav-back:hover{color:#4a90e2}h1{font-size:1.6rem;font-weight:300;color:#222;line-height:1}.sub-links{display:flex;gap:6px;align-items:center;font-size:.8rem;color:#888}.sub-link{background:transparent;color:#888;border:none;padding:2px 4px;font-size:.8rem;cursor:pointer;border-radius:4px;transition:color .2s}.sub-link:hover:not(:disabled){background:transparent;color:#4a90e2}.sub-link-sep{user-select:none}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}select,button{padding:6px 14px;font-size:.95rem;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font-family:inherit}button{background:#4a90e2;color:#fff;border-color:#4a90e2;transition:background .2s}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){background:#357abd}button:active:not(:disabled){transform:translateY(1px)}button.active:not(:disabled){background:#388e3c;border-color:#388e3c;box-shadow:inset 0 0 0 2px #0003}button.active:not(:disabled):hover{background:#2e7d32;border-color:#2e7d32}.text-btn{background:transparent;color:#888;border:none;font-size:.8rem;padding:4px 8px;margin-top:6px}.text-btn:hover:not(:disabled){background:transparent;color:#d32f2f}#timer{font-size:1rem;font-variant-numeric:tabular-nums;min-width:60px;text-align:center;font-weight:500;color:#555}#win-overlay{display:none;position:fixed;inset:0;align-items:center;justify-content:center;background:#f5f5f5f2;z-index:20;border-radius:4px}#win-overlay.visible{display:flex}.win-content{display:flex;flex-direction:column;align-items:center;gap:12px}.win-content h2{font-size:1.8rem;font-weight:500;color:#4caf50}.win-content .win-time{font-size:1.2rem;color:#555;font-variant-numeric:tabular-nums}.win-content button{font-size:1rem;padding:10px 24px}#message{font-size:1rem;font-weight:500;color:#4caf50;min-height:1.4rem;text-align:center;line-height:1}.instructions{color:#888;font-size:.8rem;text-align:center;line-height:1.4}#leaderboard{width:100%;text-align:center}#leaderboard h2{font-size:1rem;font-weight:400;color:#333;margin-bottom:6px}#leaderboard table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border:1px solid #ddd;border-radius:6px;overflow:hidden}#leaderboard th,#leaderboard td{padding:6px 8px;text-align:center;border-bottom:1px solid #eee}#leaderboard th{background:#f8f8f8;font-weight:600;color:#555}#leaderboard tbody tr:last-child td{border-bottom:none}#leaderboard tbody tr:nth-child(1){background:#fff8e1}#leaderboard tbody tr:nth-child(2){background:#f5f5f5}#leaderboard tbody tr:nth-child(3){background:#fafafa}#leaderboard .empty{color:#aaa;font-style:italic;padding:12px}.paused-overlay,.loading-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#0009;color:#fff;font-size:1.4rem;font-weight:600;z-index:15;text-transform:uppercase;letter-spacing:3px}.loading-overlay{flex-direction:column;gap:12px;background:#fffffff2;color:#333;font-size:1rem;font-weight:400;text-transform:none;letter-spacing:normal}.spinner{width:32px;height:32px;border:3px solid #ddd;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal{display:none;position:fixed;inset:0;z-index:50;align-items:center;justify-content:center}.modal.visible{display:flex}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-card{position:relative;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:420px;max-height:80vh;overflow-y:auto;padding:24px;z-index:51}.modal-close{position:absolute;top:12px;right:16px;background:transparent;color:#999;border:none;font-size:1.6rem;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:color .2s,background .2s}.modal-close:hover{background:transparent;color:#333}.modal-content h3{font-size:1.1rem;font-weight:600;color:#222;margin-bottom:12px;margin-top:4px}.modal-content h3:not(:first-child){margin-top:20px}.modal-content ul,.modal-content ol{font-size:.85rem;line-height:1.6;color:#444;padding-left:18px}.modal-content li{margin-bottom:6px}.modal-content li:last-child{margin-bottom:0}.modal-muted{font-size:.8rem;color:#888;margin-top:16px;font-style:italic}.install-actions{margin:16px 0;text-align:center}.install-primary{background:#4a90e2;color:#fff;border-color:#4a90e2;font-size:1rem;padding:10px 24px}.install-primary:hover:not(:disabled){background:#357abd}.install-fallback{border-top:1px solid #eee;padding-top:16px;margin-top:12px}.install-fallback p{font-size:.85rem;color:#555;margin-bottom:8px}.install-fallback ol,.install-fallback ul{font-size:.8rem}.install-fallback ul{margin-top:4px;padding-left:18px;list-style-type:disc}.install-fallback ul li{margin-bottom:4px}@media print{body{background:#fff;padding:0;align-items:flex-start}.controls,#timer,#leaderboard,.instructions,#message,#win-overlay,.paused-overlay,.loading-overlay{display:none!important}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:#4a90e2}button,select{transition:none}}@media(max-width:768px){.container{gap:8px}#leaderboard{display:none!important}.instructions{font-size:.75rem;padding:0 8px}}@media(min-width:1200px)and (min-height:900px){body{padding:40px;align-items:center}.container{gap:24px;max-width:900px}h1{font-size:3rem}select,button{padding:12px 24px;font-size:1.2rem;border-radius:8px}#timer{font-size:1.6rem;min-width:90px}#message{font-size:1.6rem;min-height:2rem}.instructions{font-size:1.1rem}#leaderboard h2{font-size:1.6rem;margin-bottom:12px}#leaderboard table{font-size:1.1rem}#leaderboard th,#leaderboard td{padding:10px 14px}#leaderboard .empty{padding:20px}.win-content h2{font-size:2.5rem}.win-content .win-time{font-size:1.5rem}.win-content button{font-size:1.2rem;padding:12px 32px}}
