.puzzle-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:14px 0 8px;padding:15px 17px;border:1px solid #c7af80;border-radius:16px;background:linear-gradient(120deg,#f8e7bb,#edf0d3);color:#61402b;text-align:left;box-shadow:0 3px 0 #d7c7a2}
.puzzle-entry b{display:block;font-size:16px}.puzzle-entry small{display:block;margin-top:5px;color:#786b4b;font-size:11px;line-height:1.5}.puzzle-entry>i{font-size:27px;font-style:normal}
.puzzle-game{position:relative;max-width:500px;margin:12px auto 24px;padding:16px;background:#fff8eb;border:1px solid #dec6a1;border-radius:22px;box-shadow:0 8px 30px #6d472514}
.puzzle-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.puzzle-heading>span{flex:1}.puzzle-heading b{display:block;font-size:17px}.puzzle-heading small{display:block;font-size:10px;color:#958264;margin-top:4px}.puzzle-heading button{flex-shrink:0}
.puzzle-ready{text-align:center;padding:18px 4px 6px}.puzzle-ready h2{font-size:25px;line-height:1.4;margin:12px 0}.puzzle-ready p{font-size:13px;line-height:1.8;margin:12px 0}.puzzle-ready .primary{width:100%;margin-top:10px}.puzzle-sample{display:flex;justify-content:center;gap:7px}.puzzle-sample span{width:65px;height:65px;background:#efd391;border-radius:16px;box-shadow:0 4px 0 #b88a56;display:grid;place-items:center}.puzzle-sample svg{width:57px;height:57px}
.puzzle-rule{font-size:11px;line-height:1.7;color:#837253;background:#f2ead7;border-radius:10px;padding:9px 12px}.puzzle-record{font-size:11px;line-height:1.7;color:#797c4e}
.puzzle-hud{display:flex;align-items:center;justify-content:space-between;margin:15px 0 10px;gap:10px}.puzzle-hud small{display:block;font-size:10px;color:#90775a}.puzzle-hud strong{font-family:Georgia,serif;font-size:30px;color:#b85830}.puzzle-hud .puzzle-combo{text-align:center}.puzzle-combo strong{font-size:22px;color:#6a7f43}.puzzle-hud .puzzle-time{text-align:right}.puzzle-time strong{font-size:24px;color:#765b40}.puzzle-time.urgent strong{color:#b4472b}
.puzzle-time-track{height:5px;background:#eadbc3;border-radius:5px;overflow:hidden}.puzzle-time-track i{height:100%;background:#83975c;display:block;transition:width .12s linear}
.puzzle-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0;padding:9px;background:#dbc3a1;border:4px solid #b79871;border-radius:20px;touch-action:manipulation}
.puzzle-cell{position:relative;min-width:0;aspect-ratio:1;padding:2px;border:2px solid #ffffff80;border-radius:13px;box-shadow:0 3px 0 #865d3955;cursor:pointer;touch-action:manipulation;transition:transform .14s,box-shadow .14s;animation:puzzle-arrive .2s both}
.puzzle-cell svg{width:100%;height:100%;display:block;pointer-events:none}.puzzle-cell .puzzle-symbol{position:absolute;right:2px;bottom:1px;font-size:10px;color:#483624;pointer-events:none;line-height:1}
.puzzle-cell.color-0{background:#eacb81}.puzzle-cell.color-1{background:#cfdfb8}.puzzle-cell.color-2{background:#f0c0b5}.puzzle-cell.color-3{background:#d6c9e7}
.puzzle-cell.group-highlight,.puzzle-cell.first-hint{border-color:#fff7ce;outline:2px solid #71884b;outline-offset:-1px;box-shadow:0 0 9px #fff4b4,0 3px 0 #865d3955;transform:scale(1.04)}
.puzzle-cell:focus-visible{outline:3px solid #493c2d;outline-offset:1px;z-index:1}.puzzle-cell.puzzle-popping{animation:puzzle-pop .15s forwards}.puzzle-cell.too-small{animation:puzzle-wobble .25s}
.puzzle-charge{display:flex;align-items:center;gap:10px;background:#eee8d2;padding:9px 11px;border-radius:12px}.puzzle-charge p{flex:1;margin:0;font-size:10px;line-height:1.7;color:#776143}.puzzle-charge button{min-height:45px;border-radius:10px;padding:9px 15px;font-size:13px;font-weight:bold;color:#fff8df;background:#b45b31;box-shadow:0 3px 0 #934827}.puzzle-charge.charged{background:#f8e6a9}.puzzle-charge.charged button{background:#a45328;animation:puzzle-ready-glow 1.1s infinite alternate}
.puzzle-feedback{min-height:36px;margin:11px 0 0;line-height:1.65;font-size:12px;color:#716447}.puzzle-game.fever{border-color:#d6ac47;box-shadow:0 0 22px #edc55b40}.puzzle-game.fever .puzzle-combo strong{color:#b86b1f}.puzzle-chain-track{height:3px;margin:5px auto 0;width:55px;background:#e6d8b8;border-radius:3px;overflow:hidden}.puzzle-chain-track i{display:block;height:100%;background:#bf8340}
.puzzle-playing .howto,.puzzle-playing .collection,.puzzle-playing .recipe,.playing .badge-collection{display:none}.puzzle-playing .app{max-width:560px;padding:12px}.puzzle-playing .compact-result .score b{font-size:48px}.puzzle-playing #result-mascot{width:65px;height:65px;margin:8px auto}.puzzle-playing #result-title{font-size:25px}
.badge-collection{margin:24px 0;background:#fff8eb;padding:20px;border:1px solid #e0caaa;border-radius:20px}.badge-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge-heading h2{font-size:19px;margin:0}.badge-heading span{font-size:12px;color:#7b8658}.badge-collection>p{font-size:11px;color:#967d60;line-height:1.6}.badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.badge-item{border:1px dashed #d6c7b3;border-radius:12px;padding:11px;background:#f1ebdf;opacity:.78}.badge-item.earned{border-style:solid;border-color:#b8c491;background:#edf1dd;opacity:1}.badge-item>span{font-size:24px;display:block;margin-bottom:5px}.badge-item b{font-size:12px;display:block}.badge-item small{font-size:10px;line-height:1.55;color:#84745b;display:block;margin-top:4px}.badge-item em{display:block;font-size:9px;color:#748248;margin-top:5px;font-style:normal}.result-badges{margin:9px 0;color:#6c7e43;font-size:11px;line-height:1.7}.order .customer-request{font-size:9px;font-weight:normal;color:#8d775b;line-height:1.5;margin:4px 0;display:block;min-height:26px}
@keyframes puzzle-arrive{from{transform:translateY(-10px);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes puzzle-pop{to{transform:scale(1.25);opacity:0}}@keyframes puzzle-wobble{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes puzzle-ready-glow{to{box-shadow:0 0 12px #cc913e,0 3px 0 #934827}}
@media(max-width:380px){.puzzle-game{padding:12px}.puzzle-board{gap:5px;padding:6px;border-width:3px}.puzzle-cell{border-radius:10px}.puzzle-heading b{font-size:15px}.puzzle-heading .icon{font-size:10px}.puzzle-charge{gap:7px;padding:8px}.puzzle-charge button{padding:8px 12px}.badge-collection{padding:15px}}
@media(prefers-reduced-motion:reduce){.puzzle-cell,.puzzle-cell.puzzle-popping,.puzzle-cell.too-small,.puzzle-charge.charged button{animation:none;transition:none}.puzzle-time-track i{transition:none}}
