:root{--felt: #1f6b46;--felt-dark: #16563a;--tile-face: #fbf7ec;--tile-edge: #d8cfb4;--tile-shadow: rgba(0, 0, 0, .35);--accent: #e8a13a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1c2b22;background:#f4f1e8}header.site{text-align:center;padding:18px 16px 6px}header.site h1{margin:0 0 4px;font-size:1.6rem}header.site p{margin:0;color:#5a6b60;font-size:.95rem}.toolbar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:10px}.toolbar button,.toolbar select{font-size:.95rem;padding:8px 14px;border:1px solid #c7bfa6;border-radius:8px;background:#fff;cursor:pointer}.toolbar button:hover{background:#fff7e8;border-color:var(--accent)}.toolbar .status{align-self:center;color:#5a6b60;font-size:.9rem}.toolbar .timer{align-self:center;font-variant-numeric:tabular-nums;font-weight:600;color:#3a463f;font-size:.95rem;min-width:3.5em;text-align:center}.toolbar .score{align-self:center;color:var(--accent);font-weight:600;font-size:.9rem}.stage{position:relative;margin:8px auto;width:min(960px,96vw);height:62vh;min-height:360px;background:radial-gradient(circle at 50% 35%,var(--felt),var(--felt-dark));border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 60px #0000004d}.board{position:relative;transform-origin:center center}.tile{position:absolute;width:48px;height:64px;border-radius:6px;background:linear-gradient(160deg,#fffdf6,var(--tile-face));border:1px solid var(--tile-edge);box-shadow:2px 3px #cec5a8,3px 5px 6px var(--tile-shadow);display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;transition:transform .12s ease,opacity .28s ease,box-shadow .12s ease}.tile .glyph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:5px 4px;line-height:0}.tile .glyph svg{display:block;width:100%;height:100%;pointer-events:none}.tile:not(.blocked):not(.removed):not(.selected):hover{transform:translateY(-2px);box-shadow:2px 4px #cec5a8,3px 7px 10px var(--tile-shadow)}.tile.blocked{filter:brightness(.82) saturate(.7);cursor:default}.tile.selected,.tile.selected:hover{outline:3px solid var(--accent);transform:translateY(-2px) scale(1.04);box-shadow:0 0 14px var(--accent),3px 5px 6px var(--tile-shadow)}.tile.hint{animation:hintPulse .4s ease 3 alternate}.tile.removed{opacity:0;transform:scale(1.15);pointer-events:none;transition:transform .25s ease-out,opacity .25s ease-out}@keyframes hintPulse{0%{box-shadow:3px 5px 6px var(--tile-shadow)}to{box-shadow:0 0 16px 4px #6fd08a;transform:scale(1.06)}}body.large-tiles .tile .glyph{padding:1px}footer.seo{max-width:760px;margin:24px auto 60px;padding:0 18px;color:#3a463f;line-height:1.6}footer.seo h2{font-size:1.2rem;margin-top:28px}footer.seo h3{font-size:1.02rem;margin-bottom:4px}.modal-overlay{position:fixed;inset:0;z-index:9999;background:#0000008c;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.visible{opacity:1;pointer-events:auto}.modal-overlay.visible .modal{transform:scale(1)}.modal{background:#fff;border-radius:16px;padding:32px 36px;text-align:center;box-shadow:0 12px 40px #0000004d;transform:scale(.85);transition:transform .3s ease;max-width:400px;width:90%}.modal h2{margin:0 0 20px;font-size:1.5rem;color:var(--felt)}.modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:12px;margin-bottom:24px}.modal-stats .stat{display:flex;flex-direction:column}.modal-stats .stat-val{font-size:1.5rem;font-weight:700;color:#1c2b22}.modal-stats .stat-label{font-size:.8rem;color:#7a8a7f;margin-top:2px}.modal-btn{font-size:1rem;padding:10px 24px;border:1px solid #c7bfa6;border-radius:10px;background:#fff;cursor:pointer;margin:0 6px}.modal-btn:hover{background:#fff7e8;border-color:var(--accent)}.modal-btn.primary{background:var(--felt);color:#fff;border-color:var(--felt)}.modal-btn.primary:hover{background:var(--felt-dark)}.site-nav{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid #e0ddd4;font-size:.9rem}.site-nav a{color:var(--felt);text-decoration:none}.site-nav a:hover{text-decoration:underline}
