.santa-screen[data-theme="family-winter"] {
  color-scheme:dark;--color-base-100:#101722;--color-base-200:#172131;--color-base-300:#283447;--color-base-content:#f6f2e9;
  --color-primary:#edc47b;--color-primary-content:#17202b;--color-secondary:#a2bbd3;--color-secondary-content:#101722;
  --color-accent:#e7d4b0;--color-accent-content:#101722;--color-neutral:#243043;--color-neutral-content:#f6f2e9;
  --color-info:#afc8e4;--color-info-content:#101722;--color-success:#b6d4cc;--color-success-content:#101722;
  --color-warning:#edc47b;--color-warning-content:#101722;--color-error:#efafa6;--color-error-content:#101722;
  --radius-selector:.5rem;--radius-field:1rem;--radius-box:1.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0;
}
dialog.santa-screen{position:fixed;inset:0;margin:0 auto;padding:0;width:100%;max-width:560px;height:100%;max-height:100dvh;border:0;overflow:auto;background:var(--color-base-100);color:var(--color-base-content);font:16px/1.55 system-ui,-apple-system,sans-serif;overscroll-behavior:contain;text-align:left}
dialog.santa-screen::backdrop{background:#03070ed9;backdrop-filter:blur(8px)}
dialog.santa-screen[open]{display:block}
.santa-manage .santa-action-grid{gap:14px;margin-top:12px}
.santa-admin .santa-schedule.sf-card{gap:14px}
.santa-schedule-row{display:grid;gap:6px}
.santa-schedule-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(5rem,8rem);gap:8px}
.santa-schedule-error{color:var(--color-error);margin:0}
.santa-schedule-ack .sf-checkbox::before{content:none}
html.family-santa-open{overflow:hidden;overscroll-behavior:none}body.family-santa-open{position:fixed;top:var(--santa-page-top,0);left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
dialog.santa-screen{overflow-x:hidden;overflow-y:auto;touch-action:pan-y pinch-zoom}.santa-screen .santa-window,.santa-screen .santa-content{max-width:100%;overflow-x:clip}.santa-screen .santa-content{grid-template-columns:minmax(0,1fr)}
.santa-manage[open],[data-rule-actions]{display:grid;gap:14px}.santa-rule-diff{padding:12px;border:1px solid var(--color-primary);border-radius:12px;background:var(--color-base-200)}.santa-rule-diff p{font-size:13px;margin:5px 0}.santa-diff-before{color:var(--color-base-content);opacity:.7}.santa-diff-after{color:var(--color-primary);font-weight:650}.santa-entry [data-santa-entry-timer]{font-size:11px;color:#edc47b;font-variant-numeric:tabular-nums;line-height:1.4;overflow-wrap:anywhere}
.santa-screen *{box-sizing:border-box;min-width:0}.santa-screen [hidden]{display:none!important}
.santa-screen .santa-window.sf-modal-box{width:100%;max-width:none;min-height:100%;max-height:none;padding:0;border-radius:0;overflow:visible;transform:none;translate:none;scale:1;background:radial-gradient(ellipse at 90% 0%,#9b76352e,transparent 45%),linear-gradient(160deg,#101722,#172231 55%,#0b121d);box-shadow:none}
.santa-header{display:flex;align-items:center;gap:12px;padding:20px 18px;position:sticky;top:0;z-index:4;background:#101722ee;backdrop-filter:blur(16px);border-bottom:1px solid #edc47b26}
.santa-header img{width:42px;height:42px;object-fit:contain}.santa-header>div{flex:1}.santa-header h1{font-size:17px;line-height:1.25;margin:4px 0 0;overflow-wrap:anywhere}.santa-header small{font-size:9px;letter-spacing:1.4px;color:var(--color-primary)}
.santa-content{padding:20px 18px 28px;display:grid;gap:18px}.santa-content h2{font-size:clamp(25px,7vw,35px);letter-spacing:-.04em;line-height:1.15;margin:8px 0 20px;overflow-wrap:anywhere}.santa-content h3{font-size:20px;line-height:1.25;margin:8px 0}
.santa-content p{margin:8px 0 10px;overflow-wrap:anywhere;white-space:pre-wrap}.santa-screen small,.santa-muted{color:#c6c5c2}.santa-hero>small{display:block;color:var(--color-primary);letter-spacing:1.6px;font-size:10px}
.santa-hero>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:22px;border:1px solid #edc47b3d}.santa-hero>p{font-size:18px;color:#e0dace}
.santa-panel.sf-card{display:flex;flex-direction:column;gap:5px;padding:20px;background:linear-gradient(140deg,#202b3bbf,#111925e6);border:1px solid #dac08d57;border-radius:22px;box-shadow:0 12px 35px #0002}
.santa-panel>small{letter-spacing:1px;font-size:10px;color:var(--color-primary)}.santa-panel>strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.santa-action-grid{display:grid;grid-template-columns:1fr;gap:10px}
.santa-screen .sf-btn{min-height:48px;height:auto;padding:12px 18px;font-family:inherit;font-size:15px;white-space:normal;overflow-wrap:anywhere;border:1px solid #a7afba55;background:#1e2a3b;color:var(--color-base-content);font-weight:650;border-radius:15px;width:100%;text-decoration:none;box-shadow:none;text-align:center}
.santa-screen .sf-btn-primary{background:linear-gradient(120deg,#f5d697,#dfac5c);color:#15202d;border-color:#f7dba3;box-shadow:0 6px 24px #cb9c4f22}.santa-screen .sf-btn-square{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;font-size:26px}.santa-screen .sf-btn-ghost{background:transparent;border-color:transparent;color:#ddc59d}
.santa-screen .sf-btn:disabled{opacity:.45;pointer-events:none}.santa-screen :focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
.santa-screen form{display:grid;gap:18px}.santa-screen label{display:grid;gap:8px;color:#e0dbd2;font-size:14px}.santa-screen .sf-input,.santa-screen .sf-textarea,.santa-screen .sf-select{display:block;width:100%;max-width:100%;min-height:48px;height:auto;padding:12px;border:1px solid #abafa662;border-radius:14px;background:#0c1420;color:#f6f2e9;font-size:16px;font-family:inherit;box-shadow:none}
.santa-screen .sf-textarea{min-height:120px;resize:vertical}.santa-screen .santa-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 0;line-height:1.45}.santa-check input.sf-checkbox{flex:0 0 25px;width:25px;height:25px;appearance:auto;accent-color:#edc47b}
.santa-rules{padding-left:24px;margin:0;display:grid;gap:16px;color:#ddd7cd}.santa-footer{display:flex;gap:12px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #edc47b26;background:#0e1621}
.santa-notice,.santa-error{margin:16px;padding:16px;background:#4e2f29;border:1px solid #efafa6;border-radius:15px;color:#ffe4db;overflow-wrap:anywhere}.santa-messages{display:grid;gap:12px}.santa-message{padding:14px;background:#243347;border:1px solid #c3c8d133;border-radius:18px;max-width:94%}.santa-message.is-mine{margin-left:auto;background:#75603b55;border-color:#edc47b55}.santa-message small{font-size:11px;letter-spacing:.04em}.santa-message p{white-space:pre-wrap;overflow-wrap:anywhere}.santa-message .sf-btn{font-size:12px;padding:6px}
.santa-footer .sf-btn{flex:1 1 0;width:auto}
.santa-people{display:grid;gap:12px}.santa-entry{display:flex;flex-direction:row;align-items:center;gap:14px;width:calc(100% - 28px);min-height:104px;margin:16px 14px;padding:12px;border:1px solid #d9b97588;border-radius:24px;background:linear-gradient(120deg,#172233,#293346);color:#efcf95;font:650 17px/1.35 system-ui;text-align:left;box-sizing:border-box;overflow:hidden;cursor:pointer}
.santa-entry figure{flex:0 0 88px;margin:0}.santa-entry img{display:block;width:88px;height:76px;object-fit:cover;border-radius:15px}.santa-entry .sf-card-body{display:grid;gap:5px;padding:0;flex:1;min-width:0}.santa-entry strong{font-size:19px;color:#f6f2e9}.santa-entry .sf-card-body>span{font-size:12px;line-height:1.4;font-weight:400;color:#d7d1c4}.santa-entry[data-santa-entry="1"]{width:100%;margin:16px 0}
.santa-header>div{min-width:0}.santa-header small{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.santa-screen .santa-test-badge{font-size:8px;letter-spacing:.04em;line-height:1.4;min-height:18px;height:auto;padding:3px 7px;border:1px solid #edc47b66;color:#edc47b;background:#edc47b12;border-radius:7px;white-space:normal}.santa-header [data-sync-state]{font-size:10px;letter-spacing:0}.santa-test-details,.santa-manage{font-size:13px;color:#c6c5c2;padding:12px 0;border-top:1px solid #edc47b25}.santa-test-details summary,.santa-manage summary{cursor:pointer;min-height:36px;padding:8px 0}.santa-secondary-actions{display:flex;gap:10px}.santa-secondary-actions .sf-btn{background:transparent;border-color:#edc47b35;font-size:13px}.santa-screen .santa-hero>img{display:block;max-height:184px;aspect-ratio:2;object-fit:cover;background:#243043}.santa-screen .santa-hero>small{margin-top:14px}.santa-screen .santa-hero>h2{font-size:27px;margin:8px 0 12px}.santa-screen .santa-hero>p{font-size:15px;line-height:1.5}.santa-profile-step{border-color:#edc47b88!important}.santa-footer:has([data-home][hidden]):has([data-refresh][hidden]){display:none}
.santa-envelope-scene{position:relative;min-height:280px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse,#be945936,transparent 66%),url('/static/assets/santa/invite-01.webp') center/cover;border-radius:24px;isolation:isolate}.santa-envelope-scene:before{content:'';position:absolute;inset:0;background:#0e1725aa;z-index:-1}
.santa-envelope{position:relative;width:200px;height:135px;background:linear-gradient(140deg,#38465a,#172332);border:1px solid #d5b47a;border-radius:8px;box-shadow:0 10px 60px #edc47b55;animation:sf-arrive .3s both}
.santa-envelope i{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 65%);background:linear-gradient(#68809b,#2d4058);transform-origin:top;animation:sf-envelope-flap .6s .3s both}.santa-envelope b{position:absolute;left:calc(50% - 20px);top:45%;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#edc47b;color:#273346;animation:sf-arrive .3s both}
.santa-snow{position:absolute;left:calc(var(--i)*6%);top:10%;font-size:calc(8px + var(--i)*.4px);color:#f7eddb;opacity:0;animation:sf-snow 1.2s .9s both}
@keyframes sf-arrive{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}
@keyframes sf-envelope-flap{to{transform:rotateX(170deg);opacity:.45}}
@keyframes sf-snow{15%{opacity:.8}to{transform:translate3d(15px,190px,0) rotate(60deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.santa-screen *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:600px){dialog.santa-screen{height:94dvh;max-height:94dvh;margin:3dvh auto;border:1px solid #edc47b66;border-radius:28px}.santa-content{padding:24px}.santa-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.santa-admin{padding:24px;border:1px solid #d4b47a55;border-radius:26px;background:radial-gradient(ellipse at top right,#ac865026,transparent 50%),#111b29;color:var(--color-base-content);font:16px/1.55 system-ui;min-width:0}
.santa-admin [data-admin-content]{display:grid;gap:22px}.santa-admin-heading{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:24px}.santa-admin-heading h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}.santa-admin-heading small{color:var(--color-primary);font-size:10px;letter-spacing:1.5px}.santa-admin-heading [data-top-actions]{display:flex;gap:8px;flex-wrap:wrap}.santa-admin-heading [data-top-actions] .sf-btn{width:auto}
.santa-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px}.santa-admin-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.santa-admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.santa-admin-tabs .sf-btn{width:auto;flex:1 1 120px}.santa-admin form>div[data-wizard-buttons],.santa-admin [data-create-actions]{display:grid;gap:10px}.santa-admin [data-help-list],.santa-admin [data-notification-history],.santa-admin [data-change-list]{display:grid;gap:14px}
.santa-telegram-preview{overflow:hidden;border-radius:20px;background:#1f2e3e;border:1px solid #a5bac64a}.santa-telegram-preview>img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.santa-caption{padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.santa-preview-button{display:block;margin:0 12px 12px;padding:12px;background:#ffffff17;color:#c6ddf2;text-align:center;border-radius:12px;font-weight:650}
.santa-public-preview{display:block;max-width:100%;max-height:320px;object-fit:contain;border-radius:16px}
.santa-admin .sf-card>h3{margin:0 0 8px;font-size:20px}.santa-admin .sf-card>p{margin:4px 0;overflow-wrap:anywhere}.santa-admin [data-reveal]{display:grid;gap:18px}.santa-admin [data-reveal-item]{display:grid;gap:16px}.santa-admin blockquote{margin:8px 0;padding:12px;border-left:3px solid #edc47b;background:#ffffff08;white-space:pre-wrap}
@media(max-width:800px){.santa-admin{padding:16px}.santa-admin-columns{grid-template-columns:1fr}.santa-admin-heading{display:grid}.santa-admin-tabs .sf-btn{font-size:13px}}
.santa-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.santa-secondary-actions .sf-btn{min-width:0;width:100%}
.santa-lab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:24px;align-items:start}.santa-lab-controls{display:grid;gap:18px;min-width:0}.santa-lab-grid [data-mobile-shell]{position:sticky;top:14px;align-self:start;margin:0 auto!important}.santa-lab-controls [data-test-messages] select{margin-bottom:12px}.santa-lab-controls [data-test-copy]{margin-top:16px}.santa-lab-controls [data-test-copy] img{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:16px}
@media(max-width:900px){.santa-lab-grid{grid-template-columns:minmax(0,1fr)}.santa-lab-grid [data-mobile-shell]{position:relative;top:0}}
.santa-screen .santa-countdown{gap:9px;padding:16px 18px;background:linear-gradient(125deg,#273448,#15202e);overflow:hidden}.santa-countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.santa-countdown-grid>div{display:grid;gap:4px;text-align:center;padding:9px 2px;background:#0c142055;border:1px solid #edc47b22;border-radius:12px}.santa-countdown-grid .sf-countdown{justify-content:center;font-size:clamp(22px,7vw,32px);line-height:1.15;font-variant-numeric:tabular-nums;color:#edc47b}.santa-countdown-grid small{font-size:10px}.santa-countdown [data-countdown-status]{font-size:11px;margin:0;color:#c6c5c2}.santa-hero{position:relative}.santa-screen .sf-btn{transition:transform .16s cubic-bezier(.2,.7,.2,1),background-color .16s,border-color .16s}.santa-screen .sf-btn:active:not(:disabled),.santa-entry:active{transform:scale(.975)}
@media(prefers-reduced-motion:no-preference){.santa-screen .santa-content{animation:sf-page-enter .26s cubic-bezier(.2,.7,.2,1) both}.santa-screen .santa-content>section,.santa-screen .santa-content>.santa-action-grid,.santa-screen .santa-content>.santa-hero{animation:sf-card-enter .32s cubic-bezier(.2,.7,.2,1) both}.santa-screen .santa-content>:nth-child(2){animation-delay:35ms}.santa-screen .santa-content>:nth-child(3){animation-delay:70ms}.santa-screen .santa-content>:nth-child(4){animation-delay:105ms}.santa-screen .santa-profile-step>strong{animation:sf-status-enter .35s cubic-bezier(.2,.8,.2,1) both}.santa-entry img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.santa-hero:has(>img)::after{content:'';position:absolute;top:0;left:0;right:0;height:184px;border-radius:22px;pointer-events:none;background:linear-gradient(105deg,transparent 35%,#ffe6aa30 48%,transparent 62%);animation:sf-gold-pass 1.2s .2s both}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.santa-screen .sf-btn:hover:not(:disabled){transform:translateY(-1px)}.santa-entry:hover img{transform:scale(1.035)}}
@keyframes sf-page-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes sf-card-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sf-status-enter{from{opacity:.3;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes sf-gold-pass{from{opacity:0;transform:translateX(-80%)}35%{opacity:.8}to{opacity:0;transform:translateX(80%)}}
@media(prefers-reduced-motion:reduce){.santa-screen .sf-btn,.santa-entry,.santa-entry img{transition:none!important;transform:none!important}.santa-screen .santa-content,.santa-screen .santa-content>*{animation:none!important}}

/* Participant flow: keep the next action readable even at the first animation frame. */
@keyframes sf-page-enter{from{opacity:1;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes sf-card-enter{from{opacity:1;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.santa-screen .santa-home-waiting{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:12px;align-items:center}
.santa-screen .santa-home-waiting>img{grid-column:1;grid-row:1 / 3;width:72px;height:72px;aspect-ratio:1;object-fit:cover;border-radius:16px}
.santa-screen .santa-home-waiting>small{grid-column:2;margin:0;font-size:9px;letter-spacing:.8px}
.santa-screen .santa-home-waiting>h2{grid-column:2;font-size:25px;margin:4px 0}
.santa-screen .santa-home-waiting::after{display:none}
.santa-screen .santa-roadmap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;list-style:none;margin:0;padding:0}
.santa-screen .santa-roadmap li{min-width:0;border-top:3px solid var(--color-base-300);padding:7px 0 0;font-size:10px;line-height:1.3;overflow-wrap:anywhere;color:var(--color-base-content);opacity:.65}
.santa-screen .santa-roadmap li[aria-current="step"]{border-color:var(--color-primary);color:var(--color-primary);font-weight:700;opacity:1}
.santa-screen .santa-roadmap li.is-complete{border-color:var(--color-secondary)}
.santa-screen .santa-full-rules{padding:12px 0;border-top:1px solid var(--color-base-300)}
.santa-screen .santa-full-rules>summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650}
.santa-screen .santa-full-rules[open]>.santa-rules{margin-top:12px}
.santa-screen .santa-person-avatar{display:inline-grid;position:relative;flex:0 0 48px;place-items:center;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--color-base-300);color:var(--color-base-content);font-weight:700;letter-spacing:.03em}
.santa-screen .santa-person-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.santa-screen .santa-person.sf-card{display:flex;flex-direction:row;align-items:center;gap:14px}
