@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";:root{--ink: #1a1145;--ink-soft: #5c577a;--surface: #faf6f0;--surface-2: #fff;--coral: #ff5252;--lime: #c6f135;--sky: #4d7cff;--yolk: #ffc53d;--grape: #a855f7;--pink: #f472b6;--radius: 20px;--radius-sm: 14px;--radius-pill: 999px;--shadow-card: 0 2px 0 0 var(--ink);--shadow-card-hover: 0 6px 0 0 var(--ink);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;background:var(--surface);overflow-x:hidden;-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(16px,4vw,48px);background:var(--surface);border-bottom:2.5px solid var(--ink)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--coral);border:2.5px solid var(--ink);position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;bottom:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--lime);border:2.5px solid var(--ink)}.brand-name{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em}.topnav{display:flex;align-items:center;gap:12px}.topnav a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:var(--radius-pill);border:2px solid var(--ink);transition:background .2s,color .2s,transform .15s var(--bounce)}.topnav a:hover{background:var(--ink);color:var(--surface);transform:scale(1.04)}.ghost-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2.5px solid var(--ink);background:var(--yolk);color:var(--ink);border-radius:var(--radius-pill);padding:7px 16px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .2s var(--bounce),box-shadow .2s;box-shadow:0 2px 0 0 var(--ink)}.ghost-btn:hover{transform:translateY(-2px);box-shadow:0 4px 0 0 var(--ink)}.ghost-btn:active{transform:translateY(1px);box-shadow:none}.hero{position:relative;overflow:hidden;padding:clamp(48px,10vw,100px) clamp(16px,4vw,48px) clamp(40px,8vw,80px);background:var(--ink);color:#fff;border-bottom:2.5px solid var(--ink)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:float 8s ease-in-out infinite alternate}.hero-blob.b1{width:500px;height:500px;background:var(--coral);top:-120px;right:-60px}.hero-blob.b2{width:400px;height:400px;background:var(--sky);bottom:-100px;left:-50px;animation-delay:-3s}.hero-blob.b3{width:300px;height:300px;background:var(--lime);top:40%;left:45%;animation-delay:-5s}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.08)}}.hero-copy{position:relative;z-index:1;max-width:700px;animation:pop-in .7s var(--bounce) both}@keyframes pop-in{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.brand-hero{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(3rem,12vw,5.5rem);font-weight:700;line-height:.95;letter-spacing:-.04em}.brand-hero .accent{color:var(--coral)}.hero h1{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.65rem);font-weight:700;line-height:1.3;color:#ffffffbf}.lede{margin:0 0 24px;font-size:1.05rem;line-height:1.6;color:#ffffff8c;max-width:42ch}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2.5px solid var(--ink);border-radius:var(--radius-pill);padding:12px 28px;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 3px #0006;transition:transform .2s var(--bounce),box-shadow .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 6px #0006}.btn:active{transform:translateY(1px);box-shadow:none}.btn.primary{background:var(--coral);color:#fff;border-color:#ffffff26}.btn.secondary{background:var(--lime);color:var(--ink);border-color:#ffffff1a}.games-section{padding:40px clamp(16px,4vw,48px) 80px;max-width:1340px;margin:0 auto}.section-head{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.section-title-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.section-title-row h2{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.section-title-row h2 .emoji{font-style:normal;font-size:1.2em}.section-sub{margin:4px 0 0;font-size:.85rem;font-weight:600;color:var(--ink-soft)}.search-wrap{position:relative;max-width:280px;width:100%}.search-wrap input{width:100%;border:2.5px solid var(--ink);background:var(--surface-2);border-radius:var(--radius-pill);padding:10px 16px;font:inherit;font-weight:600;color:var(--ink);outline:none;box-shadow:0 2px 0 0 var(--ink);transition:box-shadow .2s,transform .15s var(--bounce)}.search-wrap input:focus{transform:translateY(-1px);box-shadow:0 4px 0 0 var(--ink)}.search-wrap input::placeholder{color:var(--ink-soft);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2.5px solid var(--ink);background:var(--surface-2);color:var(--ink);border-radius:var(--radius-pill);padding:6px 16px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 2px 0 0 var(--ink);transition:transform .15s var(--bounce),box-shadow .15s,background .15s}.chip:hover{transform:translateY(-2px);box-shadow:0 4px 0 0 var(--ink)}.chip[aria-selected=true]{background:var(--coral);color:#fff;transform:translateY(-2px);box-shadow:0 4px 0 0 var(--ink)}.chip:nth-child(4n+2)[aria-selected=true]{background:var(--sky)}.chip:nth-child(4n+3)[aria-selected=true]{background:var(--grape);color:#fff}.chip:nth-child(4n+4)[aria-selected=true]{background:var(--yolk);color:var(--ink)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:16px}.game-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-radius:var(--radius);overflow:hidden;background:var(--surface-2);border:2.5px solid var(--ink);box-shadow:var(--shadow-card);transition:transform .2s var(--bounce),box-shadow .2s;animation:card-in .5s var(--bounce) both}.game-card:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:var(--shadow-card-hover)}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.thumb{aspect-ratio:1;width:100%;display:grid;place-items:center;position:relative;overflow:hidden}.game-card:nth-child(6n+1) .thumb{background:#ffe0e0}.game-card:nth-child(6n+2) .thumb{background:#e0f0ff}.game-card:nth-child(6n+3) .thumb{background:#f0ffe0}.game-card:nth-child(6n+4) .thumb{background:#f5e6ff}.game-card:nth-child(6n+5) .thumb{background:#fff5d6}.game-card:nth-child(6n+6) .thumb{background:#ffe0f0}.thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.thumb-fallback{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--ink);opacity:.25;letter-spacing:-.03em}.game-meta{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;border-top:2.5px solid var(--ink)}.game-meta h3{margin:0;font-family:var(--font-display);font-size:.92rem;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-tags{display:flex;gap:5px}.game-tag{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);border:1.5px solid var(--ink);line-height:1.5;text-transform:uppercase;letter-spacing:.04em}.game-tag.cat{background:var(--lime);color:var(--ink)}.game-tag.orient{background:var(--surface);color:var(--ink-soft)}.empty{text-align:center;color:var(--ink-soft);padding:48px 0;font-weight:600}.site-footer{padding:20px clamp(16px,4vw,48px);border-top:2.5px solid var(--ink);text-align:center}.site-footer p{margin:0;font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--ink-soft);letter-spacing:-.01em}.play-body{background:var(--ink);color:#fff;min-height:100vh;overflow:hidden}.play-body .topbar{background:#1a1145f5;border-bottom-color:#ffffff1a;padding:0 16px;height:52px}.back-link{display:flex;align-items:center;gap:6px;color:var(--lime);text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap;transition:transform .2s var(--bounce)}.back-link:hover{transform:translate(-4px)}.play-title{margin:0;flex:1;font-family:var(--font-display);font-size:1.15rem;font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.02em}.play-actions{display:flex;gap:8px}.play-body .ghost-btn{background:#ffffff0f;border-color:#ffffff26;color:#ffffffb3;box-shadow:none;padding:5px 12px;font-size:.85rem}.play-body .ghost-btn:hover{background:#ffffff1f;color:#fff;transform:none}.play-stage{position:relative;width:100%;height:calc(100vh - 52px);background:#000}.play-stage iframe{width:100%;height:100%;border:0;display:block}.play-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);z-index:40;transition:opacity .35s,visibility .35s}.play-loading.is-hidden{opacity:0;visibility:hidden}.play-spinner{width:40px;height:40px;border:4px solid rgba(198,241,53,.2);border-top-color:var(--lime);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.play-loading span{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--lime);letter-spacing:-.02em}.orient-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);margin:0;padding:6px 16px;background:#0009;border:1.5px solid rgba(255,255,255,.1);border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;color:#ffffff80;pointer-events:none;z-index:30}@media(max-width:640px){.brand-name{display:none}.hero{padding:48px 16px 40px}.brand-hero{font-size:2.8rem}.game-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.play-title{font-size:.95rem}}
