.hw{color:#efe6cc;font-family:var(--font);-webkit-user-select:none;user-select:none;touch-action:none;background:#050406;position:fixed;inset:0;overflow:hidden}.hw-backdrop,.hw-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hw-menu{z-index:2;text-align:center;background:radial-gradient(closest-side,#050406d1,#05040659 80%,#0000);flex-direction:column;justify-content:center;align-items:center;max-width:520px;min-height:100%;margin:0 auto;padding:24px 16px;display:flex;position:relative}.hw-back{color:#c9b88a;font-weight:700;text-decoration:none;position:absolute;top:14px;left:16px}.hw-menu h1{font:58px/1 "Luckiest Guy", var(--font);letter-spacing:.04em;color:#f3e9c9;text-shadow:0 4px #000,0 0 30px #ffc87840;margin:0 0 8px}.hw-tag{color:#d8cba6;margin:0 0 14px;font-size:18px}.hw-rules{text-align:left;color:#2a1a10;background:#ece3cceb;border:3px solid #1b1b1b;border-radius:10px;margin:0 0 18px;padding:12px 18px 12px 34px;font-family:Georgia,serif;font-size:16px;line-height:1.5;box-shadow:0 5px #000}.hw-play{font:26px "Luckiest Guy", var(--font);letter-spacing:.05em;color:#fff3d8;cursor:pointer;background:#c9302a;border:4px solid #1b1b1b;border-radius:14px;padding:10px 34px;box-shadow:0 6px #000}.hw-play:active{transform:translateY(3px);box-shadow:0 3px #000}.hw-meta{color:#d8cba6;margin:16px 0 4px}.hw-meta b{color:#ffd34d}.hw-hint{color:#9a8f74;margin:4px 0 0;font-size:14px}.hw-hud{z-index:3;pointer-events:none;align-items:center;gap:14px;padding:10px 14px;display:flex;position:absolute;top:0;left:0;right:0}.hw-floor{font:22px "Luckiest Guy", var(--font);letter-spacing:.05em;color:#e8d9a8;text-shadow:0 2px #000}.hw-time{font-variant-numeric:tabular-nums;color:#9a8f74;font-weight:700}.hw-btns{pointer-events:auto;gap:8px;margin-left:auto;display:flex}.hw-btns button{color:#e8d9a8;cursor:pointer;background:#14100cb3;border:3px solid #3a3226;border-radius:50%;width:42px;height:42px;font-size:16px}.hw-toast{z-index:3;text-align:center;background:#14100cd9;border:2px solid #3a3226;border-radius:10px;max-width:min(560px,92vw);margin:0;padding:8px 14px;font-weight:700;position:absolute;top:62px;left:50%;transform:translate(-50%)}.hw-toast.bad{color:#ff9a8a;border-color:#5a2a22}.hw-pad{z-index:3;left:0;right:0;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;padding:0 16px;display:flex;position:absolute}.hw-pad button{pointer-events:auto;color:#e8d9a8;touch-action:none;cursor:pointer;background:#14100c8c;border:4px solid #3a3226;border-radius:50%;width:96px;height:96px;font-size:34px}.hw-pad button:active{background:#503c28b3}@media (hover:hover) and (pointer:fine){.hw-pad button{opacity:.55;width:64px;height:64px;font-size:22px}}.hw-over{z-index:5;background:#050406b8;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.hw-card{color:#2a1a10;text-align:center;background:#ece3cc;border:4px solid #1b1b1b;border-radius:16px;flex-direction:column;align-items:stretch;gap:10px;width:min(440px,100%);padding:18px;display:flex;box-shadow:0 8px #000}.hw-card h2{font:36px "Luckiest Guy", var(--font);letter-spacing:.04em;margin:0}.hw-card p{margin:0}.hw-big{font:44px "Luckiest Guy", var(--font);color:#8a1e1e}.hw-stats{flex-wrap:wrap;justify-content:center;gap:14px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.hw-stats b{font-size:22px;display:block}.hw-small{opacity:.75;font-size:13px}.hw-sec{font:18px "Luckiest Guy", var(--font);color:#2a1a10;cursor:pointer;background:0 0;border:3px solid #1b1b1b;border-radius:12px;padding:8px;text-decoration:none}.hw-unlocks{flex-direction:column;gap:8px;display:flex}.hw-unlock{background:#fff3c4;border:3px solid #1b1b1b;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-weight:700;display:flex}.hw-unlock img{object-fit:contain;width:72px;height:48px}.hw-backdrop{filter:brightness(.82)saturate(1.05)}.hw-fog,.hw-vig{pointer-events:none;z-index:1;position:absolute;inset:0}.hw-fog{background:radial-gradient(60% 30% at 20% 80%,#aaa08c1a,#0000 70%),radial-gradient(50% 25% at 80% 70%,#aaa08c14,#0000 70%),radial-gradient(40% 20% at 50% 95%,#aaa08c1a,#0000 70%);animation:18s ease-in-out infinite alternate hwfog}@keyframes hwfog{0%{opacity:.7;transform:translate(-4%)}to{opacity:1;transform:translate(4%)}}.hw-vig{background:radial-gradient(#0000 35%,#000000bf 100%);animation:7s ease-in-out infinite hwbreath}@keyframes hwbreath{0%,to{opacity:.85}50%{opacity:1}}.hw-menu{background:radial-gradient(closest-side,#050406c7,#0504064d 80%,#0000);animation:.7s cubic-bezier(.2,1.3,.4,1) both hwin}@keyframes hwin{0%{opacity:0;transform:translateY(14px)scale(.97)}}.hw-kicker{font:13px "Luckiest Guy", var(--font);letter-spacing:.3em;color:#b8913a;opacity:.85;margin:0 0 6px}.hw-menu h1{color:#f6e7bd;text-shadow:0 4px #000,0 0 18px #ffbe6e73,0 0 46px #ffaa5a40;font-size:clamp(44px,12vw,72px);animation:4.5s ease-in-out infinite hwglow}@keyframes hwglow{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}.hw-flk{animation:5.3s step-end infinite hwflk}.hw-flk.b{animation-duration:7.9s;animation-delay:1.7s}@keyframes hwflk{0%,61%,64%,67%,to{opacity:1;text-shadow:inherit}62%,65.5%{opacity:.18;text-shadow:none}}.hw-rules{background:linear-gradient(170deg,#f2e9d2,#ddd0b0);transform:rotate(-.6deg);box-shadow:0 5px #000,0 14px 40px #0009}.hw-play{background:linear-gradient(#d83a32,#a8231e);transition:transform .15s,box-shadow .15s,filter .15s}.hw-play:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 8px #000,0 0 26px #ff5a3c73}.hw-menu .hw-play{animation:2.6s ease-in-out infinite hwpulse}@keyframes hwpulse{0%,to{box-shadow:0 6px #000,0 0 #ff5a3c00}50%{box-shadow:0 6px #000,0 0 30px #ff5a3c80}}.hw-floor{color:#2a1a08;text-shadow:none;background:linear-gradient(#e2c06a,#9a7428);border:3px solid #1b1b1b;border-radius:10px;align-items:baseline;gap:6px;padding:4px 12px 2px;font-size:15px;display:inline-flex;box-shadow:0 3px #000,0 0 18px #ffc86e40}.hw-floor b{color:#2a1a08;font-size:26px}.hw-time{background:#0006;border-radius:8px;padding:3px 8px}.hw-toast{animation:.45s cubic-bezier(.2,1.4,.4,1) both hwtoast;box-shadow:0 6px 24px #00000080}@keyframes hwtoast{0%{opacity:0;transform:translate(-50%,-10px)scale(.92)}}.hw-pad button{transition:transform 80ms,background .15s;box-shadow:0 4px #0009}.hw-pad button:active{transform:translateY(3px)scale(.96)}.hw-over{animation:.5s both hwfade}@keyframes hwfade{0%{opacity:0}}.hw-card{animation:.55s cubic-bezier(.2,1.5,.4,1) .1s both hwpop;box-shadow:0 8px #000,0 20px 60px #00000080}@keyframes hwpop{0%{opacity:0;transform:scale(.8)translateY(20px)}}.hw-over.lobby{background:radial-gradient(circle at 50% 30%,#fff4d2 0%,#ffd98e 22%,#e8a15a 52%,#6a3420 85%,#2a120a 100%)}.hw-sun{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hw-rays{background:repeating-conic-gradient(#fffae152 0deg 7deg,#fffae100 7deg 20deg);width:240vmax;height:240vmax;margin:-120vmax 0 0 -120vmax;animation:60s linear infinite hwspin;position:absolute;top:30%;left:50%;-webkit-mask:radial-gradient(circle,#000 0%,#0000 55%);mask:radial-gradient(circle,#000 0%,#0000 55%)}@keyframes hwspin{to{transform:rotate(360deg)}}.hw-sun b{opacity:0;background:#fff6d8;border-radius:50%;width:6px;height:6px;animation:7s ease-in infinite hwmote;position:absolute;bottom:-10px;box-shadow:0 0 10px 3px #ffecaab3}@keyframes hwmote{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:.9}to{opacity:0;transform:translate(30px,-80vh)scale(1.1)}}.lobby .hw-card{background:linear-gradient(#fffaf0,#f3e6c6);border-color:#1b1b1b;box-shadow:0 8px #000,0 0 80px #ffe6a0cc}.lobby .hw-card h2{color:#8a1e1e;text-shadow:0 3px #e2c06a;font-size:44px}.hw-floor0{font:16px "Luckiest Guy", var(--font);letter-spacing:.2em;color:#9a7428;margin:0}.hw-floor0 b{color:#2a1a08;background:linear-gradient(#e2c06a,#9a7428);border:3px solid #1b1b1b;border-radius:8px;margin-left:4px;padding:0 10px;font-size:30px;animation:.8s cubic-bezier(.2,1.8,.4,1) .5s both hwding;display:inline-block}@keyframes hwding{0%{transform:scale(0)rotate(-20deg)}}.lobby .hw-big{animation:.7s cubic-bezier(.2,1.6,.4,1) .75s both hwding}@media (prefers-reduced-motion:reduce){.hw-fog,.hw-vig,.hw-flk,.hw-menu h1,.hw-menu .hw-play,.hw-rays,.hw-sun b{animation:none!important}}
