@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";.keplio-screen{min-height:100dvh;display:grid;place-items:center;padding:24px}.keplio-card{width:min(100%,440px);padding:32px;border-radius:24px;background:#fff9f3;color:#3c2c24;box-shadow:0 16px 60px #593b281a}.keplio-pom{font-size:48px}.keplio-card h1{font-size:36px;margin:12px 0}.keplio-card p{line-height:1.6}.keplio-card form{display:grid;gap:16px;margin:24px 0}.keplio-card label{display:grid;gap:8px}.keplio-card input{width:100%;padding:12px;border:1px solid #cdb9a6;border-radius:10px;font:inherit}.keplio-card button,.keplio-bar button{padding:10px 16px;border:0;border-radius:10px;background:#69442e;color:#fff;cursor:pointer;font:inherit}.keplio-card button:disabled{opacity:.6}.keplio-card a,.keplio-bar a{color:#69442e}.keplio-error{color:#a12626}.keplio-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff9f3}.save-notice{margin:16px auto;padding:12px;max-width:800px;background:#fff0dc;border:1px solid #c88d49;border-radius:12px;color:#6b3d11}.save-notice button{margin-left:12px;padding:6px 10px}:root{--font-body: "DM Sans", sans-serif;--font-display: "Playfair Display", serif;--bg: #f6f1e7;--text: #2a3530;--text-muted: #7d8a7e;--green-deep: #243a33;--green-soft: #3d5d4d;--green-light: #b6dc91;--coral: #f29b70;--honey: #e6c94e;--lavender: #9276c9;--mint: #53b9a9;--peach: #e882d5;--sky: #7395c2;--rose: #bb7451;--tangerine: #e89c3f;--sage: #8ab06a;--red: #d52f32;--card-bg: rgba(255,253,249,.82);--border: rgba(220,216,205,.7);--shadow: 0 20px 60px rgba(71,75,56,.08);font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px}.app-shell{min-height:100vh;position:relative;overflow:hidden;padding:24px clamp(16px,5vw,64px) 48px;background:radial-gradient(circle at 90% 5%,#f0e6d5 0,transparent 30%),radial-gradient(circle at 10% 60%,#e8f0de 0,transparent 25%),var(--bg)}.ambient{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;z-index:0;opacity:.5}.ambient-1{width:280px;height:280px;background:var(--green-light);top:100px;left:-120px}.ambient-2{width:320px;height:320px;background:var(--coral);right:-160px;top:40%;opacity:.25}.ambient-3{width:220px;height:220px;background:var(--honey);left:30%;bottom:-80px;opacity:.2}.topbar,.hero,.rules-bar,.game-area,.level-map{position:relative;z-index:1;max-width:960px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:-.03em;color:var(--green-deep)}.brand strong{font-weight:700}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--green-deep);font-size:22px;transform:rotate(-6deg);box-shadow:0 4px 12px #243a3333}.lives-display{display:flex;gap:6px;font-size:36px}.life-emoji{display:inline-block;transition:transform .3s ease,opacity .3s ease}.life-emoji.alive{animation:bone-pulse 2s ease-in-out infinite}.life-emoji.lost{opacity:.3;filter:grayscale(1);transform:scale(.8)}.life-emoji.just-lost{animation:bone-lost 1.2s cubic-bezier(.22,1,.36,1) both}.lives-display.hit{animation:lives-shake .8s ease-in-out}@keyframes bone-lost{0%{transform:scale(1.5) rotate(-25deg);opacity:1;filter:none}30%{transform:scale(1.2) rotate(12deg);opacity:1;filter:none}55%{transform:scale(.95) rotate(-6deg);opacity:.8;filter:grayscale(.4)}80%{transform:scale(.85) rotate(3deg);opacity:.5;filter:grayscale(.8)}to{transform:scale(.8) rotate(0);opacity:.3;filter:grayscale(1)}}@keyframes lives-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){.life-emoji.just-lost,.lives-display.hit{animation:none}}@keyframes bone-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.hero{padding:clamp(36px,6vw,64px) 0 28px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:12px;color:var(--coral);margin:0 0 16px}.hero h1{margin:0;color:var(--green-deep);font:700 clamp(36px,6vw,64px)/1 var(--font-display);letter-spacing:-.04em}.hero h1 em{color:var(--coral);font-style:italic}.rules-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.rule-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--card-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rule-icon{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--green-deep);color:#e2f0ca}.rule-card strong{display:block;font-size:13px;color:var(--text);line-height:1.3}.rule-card p{margin:3px 0 0;font-size:11px;color:var(--text-muted);line-height:1.3}.game-area{padding:clamp(16px,3vw,28px);border-radius:24px;background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-info{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}.level-tag{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:11px;color:var(--text-muted)}.game-info h2{margin:0;font:600 clamp(22px,3.5vw,32px)/1.1 var(--font-display);color:var(--green-deep);letter-spacing:-.02em}.info-right{display:flex;align-items:center;gap:12px}.found-counter{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;background:#eef4e6}.found-emoji{font-size:18px}.found-counter strong{font-size:22px;color:var(--green-deep);letter-spacing:-.03em}.found-counter strong small{color:var(--text-muted);font-size:14px;font-weight:500}.reset-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:#ffffff80;color:var(--text-muted);transition:.2s ease}.reset-btn:hover{background:#fff;color:var(--green-deep);transform:rotate(-90deg)}.progress-bar{width:100%;height:6px;overflow:hidden;border-radius:10px;background:#e3e1d8;margin-bottom:20px}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-light),var(--sage));transition:width .4s cubic-bezier(.2,.8,.2,1)}.board-container{padding:16px;border-radius:20px;background:#f5f2eb}.board-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.start-hint{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px;font-weight:600}.start-dot{width:10px;height:10px;border-radius:50%;background:var(--green-light);box-shadow:0 0 0 4px #deefd1}.board{display:grid;gap:6px;width:min(100%,560px);margin:0 auto}.cell{aspect-ratio:1;container-type:inline-size;position:relative;display:grid;place-items:center;overflow:hidden;border:0;border-radius:10px;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.cell:hover:not(:disabled){transform:translateY(-3px) scale(1.02);filter:brightness(1.05);box-shadow:0 6px 14px #41433026;z-index:2}.cell:active:not(:disabled){transform:scale(.94)}.cell:disabled{cursor:default}.cell-lime{background:var(--green-light)}.cell-coral{background:var(--coral)}.cell-honey{background:var(--honey)}.cell-lavender{background:var(--lavender)}.cell-mint{background:var(--mint)}.cell-peach{background:var(--peach)}.cell-sky{background:var(--sky)}.cell-rose{background:var(--rose)}.cell-tangerine{background:var(--tangerine)}.cell-sage{background:var(--sage)}.cell-start{box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 2px #91bd7299;animation:start-breathe 2s ease-in-out infinite}.start-glow{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.4) 0,transparent 60%);pointer-events:none}@keyframes start-breathe{0%,to{box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 2px #91bd7299}50%{box-shadow:inset 0 0 0 3px #ffffffb3,0 0 0 5px #91bd7259}}.cell-found{cursor:default;opacity:1;box-shadow:inset 0 0 0 4px #fff,0 4px 12px #5f6f4d;animation:pop .4s ease both}.cell-found:disabled{opacity:1}.cell-just-found{animation:pop .4s ease both}.pom-emoji{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;font-size:calc((100cqw - 8px)*.8);line-height:1;text-shadow:0 2px 0 #5f6f4d;animation:pop .5s cubic-bezier(.2,.8,.2,1) both}@keyframes bounce-in{0%{opacity:0;transform:scale(.2) translateY(15px) rotate(-15deg)}60%{opacity:1;transform:scale(1.15) translateY(-3px) rotate(5deg)}to{opacity:1;transform:scale(1) translateY(0) rotate(0)}}@keyframes pop{0%{transform:scale(.85)}70%{transform:scale(1.06)}to{transform:scale(1)}}.cell-missed{cursor:default;animation:shake .3s ease both;filter:brightness(.88) saturate(.8)}.cell-missed:after{content:"";position:absolute;inset:0;background:#ffffff40;pointer-events:none}.cross-mark{position:relative;z-index:1;color:var(--red);font:600 clamp(32px,6vw,50px)/1 Arial,sans-serif;filter:drop-shadow(0 1px 3px rgba(255,255,255,.6));animation:cross-appear .3s ease both}@keyframes cross-appear{0%{opacity:0;transform:scale(2) rotate(45deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.board-foot{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0 0;color:var(--text-muted);font-size:12px}.bone-emoji{font-size:14px}.help-btn{display:none;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);font:600 12px var(--font-body);color:var(--green-deep);cursor:pointer;transition:.2s ease}.help-btn:hover{background:#eef4e6}.rules-card{width:min(100%,460px)}.rules-list{display:grid;gap:10px;margin:20px 0 24px;text-align:left}.mark-toggle{display:flex;align-items:center;gap:4px;padding:4px;border-radius:12px;background:#f5f2eb;border:1px solid var(--border);margin-bottom:14px}.mark-toggle-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 8px}.mark-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:0;border-radius:9px;font-size:13px;font-weight:600;color:var(--text-muted);background:transparent;transition:.2s ease}.mark-btn.active{background:var(--green-deep);color:#e2f0ca}.mark-btn:hover:not(.active){color:var(--green-deep);background:#ffffff80}.mark-emoji{position:relative;z-index:1;font-size:clamp(20px,3.5vw,30px);line-height:1;opacity:.85;animation:mark-appear .2s ease both;pointer-events:none}@keyframes mark-appear{0%{opacity:0;transform:scale(1.4)}to{opacity:.85;transform:scale(1)}}.cell-marked-cross{filter:brightness(.82) saturate(.7)}.cell-marked-cross:after{content:"";position:absolute;inset:0;background:#0000001f;pointer-events:none}.mark-cross{opacity:.5!important;filter:grayscale(.6)}.level-map{margin-top:32px}.level-map-header{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.nav-label{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:11px;color:var(--coral)}.level-map-header strong{color:var(--text-muted);font-size:13px;font-weight:600}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.level-tile{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);text-align:left;transition:.2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.level-tile:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #474b381a}.level-tile.current{border-color:var(--green-deep);box-shadow:0 0 0 2px var(--green-deep)}.level-tile.locked{opacity:.4}.level-tile.completed .tile-top{color:var(--sage)}.tile-top{display:flex;align-items:center;margin-bottom:10px;color:var(--text-muted)}.tile-num{font:700 18px var(--font-display);color:var(--green-deep)}.tile-name{font:600 14px/1.3 var(--font-body);color:var(--text);margin-bottom:6px}.tile-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted)}.tile-best{color:var(--coral);font-weight:700}.modal-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#243a3359;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-card{width:min(100%,420px);padding:36px 32px;border-radius:24px;background:#fffdf9;box-shadow:0 30px 80px #28322840;text-align:center;animation:slide-up .35s cubic-bezier(.2,.8,.2,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-emoji{font-size:56px;margin-bottom:12px;animation:bounce-in .6s cubic-bezier(.2,.8,.2,1) both}.modal-card h2{margin:0 0 10px;font:600 28px var(--font-display);color:var(--green-deep)}.modal-card>p{margin:0 0 20px;color:var(--text-muted);font-size:14px;line-height:1.5}.modal-card>p strong{color:var(--text)}.modal-stats{display:flex;justify-content:center;gap:24px;margin-bottom:24px;padding:16px;border-radius:16px;background:#f4f1e9}.modal-stats>div{display:flex;flex-direction:column;gap:4px}.modal-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.modal-stats strong{font-size:18px;color:var(--text)}.stat-lives{font-size:22px;letter-spacing:2px}.modal-actions{display:flex;gap:10px;justify-content:center}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:0;border-radius:12px;font-weight:700;font-size:14px;transition:.2s ease}.btn-primary{background:var(--green-deep);color:#fff}.btn-primary:hover{background:var(--green-soft);transform:translateY(-2px);box-shadow:0 6px 16px #243a3340}.btn-secondary{background:#eee9df;color:var(--text-muted)}.btn-secondary:hover{background:#e3e1d8;color:var(--text);transform:translateY(-2px)}.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--bg);color:var(--text-muted)}.loading-pom{font-size:48px;animation:loading-bounce 1s ease-in-out infinite}.loading-screen p{font-size:14px}@keyframes loading-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.mode-switcher{display:flex;gap:4px;padding:4px;border-radius:12px;background:#fffdf999;border:1px solid var(--border)}.mode-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:9px;font-size:13px;font-weight:600;color:var(--text-muted);background:transparent;transition:.2s ease}.mode-btn.active{background:var(--green-deep);color:#e2f0ca}.mode-btn:hover:not(.active){color:var(--green-deep);background:#ffffff80}.infinite-controls-inline{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 auto 16px;flex-wrap:wrap;width:min(100%,560px)}.infinite-sizes{display:flex;gap:8px;flex-wrap:wrap}.size-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 18px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);font:700 16px var(--font-display);color:var(--green-deep);transition:.2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.size-btn small{font:600 10px var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.size-btn.active{border-color:var(--green-deep);box-shadow:0 0 0 2px var(--green-deep);background:#eef4e6}.size-btn:hover:not(.active){transform:translateY(-2px);box-shadow:0 6px 14px #474b381a}.shuffle-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:0;border-radius:12px;background:var(--coral);color:#fff;font-weight:700;font-size:14px;transition:.2s ease}.shuffle-btn:hover{background:#e08855;transform:translateY(-2px);box-shadow:0 6px 16px #f29b704d}.infinite-stats-bar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.stat-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;background:#eef4e6;font-size:13px;color:var(--text-muted)}.stat-pill strong{color:var(--green-deep);font-weight:700}@media(max-width:700px){.app-shell{padding:12px 12px 16px}.topbar{padding:0 0 8px}.brand{font-size:17px;gap:8px}.brand-mark{width:34px;height:34px;font-size:18px;border-radius:11px}.hero,.rules-bar{display:none}.help-btn{display:inline-flex}.rule-card{padding:10px 12px}.game-area{padding:12px;border-radius:18px}.game-info{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title title" "lives actions";align-items:center;gap:8px 12px;margin-bottom:10px}.info-left{grid-area:title;min-width:0}.level-tag{margin-bottom:2px}.game-info h2{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lives-display{grid-area:lives;gap:4px;font-size:26px}.info-right{grid-area:actions;gap:8px}.found-counter{padding:6px 10px}.found-counter strong{font-size:18px}.infinite-controls-inline{flex-wrap:nowrap;gap:8px;margin-bottom:10px}.infinite-sizes{flex:1 1 auto;flex-wrap:nowrap;gap:6px;min-width:0}.size-btn{flex:1 1 0;min-width:0;padding:6px 4px;font-size:14px}.size-btn small{display:none}.shuffle-btn{flex:0 0 auto;padding:8px 10px;font-size:12px;white-space:nowrap}.board-container{padding:10px}.board-header{margin-bottom:8px;gap:8px}.start-hint{font-size:11px}.mark-toggle{flex-wrap:wrap;margin-bottom:0;padding:3px}.mark-toggle-label{display:none}.mark-btn{padding:6px 10px;font-size:12px}.board{width:min(100%,max(240px,calc(100dvh - 400px)));gap:4px}.cell{border-radius:7px}.board-foot{display:none}.level-grid{grid-template-columns:repeat(2,1fr);gap:8px}.level-tile{padding:12px}.tile-name{font-size:13px}.modal-card{padding:28px 20px}.modal-emoji{font-size:44px}.modal-card h2{font-size:24px}.mode-switcher{gap:2px;padding:3px}.mode-btn{padding:6px 10px;font-size:12px}.stat-pill{font-size:12px;padding:5px 10px}}
