:root{color:#f5f1e6;font-synthesis:none;--gold:#edd399;--muted:#aebfb2;--border:#d8e9cb20;background:#071b18;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 80% 0,#32544166,#0000 55%),radial-gradient(at 0 80%,#153e3455,#0000 50%),#071b18;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #eac986}.hidden{display:none!important}svg{flex-shrink:0}#root{min-height:100vh}#snowfall{pointer-events:none;z-index:2;opacity:.7;width:100%;height:100%;position:fixed;inset:0}.stars{pointer-events:none;background-image:radial-gradient(#ead09944 1px,#0000 1px);background-size:113px 131px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.lights{background:linear-gradient(90deg,#0000,#e6cc9766,#0000);height:1px;position:absolute;inset:0 0 auto}.shell{z-index:3;max-width:1240px;margin:auto;padding:0 36px 30px;position:relative}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:100px;margin-bottom:44px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:13px;font-size:14px;display:flex}.brand b{font-size:16px;font-weight:600;display:block}.brand-mark{color:var(--gold);background:#edd3990b;border:1px solid #edd39935;border-radius:14px;place-items:center;width:44px;height:44px;display:grid;transform:rotate(-7deg)}.brand-mark svg{transform:rotate(7deg)}.status-dot{background:#b8d6a8;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 10px #b8d6a833}.eyebrow,.section-title{letter-spacing:.21em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:700}.eyebrow{align-items:center;gap:10px;margin-bottom:18px;display:flex}.tiny-star{font-size:17px}.masthead h1{letter-spacing:-.055em;margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,5.9vw,76px);font-weight:400;line-height:1.07}.masthead h1 em{color:#e7d3a5;font-weight:400}.masthead .hero-copy>p{color:#b4c6b8;max-width:400px;margin:0;font-size:16px;line-height:1.85}.hero-caption{color:#91ab99;align-items:center;gap:12px;margin-top:28px;font-size:12px;line-height:1.6;display:flex}.hero-caption b{color:#cedcca;font-weight:500}.caption-seal{width:42px;height:42px;color:var(--gold);border:1px solid #cfddc32a;border-radius:50%;place-items:center;font-size:23px;display:grid}.compact-header{text-align:center;margin:0 auto 32px}.compact-header .eyebrow{justify-content:center;margin-bottom:12px}.compact-header h1{margin:0;font-size:48px}.view-welcome{grid-template-columns:minmax(0,1fr) 440px;align-items:start;column-gap:80px;display:grid}.view-welcome .topbar{grid-area:1/1/auto/-1}.view-welcome .masthead{grid-area:2/1/span 2}.view-welcome #demoBanner{grid-area:2/2}.view-welcome .layout{grid-area:3/2}.view-welcome .footer{grid-column:1/-1}.layout{gap:24px;min-width:0;display:grid}.layout.participating{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start}.panel{border:1px solid var(--border);background:linear-gradient(150deg,#214437dd,#132d25ee);border-radius:26px;min-width:0;padding:32px;position:relative;box-shadow:0 24px 70px #0002}.panel h2{letter-spacing:-.04em;margin:18px 0 14px;font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.12}.sub{color:var(--muted);margin:0 0 26px;font-size:14px;line-height:1.8}#accessPanel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#355443b3,#1e392ee6);border-color:#bed5b934;padding:32px;box-shadow:0 30px 80px #0003,inset 0 1px #e6eccc12}#accessPanel:before{content:"";background:#e6c686;border-radius:3px;height:2px;position:absolute;inset:0 40% auto}.welcome-mark{color:#e6d3a6;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:12px;font-size:9px;font-weight:600;display:flex}.welcome-mark>span{background:#e6d3a60a;border:1px solid #e6d3a635;border-radius:13px;place-items:center;width:41px;height:41px;display:grid}.steps{color:#99b19f;justify-content:space-between;align-items:center;gap:8px;margin:24px 0;font-size:11px;display:flex}.steps>span{align-items:center;gap:7px;display:flex}.steps b{letter-spacing:.05em;border:1px solid #a5c0aa35;border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;font-weight:600;display:grid}.steps i{background:#a5c0aa35;width:16px;height:1px}.steps .current{color:#fae6b8}.steps .current b{color:#243b2b;background:#ecd29d;border-color:#ecd29d}.field{gap:9px;margin:18px 0;display:grid}.field label{color:#d9e4d6;font-size:13px;font-weight:500}.field input,.field select,.field textarea{color:#f8f1dd;background:#102c2466;border:1px solid #d4e2c630;border-radius:13px;outline:none;width:100%;min-width:0;min-height:58px;padding:16px;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#eac986}.field textarea{resize:vertical;min-height:130px}#participant{color:#faf2df;background:#0d241c88;font-size:16px}#participant option{color:#fff;background:#16352a}.btn{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:57px;padding:15px 18px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,filter .2s;display:flex}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.46;cursor:not-allowed}.gold{color:#263929;background:linear-gradient(120deg,#f3deb4,#d9b877);box-shadow:0 5px 25px #e9c77816}.primary{color:#fff5e4;background:linear-gradient(125deg,#c65459,#a33443);border-color:#df7a7c55;box-shadow:0 6px 28px #a9344329}.primary>svg:last-child{margin-left:auto}.primary>svg:first-child{margin-right:auto}.secondary{color:#dae3d3;background:#e4efda07;border-color:#d1e1c62a}.linkbtn{color:#c4d2bd;cursor:pointer;background:0 0;border:0;min-height:44px;padding:9px 0;font-size:12px}.linkbtn:hover{color:var(--gold)}.tiny{color:#9fb49f;font-size:12px;line-height:1.7}.rules{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.rules summary{color:#b1c4ae;cursor:pointer;min-height:32px;font-size:12px}.rules .sub{margin:14px 0 0}.utility-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:16px;display:flex}.utility-row .btn{width:auto;min-height:44px;padding:10px 12px;font-size:11px}.utility-row .linkbtn{font-size:11px}.msg{border:1px solid var(--border);color:#bed0b6;white-space:pre-line;background:#dce9ce07;border-radius:12px;margin:16px 0;padding:13px 15px;font-size:13px;line-height:1.8}.error{color:#ffbabc;background:#b4324214;border-color:#e27a7c55}#demoBanner{color:#9caf9d;background:#142d2333;border-style:dashed;max-width:none;margin:0 0 22px;padding:10px 15px;font-size:11px}.footer{text-align:center;color:#8aa28f;letter-spacing:.05em;margin-top:12px;padding-top:30px;font-size:11px}.gift-scene{perspective:900px;isolation:isolate;max-width:420px;height:270px;margin:0 auto;position:relative}.view-welcome .gift-scene{margin:18px 0 0 38px}.gift-object{width:180px;height:166px;transform:translate(-50%,-50%) rotateX(calc(8deg + var(--tilt-y))) rotateY(calc(-14deg + var(--tilt-x))) rotateZ(-8deg);transform-style:preserve-3d;transition:transform .35s;animation:5s ease-in-out infinite giftFloat;position:absolute;top:49%;left:50%}.gift-box{background:linear-gradient(120deg,#cf616b,#a43d51 65%,#7e2941);border:1px solid #f1919366;border-radius:4px 4px 12px 12px;position:absolute;inset:26px 0 0;overflow:hidden;box-shadow:inset 10px 0 25px #faabab14,inset -18px 0 22px #52122c55,12px 20px 35px #0004}.gift-box:after{content:"";background-image:radial-gradient(#ffc1bb55 1px,#0000 1px);background-size:15px 15px;position:absolute;inset:0}.gift-ribbon{z-index:1;background:linear-gradient(90deg,#c3984f,#f4da9e 40%,#d9b06a 82%,#e9c17e);width:36px;position:absolute;inset:0 auto 0 70px;box-shadow:0 0 7px #57222844}.gift-band{z-index:2;background:linear-gradient(#f1d295,#d8b16b);height:24px;position:absolute;top:54px;left:0;right:0;box-shadow:0 3px 6px #58293e44}.gift-seal{z-index:3;color:#845e2a;background:#d9b26e;border:1px solid #f8e5ac;border-radius:50%;place-items:center;width:41px;height:41px;display:grid;position:absolute;top:48px;left:69px;box-shadow:0 2px 8px #62243777}.gift-lid{z-index:4;background:linear-gradient(#df7680,#b9495c);border:1px solid #ffafb155;border-radius:5px;width:196px;height:37px;transition:transform 1.2s cubic-bezier(.2,.75,.25,1);position:absolute;top:12px;left:-8px;box-shadow:0 5px 6px #60182e44}.lid-ribbon{background:linear-gradient(90deg,#d6ac66,#f6dea5,#d7ac64);width:36px;position:absolute;inset:0 auto 0 76px}.bow{border:10px solid #e9c681;width:62px;height:44px;position:absolute;top:-39px;box-shadow:inset 2px 2px 4px #65452255,1px 1px 4px #3c272344}.bow-left{border-radius:50% 65% 10%;left:34px;transform:rotate(22deg)}.bow-right{border-radius:65% 50% 65% 10%;left:92px;transform:rotate(-22deg)}.bow-knot{background:linear-gradient(100deg,#e0b66e,#f9e2a9,#bd9045);border-radius:10px;width:27px;height:25px;position:absolute;top:-15px;left:78px}.gift-shadow{filter:blur(9px);background:#0005;border-radius:50%;width:150px;height:17px;position:absolute;bottom:33px;left:50%;transform:translate(-50%)}.gift-aura{filter:blur(12px);background:radial-gradient(#d6bb7838,#0000 67%);position:absolute;inset:6% 8% 10%}.gift-orbit{border:1px solid #d7c78d18;border-radius:50%;position:absolute;inset:0 8%;transform:rotate(-20deg)}.orbit-two{border-style:dashed;inset:12% 0 24%;transform:rotate(20deg)}.gift-spark{color:#e5d092;animation:3s ease-in-out infinite sparkle;position:absolute}.spark-one{top:12%;left:18%;transform:rotate(-12deg)}.spark-two{color:#b1cbb7;animation-delay:1s;top:27%;right:12%}.spark-three{font-size:32px;animation-delay:2s;bottom:26%;left:10%}.scene-label{color:#a8bca4;letter-spacing:.11em;justify-content:center;align-items:center;gap:12px;width:100%;font-size:9px;display:flex;position:absolute;bottom:0}.scene-label>span{background:#d4c29244;width:25px;height:1px}.gift-light{opacity:0;background:radial-gradient(#fff0b080,#0000 65%);transition:opacity 1.2s;position:absolute;inset:-25% -20%}.opened .gift-lid{transform:translateY(-52px)rotate(-12deg)}.opened .gift-light{opacity:1}.compact.gift-scene{width:230px;height:170px;margin:8px auto 0}.compact .gift-object{animation:none;scale:.65}.compact .gift-orbit{opacity:.45}.compact .gift-shadow{bottom:14px}.compact .spark-two{right:0}.compact .spark-one{left:0}.wheelpanel{text-align:center;background:radial-gradient(at 50% 45%,#284d3a33,#0000 65%),linear-gradient(155deg,#102f28,#09221d);border-color:#e0cd9330;border-radius:30px;min-height:650px;padding:32px 40px;animation:.55s stageEnter;position:relative;overflow:hidden}.wheelpanel h2{margin:12px 0 10px;font-size:35px}.wheelpanel .sub{font-size:13px}.wheelbox{aspect-ratio:1;isolation:isolate;width:calc(100% - 24px);max-width:400px;margin:38px auto 24px;position:relative}.wheel-glow{z-index:-1;background:radial-gradient(#e0c7851a,#0000 70%);border-radius:50%;position:absolute;inset:-15%}.wheel-marquee{background:linear-gradient(145deg,#ddc291,#9d773e 45%,#e3ca93 75%,#b08643);border-radius:50%;position:absolute;inset:-13px;box-shadow:inset 0 0 0 2px #ffecba33,0 12px 30px #0007,0 0 0 4px #4c3f25,0 0 0 5px #d5b77544}.wheel-marquee:after{content:"";background:#352c20;border-radius:50%;position:absolute;inset:17px;box-shadow:inset 0 0 8px #0009}.wheel-marquee i{z-index:1;width:6px;height:6px;animation:3s ease-in-out infinite bulbTwinkle;animation-delay:var(--delay);background:#fff0c5;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 6px #ffe5a6aa}.is-spinning .wheel-marquee i{box-shadow:none;background:#977847;animation:none}.is-spinning .wheel-marquee i.lit{background:#fff7d4;box-shadow:0 0 14px #fff0b4}.wheel{z-index:1;filter:drop-shadow(0 2px 4px #0007);border-radius:50%;width:100%;height:100%;transition:transform 5.5s cubic-bezier(.12,.74,.13,1);display:block;position:relative}.pointer{z-index:4;filter:drop-shadow(0 4px 3px #0008);width:31px;height:44px;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.pointer:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(120deg,#ffe6ad,#c49b52);position:absolute;inset:0}.pointer span{background:#fae0a0;border:1px solid #b28b46;border-radius:50%;width:13px;height:13px;position:absolute;top:5px;left:9px}.wheelhub{z-index:3;color:#e6ce98;background:radial-gradient(circle at 35% 25%,#345743,#102b22);border:4px solid #debf7e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:86px;height:86px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #846633,0 4px 15px #0008,inset 0 1px #a1b49166}.wheelhub span{letter-spacing:.23em;font-size:8px}.spin-caption{color:#b9c9b4;justify-content:center;align-items:center;gap:9px;margin:30px 0 23px;font-size:11px;display:flex}.pulsing{animation:1s ease-in-out infinite sparkle}#spinArea,#showResult{max-width:420px;margin:auto}.identity-card{text-align:center;background:#0d281d44;border:1px solid #d6e3c820;border-radius:20px;margin:28px 0 20px;padding:28px 18px}.member-avatar{color:#38513a;background:linear-gradient(130deg,#e8d3a0,#b99c5c);border:1px solid #e8d7a05c;border-radius:50%;place-items:center;width:66px;height:66px;margin:0 auto 18px;font-family:Georgia,serif;font-size:30px;display:grid;position:relative;box-shadow:0 4px 20px #0002}.member-avatar span{color:#e8d3a0;background:#385844;border:3px solid #2c4938;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;display:grid;position:absolute;bottom:-2px;right:-2px}.identity-card>p{color:#b1c7ad;font-size:12px;line-height:1.7}.identity-card strong{color:#f0e3c6;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:29px;font-weight:400;display:block}.identity-card #identityStatus{margin:16px 0 0;font-size:12px}.reveal-panel{z-index:6;background:radial-gradient(at 50% 30%,#405c3f,#112f24 62%,#09241c);border-radius:21px;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:32px 25px 25px;animation:.75s cubic-bezier(.2,.8,.25,1) revealEnter;display:flex;position:absolute;inset:12px;box-shadow:inset 0 0 70px #d4b6740c}.reveal-panel>p{color:#c5d6bf;margin:10px 0;font-size:14px;line-height:1.7}.reveal-panel #congratulations{margin:8px 0 2px;font-family:Georgia,serif;font-size:23px}.reveal-panel .reveal-label{letter-spacing:.08em;margin-top:15px;font-size:11px}.reveal-panel strong{color:#f3dca3;overflow-wrap:anywhere;width:100%;margin:8px 0 20px;font-family:Georgia,serif;font-size:clamp(32px,4vw,58px);font-weight:400;line-height:1.15;display:block}.secret-note{color:#dccca4;align-items:center;gap:8px;font-size:11px;display:flex}.reveal-panel .screenshot-note{color:#a9c0a4;margin:24px 0 22px;font-size:11px}.reveal-panel .btn{max-width:300px;min-height:48px;font-size:12px}.adminpanel{max-width:900px;margin:28px auto}.adminhead{justify-content:space-between;align-items:center;gap:16px;display:flex}.actions{flex-wrap:wrap;gap:9px;display:flex}.actions .btn{flex:1;width:auto;font-size:13px}.participant{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:14px;display:flex}.participant .actions{flex-basis:100%}.status{color:#aabcab;font-size:12px}.status.good{color:var(--gold)}.divider{background:var(--border);height:1px;margin:24px 0}.confetti{pointer-events:none;z-index:25;width:9px;height:15px;animation:4s linear forwards fall;position:fixed;top:-30px}@keyframes fall{to{opacity:.15;transform:translateY(110vh)rotate(1000deg)}}@keyframes stageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes revealEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes sparkle{50%{opacity:.4}}@keyframes bulbTwinkle{50%{opacity:.55;box-shadow:0 0 10px #ffe5a6}}@keyframes giftFloat{50%{margin-top:-10px}}@media (width<=1000px){.view-welcome{grid-template-columns:minmax(0,1fr) 390px;column-gap:40px}.masthead h1{font-size:59px}.layout.participating{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr)}.wheelpanel{padding:28px}.wheelbox{max-width:350px}}@media (width<=760px){.shell{padding:0 18px 24px}.topbar{height:80px;margin-bottom:30px}.brand{gap:9px;font-size:11px}.brand b{font-size:13px}.brand-mark{width:37px;height:37px}.view-welcome{display:block}.view-welcome .masthead{margin:0 0 28px;position:relative}.masthead h1{letter-spacing:-.05em;font-size:44px}.desktop-break{display:none}.masthead .hero-copy>p{max-width:280px;font-size:13px;line-height:1.8}.hero-caption{margin-top:18px;font-size:10px}.caption-seal{width:32px;height:32px}.view-welcome .gift-scene{opacity:.6;z-index:-1;width:160px;height:165px;margin:0;position:absolute;top:4px;right:-10px}.view-welcome .gift-object{scale:.55}.view-welcome .gift-orbit,.view-welcome .scene-label,.view-welcome .gift-shadow{display:none}.eyebrow{letter-spacing:.15em;font-size:8px}.compact-header{margin-bottom:25px}.compact-header h1{font-size:34px}.layout.participating{grid-template-columns:1fr;gap:20px}.panel,#accessPanel{border-radius:23px;padding:26px 23px}.panel h2{font-size:29px}.welcome-mark{font-size:9px}.steps{gap:6px;font-size:11px}.steps b{width:24px;height:24px}.steps i{width:12px}#demoBanner{margin-bottom:18px;padding:10px 12px;font-size:10px}.wheelpanel{min-height:590px;padding:30px 22px}.wheelpanel h2{font-size:30px}.wheelbox{width:calc(100% - 28px);max-width:340px;margin:40px auto 24px}.wheel-marquee i{width:5px;height:5px}.wheelhub{width:70px;height:70px}.wheelhub>svg{width:28px;height:28px}.spin-caption{margin-top:28px;font-size:10px}.reveal-panel{padding:25px 15px;inset:10px}.reveal-panel strong{font-size:39px}.reveal-panel #congratulations{font-size:21px}.reveal-panel .screenshot-note{margin:18px 0}.utility-row .btn{padding:10px;font-size:10px}.footer{font-size:9px}.adminhead h2{font-size:25px}}@media (width<=350px){.masthead h1{font-size:39px}.view-welcome .gift-scene{opacity:.25}.wheelpanel{min-height:540px}.wheelpanel h2{font-size:27px}.steps i{display:none}.reveal-panel strong{font-size:32px}.compact.gift-scene{height:140px}.reveal-panel .screenshot-note{margin:15px 0}.reveal-panel>p{font-size:12px}.reveal-panel #congratulations{font-size:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}#accessPanel{-webkit-backdrop-filter:none;backdrop-filter:none}.is-revealed.wheelpanel{min-height:0;padding:12px}.is-revealed .stage-content{visibility:hidden;pointer-events:none;position:absolute;inset:32px 40px auto}.reveal-panel{min-height:610px;margin:0;position:relative;inset:auto}.compact.gift-scene{flex-shrink:0;height:160px}.reveal-panel>*{flex-shrink:0}.reveal-panel #congratulations{overflow-wrap:anywhere}.reveal-panel strong{margin-top:8px}.reveal-panel .gift-object{scale:.62}@media (width<=760px){.is-revealed .stage-content{inset:30px 22px auto}.reveal-panel{min-height:610px;padding:24px 18px}.reveal-panel strong{font-size:38px}.reveal-panel .screenshot-note{margin:20px 0}.compact.gift-scene{height:160px}.view-welcome .topbar{height:70px;margin-bottom:22px}.view-welcome .masthead{margin-bottom:20px;overflow:hidden}.view-welcome .masthead h1{font-size:38px}.view-welcome .hero-caption{display:none}.view-welcome .gift-scene{opacity:.25;width:120px;height:120px;top:38px;right:0}.view-welcome .gift-object{scale:.4}.view-welcome .hero-copy{z-index:1;position:relative}.view-welcome .masthead .hero-copy>p{max-width:300px}}.participant-picker{min-width:0;position:relative}.participant-avatar{filter:drop-shadow(0 2px 3px #0002);flex-shrink:0;display:block}#participant.picker-trigger{text-align:left;cursor:pointer;background:linear-gradient(110deg,#102d23cc,#142f24aa);border:1px solid #b7cbaa44;border-radius:14px;align-items:center;gap:13px;width:100%;min-height:68px;padding:10px 15px;transition:border-color .2s,box-shadow .2s;display:flex}.picker-trigger:hover:not(:disabled),.expanded #participant.picker-trigger{border-color:#e6cd90;box-shadow:0 0 0 3px #e6cd900b}.picker-trigger:disabled{cursor:not-allowed;opacity:.55}.picker-placeholder-icon{color:#dbc68e;background:#dfce9910;border:1px dashed #dfce9940;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.picker-value{overflow-wrap:anywhere;color:#f1ead9;flex:1;min-width:0;font-size:14px;line-height:1.5}.picker-chevron{color:#d6c393;flex-shrink:0;transition:transform .2s}.expanded .picker-chevron{transform:rotate(180deg)}.picker-menu{z-index:20;background:linear-gradient(145deg,#264635,#173527);border:1px solid #d6c39355;border-radius:17px;padding:7px;animation:.16s pickerAppear;position:absolute;top:calc(100% + 9px);left:0;right:0;box-shadow:0 16px 40px #0008,inset 0 1px #e3d2a611}.picker-menu.opens-above{top:auto;bottom:calc(100% + 9px)}.picker-menu-heading{letter-spacing:.14em;text-transform:uppercase;color:#bfcea9;justify-content:space-between;align-items:center;padding:9px 12px 13px;font-size:9px;display:flex}.picker-menu-heading>span{color:#e5cf91;font-size:15px}.picker-options{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7c08b55 #102b2244;max-height:min(256px,50vh);overflow-y:auto}.picker-options::-webkit-scrollbar{width:5px}.picker-options::-webkit-scrollbar-thumb{background:#d7c08b55;border-radius:8px}.picker-option{cursor:pointer;color:#e3ecdc;border:1px solid #0000;border-radius:11px;align-items:center;gap:13px;min-height:63px;margin-bottom:3px;padding:10px 12px;font-size:14px;line-height:1.5;display:flex}.picker-option>span:first-of-type{overflow-wrap:anywhere;flex:1;min-width:0}.picker-option.active{background:#e8d3a010;border-color:#e8d3a027}.picker-option.selected{color:#f3ddab;background:#e8d3a017}.picker-check{text-align:center;color:#e8d3a0;flex-shrink:0;width:20px}.member-avatar.festive-avatar{background:0 0;border:none;width:76px;height:76px;box-shadow:0 5px 20px #0002}.participant-name{overflow-wrap:anywhere;align-items:center;gap:12px;min-width:0;max-width:100%;display:flex}.participant-name .participant-avatar{flex-shrink:0}@keyframes pickerAppear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.picker-menu{animation:none}}.picker-options{max-height:min(256px,calc(var(--menu-space,340px) - 52px))}.reveal-identity{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.reveal-identity .reveal-label{color:#c5d6bf;letter-spacing:.02em;margin:0;font-size:11px;line-height:1.7}.view-wheel{padding-top:32px}.view-wheel #accessPanel h2{margin-top:0}@media (width<=760px){.view-wheel{padding-top:24px}}.wheelpanel:not(.is-revealed){min-height:0}.stage-content>h2{margin-top:0}.stage-content .wheelbox{margin-bottom:38px}.view-welcome{padding-top:56px}.sound-toggle{color:#a6b99f;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:6px 8px;transition:background .2s;display:flex}.sound-toggle:hover{background:#dce7c908}.sound-icon{color:#9cb193;place-items:center;width:21px;height:21px;transition:color .2s;display:grid}.is-enabled .sound-icon{color:#e3cb94}.sound-track{background:#21392e;border:1px solid #a9bb9826;border-radius:20px;width:32px;height:18px;transition:background .2s;display:block;position:relative}.is-enabled .sound-track{background:#756a40}.sound-thumb{background:#9eb29a;border-radius:50%;width:12px;height:12px;transition:transform .2s,background .2s;position:absolute;top:2px;left:2px}.is-enabled .sound-thumb{background:#edd399;transform:translate(14px)}.sound-toggle:active{background:#dce7c910}@media (width<=760px){.view-welcome{padding-top:30px}}@media (prefers-reduced-motion:reduce){.sound-toggle,.sound-icon,.sound-track,.sound-thumb{transition:none}}.home-arrow{transform:rotate(180deg)}html{scrollbar-gutter:stable}.wheelbox>.wheel{position:absolute;inset:0}@media (width>=761px) and (width<=1100px) and (orientation:portrait){.view-welcome{flex-direction:column;justify-content:center;align-items:center;gap:30px;min-height:100svh;padding:48px 40px;display:flex}.view-welcome .masthead{grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:24px;width:100%;max-width:680px;margin:0;display:grid}.view-welcome .masthead h1{letter-spacing:-.045em;font-size:60px;line-height:1.08}.view-welcome .desktop-break,.view-welcome .hero-caption{display:none}.view-welcome .masthead .hero-copy>p{max-width:480px;font-size:18px;line-height:1.7}.view-welcome .gift-scene{width:180px;height:230px;margin:0}.view-welcome .gift-object{scale:.75}.view-welcome .scene-label{display:none}.view-welcome .layout,.view-welcome #demoBanner{width:100%;max-width:680px;margin:0}.view-welcome #accessPanel{padding:36px}.view-welcome #accessPanel h2{font-size:38px}.view-welcome .sub{font-size:17px}.view-welcome .field label{font-size:16px}.view-welcome .picker-value,.view-welcome .btn{font-size:18px}.view-welcome .steps{font-size:14px}.view-welcome .rules summary{font-size:15px}.view-wheel{flex-direction:column;justify-content:center;max-width:740px;min-height:100svh;padding:48px 32px;display:flex}.view-wheel .layout.participating{grid-template-columns:1fr}.view-wheel .wheelbox{max-width:440px}.view-wheel .wheelpanel{padding:36px}}@media (width<=760px),(width>=761px) and (width<=1100px) and (orientation:portrait){.view-wheel #accessPanel{border-radius:20px;order:-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:16px 18px;display:grid}.view-wheel #accessPanel>h2,.view-wheel #accessPanel>.sub{display:none}.view-wheel #identity{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;display:grid}.view-wheel .identity-card{text-align:left;background:0 0;border:none;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:13px;margin:0;padding:0;display:grid}.view-wheel .member-avatar.festive-avatar{grid-row:1/3;width:48px;height:48px;margin:0}.view-wheel .member-avatar>.participant-avatar{width:48px;height:48px}.view-wheel .member-avatar>span,.view-wheel .identity-card>p:not(#identityStatus){display:none}.view-wheel #who{grid-column:2;font-family:inherit;font-size:18px;font-weight:600;line-height:1.35}.view-wheel #identityStatus{grid-column:2;margin:4px 0 0;font-size:11px;line-height:1.5}.view-wheel #logoutMember{border-radius:12px;width:44px;min-height:44px;padding:10px}.view-wheel .home-label{display:none}.view-wheel #accessPanel>.msg{grid-column:1/-1}.view-wheel .rules{grid-column:1;margin:12px 0 0;padding:12px 0 0}.view-wheel .rules summary{align-content:center;min-height:44px;font-size:11px;display:list-item}.view-wheel .utility-row{grid-column:2;justify-content:flex-end;gap:5px;margin:12px 0 0;padding-top:12px}.view-wheel .utility-row .linkbtn{font-size:10px}.view-wheel .rules[open]{grid-column:1/-1}.view-wheel .rules[open]~.utility-row{border-top:0;grid-column:1/-1;margin-top:0;padding-top:0}.view-wheel .compact-header{margin-bottom:20px}.view-wheel .layout{gap:16px}}@media (width<=760px){.view-welcome{padding:28px 20px 32px}.view-welcome .masthead{margin-bottom:24px;overflow:visible}.view-welcome .masthead h1{letter-spacing:-.045em;overflow-wrap:normal;max-width:100%;font-size:clamp(36px,8.8vw,48px);line-height:1.08}.view-welcome .desktop-break{display:block}.view-welcome .masthead .hero-copy>p{max-width:340px;font-size:15px;line-height:1.65}.view-welcome .gift-scene{display:none}.view-welcome .sub,.view-welcome .field label{font-size:15px}.view-welcome #accessPanel{padding:24px}.view-welcome .picker-value{font-size:16px}.view-wheel{padding:20px 16px 24px}.view-wheel .wheelpanel{padding:26px 22px}.view-wheel .wheelpanel h2{font-size:28px}.view-wheel .stage-content .wheelbox{max-width:min(340px,42svh);margin:36px auto 30px}.view-wheel #identityStatus{font-size:11px}.view-wheel .compact-header h1{font-size:32px}}@media (width<=380px){.view-wheel #accessPanel{padding:13px}.view-wheel .rules summary{font-size:10px}.view-wheel .utility-row .linkbtn{font-size:9px}.view-wheel .utility-row{gap:0}.view-wheel .sound-toggle{gap:8px;padding:6px}.view-wheel #who{font-size:16px}.view-wheel .wheelpanel{padding:24px 20px}.view-wheel .wheelpanel h2{font-size:26px}}
