:root{--y:#f3ba2f;--ink:#111;--paper:#f7f4ea;--pink:#ff8fc1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.nav{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:24px 4vw}.brand{font-weight:900;text-decoration:none;color:#111;display:flex;gap:10px;align-items:center}.dot{width:12px;height:12px;background:var(--y);border:2px solid #111;border-radius:50%}.nav nav{display:flex;gap:28px}.nav a{color:#111;text-decoration:none;font-size:13px;font-family:"DM Mono",monospace}.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:110px 5vw 60px;overflow:hidden;background:linear-gradient(180deg,#fffdf8,#f7f1db)}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker{font:500 12px/1 "DM Mono",monospace;letter-spacing:.16em;text-transform:uppercase}.hero h1{font-size:clamp(56px,8vw,126px);line-height:.82;margin:24px 0 28px;letter-spacing:-.07em}.hero h1 span{color:var(--y);-webkit-text-stroke:2px #111;text-shadow:5px 5px 0 #111}.hero p{max-width:560px;font-size:18px;line-height:1.6}.hero-actions{display:flex;gap:14px;align-items:center;margin-top:30px}.primary,.ghost,#shuffle,#lights,#again{border:2px solid #111;background:#111;color:#fff;padding:15px 20px;border-radius:999px;font:600 13px "DM Mono",monospace;cursor:pointer;transition:.2s}.primary:hover,#shuffle:hover,#lights:hover,#again:hover{transform:translateY(-3px);box-shadow:5px 5px 0 var(--y)}.ghost{background:transparent;color:#111;text-decoration:none}.hero-char{position:relative;display:grid;place-items:center;cursor:pointer;transform-style:preserve-3d}.hero-char img{width:min(640px,80vw);position:relative;z-index:2;mix-blend-mode:multiply;filter:drop-shadow(0 30px 20px rgba(0,0,0,.12));transition:transform .25s ease}.halo{position:absolute;width:68%;aspect-ratio:1;border-radius:50%;background:var(--y);filter:blur(1px);z-index:1;box-shadow:0 0 0 20px #111,0 0 0 40px var(--y)}.tap{position:absolute;right:8%;bottom:13%;z-index:4;background:#111;color:#fff;padding:9px 12px;border-radius:99px;font:12px "DM Mono"}.orb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.45}.one{width:300px;height:300px;background:var(--pink);right:-80px;top:40px}.two{width:200px;height:200px;background:var(--y);left:35%;bottom:-60px}.ticker{overflow:hidden;border-block:2px solid #111;background:var(--y);padding:13px 0;font:700 14px "DM Mono";white-space:nowrap}.ticker div{display:inline-block;animation:ticker 18s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;padding:130px 5vw}.sticky{position:sticky;top:80px;align-self:start}.sticky h2,.section-head h2,.class-copy h2,.final h2{font-size:clamp(48px,6vw,92px);line-height:.92;letter-spacing:-.06em;margin:16px 0 28px}.sticky p,.class-copy p,.final p{font-size:18px;line-height:1.7;max-width:560px}.sticky a{color:#111;font:13px "DM Mono"}.timeline{display:grid;gap:28px}.panel{background:#fff;border:2px solid #111;border-radius:28px;padding:24px;position:relative;transform:rotate(var(--r,0deg));box-shadow:8px 8px 0 #111}.panel:nth-child(1){--r:-1deg}.panel:nth-child(2){--r:1.5deg}.panel:nth-child(3){--r:-.7deg}.panel img{width:100%;aspect-ratio:1.25;object-fit:contain;background:#fff}.panel .year{position:absolute;top:18px;right:18px;background:var(--y);border:2px solid #111;border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font:700 12px "DM Mono"}.panel h3{font-size:30px;margin:12px 0 8px}.panel p{line-height:1.6}.moods{padding:120px 5vw;background:#111;color:#fff}.section-head{max-width:900px}.mood-stage{margin-top:55px;display:grid;grid-template-columns:1fr .6fr;gap:35px;align-items:center}.mood-card{background:#fff;border-radius:32px;min-height:560px;display:grid;place-items:center;position:relative;overflow:hidden}.mood-card img{max-width:70%;max-height:430px;object-fit:contain}.mood-card div{position:absolute;left:22px;bottom:18px;color:#111;background:var(--y);padding:9px 12px;border:2px solid #111;border-radius:99px;font:700 12px "DM Mono"}.mood-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.mood-buttons button{height:120px;border-radius:22px;border:2px solid #fff;background:transparent;color:#fff;font-size:34px;cursor:pointer;transition:.2s}.mood-buttons button:hover{background:var(--y);color:#111;transform:rotate(-2deg) scale(1.03)}.meme-vault{padding:110px 5vw}.vault-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.wall{display:grid;grid-template-columns:1.4fr .6fr .6fr;grid-auto-rows:280px;gap:16px}.wall figure{margin:0;border:2px solid #111;border-radius:22px;overflow:hidden;background:#fff}.wall .big{grid-row:span 2}.wall figure:last-child{grid-column:2/4}.wall img{width:100%;height:100%;object-fit:cover}.classroom{padding:110px 5vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:center;background:var(--y)}.class-img{position:relative;border:3px solid #111;border-radius:30px;overflow:hidden;box-shadow:10px 10px 0 #111}.class-img img{width:100%;display:block}.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.08) 4px);mix-blend-mode:multiply;opacity:.35;pointer-events:none}.final{min-height:86vh;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;padding:90px 5vw;background:#fff}.final-char{display:grid;place-items:center}.final-char img{width:min(520px,90%);mix-blend-mode:multiply}.linkbtn{display:inline-block;text-decoration:none;margin-top:18px}.drawer{position:fixed;right:24px;bottom:24px;width:min(390px,calc(100vw - 48px));background:#fff;border:3px solid #111;border-radius:26px;box-shadow:10px 10px 0 var(--y);z-index:200;padding:20px;transform:translateY(130%);transition:.45s cubic-bezier(.2,.8,.2,1)}.drawer.open{transform:translateY(0)}.drawer img{width:100%;aspect-ratio:1;object-fit:contain}.drawer-label{font:11px "DM Mono";letter-spacing:.15em}.drawer .close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.drawer #drawerText{font-size:26px;font-weight:800;margin:8px 0 14px}footer{display:flex;justify-content:space-between;padding:22px 5vw;border-top:2px solid #111;font:12px "DM Mono"}footer a{color:#111}.weird{filter:hue-rotate(150deg) saturate(1.8)}#cursor,#cursor2{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%)}#cursor{width:8px;height:8px;background:#111}#cursor2{width:32px;height:32px;border:1px solid #111;transition:.08s}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@media(max-width:900px){.nav nav a:not(:last-child){display:none}.hero,.story,.mood-stage,.classroom,.final{grid-template-columns:1fr}.hero{padding-top:140px}.hero-char{margin-top:30px}.story{padding-top:90px}.sticky{position:relative;top:auto}.mood-card{min-height:420px}.wall{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.wall .big{grid-column:1/3}.wall figure:last-child{grid-column:1/3}.class-copy{order:2}.final-char img{width:70%}footer{gap:12px;flex-wrap:wrap}}@media(pointer:coarse){#cursor,#cursor2{display:none}}

/* --- HERO / POKE GAME V2 --- */
.game-hero{min-height:100svh;display:grid;place-items:center;padding:96px 20px 34px;background:#f3ba2f;isolation:isolate;overflow:hidden;position:relative;border-bottom:3px solid #111}.game-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.94) 0 16%,rgba(255,255,255,.42) 31%,transparent 58%);z-index:-4}.game-grid{position:absolute;inset:-2px;z-index:-5;background-image:linear-gradient(rgba(17,17,17,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.075) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent)}.hero-word{position:absolute;top:12%;left:50%;transform:translateX(-50%);font-size:clamp(110px,22vw,360px);line-height:.7;font-weight:900;letter-spacing:-.1em;color:rgba(255,255,255,.38);-webkit-text-stroke:2px rgba(17,17,17,.08);white-space:nowrap;z-index:-2;user-select:none}.game-stage{position:relative;width:min(900px,96vw);height:min(790px,82svh);display:grid;place-items:center;z-index:3}.game-stage:after{content:"";position:absolute;left:50%;bottom:5%;width:min(620px,75vw);height:90px;transform:translateX(-50%);border-radius:50%;background:rgba(17,17,17,.13);filter:blur(18px);z-index:-1}.game-stage .hero-char{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:min(650px,74vw);height:min(650px,67svh);display:grid;place-items:center;cursor:pointer;z-index:2}.game-stage .hero-char img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 28px 15px rgba(0,0,0,.12));will-change:transform,filter;transition:filter .2s ease}.game-stage .hero-char .halo{position:absolute;width:65%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 9px #111,0 0 0 21px rgba(255,255,255,.78),0 0 80px rgba(255,255,255,.95);z-index:-1;transform:scale(.88);animation:haloBreath 2.5s ease-in-out infinite}.poke-button{position:absolute;left:50%;top:18%;transform:translateX(-50%) rotate(-2deg);z-index:8;border:4px solid #111;background:#111;color:#fff;padding:18px 42px 20px;border-radius:999px;font:900 clamp(30px,5vw,70px)/.9 Inter,sans-serif;letter-spacing:-.06em;cursor:pointer;box-shadow:10px 10px 0 #fff,14px 14px 0 #111;transition:transform .14s ease,box-shadow .14s ease}.poke-button:hover{transform:translateX(-50%) rotate(1deg) scale(1.05);box-shadow:6px 6px 0 #fff,10px 10px 0 #111}.poke-button:active,.poke-button.hit{transform:translateX(-50%) translate(5px,5px) scale(.94);box-shadow:3px 3px 0 #fff,6px 6px 0 #111}.meme-spawn{position:absolute;inset:0;pointer-events:none;z-index:5}.spawn-meme{position:absolute;width:clamp(110px,14vw,230px);aspect-ratio:1;background:#fff;border:3px solid #111;border-radius:22px;padding:6px;box-shadow:8px 8px 0 #111;overflow:hidden;animation:spawnMeme 1150ms cubic-bezier(.15,.8,.2,1) forwards}.spawn-meme img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.hit-ring{position:absolute;left:50%;top:54%;width:180px;height:180px;border:8px solid #fff;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;z-index:7;pointer-events:none}.hit-ring.fire{animation:ring .48s ease-out}.game-burst{position:absolute;width:520px;height:520px;border-radius:50%;z-index:-3;opacity:.35;filter:blur(14px)}.burst-a{left:-220px;top:23%;background:radial-gradient(circle,#ff8fc1,transparent 65%);animation:floatBurst 7s ease-in-out infinite}.burst-b{right:-260px;bottom:-40px;background:radial-gradient(circle,#fff,transparent 65%);animation:floatBurst 9s ease-in-out infinite reverse}.game-hero.poked{animation:screenHit .28s ease}.game-hero.combo .hero-word{animation:wordPop .4s ease}.game-hero .hero-char.flash img{filter:drop-shadow(0 0 0 #111) drop-shadow(0 0 35px rgba(255,255,255,.9))}.game-hero .hero-char.boop img{animation:boop .38s cubic-bezier(.2,.8,.2,1)}
@keyframes haloBreath{50%{transform:scale(1.01) rotate(2deg)}}@keyframes boop{0%{transform:scale(1) rotate(0)}35%{transform:scale(.88) rotate(-4deg)}68%{transform:scale(1.09) rotate(4deg)}100%{transform:scale(1) rotate(0)}}@keyframes ring{0%{opacity:.9;transform:translate(-50%,-50%) scale(.25)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}@keyframes spawnMeme{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0deg)}18%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.04) rotate(var(--rot))}}@keyframes screenHit{35%{transform:scale(.995)}70%{transform:scale(1.004)}}@keyframes wordPop{50%{transform:translateX(-50%) scale(1.035)}}@keyframes floatBurst{50%{transform:translate(80px,-30px) scale(1.13)}}
@media(max-width:900px){.game-hero{padding-top:86px}.game-stage{height:78svh}.poke-button{top:14%;padding:15px 30px 17px}.game-stage .hero-char{top:55%;width:min(610px,92vw);height:min(610px,62svh)}.hero-word{top:16%;font-size:29vw}.spawn-meme{width:130px}.game-stage .hero-char .halo{width:70%}}
@media(max-width:560px){.game-stage{height:76svh}.poke-button{top:11%;font-size:12vw}.game-stage .hero-char{top:56%;width:98vw}.spawn-meme{width:105px;border-radius:16px;box-shadow:5px 5px 0 #111}.hero-word{top:18%;font-size:31vw}}


/* --- V3: plain POKE ME + stronger meme-origin source --- */
.poke-button{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:10px 16px!important;
  color:#111!important;
  text-shadow:3px 3px 0 rgba(255,255,255,.95);
}
.poke-button:hover{
  box-shadow:none!important;
  transform:translateX(-50%) rotate(1deg) scale(1.08)!important;
}
.poke-button:active,.poke-button.hit{
  box-shadow:none!important;
  transform:translateX(-50%) scale(.94)!important;
}
.kym-link{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px;padding:13px 17px;
  border:2px solid #111;border-radius:0;
  background:var(--y);color:#111!important;
  text-decoration:none;font:800 12px/1 "DM Mono",monospace!important;
  letter-spacing:.08em;box-shadow:5px 5px 0 #111;
  transition:transform .18s ease,box-shadow .18s ease;
}
.kym-link:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #111}

/* V4: remove the large static circle behind Hammy */
.game-stage .hero-char .halo{display:none!important;}
