:root{--max-width:1240px;--gutter:24px;--radius-hero:28px;--radius-card:24px;--radius-pill:999px;--clr-primary-1:#2AA3FF;--clr-primary-2:#0066FF;--clr-accent:#FFD45A;--clr-success:#27D07D;--bg-top:#E7F4FF;--bg-bottom:#F7FBFF;--shadow-card: 0 10px 24px rgba(23,63,136,.16);--shadow-card-hover: 0 16px 40px rgba(23,63,136,.22);--outline-soft: 1px solid rgba(30,115,190,.14);--font-head: "Fredoka", sans-serif;--font-body: "Nunito", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;display:flex;justify-content:center;align-items:center;min-width:320px;min-height:100vh;font-family:var(--font-body);background:linear-gradient(135deg,#f0f8ff,#e6f0ff,#d9e7ff)}h1{font-family:var(--font-head);font-size:2.5em;line-height:1.1;color:#ff6b6b;text-shadow:2px 2px 4px rgba(0,0,0,.1);margin-bottom:1.5rem;text-align:center}#app{width:100%;max-width:1000px;margin:0 auto;padding:1rem}.puzzle-container{display:flex;flex-direction:column;align-items:center;background-color:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a;border:8px solid #5d9cec;width:100%}.puzzle-game-container{display:flex;width:100%;max-width:1000px;margin:0 auto 2rem;gap:20px}.puzzle-board{position:relative;flex:1;aspect-ratio:1;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.puzzle-mini-boxes{display:flex;flex-direction:column;justify-content:space-between;width:120px;padding:10px}.mini-box{height:100px;background-color:#f8f8f8;border:2px dashed #5d9cec;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 5px #0000001a}.mini-box:hover{transform:scale(1.05);box-shadow:0 4px 8px #00000026;border-color:#ff6b6b}.mini-box:last-child{margin-bottom:0}.puzzle-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:.2;z-index:1;border-radius:10px}.puzzle-pieces{position:relative;display:grid;width:100%;height:100%;z-index:2}.puzzle-piece{position:relative;width:100%;height:100%;background-size:cover;background-position:center;cursor:grab;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.5)}.puzzle-piece:hover{transform:scale(.98);box-shadow:0 0 10px #5d9cecb3;z-index:10}.puzzle-piece.dragging{opacity:.8;z-index:100;cursor:grabbing}.puzzle-piece.correct{border:2px solid #66bb6a;box-shadow:0 0 10px #66bb6ab3}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;width:100%}button{border-radius:50px;border:none;padding:.8em 1.5em;font-size:1.2em;font-weight:700;font-family:var(--font-head);cursor:pointer;transition:transform .2s,box-shadow .2s;color:#fff;background-color:#5d9cec;box-shadow:0 4px 8px #0000001a}button:hover{transform:scale(1.05);box-shadow:0 6px 12px #00000026}button:active{transform:scale(.98)}#start-button{background-color:#66bb6a}#reset-button{background-color:#ff6b6b}.difficulty{display:flex;align-items:center;gap:.5rem;background-color:#fff;padding:.5rem 1rem;border-radius:50px;box-shadow:0 4px 8px #0000001a}.difficulty label{font-weight:700;color:#5d9cec}#difficulty-select{padding:.5rem;border:2px solid #5d9cec;border-radius:5px;font-family:inherit;font-size:1rem;cursor:pointer;outline:none}.celebration{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffffe6;display:flex;justify-content:center;align-items:center;z-index:1000;animation:confetti 1s ease-in-out;background-image:radial-gradient(circle,#ff6b6b 10px,transparent 10px),radial-gradient(circle,#5d9cec 15px,transparent 15px),radial-gradient(circle,#ffd166 20px,transparent 20px),radial-gradient(circle,#66bb6a 15px,transparent 15px),radial-gradient(circle,#ff6b6b 18px,transparent 18px);background-size:10% 10%}.celebration-content{background-color:#fff;padding:2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #0003;border:8px solid #66bb6a;animation:bounce .5s ease-in-out}.celebration-content h2{color:#ff6b6b;font-size:3em;margin-bottom:.5rem}.celebration-content p{color:#5d9cec;font-size:1.5em;margin-bottom:1.5rem}.play-again{background-color:#66bb6a;font-size:1.5em;padding:1em 2em}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes confetti{0%{background-position:0% 0%}to{background-position:100% 100%}}@media (max-width: 768px){.puzzle-container{padding:1rem}h1{font-size:2em}button,.btn-play,.link-button{font-size:1em}button{padding:.6em 1.2em}.controls,.puzzle-game-container{flex-direction:column;align-items:center}.puzzle-board{aspect-ratio:1;width:100%}.puzzle-mini-boxes{flex-direction:row;width:100%;padding:10px 0;margin-top:15px;justify-content:space-between;gap:10px}.mini-box{width:18%;height:80px;margin-bottom:0}.difficulty{width:100%;justify-content:center}}.memory-container{display:flex;flex-direction:column;align-items:center;background:#fff;border:8px solid #5d9cec;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a}.memory-stats{display:flex;gap:2rem;margin:.5rem 0 1rem;color:#5d9cec;font-weight:700}.memory-board{width:100%;max-width:800px;aspect-ratio:4 / 3;display:grid;gap:10px;background:#eaf2ff;padding:10px;border-radius:16px;box-shadow:inset 0 0 10px #0000000d}.mem-card{position:relative;border:none;border-radius:12px;background:#5d9cec;color:#fff;cursor:pointer;perspective:600px;transform-style:preserve-3d;transition:transform .2s ease}.mem-card .mem-front,.mem-card .mem-back{position:absolute;inset:0;display:grid;place-items:center;border-radius:12px;font-size:clamp(36px,8vw,72px);backface-visibility:hidden}.mem-card .mem-back img{width:80%;height:80%;object-fit:contain}.mem-card .mem-back .mem-emoji-fallback{display:none}.mem-card .mem-front{background:linear-gradient(180deg,#48a4ff,#2f8df1);color:#fff;box-shadow:inset 0 6px 10px #ffffff40,inset 0 -6px 10px #00000014}.mem-card .mem-back{background:#fff;border:3px solid #5d9cec;transform:rotateY(180deg)}.mem-card.flipped .mem-front{transform:rotateY(180deg)}.mem-card.flipped .mem-back{transform:rotateY(0)}.mem-card.matched{border:3px solid #66bb6a;background:#66bb6a;animation:pulse .4s ease}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mem-title{font-family:var(--font-head);font-size:clamp(32px,6vw,56px);color:#ffb703;-webkit-text-stroke:1px #0b5aa7;text-shadow:0 3px 0 rgba(0,0,0,.12);margin-bottom:.25rem}.mem-modes{display:flex;gap:12px;margin-bottom:14px}.mem-diff-btn{border-radius:16px;padding:.5em 1.1em;font-weight:900;color:#fff;border:3px solid rgba(0,0,0,.08);box-shadow:0 6px 12px #0000001f;text-transform:uppercase;font-family:var(--font-head)}.mem-diff-btn.easy{background:linear-gradient(180deg,#ffb703,#ff9800)}.mem-diff-btn.medium{background:linear-gradient(180deg,#69b7ff,#4796ff)}.mem-diff-btn.hard{background:linear-gradient(180deg,#ff6b6b,#ff3d3d)}.mem-diff-btn[aria-pressed=true]{outline:3px solid #fff;box-shadow:0 0 0 3px #2f8df1,0 6px 12px #0003}.mem-bottom-bar{width:100%;max-width:900px;margin-top:12px;background:#fff;border:6px solid #5d9cec;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;box-shadow:0 8px 20px #00000014}.mem-time{display:flex;align-items:center;gap:6px;color:#0f4c81;font-weight:900}.mem-time .label{background:#e3f2ff;color:#0f4c81;padding:4px 8px;border-radius:10px;font-size:.9rem}.mem-score{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#0f4c81;font-weight:800}.mem-score .stars{font-size:22px;letter-spacing:2px;margin-bottom:2px}.mem-actions{display:flex;align-items:center;gap:12px}.btn-play{background:linear-gradient(180deg,#ffc94d,#f8a621);color:#5a3500;font-weight:900;padding:.8em 2.2em;border-radius:16px;border:3px solid rgba(0,0,0,.05);box-shadow:0 8px 16px #ffa50059;font-family:var(--font-head);text-decoration:none;display:inline-block;font-size:1.2em}.btn-home{background:linear-gradient(180deg,#69b7ff,#4796ff);color:#fff;box-shadow:0 8px 16px #4796ff59}.btn-round{width:54px;height:54px;border-radius:999px;display:inline-block;position:relative}.btn-reset{background:radial-gradient(circle at 35% 35%,#fdd,#ff6b6b);box-shadow:inset 0 -4px 10px #0000001f,0 8px 16px #00000026}.btn-reset:before{content:"↺";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:26px;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.15)}.link-button{display:inline-block;background:#ffb74d;color:#fff;text-decoration:none;padding:.8em 1.5em;border-radius:50px;font-weight:700;font-family:var(--font-head);font-size:1.2em}body.landing{align-items:flex-start}#app.landing-app{max-width:1200px;width:100%;padding:0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(90deg,#c2e9ff,#a1d3ff);border:8px solid #5d9cec;border-radius:16px;padding:12px 16px;margin:16px 10px;box-shadow:0 10px 30px #00000014}@media (max-width: 768px){.site-header{flex-direction:column;padding:16px;margin:10px;border-width:6px;gap:12px}.nav,.nav-cta{width:100%;justify-content:center;flex-wrap:wrap}.search{flex-grow:1;min-width:100px}}.brand{display:flex;align-items:center;gap:10px}.brand-badge{font-size:24px}.brand-name{font-weight:900;font-size:24px;color:#ff6b6b;text-shadow:1px 1px rgba(0,0,0,.1);font-family:var(--font-head)}.nav{display:flex;gap:12px}.nav a{color:#0f4c81;text-decoration:none;font-weight:700;padding:8px 10px;border-radius:10px}.nav a[aria-current=page]{background:#fffa}.nav-cta{display:flex;align-items:center;gap:10px}.search{background:#fff;border:none;padding:8px 10px;border-radius:12px;min-width:140px;box-shadow:inset 0 2px #0000000f}.avatar{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#ffd166;box-shadow:0 3px 8px #0000001a}.pill{display:inline-block;background:#00b894;color:#fff;text-decoration:none;padding:10px 16px;border-radius:999px;font-weight:800;box-shadow:0 4px 10px #0000001f}.top-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;margin:0 10px}.sidebar{background:linear-gradient(180deg,#e3f5ff,#cfe9ff);border:8px solid #5d9cec;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:10px}.sidebar .cat{display:flex;align-items:center;gap:8px;background:#fff;color:#0f4c81;padding:10px;border-radius:12px;border:2px solid #d0e8ff;box-shadow:0 3px 8px #0000000f;font-weight:800;text-decoration:none}.sidebar .cat span{width:28px;height:28px;display:grid;place-items:center;background:#e8f5ff;border-radius:8px}.sidebar .cat.fav{background:#fff6e0}@media (max-width: 900px){.top-layout{grid-template-columns:1fr;margin:0 10px}.sidebar{order:2;flex-direction:row;overflow-x:auto;padding:10px}}@media (max-width: 640px){.sidebar{border-width:6px}}.hero{position:relative;min-height:360px;margin:0;border:none;border-radius:24px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;z-index:0;background:none}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:none}.hero-content{position:relative;z-index:2;padding:24px;max-width:760px;text-align:center;margin:0 auto}.hero .eyebrow{color:#fff;background:#00bcd4;display:inline-block;padding:6px 12px;border-radius:999px;font-weight:800;margin-bottom:8px;box-shadow:0 3px 8px #00000026}.hero h1{color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.12);font-size:clamp(28px,5vw,44px);margin-bottom:.25rem}.hero .subtitle{color:#eff8ff;font-weight:600;margin-bottom:1rem}.hero-actions{display:flex;gap:10px}.hero--pirate{background-image:radial-gradient(70% 40% at 55% 68%,rgba(255,255,255,.18),transparent 60%),radial-gradient(40% 25% at 25% 25%,rgba(255,255,255,.22),transparent 65%),url(/pirate2.jpg),linear-gradient(180deg,#7ff1ff,#3fd5ff 36%,#00b6ff 58%,#008ef0);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;background-position:center 70%,18% 22%,right center,center;background-size:120% 100%,80% 80%,115% auto,cover;box-shadow:0 16px 40px #0050a040}.hero--pirate .hero-content{padding-right:0;margin:0 auto;text-align:center}@media (min-width: 900px){.hero.hero--pirate{min-height:420px}}@media (max-width: 768px){.hero.hero--pirate{min-height:300px;background-position:-8% 22%,12% 68%,center,center;background-size:220px 150px,180px 135px,100% auto,cover}.hero--pirate .hero-content{padding-right:0}}.btn{display:inline-block;background:#ffb74d;color:#fff;text-decoration:none;padding:.8em 1.4em;border-radius:999px;font-weight:800;box-shadow:0 6px 14px #0000001f}.btn.primary{background:#66bb6a}.btn.small{padding:.6em 1.1em}.btn.tiny{padding:.35em .8em;font-size:.9em}.content{padding:32px 16px}.section-title{color:#0f4c81;font-size:1.6rem;margin:8px 0 16px 6px}.games-grid{display:flex;gap:44px;justify-content:center;max-width:var(--max-width);margin:40px auto;padding:0 16px;flex-wrap:wrap}@media (max-width: 900px){.games-grid{gap:20px}}.game-card{width:calc(50% - 22px);min-width:280px;border-radius:var(--radius-card);overflow:hidden;background:#fff;box-shadow:var(--shadow-card);transition:.24s;display:flex;flex-direction:column}.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}@media (max-width: 640px){.game-card{width:100%;min-width:unset}}.card-img{width:100%;height:180px;object-fit:cover;display:block}.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:flex-start;text-align:center}.card-body h3,.card-body h4{color:#0f4c81;font-weight:900;text-align:center}.game-card .rating{margin-top:4px;font-size:16px;justify-content:center}.card-body .btn{align-self:center}.site-footer{text-align:center;margin:10px;background:#fff;border:8px solid #5d9cec;border-radius:16px;padding:12px}.footer-actions{display:flex;justify-content:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.credits{font-size:.85rem;color:#5d9cec}@media (max-width: 640px){.site-footer{border-width:6px;padding:16px 10px}}@media (max-width: 768px){.site-header{margin:10px}}.search:disabled{opacity:.6;pointer-events:none;cursor:not-allowed}@media (max-width: 640px){.meta h3{font-size:1.2rem}.thumb img{height:240px}}body.landing{background:radial-gradient(18px 18px at 14% 12%,rgba(255,255,255,.8) 0 40%,transparent 41%) 0 0/120px 120px,radial-gradient(14px 14px at 80% 30%,rgba(255,255,255,.7) 0 40%,transparent 41%) 0 0/160px 160px,linear-gradient(135deg,#dff4ff,#eaf7ff 40%,#d9eeff)}.nav a{background:linear-gradient(180deg,#fffc,#fff);border:2px solid #b7ddff;box-shadow:0 4px 10px #00000014;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.nav a:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 16px #0000001f}.pill,.btn.primary{background:linear-gradient(180deg,#38f3a6,#10c996);box-shadow:0 10px 18px #10c99659,0 0 0 3px #fff9 inset}.pill:hover,.btn.primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn{transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.btn.glow{box-shadow:0 14px 24px #00000029,0 0 20px #ffffff73 inset}.btn.jumbo{font-size:1.25rem;padding:1em 1.9em}.btn.outline{background:transparent;color:#fff;border:3px solid rgba(255,255,255,.85)}.btn.outline:hover{background:#ffffff26}.sidebar .cat{transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.sidebar .cat:hover{transform:translate(4px);box-shadow:0 10px 18px #0000001f;background:#f7fbff}.sidebar .cat-ico{width:28px;height:28px;border-radius:8px;background:#e8f5ff;padding:4px;box-shadow:inset 0 2px #0000000f}.game-card{position:relative;transition:transform .2s ease,box-shadow .25s ease}.game-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px #00000029}.game-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0%,transparent 60%,rgba(255,255,255,.3) 70%,transparent 80%);transform:translate(-100%);transition:transform .6s ease}.game-card:hover:after{transform:translate(0)}.card-body{flex-direction:column;align-items:flex-start;gap:6px}.card-body .desc{color:#446b93;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:600}.rating{display:flex;gap:2px;font-size:18px;color:#ffb400;text-shadow:0 1px 0 rgba(0,0,0,.12)}.rating .half{opacity:.5}.site-footer{background:linear-gradient(180deg,#fff,#f4fbff);border-color:#75bfff}.footer-actions .btn.tiny{background:linear-gradient(180deg,#a9d5ff,#6db9ff);color:#0f2b54;box-shadow:0 6px 14px #0078ff2e}.footer-actions .btn.tiny:hover{transform:translateY(-1px)}@media (max-width: 480px){.hero-actions{gap:8px}.btn.jumbo{font-size:1rem;padding:.75em 1.15em}}:root{--font-heading: "Fredoka", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-body: "Nunito", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--heading-hero-d: 64px;--heading-hero-t: 40px;--heading-hero-m: 32px;--max-w: 1240px;--gutter: 24px;--sidebar-w: 260px;--space-section: 40px;--pad-sm: 20px;--pad-md: 24px;--pad-lg: 32px;--clr-primary-1: #2AA3FF;--clr-primary-2: #0066FF;--clr-accent: #FFD45A;--clr-success: #27D07D;--clr-surface: #FFFFFF;--clr-subtle-border: #E9F1FF;--clr-outline: rgba(30,115,190,.14);--bg-top: #E7F4FF;--bg-bottom: #F7FBFF;--radius-24: 24px;--radius-28: 28px;--radius-pill: 999px;--radius-img: 16px;--shadow-card: 0 10px 24px rgba(23, 63, 136, .16), inset 0 1px 0 rgba(255,255,255,.7);--shadow-card-hover: 0 16px 40px rgba(23,63,136,.22)}body.landing{font-family:var(--font-body);color:#133764;background:radial-gradient(2px 2px at 12% 8%,rgba(0,0,0,.03) 0 50%,transparent 51%) 0 0/18px 18px,linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}.landing-app{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.site-header{margin:16px 0;gap:12px}.brand-name{font-family:var(--font-heading)}.top-layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;gap:16px;margin:0 auto;align-items:stretch}@media (max-width: 900px){.top-layout{grid-template-columns:1fr}}.sidebar{background:var(--clr-surface);outline:1px solid var(--clr-outline);border-radius:var(--radius-24);padding:var(--pad-sm);box-shadow:var(--shadow-card);border:none}.sidebar .cat{display:flex;align-items:center;gap:12px;background:#fff;color:#174a7e;padding:10px 12px;border-radius:var(--radius-pill);outline:1px solid var(--clr-outline);border:none;box-shadow:inset 0 1px #ffffffb3;text-decoration:none;font-weight:700}.sidebar .cat span,.sidebar .cat-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#eef6ff;box-shadow:inset 0 2px #ffffffb3}.sidebar .cat:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.sidebar .cat.play{background:linear-gradient(180deg,#eafff4,#fff)}.sidebar .cat.active,.sidebar .cat:focus-visible{background:linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2));color:#fff}.hero{position:relative;border-radius:var(--radius-28);overflow:hidden;min-height:420px;display:flex;align-items:center;justify-content:flex-start}.hero--pirate{background-image:url(/pirate2.jpg);background-size:cover;background-position:70% 50%;box-shadow:var(--shadow-card)}.hero-glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:14px 20px;margin-left:var(--pad-lg)}.hero-content{padding:0;max-width:720px}.hero .eyebrow{color:#0b57d0;background:#ffffffe6;font-weight:700;padding:6px 12px;border-radius:var(--radius-pill);display:inline-block}.hero h1{font-family:var(--font-heading);font-weight:700;letter-spacing:-.02em;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.15);font-size:clamp(var(--heading-hero-m),5.5vw,var(--heading-hero-d))}.hero .subtitle{color:#f5fbff;font-weight:600}.hero-actions{margin-top:10px;display:flex;gap:12px}@media (max-width: 768px){.hero{justify-content:center;min-height:360px}.hero-glass{margin:0 var(--pad-md)}.hero-actions{justify-content:center}}.btn{border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:700;border:none;outline:1px solid transparent;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.btn.primary,.btn.cta-primary{background:linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2));color:#fff;box-shadow:0 12px 24px #0066ff47,inset 0 2px #ffffff59}.btn.secondary,.btn.outline{background:var(--clr-success);color:#fff;box-shadow:0 10px 20px #27d07d47,inset 0 2px #ffffff59;border:none}.btn.soft-outline{background:transparent;color:#0b57d0;outline:1px solid var(--clr-outline)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.games-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}@media (max-width: 1024px){.games-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.games-grid{grid-template-columns:1fr}}.game-card{background:var(--clr-surface);border-radius:var(--radius-24);outline:1px solid var(--clr-outline);box-shadow:var(--shadow-card);border:none}.card-img{height:200px;object-fit:cover;border-top-left-radius:var(--radius-img);border-top-right-radius:var(--radius-img);overflow:clip}.card-body{padding:var(--pad-md);display:flex;flex-direction:column;gap:8px}.card-body h3,.card-body h4{font-family:var(--font-heading);font-weight:600;font-size:20px}.desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card .btn.play{background:var(--clr-success);color:#fff;align-self:flex-start;margin-top:auto;box-shadow:0 12px 22px #27d07d4d,inset 0 2px #ffffff59}.site-header{background:linear-gradient(90deg,var(--bg-top),var(--bg-bottom));border:none;outline:var(--outline-soft);border-radius:20px;padding:12px 16px;margin:16px 0;box-shadow:var(--shadow-card)}.site-footer{outline:var(--outline-soft);border:none;border-radius:20px;box-shadow:var(--shadow-card)}.content{padding:var(--pad-lg) 0;margin-top:var(--space-section)}.section-title{margin:0 0 var(--pad-md)}#hero.hero{position:relative;width:100%;height:720px;border-radius:24px;overflow:hidden;background:url(/assets/hero-banner.webp) center/cover no-repeat;box-shadow:0 12px 32px #173f8840}#hero .hero-content{position:absolute;top:50%;left:10%;transform:translateY(-50%);color:#fff;text-shadow:0 3px 8px rgba(0,0,0,.25)}#hero h1{font-family:Fredoka,sans-serif;font-size:64px;margin-bottom:16px}#hero .hero-buttons{display:flex;gap:12px}.sidebar .sidebar-item{display:flex;align-items:center;gap:10px;background:#ffffffe6;border-radius:18px;padding:10px 14px;box-shadow:0 3px 8px #0000001a;transition:all .25s ease;text-decoration:none;color:#174a7e}.sidebar .sidebar-item:hover{background:linear-gradient(90deg,#2aa3ff,#06f);color:#fff;transform:translate(3px)}#games.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 16px;background-image:radial-gradient(ellipse 70px 24px at 14% 18%,rgba(255,255,255,.5) 0 55%,transparent 57%),radial-gradient(ellipse 95px 32px at 72% 78%,rgba(255,255,255,.42) 0 55%,transparent 57%),linear-gradient(180deg,#e9f8ff,#f8fcff);background-size:contain;border-radius:24px}@media (max-width: 1024px){#games.game-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){#games.game-grid{grid-template-columns:1fr}}#games .game-card{border-radius:24px;background:#fff;box-shadow:0 10px 24px #173f8829;transition:.3s;overflow:hidden;text-align:center;padding-bottom:16px}#games .game-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #173f8838}#games .game-card img{width:100%;border-top-left-radius:24px;border-top-right-radius:24px;display:block}#games .game-card h3{font-family:Fredoka,sans-serif;color:#0f4c81;margin:12px 0 6px}#games .game-card .rating{margin-bottom:10px}.btn-play{display:inline-block;padding:10px 20px;border-radius:16px;background:linear-gradient(180deg,#2aa3ff,#06f);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 10px 18px #0066ff47;font-size:1.2em}.btn-play.success{background:linear-gradient(180deg,#27d07d,#00b86c)}.btn-play.warning{background:linear-gradient(180deg,#ffd45a,#ffb900);color:#4a2f00}.btn-outline{display:inline-block;padding:10px 20px;border-radius:16px;border:2px solid rgba(255,255,255,.9);color:#fff;text-decoration:none;font-weight:800}@media (max-width: 1024px){#hero h1{font-size:var(--heading-hero-t)}}@media (max-width: 640px){#hero h1{font-size:var(--heading-hero-m)}}@media (max-width: 900px){.sidebar{display:flex;flex-direction:row;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory}.sidebar .sidebar-item{flex:0 0 auto;scroll-snap-align:start}}.hero{width:100%;max-width:var(--max-width);margin:0 auto;border-radius:var(--radius-hero);overflow:hidden;height:640px;background-image:url(/assets/hero-banner.webp);background-size:cover;background-position:70% 50%;box-shadow:0 18px 48px #173f8842;position:relative;display:block}.hero .badge{display:inline-block;background:#ffffff26;padding:8px 14px;border-radius:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);font-weight:700}.hero h1{font-family:var(--font-head);font-size:64px;line-height:1;margin:16px 0}.lede{font-family:var(--font-body);font-size:18px;opacity:.95;margin-bottom:18px}.btn{display:inline-block;padding:12px 28px;border-radius:var(--radius-pill);font-weight:700;text-decoration:none}.btn-primary{background:linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2));color:#fff;box-shadow:0 8px 24px #0066ff40}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.42);color:#fff;margin-left:10px}.hero-overlay{position:absolute;left:8%;top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 6px 18px rgba(0,0,0,.28);max-width:48%;z-index:2}@media (max-width: 900px){.hero{height:460px}.hero-overlay{left:5%;max-width:90%;text-align:center;top:45%;transform:translateY(-45%);padding:0 20px}.hero h1{font-size:40px}}@media (max-width: 640px){.hero{height:320px;border-radius:16px}.hero h1{font-size:32px}.lede{font-size:16px}}.thumb img{width:100%;height:320px;object-fit:cover;display:block}.meta{padding:18px;text-align:center}.meta h3{font-family:var(--font-head);font-size:22px;margin-bottom:6px}.stars{display:inline-block}.star{width:16px;height:16px;fill:#ffc94a;margin-right:6px}.sidebar-item{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:#fff;outline:var(--outline-soft);box-shadow:0 4px 14px #173f880f;transition:all .18s;text-decoration:none;color:inherit}.sidebar-item img{width:36px;height:36px}.sidebar-item:hover{background:linear-gradient(90deg,var(--clr-primary-1),var(--clr-primary-2));color:#fff;transform:translate(4px);box-shadow:0 10px 30px #06f3}.sidebar .sidebar-item[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.sidebar .sidebar-item[aria-disabled=true]:hover{background:#fff;color:inherit;transform:none;box-shadow:0 4px 14px #173f880f}.section{background-image:radial-gradient(ellipse 80px 28px at 12% 17%,rgba(255,255,255,.45) 0 55%,transparent 57%),radial-gradient(ellipse 110px 36px at 82% 72%,rgba(255,255,255,.35) 0 55%,transparent 57%),linear-gradient(180deg,var(--bg-top),var(--bg-bottom));background-repeat:repeat,repeat,no-repeat;background-size:310px 210px,430px 290px,cover}.section{position:relative}.section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 10%,rgba(0,0,0,.03) 1px,transparent 1px) 0 0/18px 18px}.sidebar{background:transparent!important;border:0!important;box-shadow:none!important;padding:8px;display:flex;flex-direction:column;gap:10px}#hero.hero{width:100%;max-width:var(--max-width);margin:0 auto;border-radius:var(--radius-hero);overflow:hidden;height:640px;background-image:url(/assets/hero-banner.webp);background-size:cover;background-position:70% 50%;box-shadow:0 18px 48px #173f8842;position:relative;display:block}body.memory-page{display:block;min-width:0;min-height:100vh;overflow-x:clip;color:#133764;background:radial-gradient(circle at 12% 9%,rgba(255,255,255,.78) 0 18px,transparent 19px),radial-gradient(circle at 88% 19%,rgba(255,255,255,.64) 0 12px,transparent 13px),linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}#app.memory-app{width:min(100%,960px);max-width:none;margin:0 auto;padding:clamp(8px,2vw,24px)}.memory-page .memory-container{width:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3vw,28px);border:0;border-radius:clamp(20px,4vw,28px);outline:1px solid var(--clr-outline);background:#ffffffe6;box-shadow:var(--shadow-card)}.memory-page .memory-kicker{display:inline-flex;align-items:center;min-height:30px;margin:0 0 5px;padding:5px 11px;border-radius:var(--radius-pill);color:#0b57d0;background:#e9f4ff;font-size:clamp(.78rem,2.8vw,.9rem);font-weight:800;text-align:center}.memory-page .mem-title{margin:0 0 12px;color:#133764;font-family:var(--font-head);font-size:clamp(2rem,8vw,3.5rem);line-height:1;text-align:center;text-shadow:none;-webkit-text-stroke:0}.memory-page .mem-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,520px);gap:8px;margin:0 0 clamp(12px,2vw,20px)}.memory-page .mem-diff-btn{min-width:0;min-height:48px;padding:8px 6px;border:0;border-radius:16px;color:#fff;font-family:var(--font-head);font-size:clamp(.84rem,3.3vw,1rem);font-weight:700;line-height:1.1;text-transform:none;box-shadow:0 8px 16px #173f882e,inset 0 2px #ffffff59}.memory-page .mem-diff-btn.easy{background:linear-gradient(180deg,#ffd45a,#ffb900);color:#634000}.memory-page .mem-diff-btn.medium{background:linear-gradient(180deg,#2aa3ff,#06f)}.memory-page .mem-diff-btn.hard{background:linear-gradient(180deg,#ff8a80,#f04e5e)}.memory-page .mem-diff-btn[aria-pressed=true]{outline:3px solid #133764;outline-offset:2px;box-shadow:0 0 0 5px #2aa3ff33,0 8px 16px #173f8838}.memory-page .memory-board{--mem-columns: 4;display:grid;grid-template-columns:repeat(var(--mem-columns),minmax(0,1fr));width:min(100%,800px);max-width:800px;gap:clamp(6px,1.2vw,12px);padding:clamp(8px,1.4vw,12px);aspect-ratio:auto;border-radius:clamp(18px,3vw,24px);background:linear-gradient(150deg,#d8f3ff,#f8fdff);box-shadow:inset 0 0 0 1px var(--clr-outline),0 8px 20px #173f8814}.memory-page .memory-board[data-difficulty=medium]{--mem-columns: 5}.memory-page .memory-board[data-difficulty=hard]{--mem-columns: 6}.memory-page .mem-card{width:100%;min-width:0;aspect-ratio:1;padding:0;border:0;border-radius:clamp(10px,2.2vw,16px);touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 4px 10px #173f8824}.memory-page .mem-card .mem-front,.memory-page .mem-card .mem-back{border-radius:inherit;font-size:clamp(1.6rem,7vw,4rem)}.memory-page .mem-card .mem-front{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.4) 0 6%,transparent 7%),linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2));box-shadow:inset 0 3px #ffffff59,inset 0 -5px 8px #003f9929}.memory-page .mem-card .mem-back{border:3px solid #2aa3ff;background:#fff}.memory-page .mem-card.matched{border:3px solid var(--clr-success);background:var(--clr-success)}.memory-page .mem-card:focus-visible,.memory-page .mem-diff-btn:focus-visible,.memory-page .btn-play:focus-visible,.memory-page .play-again:focus-visible{outline:3px solid #133764;outline-offset:3px}.memory-page .mem-bottom-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,800px);max-width:800px;gap:8px;margin-top:clamp(10px,2vw,16px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.memory-page .mem-stat,.memory-page .mem-actions{min-width:0;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--clr-outline),0 6px 14px #173f8814}.memory-page .mem-stat{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:8px;color:#133764;font-weight:800;text-align:center}.memory-page .mem-time{gap:2px}.memory-page .mem-time .label{align-self:center;padding:0;color:#47739d;background:transparent;font-size:.78rem;line-height:1}.memory-page .mem-time #mem-time{font-family:var(--font-head);font-size:1.25rem;line-height:1.1}.memory-page .mem-score{gap:2px}.memory-page .mem-score .stars{color:#f2ad00;font-size:clamp(1rem,4.4vw,1.4rem);line-height:1;letter-spacing:0}.memory-page .moves{color:#47739d;font-size:.82rem;line-height:1.1}.memory-page .mem-actions{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.memory-page .btn-play{display:grid;min-width:0;min-height:48px;place-items:center;padding:9px 12px;border:0;border-radius:16px;color:#fff;background:linear-gradient(180deg,#27d07d,#00b86c);box-shadow:0 8px 16px #27d07d47,inset 0 2px #ffffff59;font-family:var(--font-head);font-size:clamp(.95rem,3.8vw,1.1rem);font-weight:700;line-height:1.1;text-decoration:none}.memory-page .btn-home{background:linear-gradient(180deg,#2aa3ff,#06f);box-shadow:0 8px 16px #0066ff47,inset 0 2px #ffffff59}.memory-page .btn-play:hover,.memory-page .mem-diff-btn:hover{transform:translateY(-2px);filter:brightness(1.03)}.memory-page .celebration{width:100%;min-width:0;padding:16px;overflow:auto;background-color:#e7f4ffeb}.memory-page .celebration-content{width:min(100%,440px);padding:clamp(20px,6vw,36px);border:0;border-radius:24px;box-shadow:var(--shadow-card)}.memory-page .celebration-content h2{color:#133764;font-family:var(--font-head);font-size:clamp(2rem,9vw,3.25rem);line-height:1}.memory-page .celebration-content p{color:#47739d;font-size:clamp(1rem,4.5vw,1.25rem)}.memory-page .play-again{min-height:48px;padding:10px 20px;border:0;border-radius:16px;color:#fff;background:linear-gradient(180deg,#27d07d,#00b86c);box-shadow:0 8px 16px #27d07d47;font-family:var(--font-head);font-size:1.1rem;font-weight:700}@media (min-width: 600px){.memory-page .mem-bottom-bar{grid-template-columns:minmax(120px,.75fr) minmax(140px,.9fr) minmax(230px,1.2fr)}.memory-page .mem-actions{grid-column:auto}}@media (max-width: 480px){.memory-page .memory-board[data-difficulty=hard]{--mem-columns: 5}}@media (orientation: landscape) and (max-height: 540px){#app.memory-app{padding-block:8px}.memory-page .memory-container{padding-block:12px}.memory-page .memory-kicker{display:none}.memory-page .mem-title{font-size:clamp(1.8rem,5vw,2.7rem)}.memory-page .memory-board{gap:6px;padding:8px}}@media (prefers-reduced-motion: reduce){.memory-page *,.memory-page *:before,.memory-page *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.puzzle-board.is-loading .puzzle-pieces,.puzzle-board.is-loading .puzzle-image{visibility:hidden}.puzzle-loading-state{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:12px;padding:24px;color:#174a7e;background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.92) 0 8px,transparent 9px),radial-gradient(circle at 82% 76%,rgba(255,255,255,.8) 0 11px,transparent 12px),linear-gradient(145deg,#dff4ff,#eefaff 55%,#d9eeff);text-align:center}.puzzle-loading-state[hidden]{display:none}.puzzle-loading-state.is-error{background:linear-gradient(145deg,#fff7d8,#fffdf4)}.puzzle-loading-message{max-width:18ch;font-family:var(--font-head);font-size:clamp(1.05rem,3vw,1.4rem);line-height:1.2}.puzzle-loader{width:46px;height:46px;border:5px solid rgba(42,163,255,.25);border-top-color:#2aa3ff;border-right-color:#ffd45a;border-radius:50%;animation:puzzle-spin .75s linear infinite}.puzzle-load-retry{padding:.65em 1.1em;font-size:1rem;background:#2aa3ff}.mini-box{display:grid;place-items:center;overflow:hidden;border-color:var(--puzzle-accent, #5d9cec);background:linear-gradient(145deg,color-mix(in srgb,var(--puzzle-accent, #5d9cec) 22%,white),#fff)}.mini-box.is-selected{border-style:solid;box-shadow:0 0 0 3px #5d9cec33,0 4px 10px #173f8829}.mini-puzzle-label{padding:8px;color:#174a7e;font-family:var(--font-head);font-size:.82rem;font-weight:700;line-height:1.05;text-align:center}@keyframes puzzle-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.puzzle-loader{animation-duration:2s}}:root{--hpk-page-max: 1120px;--hpk-panel-radius: 28px;--hpk-card-radius: 20px;--hpk-control-radius: 16px;--hpk-text: #133764;--hpk-muted: #47739d;--hpk-panel: rgba(255,255,255,.92);--hpk-outline: 1px solid rgba(23,74,126,.13);--hpk-soft-shadow: 0 8px 20px rgba(23,63,136,.08)}.hpk-game-shell{width:min(100%,var(--hpk-page-max));max-width:none;margin:0 auto;padding:clamp(10px,2.4vw,24px)}.hpk-game-panel{border:0;border-radius:var(--hpk-panel-radius);outline:var(--hpk-outline);background:var(--hpk-panel);box-shadow:var(--shadow-card)}.hpk-game-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;margin-bottom:clamp(14px,2vw,22px)}.hpk-game-header h1{margin:5px 0 0;color:var(--hpk-text);font-family:var(--font-head);font-size:clamp(2rem,7vw,3.4rem);line-height:1;text-align:left;text-shadow:none}.hpk-game-kicker{display:inline-flex;align-items:center;min-height:30px;margin:0;padding:5px 11px;border-radius:var(--radius-pill);color:#0b57d0;background:#e9f4ff;font-size:clamp(.78rem,2.8vw,.9rem);font-weight:800}.hpk-home-link,.hpk-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 15px;border:0;border-radius:var(--hpk-control-radius);font-family:var(--font-head);font-size:1rem;font-weight:700;line-height:1.1;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.hpk-home-link{flex:0 0 auto;color:#0b57d0;background:#ffffffeb;box-shadow:var(--hpk-soft-shadow)}.hpk-home-link span{font-size:1.25rem;line-height:1}.hpk-button{color:#fff;background:linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2));box-shadow:0 8px 16px #0066ff3d,inset 0 2px #ffffff59}.hpk-button--primary{background:linear-gradient(180deg,#38df91,#00b86c);box-shadow:0 8px 16px #27d07d47,inset 0 2px #ffffff59}.hpk-button--secondary{background:linear-gradient(180deg,var(--clr-primary-1),var(--clr-primary-2))}.hpk-button--soft{color:#c7515c;background:#ffe5e5;box-shadow:none}.hpk-home-link:hover,.hpk-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03)}.hpk-button:disabled{cursor:not-allowed;opacity:.64;box-shadow:none}.hpk-home-link:focus-visible,.hpk-button:focus-visible{outline:3px solid var(--hpk-text);outline-offset:3px}.puzzle-page,.memory-page{display:block;min-height:100vh;color:var(--hpk-text);background:radial-gradient(circle at 12% 9%,rgba(255,255,255,.78) 0 18px,transparent 19px),radial-gradient(circle at 88% 19%,rgba(255,255,255,.64) 0 12px,transparent 13px),linear-gradient(180deg,var(--bg-top),var(--bg-bottom))}.puzzle-page .puzzle-container{padding:clamp(14px,3vw,28px);border:0}.puzzle-page .puzzle-game-container{max-width:none;margin:0;gap:clamp(12px,2vw,20px)}.puzzle-page .puzzle-board{border-radius:var(--hpk-card-radius);outline:var(--hpk-outline);box-shadow:var(--hpk-soft-shadow)}.puzzle-page .puzzle-image{border-radius:inherit}.puzzle-page .controls{justify-content:flex-start;gap:10px;margin-top:16px}.puzzle-page .difficulty{min-height:46px;padding:6px 12px;border-radius:var(--hpk-control-radius);box-shadow:var(--hpk-soft-shadow)}.puzzle-page .mini-box{min-height:88px;height:auto;border-radius:var(--hpk-control-radius);box-shadow:var(--hpk-soft-shadow)}.puzzle-page .mini-puzzle-label{font-size:.86rem}.memory-page .memory-container{padding:clamp(14px,3vw,28px)}.memory-page .hpk-game-header{width:min(100%,800px)}.memory-page .memory-kicker{margin:0}.memory-page .mem-title{margin:5px 0 0;text-align:left}.memory-page .mem-actions{padding:8px}.memory-page .mem-actions .hpk-button{grid-column:1 / -1;width:100%;min-height:48px}.memory-page .mem-bottom-bar{margin-top:14px}.hpk-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;overflow:auto;background:#e7f4ffeb;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:hpk-celebration-in .22s ease-out}.hpk-celebration .celebration-content{width:min(100%,440px);padding:clamp(24px,6vw,40px);border:0;border-radius:var(--hpk-panel-radius);color:var(--hpk-text);background:#fff;box-shadow:var(--shadow-card);text-align:center}.hpk-celebration .celebration-content h2{margin:0 0 10px;color:var(--hpk-text);font-family:var(--font-head);font-size:clamp(2.25rem,10vw,3.5rem);line-height:1}.hpk-celebration .celebration-content p{margin:0 0 22px;color:var(--hpk-muted);font-size:clamp(1rem,4vw,1.2rem)}.hpk-celebration .play-again{min-height:48px;padding:10px 20px;border:0;border-radius:var(--hpk-control-radius);color:#fff;background:linear-gradient(180deg,#38df91,#00b86c);box-shadow:0 8px 16px #27d07d47;font-family:var(--font-head);font-size:1.1rem;font-weight:700}@keyframes hpk-celebration-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.puzzle-page .puzzle-game-container{flex-direction:column}.puzzle-page .puzzle-mini-boxes{width:100%;padding:0;margin:0}.puzzle-page .mini-box{min-height:72px}}@media (max-width: 520px){.hpk-game-header{align-items:center}.hpk-game-header h1{font-size:clamp(1.8rem,9vw,2.5rem)}.hpk-home-link{min-width:46px;padding-inline:12px;font-size:0}.hpk-home-link span{font-size:1.35rem}.puzzle-page .controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.puzzle-page .controls .hpk-button,.puzzle-page .difficulty{width:100%}.puzzle-page .difficulty{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){.hpk-game-shell *,.hpk-game-shell *:before,.hpk-game-shell *:after,.hpk-celebration{transition-duration:.01ms!important;animation-duration:.01ms!important}}#app.hpk-game-shell{width:min(100%,var(--hpk-page-max));max-width:none;padding:clamp(10px,2.4vw,24px)}.puzzle-page #start-button.hpk-button{color:#fff;background:linear-gradient(180deg,#38df91,#00b86c);box-shadow:0 8px 16px #27d07d47,inset 0 2px #ffffff59}.puzzle-page #reset-button.hpk-button{color:#c7515c;background:#ffe5e5;box-shadow:none}.memory-page .hpk-celebration{width:auto;min-width:0;padding:20px;background:#e7f4ffeb}.memory-page .hpk-celebration .celebration-content{padding:clamp(24px,6vw,40px)}.hpk-game-shell>.hpk-home-link{margin:0 0 12px}.hpk-game-header{justify-content:flex-start}.hpk-celebration-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hpk-celebration-actions .hpk-button{width:100%;min-height:52px}.hpk-game-shell{overscroll-behavior-y:contain}.puzzle-page .puzzle-board,.puzzle-page .puzzle-piece{touch-action:none;-webkit-user-select:none;user-select:none}.puzzle-page .puzzle-board,.memory-page .memory-board{overscroll-behavior:contain}@media (max-width: 380px){.hpk-celebration-actions{grid-template-columns:1fr}}.hpk-button.is-confirming,.puzzle-page #start-button.hpk-button.is-confirming{color:#634000;background:linear-gradient(180deg,#ffe68f,#ffd45a);box-shadow:0 8px 16px #ffb90040,inset 0 2px #ffffff73}
