*{margin:0;padding:0;box-sizing:border-box}:root{--wall:#3a2a20;--wall-light:#4a372a;--wood:#a5713d;--wood-dark:#7c5228;--paper:#f5e9d3;--red:#c0392b}body{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Yu Gothic,sans-serif;background:#201612;color:var(--paper);overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.smoke-intro{position:fixed;inset:0;z-index:100;background:rgba(235,232,228,.55);animation:intro-clear 5.2s ease-in forwards;pointer-events:none;overflow:hidden}@keyframes intro-clear{0%{opacity:1}55%{opacity:1}to{opacity:0;visibility:hidden}}.intro-puff{position:absolute;width:46vmax;height:46vmax;border-radius:50%;background:radial-gradient(circle at 45% 55%,rgba(250,248,245,.98) 0,rgba(230,226,220,.85) 45%,rgba(220,216,210,0) 72%);filter:blur(18px);animation:puff-drift 6s ease-in-out infinite alternate}.puff-0{top:-12%;left:-10%;animation-delay:0s}.puff-1{top:4%;left:34%;animation-delay:-1.2s;width:55vmax;height:55vmax}.puff-2{top:-6%;right:-12%;animation-delay:-2.1s}.puff-3{top:32%;left:-16%;animation-delay:-.7s;width:52vmax;height:52vmax}.puff-4{top:38%;left:26%;animation-delay:-3s;width:60vmax;height:60vmax}.puff-5{top:30%;right:-14%;animation-delay:-1.8s}.puff-6{bottom:-14%;left:-8%;animation-delay:-2.6s}.puff-7{bottom:-10%;left:30%;animation-delay:-.4s;width:56vmax;height:56vmax}.puff-8{bottom:-16%;right:-10%;animation-delay:-1.5s}.puff-9{top:16%;left:12%;animation-delay:-2.9s;width:40vmax;height:40vmax}@keyframes puff-drift{0%{transform:translate(0) scale(1)}to{transform:translate(6vmax,-8vmax) scale(1.25)}}.irasshai{position:absolute;top:46%;width:100%;text-align:center;font-size:clamp(1.4rem,4vw,2.6rem);font-weight:700;letter-spacing:.35em;color:#5a4632;animation:irasshai-fade 5.2s ease forwards}@keyframes irasshai-fade{0%{opacity:0;transform:translateY(12px)}18%{opacity:1;transform:translateY(0)}55%{opacity:1}85%{opacity:0}to{opacity:0}}.hero{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% -10%,rgba(255,190,90,.12),transparent 55%),repeating-linear-gradient(90deg,var(--wall) 0 90px,var(--wall-light) 90px 92px),var(--wall);position:relative}.sound-btn{position:absolute;top:14px;right:14px;z-index:10;background:rgba(0,0,0,.35);border:1px solid rgba(245,233,211,.35);border-radius:999px;color:var(--paper);font-size:.8rem;padding:8px 14px;transition:background .2s}.sound-btn:hover{background:rgba(0,0,0,.55)}.site-head{text-align:center;padding:34px 16px 10px}.site-head h1{font-size:clamp(2.2rem,6vw,4rem);letter-spacing:.12em;text-shadow:0 3px 0 rgba(0,0,0,.4)}.site-head .accent{color:#ff6b4a;text-shadow:0 0 18px rgba(255,107,74,.5),0 3px 0 rgba(0,0,0,.4)}.tagline{margin-top:8px;font-size:.95rem;color:#d9c6a8;letter-spacing:.2em}.wall{padding:18px 12px 6px}.fuda-row{display:flex;justify-content:center;align-items:flex-start;gap:clamp(6px,1.6vw,18px);flex-wrap:wrap;max-width:1100px;margin:0 auto}.fuda{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 10px 14px;min-height:168px;background:linear-gradient(175deg,#e8d5ae,#d9bf8d 55%,#c8a96f);border:2px solid var(--wood-dark);border-radius:4px 4px 6px 6px;box-shadow:0 6px 10px rgba(0,0,0,.45),inset 0 0 14px rgba(124,82,40,.25);color:#40301c;transform-origin:top center;animation:fuda-sway 4.5s ease-in-out infinite alternate;animation-delay:var(--sway-delay,0s);transition:transform .15s ease,box-shadow .15s ease}.fuda:before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#999,#333 70%);box-shadow:0 12px 0 -3px #40301c}@keyframes fuda-sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.6deg)}}.fuda:hover{animation-play-state:paused;transform:rotate(0deg) translateY(4px) scale(1.06);box-shadow:0 12px 18px rgba(0,0,0,.55),inset 0 0 14px rgba(124,82,40,.25)}.fuda:active{transform:rotate(0deg) translateY(8px) scale(.97)}.fuda-name{writing-mode:vertical-rl;font-size:clamp(1rem,2.2vw,1.3rem);font-weight:800;letter-spacing:.18em}.fuda-price{font-size:.78rem;font-weight:700;color:#6b4a24;border-top:1px solid rgba(107,74,36,.5);padding-top:6px}.fuda.osusume{background:linear-gradient(175deg,#f0dcb2,#e3c992 55%,#d2b276)}.fuda-badge{position:absolute;top:4px;right:-8px;background:var(--red);color:#fff;font-size:.6rem;font-weight:700;padding:3px 6px;border-radius:3px;transform:rotate(6deg);box-shadow:0 2px 4px rgba(0,0,0,.4)}.table-area{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:22px 14px 40px;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.25) 18%,rgba(0,0,0,.25))}.scoreboard{display:flex;gap:22px;font-size:.92rem;background:rgba(0,0,0,.4);border:1px solid rgba(245,233,211,.25);border-radius:999px;padding:8px 20px;margin-bottom:18px}.scoreboard b{color:#ffb45e;font-size:1.1rem}.grill-wrap{position:relative;width:min(640px,94vw);border-radius:26px;padding:26px;background:repeating-linear-gradient(90deg,#8a5a2e 0 46px,#7c5228 46px 48px),#8a5a2e;box-shadow:0 18px 40px rgba(0,0,0,.6),inset 0 2px 6px rgba(255,220,160,.25)}.grill-wrap.shake{animation:shake .45s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px) rotate(-.5deg)}50%{transform:translateX(7px) rotate(.5deg)}75%{transform:translateX(-5px)}}.grill{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;background:#17100c;overflow:visible;border:10px solid #2b2b2e;box-shadow:inset 0 0 30px rgba(0,0,0,.9),0 4px 14px rgba(0,0,0,.5)}.charcoal{position:absolute;inset:0;border-radius:12px;background:radial-gradient(ellipse 30% 24% at 25% 68%,rgba(255,120,30,.75),transparent 70%),radial-gradient(ellipse 26% 20% at 55% 76%,rgba(255,160,50,.65),transparent 70%),radial-gradient(ellipse 32% 26% at 78% 66%,rgba(255,100,20,.7),transparent 70%),radial-gradient(ellipse 40% 30% at 42% 60%,rgba(200,60,10,.5),transparent 75%);animation:ember 2.4s ease-in-out infinite alternate}@keyframes ember{0%{opacity:.75;filter:brightness(.95)}to{opacity:1;filter:brightness(1.2)}}.mesh{inset:0;background:repeating-linear-gradient(0deg,rgba(190,195,200,.55) 0 3px,transparent 3px 26px),repeating-linear-gradient(90deg,rgba(190,195,200,.55) 0 3px,transparent 3px 26px);border-radius:12px}.meat,.mesh{position:absolute}.meat{left:var(--x);top:var(--y);width:clamp(70px,15%,104px);aspect-ratio:100/74;padding:0;transform:translate(-50%,-50%);z-index:3;animation:meat-land .35s ease-out}@keyframes meat-land{0%{transform:translate(-50%,-140%) scale(1.18);opacity:.5}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.meat-rot{transform:rotate(calc(var(--rot) + var(--flip) * 180deg));transition:transform .35s cubic-bezier(.3,1.6,.6,1)}.meat-rot,.meat-svg{display:block;width:100%;height:100%}.meat-svg{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}.meat-base{fill:var(--raw)}.meat-inner-rim{stroke:rgba(255,255,255,.4);stroke-width:2.5}.meat-fat path{stroke:rgba(255,255,255,.6);stroke-width:4.5;stroke-linecap:round}.corn-kernels circle{fill:rgba(255,250,220,.5)}.liver-sheen{fill:rgba(255,255,255,.25)}.meat-doneness{fill:var(--cooked);opacity:0;transition:opacity 2.5s linear}.meat.grilling .meat-doneness{opacity:.55}.meat.ready .meat-doneness{opacity:.85}.meat.burnt .meat-doneness{opacity:1;fill:#191412;transition:opacity 1s linear,fill 1.5s linear}.meat-marks{opacity:0;transition:opacity 1.2s linear}.meat-marks rect{fill:rgba(28,13,5,.78)}.meat.ready .meat-marks{opacity:.7}.meat.burnt .meat-marks{opacity:1}.meat.grilling .meat-svg{animation:sizzle .5s ease-in-out infinite alternate}@keyframes sizzle{0%{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) brightness(1)}to{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) brightness(1.1)}}.meat.ready .meat-svg{animation:ready-glow 1s ease-in-out infinite alternate}@keyframes ready-glow{0%{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55))}to{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(255,200,90,.8))}}.meat.burnt .meat-svg{filter:drop-shadow(0 3px 4px rgba(0,0,0,.55)) saturate(.3)}.meat.eaten{transform:translate(-50%,-220%) scale(.2) rotate(2turn);opacity:0;transition:transform .55s ease-in,opacity .55s ease-in}.burnt-tag,.ready-tag{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.68rem;font-weight:800;color:#fff;background:var(--red);padding:2px 8px;border-radius:999px;white-space:nowrap;animation:tag-bounce .7s ease-in-out infinite alternate}.burnt-tag{background:#333}@keyframes tag-bounce{0%{transform:translateX(-50%) translateY(0)}to{transform:translateX(-50%) translateY(-4px)}}.cook-smoke{position:absolute;bottom:30%;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle,rgba(240,238,235,.5),transparent 70%);filter:blur(6px);animation:rise 3.2s ease-in infinite;pointer-events:none;z-index:5}.cs-0{left:18%;animation-delay:0s}.cs-1{left:44%;animation-delay:1.1s}.cs-2{left:66%;animation-delay:.5s}.cs-3{left:82%;animation-delay:1.7s}@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}25%{opacity:.8}to{transform:translateY(-160px) translateX(18px) scale(1.6);opacity:0}}.yum-pop{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);font-weight:800;font-size:1.05rem;color:#ffdf8e;text-shadow:0 2px 4px rgba(0,0,0,.7);animation:pop-up 1.2s ease-out forwards;pointer-events:none;z-index:10;white-space:nowrap}@keyframes pop-up{0%{opacity:0;transform:translate(-50%,-40%) scale(.6)}20%{opacity:1;transform:translate(-50%,-70%) scale(1.15)}to{opacity:0;transform:translate(-50%,-160%) scale(1)}}.table-props{justify-content:space-between;padding:16px 20px 2px}.prop-group,.table-props{display:flex;align-items:flex-end}.prop-group{gap:16px}.prop-svg{display:block;filter:drop-shadow(0 6px 4px rgba(0,0,0,.35))}.prop-svg.beer{width:62px}.prop-svg.rice{width:80px}.prop-svg.tare{width:64px}.beer-bubbles{animation:bubbles 2.6s linear infinite}@keyframes bubbles{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-26px);opacity:0}}.howto{margin-top:18px;font-size:.82rem;color:#cbb896;text-align:center;max-width:560px;line-height:1.7}.howto b{color:#ff9c6b}.shout{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:300;pointer-events:none;overflow:hidden}.shout:before{content:"";position:absolute;width:160vmax;height:160vmax;background:repeating-conic-gradient(rgba(255,190,60,.22) 0deg 9deg,transparent 9deg 22deg);border-radius:50%;animation:shout-rays 1.6s ease-out forwards}@keyframes shout-rays{0%{opacity:0;transform:scale(.3) rotate(0deg)}12%{opacity:1}70%{opacity:1;transform:scale(1) rotate(14deg)}to{opacity:0;transform:scale(1.05) rotate(18deg)}}.shout-text{font-weight:900;color:#fff;white-space:nowrap;letter-spacing:.04em;-webkit-text-stroke:3px #a31f1f;paint-order:stroke fill;text-shadow:0 6px 0 #7a1515,0 10px 24px rgba(0,0,0,.55),0 0 46px rgba(255,140,40,.9);transform:rotate(-5deg);animation:shout-pop 1.6s cubic-bezier(.2,1.5,.4,1) forwards}@keyframes shout-pop{0%{transform:scale(3.6) rotate(-5deg);opacity:0}12%{transform:scale(1) rotate(-5deg);opacity:1}16%{transform:scale(1.06) rotate(-4deg)}22%{transform:scale(1) rotate(-5deg)}72%{transform:scale(1) rotate(-5deg);opacity:1}to{transform:scale(.92) rotate(-5deg) translateY(-14px);opacity:0}}main.rumble{animation:mega-shake .45s ease}@keyframes mega-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px,3px) rotate(-.4deg)}40%{transform:translate(6px,-4px) rotate(.4deg)}60%{transform:translate(-5px,2px)}80%{transform:translate(4px,-2px)}}.dance{display:inline-block;animation:dance 1.7s ease-in-out infinite;animation-delay:var(--d,0s)}@keyframes dance{0%,to{transform:translateY(0) rotate(0deg)}30%{transform:translateY(-12px) rotate(-7deg)}60%{transform:translateY(3px) rotate(5deg)}}.particle{position:absolute;left:var(--x);top:var(--y);font-size:1.5rem;pointer-events:none;z-index:500;animation:particle-fly var(--dur) ease-out forwards}@keyframes particle-fly{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(1.4);opacity:0}}.confetti-layer{position:fixed;inset:0;z-index:400;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-5vh;width:10px;height:16px;border-radius:2px;animation:confetti-fall var(--dur) ease-in forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}90%{opacity:1}to{transform:translateY(112vh) rotate(var(--rot));opacity:0}}.scoreboard b{display:inline-block;animation:score-pop .4s cubic-bezier(.2,1.8,.4,1)}.scoreboard .rank b{color:#ffd75e}@keyframes score-pop{0%{transform:scale(2.4)}to{transform:scale(1)}}.super-btn{margin-bottom:18px;padding:14px 34px;font-size:1.05rem;font-weight:900;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,#ff416c,#ff4b2b 45%,#ffb347);border:3px solid #ffd75e;border-radius:999px;box-shadow:0 0 22px rgba(255,100,60,.8),0 6px 0 #a3243f;text-shadow:0 2px 0 rgba(0,0,0,.35);animation:super-blink 1s ease-in-out infinite alternate;transition:transform .12s ease}.super-btn:hover:not(:disabled){transform:scale(1.08) rotate(-1.5deg)}.super-btn:active:not(:disabled){transform:scale(.95) translateY(4px);box-shadow:0 0 22px rgba(255,100,60,.8),0 2px 0 #a3243f}.super-btn:disabled{animation:super-rainbow .5s linear infinite}@keyframes super-blink{0%{box-shadow:0 0 14px rgba(255,100,60,.6),0 6px 0 #a3243f}to{box-shadow:0 0 34px rgba(255,200,90,1),0 6px 0 #a3243f}}@keyframes super-rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}.mirrorball-rig{position:fixed;top:0;left:50%;z-index:250;pointer-events:none;animation:ball-drop .9s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes ball-drop{0%{transform:translate(-50%,-190px)}to{transform:translate(-50%)}}.mirrorball-line{width:3px;height:64px;margin:0 auto;background:linear-gradient(#666,#aaa)}.mirrorball{width:110px;height:110px;border-radius:50%;background:repeating-linear-gradient(0deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px),repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 8px,transparent 8px 16px),radial-gradient(circle at 35% 30%,#ffffff,#b8c4d0 40%,#6d7a88 75%,#47525e);box-shadow:0 0 40px rgba(255,255,255,.85),0 0 100px rgba(180,220,255,.55);animation:ball-spin 1.1s linear infinite}@keyframes ball-spin{0%{background-position:0 0,0 0,0 0}to{background-position:16px 0,-16px 0,0 0}}.disco-lights{position:fixed;inset:0;z-index:240;pointer-events:none;mix-blend-mode:screen;background:conic-gradient(from 0deg at 50% 6%,rgba(255,80,80,.4),rgba(80,160,255,.4),rgba(255,230,90,.4),rgba(120,255,150,.4),rgba(255,120,220,.4),rgba(255,80,80,.4));animation:lights-spin 1.8s linear infinite}@keyframes lights-spin{0%{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(180deg) brightness(1.3)}to{filter:hue-rotate(1turn) brightness(1)}}.party-plate{position:fixed;left:var(--px);top:var(--py);width:150px;z-index:245;pointer-events:none;opacity:0;animation:plate-rush var(--dur) ease-in forwards;animation-delay:var(--delay)}.plate-svg{width:100%;display:block;filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}@keyframes plate-rush{0%{transform:translate(-50%,-50%) scale(.08);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(2.4) rotate(6deg);opacity:0}}body{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34"><text y="26" font-size="24">🥢</text></svg>') 6 4,auto}button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34"><text y="26" font-size="26">🥢</text></svg>') 6 4,pointer}.map-section{background:#17110d;padding:60px 18px 50px;text-align:center;border-top:4px solid var(--wood-dark)}.map-section h2{font-size:clamp(1.4rem,3.5vw,2rem);letter-spacing:.1em}.lantern{display:inline-block;animation:fuda-sway 3s ease-in-out infinite alternate}.map-lead{margin:12px auto 26px;color:#d9c6a8;font-size:.95rem}.map-frame{max-width:980px;margin:0 auto;border-radius:16px;overflow:hidden;border:3px solid var(--wood-dark);box-shadow:0 14px 34px rgba(0,0,0,.55)}.map-frame iframe{display:block}.site-foot{background:#0f0b08;text-align:center;padding:26px 14px;font-size:.8rem;color:#8f7c62}@media (max-width:640px){.fuda{min-height:140px;padding:20px 7px 10px}.scoreboard{gap:12px;font-size:.8rem}}