.kmg-wrap{max-width:620px;margin:24px auto;position:relative;font-family:system-ui,sans-serif}.kmg-head{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.kmg-head div{background:#111;color:#fff;border-radius:12px;padding:8px;text-align:center}.kmg-head span{display:block;font-size:12px;opacity:.75}.kmg-head strong{font-size:22px}.kmg-orders{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;background:#f4f4f4;padding:10px;border-radius:12px;margin-bottom:10px}.kmg-orders span{font-size:20px}.kmg-orders i{font-style:normal;font-size:13px}.kmg-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;background:#2b2b2b;padding:6px;border-radius:14px;touch-action:pan-y;user-select:none}.kmg-tile{aspect-ratio:1;border:0;border-radius:9px;background:#fff;font-size:clamp(22px,7vw,38px);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:transform .14s,opacity .14s}.kmg-tile.sel{outline:4px solid #e31b23;transform:scale(.9)}.kmg-tile.pop{transform:scale(.15);opacity:.1}.kmg-message{text-align:center;min-height:26px;font-weight:700;padding:10px}.kmg-new,.kmg-again{display:block;margin:6px auto;background:#e31b23;color:#fff;border:0;border-radius:9px;padding:12px 20px;font-weight:800}.kmg-end{position:absolute;z-index:5;inset:80px 15px auto;background:#fff;border:4px solid #111;border-radius:16px;padding:28px;text-align:center;box-shadow:0 10px 35px #0006}.kmg-end[hidden]{display:none!important}.kmg-final{font-size:42px}.kmg-note{text-align:center;font-size:13px}.kmg-leader{max-width:620px;margin:20px auto}.kmg-leader ol{padding-left:28px}.kmg-leader li{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:7px}
@media(max-width:430px){.kmg-board{gap:3px;padding:4px}.kmg-orders{gap:6px}.kmg-tile{border-radius:6px}}

.kmg-tile.kmg-drop{animation:kmg-drop-in .26s cubic-bezier(.2,.8,.25,1) both;animation-delay:var(--drop-delay,0ms)}
@keyframes kmg-drop-in{from{transform:translateY(-90px);opacity:.15}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.kmg-tile.kmg-drop{animation:none}}
.kmg-name-form{margin:14px auto;max-width:320px}.kmg-name-form label{display:block;font-weight:700}.kmg-player-name{box-sizing:border-box;width:100%;margin:7px 0 9px;padding:11px 12px;border:1px solid #bbb;border-radius:8px;font-size:16px}.kmg-name-form button{min-height:44px;padding:10px 16px}.kmg-name-form[hidden]{display:none!important}

.kmg-time.urgent{color:#ff6b6b;animation:kmg-pulse .65s ease-in-out infinite alternate}@keyframes kmg-pulse{to{transform:scale(1.12)}}
@media(max-width:430px){.kmg-head strong{font-size:19px}.kmg-head{gap:5px}}
@media(prefers-reduced-motion:reduce){.kmg-time.urgent{animation:none}}

.kmg-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.kmg-controls .kmg-new{margin:6px 0}.kmg-sound{margin:6px 0;background:#111;color:#fff;border:0;border-radius:9px;padding:12px 16px;font-weight:800;min-height:44px}.kmg-sound:focus-visible{outline:3px solid #e31b23;outline-offset:2px}
.kmg-help{margin:6px 0;background:#fff;color:#111;border:2px solid #111;border-radius:9px;padding:10px 16px;font-weight:800;min-height:44px}.kmg-help:focus-visible,.kmg-start:focus-visible{outline:3px solid #e31b23;outline-offset:2px}.kmg-instructions{position:absolute;z-index:10;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:70px 12px 12px;background:#0009;border-radius:16px}.kmg-instructions[hidden]{display:none!important}.kmg-instructions-card{width:min(100%,460px);background:#fff;border:4px solid #111;border-radius:16px;padding:22px;box-shadow:0 10px 35px #0006}.kmg-instructions-card h2{text-align:center;margin:0 0 14px}.kmg-instructions-card ul{margin:0 0 14px;padding-left:22px}.kmg-instructions-card li{margin:9px 0;line-height:1.35}.kmg-instructions-card p{text-align:center;font-weight:700}.kmg-start{display:block;width:100%;background:#e31b23;color:#fff;border:0;border-radius:9px;padding:13px 18px;font-weight:900;font-size:17px;min-height:48px}@media(max-width:430px){.kmg-instructions{padding-top:54px}.kmg-instructions-card{padding:18px}.kmg-instructions-card li{margin:7px 0}}
