@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/35161b7740c25d33-s.p.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.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:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.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:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/35161b7740c25d33-s.p.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.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:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.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:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/65c558afe41e89d6-s.p.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.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:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(../media/65c558afe41e89d6-s.p.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_8e8c0350-module__flDLUa__className{font-family:Playfair Display,Playfair Display Fallback}.playfair_display_8e8c0350-module__flDLUa__variable{--font-display:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.p.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_f8a8994-module__KCiO_G__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_f8a8994-module__KCiO_G__variable{--font-body:"Manrope", "Manrope Fallback"}
:root{--berry-deep:#2b0510;--berry:#5a0b1a;--red:#d4143a;--red-soft:#ff5a76;--gold:#f6c453;--gold-bright:#ffe08a;--gold-deep:#c98f1f;--pine:#1f7a4d;--mint:#8fe3b4;--cream:#fff4e0;--cream-muted:#fff4e0bd;--ink:#5c0a1c;--glass:#4a081894;--glass-line:#ffd68c3d;--shadow:0 30px 80px #19000673;--font-display:Georgia, serif;--font-body:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--berry-deep)}body{min-width:320px;color:var(--cream);background:var(--berry-deep);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit}.app-shell{isolation:isolate;background:radial-gradient(ellipse 70% 45% at 50% -5%, #ff5a7673, transparent 70%), radial-gradient(ellipse 50% 40% at 0% 100%, #1f7a4d59, transparent 70%), radial-gradient(ellipse 50% 40% at 100% 100%, #f6c4532e, transparent 70%), linear-gradient(180deg, #8a1027 0%, var(--berry) 45%, var(--berry-deep) 100%);min-height:100svh;padding:92px 20px 48px;position:relative;overflow:hidden}.webgl-scene{z-index:-2;transition:opacity .6s,filter .6s;position:fixed;inset:0}.webgl-scene canvas{display:block}.webgl-scene.mode-focus{opacity:.7;filter:brightness(.85)}.webgl-fallback{background:radial-gradient(circle at 50% 80%,#f6c45326,#0000 55%);position:absolute;inset:0}.app-shell.scene-magic:after,.app-shell.scene-reveal:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 78%,#ffe08a47,#0000 38%);animation:2s ease-in-out infinite glow-breathe;position:fixed;inset:0}@keyframes glow-breathe{50%{opacity:.6}}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);background:#3c0714b8;border-bottom:1px solid #ffd68c1f;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex;position:fixed;inset:0 0 auto}.brand{letter-spacing:.02em;align-items:center;gap:12px;font-size:15px;font-weight:800;display:flex}.brand-mark{background:radial-gradient(circle at 35% 30%, var(--red-soft), var(--red) 60%, #8f0c22);width:38px;height:38px;box-shadow:0 0 0 2px var(--gold), 0 6px 18px #d4143a80;border-radius:50%;place-items:center;font-size:19px;display:grid}.topbar-actions{align-items:center;gap:10px;display:flex}.live-pill{color:var(--mint);letter-spacing:.14em;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.live-pill i{background:var(--mint);width:8px;height:8px;box-shadow:0 0 12px var(--mint);border-radius:50%;animation:1.8s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.4;transform:scale(.75)}}.sound-toggle{cursor:pointer;border:1px solid var(--glass-line);background:var(--glass);width:38px;height:38px;color:var(--gold-bright);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;place-items:center;font-size:15px;font-weight:900;transition:transform .2s,background .2s;display:grid}.sound-toggle:hover{background:#f6c45329;transform:translateY(-1px)}.language-switch{border:1px solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.language-switch button{cursor:pointer;min-width:44px;height:32px;color:var(--cream-muted);letter-spacing:.08em;background:0 0;border:0;border-radius:999px;font-size:12px;font-weight:800;transition:all .2s}.language-switch button.active{color:var(--ink);background:linear-gradient(135deg, var(--gold-bright), var(--gold))}.panel{border:1px solid var(--glass-line);background:linear-gradient(160deg, #6e0e24a8, var(--glass));width:min(820px,100%);box-shadow:var(--shadow), inset 0 1px 0 #ffffff14;-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);border-radius:28px;margin:0 auto;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}.panel:before{content:"";background:repeating-linear-gradient(135deg, var(--cream) 0 12px, var(--red) 12px 24px);opacity:.9;height:7px;position:absolute;inset:0 0 auto}.enter{animation:.55s cubic-bezier(.2,.8,.2,1) both enter}@keyframes enter{0%{opacity:0;transform:translateY(16px)scale(.985)}}.eyebrow{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;font-size:12px;font-weight:800}h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(40px,6vw,70px);font-weight:700;line-height:1.02}h1 span{color:var(--gold-bright);font-style:italic;font-weight:500}.lede{max-width:640px;color:var(--cream-muted);margin:20px 0 0;font-size:17px;line-height:1.6}.centered{text-align:center;margin-left:auto;margin-right:auto}.primary-button{cursor:pointer;width:100%;min-height:60px;color:var(--ink);background:linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, var(--gold-deep));border:0;border-radius:18px;justify-content:center;align-items:center;gap:12px;padding:0 22px;font-size:17px;font-weight:800;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 14px 34px #c98f1f59,inset 0 1px #fff9}.primary-button:hover{transform:translateY(-2px);box-shadow:0 18px 44px #c98f1f80,inset 0 1px #fff9}.primary-button:active{transform:none}.primary-button:disabled{cursor:wait;opacity:.7;transform:none}.text-button{cursor:pointer;color:var(--gold-bright);background:0 0;border:0;padding:6px 0;font-size:14px}.text-button:hover{color:var(--cream)}.back{margin:16px auto 0;display:block}.error-card,.notice-card{border-radius:16px;margin:0 0 18px;padding:14px 16px;font-size:14px;line-height:1.5}.error-card{color:#ffe1e6;background:#d4143a40;border:1px solid #ff5a7680}.notice-card{color:#dff8ea;background:#1f7a4d4d;border:1px solid #8fe3b459;animation:.45s both enter}.draw-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.remaining-badge{aspect-ratio:1;text-align:center;background:radial-gradient(circle at 35% 30%, var(--red-soft), var(--red) 55%, #8f0c22);width:96px;box-shadow:0 0 0 3px var(--gold), 0 0 0 7px #f6c45340, 0 12px 30px #8f0c2299;border-radius:50%;flex:none;place-content:center;display:grid;transform:rotate(-6deg)}.remaining-badge strong{font-family:var(--font-display);font-size:34px;line-height:1}.remaining-badge span{letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:800}.santa-whisper{background:#fff4e014;border:1px solid #fff4e029;border-radius:18px;grid-template-columns:48px 1fr;align-items:center;gap:14px;margin:24px 0 18px;padding:14px 16px;animation:.5s both enter;display:grid}.whisper-santa{background:#fff4e024;border-radius:16px;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.santa-whisper strong{color:var(--gold-bright);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.santa-whisper p{color:var(--cream);margin:4px 0 0;font-size:14px;line-height:1.5}.resume-card{background:#f6c45324;border:1px solid #f6c45373;border-radius:18px;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;margin:0 0 18px;padding:14px;display:grid}.resume-icon{background:var(--gold);width:44px;height:44px;color:var(--ink);border-radius:14px;place-items:center;font-size:18px;display:grid}.resume-card strong{margin-bottom:4px;font-size:14px;display:block}.resume-card span{color:var(--cream-muted);font-size:13px;line-height:1.45;display:block}.resume-card button{cursor:pointer;background:var(--gold);min-height:42px;color:var(--ink);border:0;border-radius:12px;padding:0 16px;font-size:13px;font-weight:800}.name-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:8px;display:grid}.name-card{--rx:0deg;--ry:0deg;--mx:75%;--my:20%;isolation:isolate;text-align:left;cursor:pointer;min-height:112px;color:var(--ink);background:linear-gradient(160deg, #fffaf0, var(--cream) 60%, #f6e3c2);transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));border:0;border-radius:16px 16px 16px 4px;padding:18px 20px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;animation:.6s cubic-bezier(.16,1,.3,1) both card-arrive;position:relative;overflow:hidden;box-shadow:0 10px 24px #19000659,inset 0 0 0 1px #c98f1f59}.name-card:nth-child(3n+1){box-shadow:0 10px 24px #19000659, inset 6px 0 0 var(--red)}.name-card:nth-child(3n+2){box-shadow:0 10px 24px #19000659, inset 6px 0 0 var(--pine)}.name-card:nth-child(3n){box-shadow:0 10px 24px #19000659, inset 6px 0 0 var(--gold-deep)}.name-card:hover:not(:disabled){transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px) rotate(-1deg)}@keyframes card-arrive{0%{opacity:0;transform:translateY(20px)scale(.96)}}.card-glow{z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my), #f6c45366, transparent 45%);transition:opacity .2s;position:absolute;inset:0}.name-card:hover:not(:disabled) .card-glow{opacity:1}.card-hole{background:var(--berry);width:14px;height:14px;box-shadow:0 0 0 3px var(--gold);border-radius:50%;position:absolute;top:16px;right:18px}.card-number{color:var(--pine);letter-spacing:.12em;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.person-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:28px;font-weight:700;display:block;overflow:hidden}.card-state{color:var(--red);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:12px;font-weight:800;display:block}.name-card.is-taken,.name-card.is-blocked{cursor:default;color:var(--cream-muted);background:#fff4e014;transform:none;box-shadow:inset 0 0 0 1px #fff4e033}.name-card.is-taken .card-number,.name-card.is-taken .card-state{color:var(--mint)}.name-card.is-blocked{opacity:.55}.name-card.is-blocked .card-number,.name-card.is-blocked .card-state{color:var(--cream-muted)}.name-card.is-blocked .card-hole{background:0 0;box-shadow:0 0 0 2px #fff4e040}.name-card.is-mine{color:var(--cream);box-shadow:0 10px 24px #19000659, inset 0 0 0 2px var(--mint);background:linear-gradient(160deg,#1f7a4dbf,#10462cd9)}.name-card.is-mine .card-number,.name-card.is-mine .card-state{color:var(--mint)}.name-card.is-taken .card-hole,.name-card.is-mine .card-hole{display:none}.claimed-stamp{border:2px solid var(--mint);width:30px;height:30px;color:var(--mint);border-radius:50%;place-items:center;font-size:14px;font-weight:900;display:grid;position:absolute;top:12px;right:12px;transform:rotate(-12deg)}.device-card{color:var(--cream);background:#f6c45324;border:1px solid #f6c45373;border-radius:16px;margin:0 0 18px;padding:14px 16px;font-size:14px;line-height:1.5}.identity-warning{max-width:480px;color:var(--gold-bright);background:#f6c4531a;border:1px dashed #ffe08a8c;border-radius:14px;margin:18px auto 0;padding:12px 16px;font-size:14px;font-weight:700;line-height:1.5}.privacy-note{color:var(--cream-muted);text-align:center;margin:22px 0 0;font-size:13px;line-height:1.7}.reveal-panel,.ritual-panel,.final-panel,.loading-panel,.error-panel,.gate-panel{text-align:center;max-width:600px}.gate-panel .field-label{text-align:left}.privacy-icon,.santa-loader,.error-ornament,.success-orbit{border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 22px;font-size:26px;display:grid}.privacy-icon,.santa-loader{box-shadow:0 0 0 2px var(--gold);color:var(--gold-bright);background:#fff4e01f}.santa-loader span{animation:2.8s linear infinite spin}.error-ornament{box-shadow:0 0 0 2px var(--red-soft);font-family:var(--font-display);background:#d4143a59;font-weight:700}.success-orbit{box-shadow:0 0 0 2px var(--mint), 0 0 30px #8fe3b466;color:var(--mint);background:#1f7a4d73}@keyframes spin{to{transform:rotate(360deg)}}.reveal-panel .primary-button{margin-top:26px}.ritual-panel{padding-top:40px;padding-bottom:40px}.magic-sigil{place-items:center;width:96px;height:96px;margin:0 auto 24px;display:grid;position:relative}.magic-sigil:before,.magic-sigil:after,.magic-sigil i{content:"";border-radius:50%;position:absolute}.magic-sigil:before{border:2px solid #ffe08a66;animation:5s linear infinite spin;inset:0}.magic-sigil:after{border:2px dashed #ffe08a99;animation:7s linear infinite reverse spin;inset:14px}.magic-sigil i:first-child{border:2px solid #8fe3b480;animation:1.3s ease-in-out infinite pulse;inset:30px}.magic-sigil i:nth-child(2){border-top:2px solid var(--red-soft);animation:2.6s linear infinite spin;inset:-10px}.magic-sigil span{color:var(--gold-bright);text-shadow:0 0 24px #ffe08acc;font-size:26px;animation:1.3s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.6;transform:scale(.8)}}.ritual-dots{justify-content:center;gap:10px;margin-top:26px;display:flex}.ritual-dots i{background:var(--gold);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite dot}.ritual-dots i:nth-child(2n){background:var(--red-soft)}.ritual-dots i:nth-child(3n){background:var(--mint)}.ritual-dots i:nth-child(2){animation-delay:.1s}.ritual-dots i:nth-child(3){animation-delay:.2s}.ritual-dots i:nth-child(4){animation-delay:.3s}.ritual-dots i:nth-child(5){animation-delay:.4s}@keyframes dot{50%{transform:translateY(-8px)}}.to-label{color:var(--cream-muted);margin:0 0 10px;font-size:16px}.recipient-name{color:var(--gold-bright);word-break:break-word;text-shadow:0 0 40px #ffe08a73,0 10px 30px #19000680;font-size:clamp(56px,10vw,96px);font-style:italic;line-height:1;animation:.9s cubic-bezier(.16,1,.3,1) both recipient-arrive}@keyframes recipient-arrive{0%{opacity:0;filter:blur(14px);transform:translateY(18px)scale(.88)}}.reveal-joke{max-width:480px;color:var(--cream);margin:20px auto 0;font-size:16px;line-height:1.6}.completion-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0;display:grid}.completion-stats>div{background:#fff4e01a;border:1px solid #fff4e029;border-radius:18px;padding:18px 10px}.completion-stats strong{font-family:var(--font-display);color:var(--gold-bright);font-size:36px;display:block}.completion-stats span{color:var(--cream-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.final-joke{max-width:520px;color:var(--cream);margin:0 auto;font-size:15px;line-height:1.6}.confetti-burst{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-burst i{opacity:0;background:var(--gold-bright);border-radius:2px;width:8px;height:14px;animation:1.6s cubic-bezier(.15,.8,.25,1) forwards confetti;position:absolute;top:18%;left:50%}.confetti-burst i:nth-child(3n){background:var(--red-soft)}.confetti-burst i:nth-child(3n+1){background:var(--mint)}.confetti-burst i:nth-child(2n){border-radius:50%;width:8px;height:8px}@keyframes confetti{0%{opacity:0;transform:translate(-50%)rotate(0)scale(.5)}12%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)), var(--y)) rotate(var(--r)) scale(1)}}@media (max-width:680px){.app-shell{padding:78px 12px 28px}.topbar{height:62px;padding:0 14px}.brand{gap:9px;font-size:13px}.brand-mark{width:32px;height:32px;font-size:16px}.live-pill{display:none}.sound-toggle{width:34px;height:34px}.language-switch button{min-width:40px;height:30px}.panel{border-radius:22px;padding:30px 18px 24px}.lede{font-size:15px}.remaining-badge{width:76px}.remaining-badge strong{font-size:28px}.remaining-badge span{font-size:9px}.name-grid{grid-template-columns:1fr 1fr;gap:10px}.name-card{min-height:96px;padding:14px}.person-name{font-size:22px}.card-hole{width:11px;height:11px;top:12px;right:12px}.resume-card{grid-template-columns:44px 1fr}.resume-card button{grid-column:1/-1}}@media (max-width:340px){.name-grid{grid-template-columns:1fr}}@media (hover:none),(pointer:coarse){.name-card,.name-card:hover:not(:disabled){transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.name-card,.name-card:hover:not(:disabled){transform:none!important}}.admin-panel{max-width:640px}.admin-panel h1{font-size:clamp(36px,5vw,52px)}.field-label{color:var(--cream-muted);margin:26px 0 8px;font-size:13px;font-weight:700;display:block}.field-input{border:1px solid var(--glass-line);width:100%;height:54px;color:var(--cream);font:inherit;background:#2b05108c;border-radius:14px;outline:none;margin-bottom:16px;padding:0 16px;font-size:16px}.field-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f6c45333}.admin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-row{background:#fff4e00f;border:1px solid #fff4e01f;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-row strong{font-size:16px;display:block}.admin-row span{color:var(--cream-muted);font-size:13px}.admin-row.is-drawn span{color:var(--mint)}.admin-unclaim{cursor:pointer;color:#ffd4dc;background:#d4143a33;border:1px solid #ff5a7680;border-radius:10px;flex:none;min-height:36px;padding:0 12px;font-size:12px;font-weight:700}.admin-requests strong{margin-bottom:6px;display:block}.admin-requests span{color:var(--cream-muted);font-size:13px}.admin-unclaim:hover{background:#d4143a66}.not-in-list{text-underline-offset:3px;margin-top:18px;font-size:14px;text-decoration:underline}.parcel-stage{pointer-events:none;height:240px}.app-shell{background:radial-gradient(at 50% 12%,#61303d 0%,#0000 48%),linear-gradient(#26131e,#381321 60%,#160d17)}.panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(150deg,#4a1e2ae0,#250f1cf0);border-color:#dab5754d;border-radius:20px}.panel:before{opacity:.7;background:linear-gradient(90deg,#0000,#d7b573,#0000);height:3px}.topbar{background:#1f0f19d9}.remaining-badge{background:radial-gradient(circle at 35% 30%,#a25653,#71333e 70%);box-shadow:0 0 0 1px #d7b573,0 0 0 6px #d7b57314}.draw-panel .eyebrow{letter-spacing:.18em;font-size:10px}@media (max-width:600px){.app-shell{padding-top:80px}.parcel-stage{height:240px}.panel{padding:26px 22px}.draw-header h1{font-size:clamp(32px,8vw,46px)}.remaining-badge{width:64px}.remaining-badge strong{font-size:25px}.lede{font-size:15px}}.person-name{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;text-overflow:clip;line-height:1.15}@media (max-width:600px){.person-name{font-size:clamp(18px,5.4vw,23px)}}.santa-letter{text-align:left;background:#f6c45312;border:1px solid #f6c45359;border-radius:16px;max-width:460px;margin:24px auto;overflow:hidden}.santa-letter summary{cursor:pointer;color:var(--gold-bright);justify-content:space-between;align-items:center;gap:12px;padding:18px;font-size:14px;font-weight:700;line-height:1.5;list-style:none;display:flex}.santa-letter summary::-webkit-details-marker{display:none}.santa-letter summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:-5px;border-radius:16px}.santa-letter summary:hover{background:#f6c45314}.letter-seal{color:#ffe3ad;background:#98414a;border-radius:50%;flex:0 0 32px;place-items:center;height:32px;font-size:20px;transition:transform .3s;display:grid;box-shadow:inset 0 0 0 2px #ffe3ad40}.santa-letter[open] .letter-seal{transform:rotate(-12deg)}.santa-letter-paper{color:#58313a;background:linear-gradient(135deg,#fff7e6,#f4e6ca);border-top:1px solid #f6c45359;padding:24px;animation:.4s both letter-arrive}.santa-letter-paper h2{font-family:var(--font-display);overflow-wrap:anywhere;margin:0 0 18px;font-size:25px;font-weight:500;line-height:1.25}.santa-letter-paper p{margin:0 0 18px;font-size:16px;line-height:1.75}.santa-letter-paper .santa-letter-signature{font-family:var(--font-display);font-size:21px;font-style:italic}.santa-letter-paper .santa-letter-postscript{border-top:1px dashed #58313a40;margin-bottom:0;padding-top:16px;font-size:14px}@keyframes letter-arrive{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.santa-letter-paper{animation:none}.letter-seal{transition:none}}.brand{min-width:0}.brand-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar{padding-left:max(28px, env(safe-area-inset-left));padding-right:max(28px, env(safe-area-inset-right))}.app-shell{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(48px, env(safe-area-inset-bottom))}@media (max-width:680px){.topbar{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.app-shell{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(28px, env(safe-area-inset-bottom))}}
