:root{--bg-pine-dark: #071912;--bg-pine-mid: #103223;--bg-crimson: #540b14;--card-bg: rgba(12, 35, 25, .88);--card-border: rgba(243, 198, 95, .42);--gold: #f3c65f;--gold-bright: #ffe18d;--cream: #fff8eb;--cream-muted: #e6dcc8;--green-btn: #1f8a4c;--green-btn-hover: #24a159;--green-btn-shadow: #12562e;--red-btn: #c81d25;--red-btn-hover: #df2932;--red-btn-shadow: #7e0e14;--amber-btn: #c98617;--amber-btn-shadow: #7f5108}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--cream);background:radial-gradient(circle at 18% 15%,rgba(168,24,38,.38),transparent 46%),radial-gradient(circle at 82% 85%,rgba(243,198,95,.16),transparent 45%),linear-gradient(160deg,var(--bg-pine-mid) 0%,var(--bg-pine-dark) 58%,#04100b 100%);overflow-x:hidden}#snow-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.garland{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-around;align-items:flex-start;padding:0 12px;z-index:2;pointer-events:none}.garland:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#1a3a2a}.bulb{position:relative;width:13px;height:20px;margin-top:3px;border-radius:50% 50% 55% 55%;animation:twinkle 2.4s ease-in-out infinite alternate}.bulb:before{content:"";position:absolute;top:-4px;left:3px;width:7px;height:5px;background:#234736;border-radius:2px}.bulb-red{background:#ff4d5a;box-shadow:0 0 14px #ff4d5ad9}.bulb-gold{background:#ffd166;box-shadow:0 0 14px #ffd166d9;animation-delay:.7s}.bulb-green{background:#4cd97b;box-shadow:0 0 14px #4cd97bd9;animation-delay:1.3s}@keyframes twinkle{0%{opacity:.65;transform:scale(.95)}to{opacity:1;transform:scale(1.06)}}.app-shell{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:36px 16px 28px}.card{width:100%;max-width:520px;background:var(--card-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:2px solid var(--card-border);border-radius:28px;padding:28px 24px 30px;text-align:center;box-shadow:0 24px 60px #0000008c,inset 0 1px #fff8eb24}.card-header{margin-bottom:14px}.north-pole-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#8f1622a6;border:1px solid rgba(243,198,95,.55);color:var(--gold-bright);font-size:.86rem;font-weight:800;letter-spacing:.02em;margin-bottom:10px}.app-title{margin:0;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(1.75rem,4.5vw,2.3rem);line-height:1.12;color:var(--cream);text-shadow:0 3px 12px rgba(0,0,0,.45)}.error-banner{display:flex;align-items:center;gap:10px;margin:12px 0 16px;padding:12px 14px;border-radius:16px;background:#a81826e6;border:1.5px solid #ff9aa2;text-align:left;color:#fff6f6;box-shadow:0 8px 20px #0000004d}.error-icon{font-size:1.35rem;flex-shrink:0}.error-text{margin:0;font-size:.95rem;line-height:1.38;font-weight:700;flex:1}.error-close{background:#ffffff2e;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-weight:800;flex-shrink:0}.error-close:hover{background:#ffffff4d}.santa-stage{position:relative;width:100%;max-width:340px;aspect-ratio:5 / 4;margin:14px auto 22px;display:flex;align-items:center;justify-content:center}.santa-medallion{position:relative;width:100%;height:100%;border-radius:24px;padding:5px;background:linear-gradient(135deg,#ffe18d,#d4942a,#ffe18d);box-shadow:0 14px 32px #0000008c,0 0 28px #f3c65f40;z-index:2;transition:transform .25s ease,box-shadow .25s ease}.santa-photo{width:100%;height:100%;border-radius:20px;object-fit:cover;object-position:center 20%;display:block}.pulse-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:28px;border:3px solid rgba(243,198,95,.6);opacity:0;pointer-events:none;z-index:1}.santa-stage.is-ringing .santa-medallion{animation:phone-shake 1.4s ease-in-out infinite}.santa-stage.is-ringing .pulse-ring-1,.santa-stage.is-speaking .pulse-ring-1{animation:ripple 1.8s ease-out infinite}.santa-stage.is-ringing .pulse-ring-2,.santa-stage.is-speaking .pulse-ring-2{animation:ripple 1.8s ease-out .75s infinite}.santa-stage.is-speaking .santa-medallion{animation:santa-speak-glow 1.2s ease-in-out infinite alternate}@keyframes santa-speak-glow{0%{transform:scale(1.015);box-shadow:0 14px 34px #00000094,0 0 30px #ffe18d7a}to{transform:scale(1.035);box-shadow:0 18px 42px #0000009e,0 0 50px #ffe18dd1}}@keyframes ripple{0%{transform:scale(.98);opacity:.78}to{transform:scale(1.14);opacity:0}}@keyframes phone-shake{0%,55%,to{transform:rotate(0)}10%,20%,30%,40%{transform:rotate(-3.5deg)}15%,25%,35%,45%{transform:rotate(3.5deg)}}.screen{display:flex;flex-direction:column;align-items:center;gap:16px}.hidden{display:none!important}.lead-text{margin:0;font-size:1.07rem;line-height:1.48;color:var(--cream-muted);max-width:420px}.helper-note{margin:2px 0 0;font-size:.9rem;color:#fff8ebb8}.connecting-title{margin:0;font-family:"Baloo 2",Nunito,sans-serif;font-size:1.45rem;color:var(--gold-bright)}.ended-sparkles{font-size:1.75rem;letter-spacing:6px}.ended-title{margin:0;font-family:"Baloo 2",Nunito,sans-serif;font-size:clamp(1.35rem,3.8vw,1.75rem);line-height:1.2;color:var(--gold-bright)}.call-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 16px;border-radius:999px;font-size:.98rem;font-weight:800}.status-connecting{background:#f3c65f29;border:1.5px solid rgba(243,198,95,.65);color:var(--gold-bright)}.status-listening{background:#1f8a4c40;border:1.5px solid rgba(76,217,123,.65);color:#b7f7cc}.status-speaking{background:#f3c65f38;border:1.5px solid rgba(255,225,141,.85);color:var(--gold-bright)}.status-muted{background:#c9861740;border:1.5px solid rgba(255,198,102,.7);color:#ffe3a8}.dot-pulse{width:10px;height:10px;border-radius:50%;background:currentColor;animation:dot-blink 1.1s ease-in-out infinite alternate}@keyframes dot-blink{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1.2)}}.call-timer{font-variant-numeric:tabular-nums;font-weight:800;font-size:1rem;padding:8px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:var(--cream)}.waveform-card{width:100%;padding:14px 16px;border-radius:18px;background:#05140e9e;border:1.5px solid rgba(243,198,95,.28)}.waveform-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.92rem;font-weight:800;color:var(--cream-muted);margin-bottom:10px}.waveform-bars{height:54px;display:flex;align-items:center;justify-content:center;gap:6px}.wave-bar{width:8px;height:10px;border-radius:999px;background:linear-gradient(180deg,#ffe18d,#4cd97b);transition:height 75ms ease-out,opacity .2s ease;opacity:.88}.waveform-bars.is-muted .wave-bar{background:#8a958f;opacity:.4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:none;border-radius:999px;padding:16px 28px;min-height:60px;font-family:"Baloo 2",Nunito,sans-serif;font-size:1.25rem;font-weight:700;color:#fff;cursor:pointer;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}.btn:active{transform:translateY(3px)}.btn-call{width:100%;max-width:340px;font-size:1.38rem;background:linear-gradient(180deg,#27a85d 0%,var(--green-btn) 100%);box-shadow:0 6px 0 var(--green-btn-shadow),0 12px 26px #1f8a4c73}.btn-call:hover{background:linear-gradient(180deg,#2ec06b 0%,var(--green-btn-hover) 100%)}.btn-secondary{background:#ffffff1f;border:1.5px solid rgba(255,255,255,.28);font-size:1.08rem;min-height:52px;padding:12px 24px}.btn-secondary:hover{background:#fff3}.active-controls{width:100%;display:grid;grid-template-columns:1fr 1.35fr;gap:12px;margin-top:4px}.btn-mute{background:linear-gradient(180deg,#2b5842,#1c3d2d);border:1.5px solid rgba(243,198,95,.4);box-shadow:0 5px #10241a;font-size:1.15rem}.btn-mute:hover{background:linear-gradient(180deg,#356c51,#244e3a)}.btn-mute.is-muted{background:linear-gradient(180deg,#e09c26 0%,var(--amber-btn) 100%);border-color:#ffe18d;box-shadow:0 5px 0 var(--amber-btn-shadow)}.btn-hangup{background:linear-gradient(180deg,#e02b35 0%,var(--red-btn) 100%);box-shadow:0 5px 0 var(--red-btn-shadow),0 10px 24px #c81d2566;font-size:1.2rem}.btn-hangup:hover{background:linear-gradient(180deg,#f03842 0%,var(--red-btn-hover) 100%)}@media (max-width: 480px){.card{padding:22px 16px 24px;border-radius:22px}.santa-stage{max-width:280px}.active-controls{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.bulb,.dot-pulse,.santa-stage.is-ringing .santa-medallion,.santa-stage.is-ringing .pulse-ring-1,.santa-stage.is-ringing .pulse-ring-2,.santa-stage.is-speaking .pulse-ring-1,.santa-stage.is-speaking .pulse-ring-2,.santa-stage.is-speaking .santa-medallion{animation:none!important}}
