@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.vrs6-a_className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.vrs6-a_variable{--font-display:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}._2GhXXq_className{font-family:Inter,Inter Fallback;font-style:normal}._2GhXXq_variable{--font-body:"Inter", "Inter Fallback"}
:root{--navy:#003b71;--night:#001a33;--night-2:#00284f;--gold:#d8a628;--gold-soft:#f2cf6b;--red:#c8102e;--red-dark:#8f0b20;--green:#1f7a4d;--ink:#0b1b2b;--snow:#f6f8fb;--muted:#9fb3c8;--card:#ffffff12;--card-strong:#ffffff1f;--line:#ffffff24;--radius:18px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(ellipse at 50% 120%, #06457f 0%, var(--night-2) 40%, var(--night) 75%);min-height:100vh;color:var(--snow);font-family:var(--font-body), system-ui, sans-serif;background-attachment:fixed;overflow-x:hidden}button,input,select,textarea{font:inherit}a{color:var(--gold-soft)}h1,h2,h3{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.02em;margin:0;font-weight:700}.snow-canvas{pointer-events:none;z-index:0;position:fixed;inset:0}.page{z-index:1;flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative}.topbar{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1100px;padding:22px 20px 0;display:flex}.logo-badge{background:#fff;border-radius:14px;align-items:center;padding:10px 16px;display:inline-flex;box-shadow:0 6px 18px #0000004d}.logo-badge img{width:auto;height:36px;display:block}.topbar .who{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.link-btn{color:var(--gold-soft);cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:underline}.intro{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px 16px 60px;display:flex}.kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-size:12px}.intro h1{font-size:clamp(34px,6vw,64px);font-weight:800;line-height:1.05}.intro h1 em{color:var(--gold);font-style:normal}.intro .sub{color:var(--muted);max-width:460px;margin:12px 0 40px}.intro.leaving .kicker,.intro.leaving h1,.intro.leaving .sub{animation:.6s forwards fadeUp}.gift-wrap{aspect-ratio:1;justify-content:center;align-items:flex-end;width:min(360px,74vw);display:flex;position:relative}.gift{width:100%;height:86%;animation:3.2s ease-in-out infinite bob;position:relative}.gift .box{background:radial-gradient(circle at 20% 30%, #ffffff2e 0 6px, transparent 7px) 0 0 / 46px 46px, linear-gradient(160deg, #e01e3c, var(--red) 45%, var(--red-dark));border-radius:10px;height:74%;position:absolute;bottom:0;left:5%;right:5%;overflow:hidden;box-shadow:inset 0 -18px 30px #00000040,0 30px 60px #00000073}.gift .ribbon-v{background:linear-gradient(90deg, #b3871d, var(--gold) 40%, var(--gold-soft) 55%, #b3871d);width:15%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gift .ribbon-h{background:linear-gradient(180deg, #b3871d, var(--gold) 40%, var(--gold-soft) 55%, #b3871d);height:15%;position:absolute;top:42%;left:0;right:0}.gift .lid{background:linear-gradient(160deg, #ef2b49, var(--red) 55%, var(--red-dark));transform-origin:30% 100%;z-index:3;border-radius:10px;height:20%;position:absolute;top:8%;left:0;right:0;box-shadow:0 8px 16px #00000059}.gift .lid .ribbon-v{width:13.6%}.bow{aspect-ratio:2.1;width:42%;position:absolute;bottom:88%;left:50%;transform:translate(-50%)}.bow:before,.bow:after{content:"";border:14px solid var(--gold);background:#0000000a;border-radius:50%/60% 60% 40% 40%;width:50%;height:100%;position:absolute;bottom:0}.bow:before{transform-origin:100% 100%;left:0;transform:rotate(-28deg)}.bow:after{transform-origin:0 100%;right:0;transform:rotate(28deg)}.bow .knot{background:radial-gradient(circle at 40% 35%, var(--gold-soft), var(--gold) 60%, #9c7714);z-index:2;border-radius:40%;width:30%;height:38%;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.gift .tag{z-index:4;background:var(--snow);color:var(--navy);font-family:var(--font-body);clip-path:polygon(10px 0,100% 0,100% 100%,10px 100%,0 50%);border-radius:4px;padding:6px 12px 6px 18px;font-size:12px;font-weight:600;position:absolute;top:30%;right:-2%;transform:rotate(8deg);box-shadow:0 6px 14px #0000004d}.start-btn{z-index:5;aspect-ratio:1;border:4px solid var(--snow);background:radial-gradient(circle at 35% 30%, #234f86, var(--navy) 60%, #002246);width:32%;color:var(--snow);font-family:var(--font-display);letter-spacing:.14em;cursor:pointer;border-radius:50%;font-size:clamp(14px,3.6vw,19px);font-weight:700;transition:transform .2s;animation:2s infinite pulse;position:absolute;top:62.6%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 #d8a628b3,0 10px 25px #0006}.start-btn:hover{transform:translate(-50%,-50%)scale(1.07)}.start-btn:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.gift-wrap .burst{pointer-events:none;z-index:2;background:radial-gradient(circle,#fff7be 0%,#f1e57a99 30%,#0000 70%);border-radius:50%;width:10px;height:10px;position:absolute;bottom:40%;left:50%;transform:translate(-50%,50%)scale(0)}.gift-wrap .shadow{filter:blur(8px);background:#00000059;border-radius:50%;height:24px;position:absolute;bottom:-18px;left:15%;right:15%}.gift-wrap.opening .gift{animation:.6s ease-in-out shake}.gift-wrap.opening .start-btn{animation:.35s forwards popOut}.gift-wrap.opening .tag{animation:.9s ease-in .5s forwards tagFly}.gift-wrap.opening .lid{animation:1.1s cubic-bezier(.3,.7,.4,1) .55s forwards lidOff}.gift-wrap.opening .burst{animation:1.6s ease-out .75s forwards burst}.gift-wrap.opening .box{animation:.8s ease-in 1.6s forwards boxDrop}.gift-wrap.opening .shadow{animation:.8s 1.6s forwards fadeOut}.confetti{z-index:50;pointer-events:none;width:10px;height:14px;animation:confetti var(--dur) cubic-bezier(.2,.6,.4,1) forwards;border-radius:2px;position:fixed;top:0;left:0}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%{box-shadow:0 0 #d8a628b3,0 10px 25px #0006}70%{box-shadow:0 0 0 22px #d8a62800,0 10px 25px #0006}to{box-shadow:0 0 #d8a62800,0 10px 25px #0006}}@keyframes shake{0%,to{transform:rotate(0)}15%{transform:rotate(-5deg)}30%{transform:rotate(5deg)}45%{transform:rotate(-4deg)}60%{transform:rotate(3deg)}80%{transform:rotate(-1deg)}}@keyframes popOut{to{opacity:0;transform:translate(-50%,-50%)scale(0)}}@keyframes tagFly{to{opacity:0;transform:translate(140px,-80px)rotate(60deg)}}@keyframes lidOff{0%{transform:translateY(0)rotate(0)}35%{transform:translateY(-120px)rotate(-12deg)}to{opacity:0;transform:translate(-260px,-420px)rotate(-75deg)}}@keyframes burst{0%{opacity:1;transform:translate(-50%,50%)scale(0)}60%{opacity:1}to{opacity:0;transform:translate(-50%,50%)scale(140)}}@keyframes boxDrop{to{opacity:0;transform:translateY(60px)scale(.85)}}@keyframes fadeOut{to{opacity:0}}@keyframes fadeUp{to{opacity:0;transform:translateY(-20px)}}@keyframes confetti{0%{transform:translate(var(--x0), var(--y0)) rotate(0);opacity:1}to{transform:translate(var(--x1), var(--y1)) rotate(var(--r));opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(40px)scale(.92)}to{opacity:1;transform:none}}.window{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);background:linear-gradient(#0a3a69e0,#001e3ce6);border-radius:24px;width:min(1040px,100vw - 32px);margin:28px auto 60px;animation:.7s cubic-bezier(.2,.8,.3,1) both rise;overflow:hidden;box-shadow:0 40px 80px #00000073}.window-head{border-bottom:1px solid var(--line);background:#00000026;align-items:center;gap:12px;padding:14px 18px;display:flex}.window-head .lights{gap:7px;display:flex}.window-head .lights span{border-radius:50%;width:11px;height:11px;display:block}.window-head .title{color:var(--muted);font-size:13px}.tabs{scrollbar-width:none;gap:6px;padding:12px 14px 0;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;flex:none;padding:9px 14px;font-size:14px}.tabs button:hover{color:var(--snow)}.tabs button.active{background:var(--snow);color:var(--navy);font-weight:600}.window-body{padding:26px clamp(16px,4vw,40px) 36px}.hero-line{font-size:clamp(28px,4.5vw,46px);font-weight:800;line-height:1.1}.hero-line em{color:var(--gold);font-style:normal}.lead{color:#d9e4ef;max-width:720px;font-size:17px;line-height:1.6}.grid{gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.card h3{margin-bottom:8px;font-size:21px}.card p{color:#c9d6e3;margin:0;line-height:1.55}.card .big{font-family:var(--font-display);color:var(--gold);margin-bottom:8px;font-size:42px;font-weight:800;line-height:1}.card.accent{background:linear-gradient(140deg,#c8102e59,#c8102e1f);border-color:#ff788c4d}.card.gold{background:linear-gradient(140deg,#d8a62840,#d8a6280f);border-color:#d8a62859}.section-title{margin:36px 0 14px;font-size:26px}.muted{color:var(--muted)}.small{font-size:13px}.timeline{gap:10px;margin:0;padding:0;list-style:none;display:grid}.timeline li{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:baseline;gap:14px;padding:12px 16px;display:flex}.timeline .date{color:var(--gold);min-width:110px;font-weight:700}.form{text-align:left;gap:14px;width:min(420px,100%);display:grid}.form label{color:#d0dbe6;gap:6px;font-size:14px;display:grid}.input,.select,.textarea{border:1px solid var(--line);width:100%;color:var(--snow);background:#00000040;border-radius:12px;outline:none;padding:12px 14px}.input:focus,.select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d8a62840}.btn{cursor:pointer;background:var(--gold);color:var(--ink);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:700;transition:transform .15s,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{color:var(--snow);border:1px solid var(--line);background:0 0}.btn.red{background:var(--red);color:#fff}.error{color:#ff9aa8;font-size:14px}.note{color:var(--muted);font-size:13px}.join-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;background:linear-gradient(#ffffff1f,#ffffff0d);border-radius:24px;width:min(480px,100vw - 32px);margin:0 auto;padding:30px 28px;animation:.7s cubic-bezier(.2,.8,.3,1) both rise}.join-panel h2{margin-bottom:6px;font-size:30px}.join-panel .form{margin:22px auto 0}.weeks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.week{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);flex-direction:column;gap:10px;min-height:200px;padding:20px;display:flex;position:relative}.week .emoji{font-size:34px}.week .wk{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:12px}.week h3{font-size:22px}.week p{color:#c9d6e3;flex:1;margin:0;font-size:14px;line-height:1.5}.week.open{background:linear-gradient(160deg,#d8a6282e,#ffffff0a);border-color:#d8a62899}.week.locked{opacity:.6}.pill{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.pill.open{background:var(--gold);color:var(--ink)}.pill.locked{color:var(--muted);background:#ffffff1f}.pill.closed{color:var(--muted);background:#ffffff14}.pill.done{background:var(--green);color:#fff}.board{border-collapse:collapse;width:100%;font-size:15px}.board th,.board td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px}.board th{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px;font-weight:600}.board td.num,.board th.num{text-align:right;font-variant-numeric:tabular-nums}.board tr.me td{background:#d8a6281f}.board .rank{width:48px;font-weight:800}.board-wrap{overflow-x:auto}.podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:12px;margin-bottom:24px;display:grid}.podium .place{text-align:center;background:var(--card-strong);border:1px solid var(--line);border-radius:16px 16px 6px 6px;padding:16px 10px}.podium .place .medal{font-size:30px}.podium .place .name{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-weight:700;overflow:hidden}.podium .place .pts{color:var(--gold);font-family:var(--font-display);font-size:22px;font-weight:800}.podium .p1{border-color:#d8a62899;min-height:170px}.podium .p2{min-height:140px}.podium .p3{min-height:120px}.match-name{font-family:var(--font-display);color:var(--gold);letter-spacing:-.02em;font-size:clamp(34px,6vw,56px);font-weight:800}.clues{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:18px;display:grid}.clue{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}.clue .q{color:var(--muted);margin-bottom:4px;font-size:12px}.clue .a{font-weight:600}.pay-box{border-radius:var(--radius);background:#d8a62814;border:2px dashed #d8a62899;gap:10px;padding:22px;display:grid}.pay-row{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.pay-row b{color:var(--gold-soft)}.placeholder-badge{background:var(--red);color:#fff;letter-spacing:.05em;border-radius:999px;justify-self:start;padding:4px 10px;font-size:12px;font-weight:700}.modal{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000a19bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:linear-gradient(#0b3561,#062646);border-radius:24px;width:min(720px,100%);max-height:calc(100vh - 32px);padding:26px clamp(16px,4vw,32px);animation:.4s both rise;position:relative;overflow-y:auto}.modal-close{border:1px solid var(--line);width:36px;height:36px;color:var(--snow);cursor:pointer;background:#0003;border-radius:50%;font-size:18px;position:absolute;top:14px;right:14px}.game-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding-right:40px;display:flex}.game-head h2{font-size:26px}.hud{font-variant-numeric:tabular-nums;color:var(--gold-soft);gap:14px;font-weight:700;display:flex}.center{text-align:center}.stack{gap:14px;display:grid}.options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.option{border:1px solid var(--line);background:var(--card);color:var(--snow);cursor:pointer;text-align:left;border-radius:14px;padding:14px 16px;font-size:15px;transition:background .15s}.option:hover:not(:disabled){background:var(--card-strong)}.option.correct{background:#1f7a4d99;border-color:#3fbf7f}.option.wrong{background:#c8102e80;border-color:#ff6a80}.timerbar{background:#ffffff1a;border-radius:6px;height:6px;overflow:hidden}.timerbar>div{background:var(--gold);height:100%;transition:width .1s linear}.emoji-clue{text-align:center;letter-spacing:.08em;padding:10px 0 4px;font-size:clamp(38px,9vw,64px)}.catcher{aspect-ratio:4/3;touch-action:none;cursor:none;border:1px solid var(--line);background:linear-gradient(#021a33,#0a3b6b);border-radius:16px;width:100%;position:relative;overflow:hidden}.catcher canvas{width:100%;height:100%;display:block}.memory{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:460px;margin:0 auto;display:grid}.mcard{aspect-ratio:1;cursor:pointer;border:2px solid var(--gold);background:var(--red);border-radius:12px;place-items:stretch stretch;width:100%;padding:0;transition:transform .12s;display:grid;overflow:hidden}.mcard:hover:not(.shown){transform:translateY(-2px)}.mcard .face-down{background:repeating-linear-gradient(45deg, var(--red) 0 10px, #b00d27 10px 20px);display:block}.mcard .face-up{background:var(--snow);place-items:center;font-size:clamp(26px,7vw,40px);animation:.25s ease-out cardFlip;display:grid}.mcard.matched{cursor:default;border-color:#3fbf7f}.mcard.matched .face-up{background:#d9f5e6}@keyframes cardFlip{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.reflex{aspect-ratio:16/9;border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0a2b4f;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;transition:background .1s;display:flex}.reflex .deer{text-align:center;font-size:clamp(60px,14vw,110px);line-height:1}.reflex .nose{background:#3a1b1b;border-radius:50%;width:46px;height:46px;margin:4px auto 0;transition:background 50ms,box-shadow 50ms;display:block}.reflex.go{background:#3a0d18}.reflex.go .nose{background:#ff2a3d;box-shadow:0 0 30px 12px #ff2a3dcc}.reflex.early{background:#2a1630}.result{text-align:center;padding:20px 0}.result .score{font-family:var(--font-display);color:var(--gold);font-size:72px;font-weight:800;line-height:1}.profile-form{gap:14px;display:grid}.profile-form label{color:#d0dbe6;gap:6px;font-size:14px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--snow);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px}.chip.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}.admin{width:min(1100px,100vw - 32px);margin:30px auto}.admin table{border-collapse:collapse;width:100%;font-size:14px}.admin th,.admin td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px}.footer{color:var(--muted);text-align:center;padding:0 16px 24px;font-size:12px}@media (max-width:600px){.timeline li{flex-direction:column;gap:4px}.podium .place .pts{font-size:18px}.memory{gap:7px}}@media (prefers-reduced-motion:reduce){.gift,.start-btn{animation:none}}.party-banner{background:linear-gradient(120deg,#d8a62829,#ffffff0a);border-color:#d8a62873;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.party-banner>div{flex:320px}.menu{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.menu-item{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--snow);cursor:pointer;border-radius:14px;align-content:start;gap:4px;padding:14px 16px;transition:border-color .15s,background .15s;display:grid}.menu-item:hover:not(:disabled){background:var(--card-strong)}.menu-item.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#d8a62829}.menu-item:disabled{cursor:not-allowed;opacity:.7}.menu-name{font-weight:600}.menu-desc{color:#c9d6e3;font-size:13px}.menu-tags{letter-spacing:.08em;color:var(--gold-soft);font-size:11px;font-weight:700}.test-banner{background:#c8102e33;border:1px solid #ff788c59;border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:14px}.sound-toggle{gap:6px;display:flex}.sound-toggle button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#0003;border-radius:999px;padding:6px 12px;font-size:12px}.sound-toggle button.on{color:var(--snow);border-color:#d8a62899}@media (max-width:600px){.topbar .who>span{display:none}}.snow-canvas canvas{display:block}.scene{z-index:2;background:#04162c;position:fixed;inset:0;overflow:hidden}.scene-canvas{position:absolute;inset:0}.scene-canvas canvas{opacity:0;width:100%;height:100%;transition:opacity 1.2s;display:block}.scene.ready .scene-canvas canvas{opacity:1}.scene-copy{text-align:center;pointer-events:none;padding:0 16px;transition:opacity .6s,transform .6s;position:absolute;top:clamp(90px,12vh,140px);left:0;right:0}.scene-copy h1{text-shadow:0 6px 40px #00000080;font-size:clamp(36px,6.4vw,76px);font-weight:800;line-height:1.02}.scene-copy h1 em{color:var(--gold);font-style:normal}.scene-copy .sub{color:#c4d3e4;max-width:480px;margin:14px auto 0;font-size:17px}.scene.opening .scene-copy{opacity:0;transform:translateY(-24px)}.scene-start{aspect-ratio:1;cursor:pointer;color:#fff;width:clamp(86px,9vw,116px);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;opacity:0;will-change:transform;background:radial-gradient(circle at 35% 30%,#285a96f2,#002855f2 65%);border:2px solid #ffecbee6;border-radius:50%;font-size:clamp(13px,1.3vw,16px);font-weight:700;transition:opacity .8s .6s,box-shadow .25s;position:absolute;top:0;left:0;box-shadow:0 0 0 6px #d8a62840,0 12px 40px #00000080,inset 0 2px 8px #ffffff40}.scene.ready .scene-start{opacity:1}.scene-start:before{content:"";border:1px solid #d8a628b3;border-radius:50%;animation:2.4s ease-out infinite ring;position:absolute;inset:-10px}.scene-start:hover{box-shadow:0 0 0 10px #d8a62859,0 0 60px #f2cf6b8c,inset 0 2px 8px #ffffff4d}.scene-start:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.scene.opening .scene-start{opacity:0;pointer-events:none;transition:opacity .25s}.scene-hint{text-align:center;color:var(--muted);letter-spacing:.3em;text-transform:uppercase;pointer-events:none;font-size:12px;transition:opacity .4s;position:absolute;bottom:28px;left:0;right:0}.scene.opening .scene-hint{opacity:0}.scene-flash{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,#fffaf0 0%,#ffe7a8 45%,#f2cf6b 100%);position:absolute;inset:0}.flash-out{z-index:30;pointer-events:none;background:radial-gradient(circle at 50% 45%,#fffaf0 0%,#ffe7a8 45%,#f2cf6b 100%);animation:1.3s ease-out forwards flashOut;position:fixed;inset:0}@keyframes flashOut{0%{opacity:1}to{opacity:0}}@keyframes ring{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}.topbar{z-index:5;position:relative}.sound-toggle button{white-space:nowrap}@media (max-width:600px){.sound-toggle button{padding:6px 9px;font-size:11px}}.topbar .logo{filter:drop-shadow(0 2px 10px #00000059);width:auto;height:34px;display:block}@media (max-width:600px){.topbar .logo{height:26px}}.coin-pill{font-variant-numeric:tabular-nums;color:var(--gold-soft);background:#d8a62824;border:1px solid #d8a62880;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:5px 12px 5px 5px;font-size:14px;font-weight:700;display:inline-flex}.coin{width:22px;height:22px;font-family:var(--font-display);color:#6b4c05;background:radial-gradient(circle at 35% 30%,#fff1b8,#f2cf6b 40%,#c8921c 100%);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 2px #78500059}@media (max-width:600px){.coin-label{display:none}}.board td.up{color:#6fe0a5}.board td.down{color:#ff9aa8}.flying-coin{z-index:60;pointer-events:none;width:26px;height:26px;font-family:var(--font-display);color:#6b4c05;opacity:0;background:radial-gradient(circle at 35% 30%,#fff1b8,#f2cf6b 40%,#c8921c 100%);border-radius:50%;place-items:center;font-size:13px;font-weight:800;animation-name:coinFly;animation-timing-function:cubic-bezier(.25,.6,.4,1);animation-fill-mode:forwards;display:grid;position:fixed;top:0;left:0;box-shadow:inset 0 0 0 2px #78500059,0 4px 10px #0000004d}@keyframes coinFly{0%{transform:translate(var(--x0), var(--y0)) rotateY(0) scale(.6);opacity:1}30%{transform:translate(calc(var(--x0) + var(--dx) * .4), calc(var(--y0) + var(--up))) rotateY(calc(var(--spin) * .4)) scale(1);opacity:1}to{transform:translate(calc(var(--x0) + var(--dx)), calc(var(--y0) + var(--down))) rotateY(var(--spin)) scale(.9);opacity:.9}}.slots-wrap{justify-items:center;gap:14px;display:grid}.slot-machine{background:linear-gradient(#8f0b20,#5e0614 70%,#3d030c);border:3px solid #e3b443;border-radius:28px 28px 22px 22px;width:min(520px,100%);padding:18px 18px 22px;position:relative;box-shadow:0 30px 60px #00000080,inset 0 2px #ffffff26,inset 0 -10px 30px #00000059}.slot-machine.win{animation:.6s 2 machineWin}@keyframes machineWin{0%,to{box-shadow:0 30px 60px #00000080,0 0 #f2cf6b00}50%{box-shadow:0 30px 60px #00000080,0 0 60px 10px #f2cf6b99}}.marquee{text-align:center;background:linear-gradient(#0a2b52,#041a33);border:2px solid #e3b443b3;border-radius:18px;margin-bottom:14px;padding:14px 10px 16px;position:relative;overflow:hidden}.marquee .bulbs{pointer-events:none;background:radial-gradient(circle,#ffe69a 0 3px,#0000 4px) 0 0/22px 100% repeat-x,radial-gradient(circle,#ffe69a 0 3px,#0000 4px) 11px 100%/22px 100% repeat-x;border-radius:14px;animation:.8s steps(2,end) infinite chase;position:absolute;inset:5px;-webkit-mask:linear-gradient(#000 0 0) top/100% 8px no-repeat,linear-gradient(#000 0 0) bottom/100% 8px no-repeat;mask:linear-gradient(#000 0 0) top/100% 8px no-repeat,linear-gradient(#000 0 0) bottom/100% 8px no-repeat}@keyframes chase{50%{filter:brightness(.35)}}.marquee-title{font-family:var(--font-display);letter-spacing:.04em;background:linear-gradient(#fff3c4,#e3b443 60%,#b8862a);color:#0000;text-shadow:0 0 30px #f2cf6b59;-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,5vw,36px);font-weight:800}.marquee-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:12px}.reels-frame{background:linear-gradient(#2a0710,#12030a);border-radius:18px;padding:12px;position:relative;box-shadow:inset 0 6px 18px #0009}.reels{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.reel{background:linear-gradient(#c9d3df 0%,#fff 30% 70%,#c9d3df 100%);border-radius:12px;height:276px;overflow:hidden;box-shadow:inset 0 10px 18px #00000059,inset 0 -10px 18px #00000059}.strip{will-change:transform}.tile{place-items:center;font-size:54px;display:grid}.payline{pointer-events:none;border:2px solid #e3b4438c;border-radius:12px;height:96px;transition:box-shadow .3s,border-color .3s;position:absolute;top:50%;left:6px;right:6px;transform:translateY(-50%)}.payline.lit{border-color:#ffe69a;box-shadow:0 0 24px 4px #ffe69ab3,inset 0 0 24px #ffe69a59}.slot-result{text-align:center;gap:2px;min-height:52px;margin:14px 0 6px;display:grid}.slot-result b{color:#fff3c4;font-size:18px}.slot-result span{color:var(--gold-soft);font-variant-numeric:tabular-nums;font-weight:700}.slot-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.spin-btn{letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(#ffe08a,#e3b443 55%,#b8862a);min-width:140px;font-size:18px;box-shadow:0 6px #7a5410,0 10px 20px #0006}.spin-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #7a5410,0 4px 10px #0006}.lever{cursor:pointer;background:0 0;border:0;width:30px;height:170px;padding:0;position:absolute;top:120px;right:-34px}.lever:disabled{cursor:default}.lever-arm{transform-origin:bottom;background:linear-gradient(90deg,#8a8f99,#e7ebf0,#8a8f99);border-radius:4px;width:8px;height:150px;transition:transform .35s cubic-bezier(.5,1.6,.5,1);position:absolute;bottom:0;left:11px}.lever-ball{background:radial-gradient(circle at 35% 30%,#ff8a99,#c8102e 60%,#6e0716);border-radius:50%;width:30px;height:30px;transition:transform .35s cubic-bezier(.5,1.6,.5,1);position:absolute;top:0;left:0;box-shadow:0 4px 10px #0006}.lever.pulled .lever-arm{transform:scaleY(-.6)}.lever.pulled .lever-ball{transform:translateY(200px)}.paytable{text-align:center;width:min(520px,100%)}.paytable table{border-collapse:collapse;width:100%;margin-top:10px;font-size:14px}.paytable td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.paytable td.num{text-align:right;color:var(--gold-soft);font-weight:700}@media (max-width:600px){.tile{font-size:44px}.lever{display:none}}.lottery{justify-items:center;gap:12px;display:grid}.ticket{width:min(500px,100%);color:var(--ink);background:linear-gradient(160deg,#fffdf6,#f6ecd2);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 30px 60px #00000073}.ticket:before,.ticket:after{content:"";background:#0a2f57;border-radius:50%;width:26px;height:26px;position:absolute;top:86px}.ticket:before{left:-13px}.ticket:after{right:-13px}.ticket.won{animation:.6s 3 machineWin}.ticket-head{color:#fff;background:linear-gradient(120deg,#c8102e,#8f0b20);border-bottom:3px dashed #fff6;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 22px;display:flex}.ticket-head .kicker{color:#ffe69a}.ticket-title{font-family:var(--font-display);font-size:22px;font-weight:800}.ticket-price{color:#5e3d00;white-space:nowrap;background:#ffe69a;border-radius:999px;padding:6px 12px;font-weight:800}.ticket-body{border-radius:14px;min-height:260px;margin:20px 22px;position:relative;overflow:hidden}.ticket-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cell{background:#fff;border:1px solid #ead9a8;border-radius:12px;place-items:center;gap:2px;padding:14px 6px;display:grid}.cell.hit{background:#fff4c7;border-color:#d8a628;animation:.5s pop;box-shadow:0 0 0 3px #d8a62873}@keyframes pop{50%{transform:scale(1.08)}}.cell-icon{font-size:34px}.cell-amt{color:#0b1b2b;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.foil{cursor:grab;touch-action:none;border-radius:14px;width:100%;height:100%;position:absolute;inset:0}.ticket-empty{text-align:center;color:#5b6573;place-items:center;gap:6px;min-height:260px;padding:0 20px;display:grid}.ticket-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 22px 20px;display:flex}.ticket-foot .muted{color:#6b7686}.ticket .btn.ghost{color:var(--ink);border-color:#d6c79a}.win-text{color:#1f7a4d;font-size:17px}.scene-copy{top:clamp(70px,9vh,110px)}.scene-copy .kicker{margin-bottom:4px;font-size:11px}.festive-logo{filter:drop-shadow(0 10px 30px #00000073);width:clamp(220px,34vw,440px);height:auto;margin:0 auto 2px;display:block}.scene-copy h1{letter-spacing:.02em;font-size:clamp(22px,3vw,34px)}.scene-copy .sub{margin-top:8px;font-size:15px}.intro .festive-logo{margin-bottom:8px}.hub{justify-content:center;width:100%;display:flex}.map-screen{width:min(1100px,100vw - 24px);margin:18px auto 40px;animation:.6s both rise}.map-title{text-align:center;margin-bottom:12px}.map-title h2{font-size:clamp(22px,3.4vw,34px)}.world-map{border:1px solid var(--line);background:#0b2a4d;border-radius:26px;overflow:hidden;box-shadow:0 40px 80px #00000073}.world-map svg{width:100%;height:auto;font-family:var(--font-display);display:block}.world-map .place{cursor:pointer;outline:none}.world-map .place .bob{transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.world-map .place:hover .bob,.world-map .place:focus-visible .bob{transform:translateY(-8px)scale(1.06)}.world-map .place:focus-visible .signboard rect:nth-of-type(3){stroke:#ffd36b;stroke-width:3px}.world-map .place.here .signboard rect:nth-of-type(3){fill:#8f0b20}.world-map .glow{filter:drop-shadow(0 0 6px #ffd36be6)}.world-map .twinkle{animation:2.4s ease-in-out infinite twinkle}.world-map .map-snow{animation-name:mapSnow;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes twinkle{50%{opacity:.25}}@keyframes mapSnow{0%{transform:translateY(0)}to{transform:translateY(680px)}}.place-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px;display:grid}.place-list button{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--snow);cursor:pointer;border-radius:14px;gap:2px;padding:12px 14px;display:grid}.place-list button:hover{background:var(--card-strong)}.place-list button span{color:var(--muted);font-size:12px}.place-window{width:min(1040px,100vw - 24px)}.place-window.wide{width:min(1320px,100vw - 24px)}.window-head{flex-wrap:wrap}.back-map{color:var(--gold-soft);cursor:pointer;background:#d8a62826;border:1px solid #d8a62899;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700}.back-map:hover{background:#d8a6284d}.window-head .title{color:var(--snow);font-size:15px;font-weight:700}.quick-nav{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.quick-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:12px}.quick-nav button:hover{color:var(--snow)}.quick-nav button.active{background:var(--snow);color:var(--navy);font-weight:700}@media (max-width:760px){.quick-nav{display:none}}.race{gap:18px;display:grid}.race-stage{border:1px solid var(--line);background:#0b2a4d;border-radius:20px;height:min(72vh,720px);min-height:460px;position:relative;overflow:hidden}.board-canvas{position:absolute;inset:0}.board-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.board-canvas.fallback{text-align:center;place-items:center;padding:20px;display:grid}.race-hud{pointer-events:none;gap:10px;width:min(270px,100% - 28px);display:grid;position:absolute;top:14px;left:14px}.race-hud>*{pointer-events:auto}.me-card,.roll-box{-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);background:#04162cc7;border-radius:16px;padding:12px}.me-card{align-items:center;gap:10px;display:flex}.me-card img{object-fit:contain;background:#ffffff0f;border-radius:12px;width:64px;height:64px}.me-card b{font-size:18px}.roll-box{gap:10px;display:grid}.rolls-left{align-items:baseline;gap:8px;display:flex}.big-num{font-family:var(--font-display);color:var(--gold);font-size:40px;font-weight:800;line-height:1}.roll-btn{background:linear-gradient(#ffe08a,#e3b443 55%,#b8862a);width:100%;padding:14px;font-size:17px;box-shadow:0 5px #7a5410,0 10px 20px #00000059}.roll-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #7a5410}.cam-btns{gap:6px;display:flex}.cam-btns .chip{background:#04162cc7;font-size:12px}.token-tip{pointer-events:none;white-space:nowrap;z-index:3;background:#04162ceb;border:1px solid #d8a62899;border-radius:12px;gap:1px;padding:8px 12px;font-size:13px;display:grid;position:absolute;transform:translate(14px,-50%)}.token-tip span{color:var(--muted);font-size:12px}.winner-banner{background:linear-gradient(120deg,#d8a62859,#c8102e40);border:1px solid #d8a628b3;border-radius:16px;align-items:center;gap:14px;padding:12px 16px;display:flex}.winner-banner img{object-fit:contain;width:56px;height:56px}.race-panels{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.standings{gap:6px;margin:0;padding:0;list-style:none;display:grid}.standings li{background:#ffffff0a;border-radius:12px;grid-template-columns:34px 40px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.standings li.me{background:#d8a62829;box-shadow:inset 0 0 0 1px #d8a62880}.standings img{object-fit:contain;width:40px;height:40px}.standings .rank{text-align:center;color:var(--gold-soft);font-weight:800}.standings .who{font-weight:600;display:grid}.standings .who small{color:var(--muted);font-weight:400}.standings .sq{font-family:var(--font-display);color:var(--gold);font-size:18px;font-weight:800}.feed{gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.feed li{align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.feed img{object-fit:contain;flex:none;width:34px;height:34px}.feed small{color:var(--muted);font-size:11px;display:block}.cracker-card{text-align:center;width:min(380px,100%);color:var(--ink);background:linear-gradient(160deg,#fffdf6,#f6ecd2);border-radius:20px;padding:0 0 24px;animation:.5s cubic-bezier(.2,1.4,.4,1) both cardIn;overflow:hidden;box-shadow:0 30px 60px #00000080}.cracker-card h2{margin:18px 20px 8px;font-size:26px}.cracker-card p{color:#3b4656;margin:0 24px 20px;line-height:1.5}.cracker-top{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:repeating-linear-gradient(45deg,#c8102e 0 14px,#a50d24 14px 28px);padding:14px;font-size:12px;font-weight:800}@keyframes cardIn{0%{opacity:0;transform:rotateY(90deg)scale(.6)}to{opacity:1;transform:none}}@media (max-width:700px){.race-stage{background:0 0;border:0;border-radius:0;height:auto;min-height:0;overflow:visible}.race-stage .board-canvas{border:1px solid var(--line);background:#0b2a4d;border-radius:14px;height:50vh;min-height:320px;position:relative;inset:auto;overflow:hidden}.race-stage .race-hud{margin-top:10px;position:static}.race-stage .me-card{grid-column:1/-1;display:flex}.race-hud{grid-template-columns:1fr auto;align-items:end;width:auto;inset:auto 10px 10px}.me-card{display:none}.roll-box{gap:6px;padding:10px}.rolls-left .big-num{font-size:28px}.cam-btns{flex-direction:column}}.picker{width:min(1100px,100vw - 24px);margin:24px auto 40px;animation:.6s both rise}.picker-head{text-align:center;margin-bottom:18px}.picker-head h2{font-size:clamp(24px,3.6vw,36px)}.picker-head p{max-width:560px;margin:8px auto 0}.picker-body{grid-template-columns:minmax(260px,380px) 1fr;align-items:start;gap:18px;display:grid}.picker-stage{border:1px solid var(--line);background:radial-gradient(circle at 50% 35%,#d8a62838,#ffffff0a 65%);border-radius:22px;justify-items:center;gap:10px;padding:16px;display:grid;position:sticky;top:16px}.turntable{aspect-ratio:1;width:100%}.turntable canvas{width:100%;height:100%;display:block}.picker-name{font-family:var(--font-display);color:var(--gold);font-size:26px;font-weight:800}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.pick{border:1px solid var(--line);background:var(--card);color:var(--snow);cursor:pointer;border-radius:16px;justify-items:center;gap:4px;padding:10px 8px 12px;font-weight:600;transition:transform .15s,background .15s;display:grid;position:relative}.pick:hover{background:var(--card-strong);transform:translateY(-3px)}.pick.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#d8a6282e}.pick img{object-fit:contain;width:96px;height:96px}.pick .emoji{font-size:60px;line-height:96px}.pick.taken{opacity:.4}.pick em{letter-spacing:.1em;text-transform:uppercase;background:var(--red);border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:800;position:absolute;top:8px;right:8px}@media (max-width:760px){.picker-body{grid-template-columns:1fr}.picker-stage{position:static}.turntable{max-width:280px}}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.steps li{background:var(--card);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;line-height:1.5;display:flex}.steps li>span{background:var(--gold);width:30px;height:30px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.square-help{align-items:flex-start;gap:14px;display:flex}.sq-dot{border:3px solid #ffffffb3;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:18px;font-weight:800;display:grid}.sq-dot.sleigh{background:#3f9f68}.sq-dot.ice{background:#d64561}.sq-dot.card{color:#3d2a00;background:#e3b443}.sq-dot.plain{background:#d6e7f7}.revolut-btn{color:#0b1b2b;background:linear-gradient(#fff,#e9eef5);justify-self:start;margin-top:6px;box-shadow:0 6px 18px #0000004d}.challenge-card{border:1px solid var(--line);background:linear-gradient(#0b3561,#062646);border-radius:22px;width:min(640px,100%);max-height:calc(100vh - 32px);animation:.45s cubic-bezier(.2,1.3,.4,1) both cardIn;overflow-y:auto;box-shadow:0 30px 60px #00000080}.challenge-top{letter-spacing:.08em;text-transform:uppercase;color:#fff;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:800;display:flex}.challenge-top span{font-size:20px}.challenge-body{gap:12px;padding:18px 20px 22px;display:grid}.challenge-body .q{font-size:21px;line-height:1.3}.challenge-result{border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.challenge-result.good{background:#1f7a4d59;border:1px solid #3fbf7f}.challenge-result.bad{background:#c8102e4d;border:1px solid #ff6a80}.mini-reels{background:linear-gradient(#8f0b20,#5e0614);border:3px solid #e3b443;border-radius:18px;justify-content:center;gap:10px;padding:14px;display:flex}.mini-reel{background:linear-gradient(#c9d3df,#fff 30% 70%,#c9d3df);border-radius:12px;place-items:center;width:86px;height:96px;font-size:52px;display:grid;box-shadow:inset 0 8px 14px #0000004d}.mini-reel.spin{filter:blur(1.2px)}.targets{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.target{border:1px solid var(--line);background:var(--card);color:var(--snow);cursor:pointer;border-radius:14px;justify-items:center;gap:2px;padding:10px;display:grid}.target .emoji{font-size:30px}.target small{color:var(--muted)}.target.on{background:#8dff5a1f;border-color:#8dff5a;box-shadow:inset 0 0 0 1px #8dff5a}.attack-modes{flex-wrap:wrap;gap:8px;display:flex}.inventory{flex-wrap:wrap;gap:6px;display:flex}.inventory span{cursor:help;background:#ff8fa326;border:1px solid #ff8fa380;border-radius:999px;padding:4px 9px;font-size:12px}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border:2px solid #ffffffb3;border-radius:50%;width:14px;height:14px;display:inline-block}.sq-dot.quiz{background:#6b3fa0}.sq-dot.game{background:#2b6fd6}.sq-dot.shop{background:#f06292}.sq-dot.slot{background:#f08a24}.sq-dot.attack{color:#8dff5a;background:#1f3a14}@media (max-width:640px){.topbar{padding:14px 12px 0}.topbar .who{gap:6px;font-size:12px}.map-screen{margin-top:10px}.map-title h2{font-size:20px}.world-map{border-radius:18px}.place-list{grid-template-columns:1fr 1fr}.place-list button{padding:10px 12px}.window,.place-window,.place-window.wide{border-radius:18px;width:calc(100vw - 16px);margin:10px auto 30px}.window-body{padding:16px 12px 24px}.window-head{padding:10px 12px}.window-head .lights{display:none}.hero-line{font-size:26px}.lead{font-size:15px}.picker{margin-top:10px}.picker-head h2{font-size:22px}.picker-head p{font-size:14px}.picker-stage{gap:6px;padding:10px}.turntable{max-width:190px}.picker-name{font-size:20px}.picker-grid{grid-template-columns:repeat(3,1fr);gap:6px}.pick{border-radius:12px;padding:6px 4px 8px;font-size:12px}.pick img{width:64px;height:64px}.pick .emoji{font-size:40px;line-height:64px}.pick em{padding:1px 5px;font-size:9px;top:4px;right:4px}.legend{gap:6px 10px;font-size:11px}.challenge-body{padding:14px 12px 18px}.challenge-body .q{font-size:18px}.options{grid-template-columns:1fr}.mini-reel{width:72px;height:82px;font-size:42px}.attack-modes .btn{flex:100%}.modal{padding:8px}.menu{grid-template-columns:1fr}.board-wrap table{font-size:12px}.admin{width:calc(100vw - 16px)}.join-panel{padding:22px 16px}.catcher{aspect-ratio:3/4}.reflex{aspect-ratio:4/3}}.admin-controls{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:18px 0;display:grid}.admin-controls .card{align-content:start;gap:10px;display:grid}.admin-controls .btn{justify-self:start}.switch{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.switch input{accent-color:#e3b443;cursor:pointer;width:44px;height:24px}.world-map .bulb{filter:drop-shadow(0 0 3px);animation:1.6s ease-in-out infinite twinkle}.world-map .smoke{animation:3.3s ease-out infinite smoke}@keyframes smoke{0%{opacity:.7;transform:translate(0)scale(.6)}to{opacity:0;transform:translate(14px,-46px)scale(1.8)}}.world-map .smoke{transform-box:fill-box;transform-origin:50%}.world-map .aurora{transform-origin:50%;mix-blend-mode:screen;animation:9s ease-in-out infinite alternate aurora}@keyframes aurora{0%{opacity:.55;transform:translate(-20px)scaleY(.9)}to{opacity:.95;transform:translate(20px)scaleY(1.15)}}.world-map .shooting-star{opacity:0;animation:7s linear 2s infinite shoot}@keyframes shoot{0%,92%{opacity:0;transform:translate(0)}94%{opacity:1}to{opacity:0;transform:translate(260px,90px)}}.world-map .lamp-glow{animation:3s ease-in-out infinite twinkle}.world-map .place:hover .signboard rect:nth-of-type(3){fill:#8f0b20}@media (prefers-reduced-motion:reduce){.world-map .smoke,.world-map .aurora,.world-map .shooting-star,.world-map .bulb{animation:none}}.how-to-play summary{cursor:pointer;font-weight:800;font-family:var(--font-display);font-size:18px;list-style:none}.how-to-play summary::-webkit-details-marker{display:none}.how-to-play[open] summary{margin-bottom:14px}.how-to-play .square-help p{color:#c9d6e3;margin:2px 0 0;font-size:13px}.how-to-play .sq-dot{width:36px;height:36px;font-size:15px}.santa-steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none;display:grid}.santa-steps li{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.santa-steps h3{margin-bottom:4px;font-size:18px}.santa-steps p{color:#c9d6e3;margin:0 0 6px;font-size:14px;line-height:1.5}.step-icon{background:#d8a62829;border:1px solid #d8a62873;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:26px;display:grid;position:relative}.step-icon span{background:var(--gold);width:22px;height:22px;color:var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;top:-8px;left:-8px}.pay-steps{color:#d9e4ef;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pay-status{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.pay-status.ok{background:#1f7a4d4d;border-color:#3fbf7f}.pay-status.wait{background:#d8a62826;border-color:#d8a62880}.date-field{color:var(--muted);gap:6px;font-size:13px;display:grid}.date-field>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.date-field .input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex:180px;width:auto;padding:8px 10px}.date-field .btn{padding:8px 14px}.cursor-sparkle{pointer-events:none;z-index:9999;width:100vw;height:100vh;position:fixed;inset:0}.countdowns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px;display:grid}.countdown{text-align:center;background:linear-gradient(160deg,#c8102e59,#8f0b2040);border:1px solid #ffd36b73;border-radius:16px;padding:12px 14px;box-shadow:0 10px 24px #0000004d}.cd-label{letter-spacing:.08em;text-transform:uppercase;color:#ffe69a;font-size:13px;font-weight:800}.cd-units{justify-content:center;gap:8px;margin:8px 0 4px;display:flex}.cd-units>div{background:#04162ca6;border-radius:10px;min-width:50px;padding:6px 4px;display:grid}.cd-units b{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#fff;font-size:24px}.cd-units small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.cd-date{color:var(--muted);font-size:12px}@media (pointer:fine){html,body,.page{cursor:url(/cursor-glove.svg) 10 4,auto}a,button,[role=button],summary,label,.world-map .place,.chip,.option,.mcard,.pick,.target,.menu-item{cursor:url(/cursor-glove.svg) 10 4,pointer!important}input,textarea,select{cursor:text}.board-canvas canvas{cursor:url(/cursor-glove.svg) 10 4,grab}}@media (max-width:640px){.countdowns{grid-template-columns:1fr;gap:8px}.countdown{padding:10px}.cd-units b{font-size:20px}.cd-units>div{min-width:44px}}.launch-countdown{pointer-events:none;background:radial-gradient(circle at 20% 0,#ffffff1f,#0000 45%),linear-gradient(160deg,#b3182f 0%,#8f0b20 55%,#5e0614 100%);border:2px solid #e3b443;border-radius:16px;justify-items:center;gap:6px;padding:18px 14px 9px;display:inline-grid;position:relative;box-shadow:0 0 0 4px #8f0b208c,0 0 0 5px #e3b4438c,0 12px 28px #00000073,0 0 30px #f2cf6b38}.lc-ribbon{white-space:nowrap;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#5e3d00;background:linear-gradient(#ffe9a8,#e3b443 60%,#c8921c);border-radius:999px;padding:4px 13px;font-size:10px;font-weight:800;position:absolute;top:-11px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000059}.lc-ribbon span{color:#8f0b20;margin:0 4px}.lc-units,.lc-group{align-items:flex-start;display:flex}.lc-sep{font-family:var(--font-display);color:#ffd36b;padding:4px 3px 0;font-size:clamp(18px,2.6vw,24px);font-weight:800;line-height:1;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.lc-unit{justify-items:center;gap:4px;display:grid}.lc-tile{gap:2px;display:flex}.lc-digit{width:clamp(20px,2.8vw,26px);height:clamp(28px,4vw,36px);font-family:var(--font-display);color:#0b1b2b;background:linear-gradient(#fff 0%,#fbf6e9 49%,#efe5cc 51%,#f7f0de 100%);border-radius:6px;place-items:center;font-size:clamp(17px,2.4vw,23px);font-weight:800;animation:.45s cubic-bezier(.2,1.2,.4,1) flipIn;display:grid;position:relative;box-shadow:inset 0 -3px #00000014,0 4px 10px #00000059}.lc-digit:after{content:"";background:#0000001f;height:1px;position:absolute;top:50%;left:0;right:0}@keyframes flipIn{0%{opacity:.4;transform:rotateX(-90deg)}to{opacity:1;transform:rotateX(0)}}.lc-unit small{letter-spacing:.16em;text-transform:uppercase;color:#ffe9a8;font-size:8px;font-weight:700}.lc-date{color:#fff3c4;opacity:.9;font-size:11px;font-weight:600}@media (max-width:640px){.launch-countdown{padding:16px 10px 8px}.lc-sep{padding:3px 2px 0}.lc-ribbon{font-size:9px}}@media (prefers-reduced-motion:reduce){.lc-digit,.lc-sep{animation:none}}.tease-bubble{white-space:nowrap;color:#8f0b20;font-family:var(--font-display);letter-spacing:0;text-transform:none;pointer-events:none;z-index:10;background:#fffdf6;border-radius:14px;padding:10px 16px;font-size:15px;font-weight:800;animation:.35s cubic-bezier(.2,1.6,.4,1) both teaseIn;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.tease-bubble:after{content:"";border:8px solid #0000;border-top-color:#fffdf6;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes teaseIn{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}.scene.teasing .scene-start{animation:none}.scene-start{position:absolute}.start-btn{overflow:visible}@media (max-width:640px){.tease-bubble{white-space:normal;text-align:center;width:220px;font-size:13px}}.scene-launch{pointer-events:none;justify-content:center;transition:opacity .4s;display:flex;position:absolute;bottom:clamp(14px,4vh,36px);left:0;right:0}.scene.opening .scene-launch{opacity:0}.scene-launch .launch-countdown{margin-top:0}.elf-speech{color:#0b1b2b;pointer-events:none;opacity:0;z-index:3;background:#fffdf6;border-radius:14px;max-width:min(260px,62vw);padding:9px 13px 10px;font-size:13px;line-height:1.35;transition:opacity .3s;position:absolute;top:0;left:0;box-shadow:0 8px 22px #00000059}.elf-speech b{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#1f7a4d;margin-bottom:1px;font-size:11px;display:block}.elf-speech:after{content:"";border:7px solid #0000;border-top-color:#fffdf6;position:absolute;top:100%;left:50%;transform:translate(-50%)}.elf-speech.pop{animation:.35s cubic-bezier(.2,1.5,.4,1) speechPop}@keyframes speechPop{0%{scale:.6}to{scale:1}}.scene.opening .elf-speech{display:none}@media (max-width:640px){.elf-speech{max-width:190px;font-size:11.5px}}.song-pill{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--snow);cursor:pointer;text-align:left;background:#04162cd1;border:1px solid #ffd36b99;border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex;position:fixed;bottom:18px;left:16px;box-shadow:0 10px 24px #00000059}.song-pill b{font-size:13px;display:block}.song-pill small{color:var(--gold-soft);font-size:11px}.song-disc{background:radial-gradient(circle,#ffd36b 0 18%,#1c2330 19% 100%);border-radius:50%;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.song-pill.playing .song-disc{animation:3s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.song-panel{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0a284bf5,#04162cf5);border:1px solid #ffd36b8c;border-radius:20px;flex-direction:column;width:min(340px,100vw - 32px);max-height:min(70vh,560px);animation:.35s both rise;display:flex;position:fixed;bottom:18px;left:16px;overflow:hidden;box-shadow:0 20px 50px #00000080}.song-head{align-items:center;gap:12px;padding:14px 14px 8px;display:flex}.song-vinyl{background:repeating-radial-gradient(circle,#1c2330 0 2px,#10151d 2px 4px);border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 0 0 2px #ffd36b80}.song-vinyl span{background:#c8102e;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.song-vinyl.spin{animation:2.4s linear infinite spin}.song-meta{flex:1;display:grid}.song-meta b{font-family:var(--font-display);font-size:17px}.song-meta small{color:var(--gold-soft);font-size:12px}.song-close{border:1px solid var(--line);width:30px;height:30px;color:var(--snow);cursor:pointer;background:#00000040;border-radius:50%;font-size:16px}.song-controls{align-items:center;gap:8px;padding:0 14px 10px;display:flex}.song-play{cursor:pointer;color:#3d2a00;background:linear-gradient(#ffe08a,#e3b443);border:0;border-radius:50%;width:38px;height:38px;font-size:13px}.song-time{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;width:32px;font-size:11px}.song-seek{accent-color:#e3b443;flex:1}.song-lyrics{border-top:1px solid var(--line);padding:6px 16px 16px;overflow-y:auto}.lyric-part{margin-top:12px}.lyric-label{letter-spacing:.14em;text-transform:uppercase;color:#ffd36b;margin-bottom:4px;font-size:10px;font-weight:800}.lyric-part p{color:#e3ebf4;margin:0 0 3px;font-size:14px;line-height:1.45}@media (max-width:640px){.song-pill{padding:4px;top:62px;bottom:auto;left:10px}.song-pill>span:last-child{display:none}.song-panel{width:auto;max-height:62vh;bottom:8px;left:8px;right:8px}}.song-versions{gap:6px;padding:0 14px 10px;display:flex}.song-versions button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#00000040;border-radius:999px;flex:1;padding:6px 10px;font-size:12px;font-weight:700}.song-versions button.on{color:#3d2a00;background:linear-gradient(#ffe08a,#e3b443);border-color:#0000}
