.advent-calendar{--calendar-white:oklch(98% .008 85);--calendar-muted:oklch(78% .023 255);--calendar-border:color-mix(in oklch, var(--calendar-white) 18%, transparent);--calendar-ease:cubic-bezier(.23, 1, .32, 1);--calendar-gap:clamp(.75rem, .25rem + 1.125vw, 1.25rem);--calendar-section-gap:clamp(2rem, .5rem + 3.375vw, 3.5rem);--calendar-padding-start:clamp(2.5rem, .5rem + 5vw, 5rem);--calendar-padding-end:clamp(4rem, 1rem + 6vw, 7rem);--calendar-heading-size:clamp(2.5rem, .5rem + 4.375vw, 4rem);--calendar-description-size:clamp(.875rem, .8rem + .25vw, 1rem);--calendar-column-width:clamp(8rem, 1rem + 23vw, 13rem);--calendar-day-size:clamp(3.5rem, 1rem + 4.75vw, 5.5rem);--calendar-door-min-size:clamp(9.5rem, 6rem + 10vw, 14.5rem);--calendar-caption-size:clamp(1.25rem, .25rem + 1.6875vw, 1.65rem);--calendar-label-size:clamp(.6875rem, .625rem + .2vw, .75rem);--calendar-card-padding:clamp(.75rem, .5rem + .75vw, 1.2rem);--calendar-dialog-padding:clamp(1.5rem, .25rem + 3.5vw, 2.25rem);--calendar-dialog-title-size:clamp(2rem, .5rem + 4vw, 2.75rem);--calendar-dialog-cover-size:clamp(8rem, 6rem + 12vw, 16rem);gap:var(--calendar-section-gap);inline-size:min(100% - 2 * var(--calendar-gap), 78rem);padding-block:var(--calendar-padding-start) var(--calendar-padding-end);color:var(--calendar-white);margin-inline:auto;scroll-margin-block-start:6rem;display:grid}.advent-calendar__heading{text-align:center;justify-items:center;gap:1rem;display:grid}.advent-calendar__heading>*,.advent-progress p,.advent-calendar__closing{margin:0}.advent-calendar__heading>*{overflow-wrap:anywhere;max-inline-size:100%}.advent-calendar__content{gap:var(--calendar-section-gap);display:grid}.advent-calendar__notice{text-align:center;color:var(--calendar-muted);justify-items:center;gap:1rem;display:grid}.advent-calendar__notice:has([data-calendar-status]:empty):has([data-calendar-retry][hidden]){display:none}.advent-calendar__notice p{overflow-wrap:anywhere;max-inline-size:100%;margin:0}.advent-account{padding:var(--calendar-card-padding);border:1px solid var(--calendar-border);background:color-mix(in oklch, var(--calendar-white) 4%, transparent);backdrop-filter:blur(12px);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.advent-account>p{min-inline-size:0;color:var(--calendar-muted);overflow-wrap:anywhere;flex:22rem;margin:0;font-size:.875rem;line-height:1.7}.advent-account__actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.5rem 1rem;max-inline-size:100%;display:flex}.advent-account__actions>*{min-block-size:2.75rem}.advent-calendar__eyebrow{letter-spacing:.19em;text-transform:uppercase;max-inline-size:min(100%,48ch);color:var(--calendar-muted);font-size:.75rem;line-height:1.9}.advent-calendar__heading h2{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--calendar-heading-size);text-wrap:balance;font-weight:400;line-height:1.1}.advent-calendar__heading h2 em{font-weight:400}.advent-calendar__heading>p:last-child{max-inline-size:min(100%,58ch);color:var(--calendar-muted);font-size:var(--calendar-description-size);font-weight:300;line-height:1.9}.advent-progress{justify-self:center;gap:.8rem;inline-size:min(100%,38rem);display:grid}.advent-progress__labels{color:var(--calendar-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;font-size:.8125rem;font-weight:300;display:flex}.advent-progress__labels>span:first-child{align-items:center;gap:.35em;display:inline-flex}.advent-progress__labels svg{flex:none;block-size:1.5cap;inline-size:auto;margin-inline-end:.4em}.advent-progress__bar{appearance:none;background:color-mix(in oklch, var(--calendar-white) 12%, transparent);border:0;border-radius:999px;block-size:.25rem;inline-size:100%;overflow:clip}.advent-progress__bar::-webkit-progress-bar{border-radius:inherit;background:color-mix(in oklch, var(--calendar-white) 12%, transparent)}.advent-progress__bar::-webkit-progress-value{border-radius:inherit;background:linear-gradient(90deg,oklch(87% .13 85),oklch(72% .16 10),oklch(76% .15 165))}.advent-progress__bar::-moz-progress-bar{border-radius:inherit;background:linear-gradient(90deg,oklch(87% .13 85),oklch(72% .16 10),oklch(76% .15 165))}.advent-progress__hint{color:var(--calendar-muted);font-size:.75rem;font-weight:300;line-height:1.7}.advent-calendar__noscript{text-align:center;color:var(--calendar-muted)}.advent-calendar__symbols{block-size:0;inline-size:0;position:absolute;overflow:clip}.advent-doors{columns:5 var(--calendar-column-width);column-gap:var(--calendar-gap);column-fill:balance}.advent-calendar .advent-door{--door-accent:oklch(78% .11 240);--door-dark:oklch(34% .075 252)}.advent-calendar .advent-door:nth-child(6n+2){--door-accent:oklch(75% .12 165);--door-dark:oklch(32% .055 168)}.advent-calendar .advent-door:nth-child(6n+3){--door-accent:oklch(83% .13 80);--door-dark:oklch(37% .075 57)}.advent-calendar .advent-door:nth-child(6n+4){--door-accent:oklch(78% .12 8);--door-dark:oklch(34% .065 355)}.advent-calendar .advent-door:nth-child(6n+5){--door-accent:oklch(79% .105 298);--door-dark:oklch(34% .065 298)}.advent-calendar .advent-door:nth-child(6n+6){--door-accent:oklch(74% .15 25);--door-dark:oklch(34% .085 25)}.advent-calendar .advent-door{--door-ratio:.8;isolation:isolate;inline-size:100%;min-block-size:calc(var(--calendar-door-min-size) / var(--door-ratio));break-inside:avoid;margin-block:0 var(--calendar-gap);border:1px solid color-mix(in oklch, var(--door-accent) 32%, transparent);background:linear-gradient(145deg, color-mix(in oklch, var(--door-accent) 30%, transparent), color-mix(in oklch, var(--door-dark) 65%, transparent));color:var(--calendar-white);text-align:center;backdrop-filter:blur(10px);border-radius:1rem;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:0;padding:0;font-weight:400;display:grid;position:relative;overflow:clip;box-shadow:0 .6rem 1.5rem oklch(8% .025 255/.2)}.advent-calendar .advent-door:nth-child(4n+2){--door-ratio:1}.advent-calendar .advent-door:nth-child(4n+3){--door-ratio:.72}.advent-calendar .advent-door:nth-child(4n+4){--door-ratio:.9}.advent-door:before{content:"";border:1px solid color-mix(in oklch, var(--door-accent) 23%, transparent);pointer-events:none;border-radius:.5rem;position:absolute;inset:.5rem}.advent-door:after{content:"";background:linear-gradient(110deg, transparent 25%, color-mix(in oklch, var(--calendar-white) 11%, transparent) 50%, transparent 75%);pointer-events:none;position:absolute;inset:0;translate:-100%}.advent-door__closed{padding:.5rem var(--calendar-card-padding) .75rem;overflow-wrap:anywhere;flex-direction:column;grid-area:2/1;justify-content:center;align-items:center;gap:.5rem;display:flex}.advent-door__month{font-size:var(--calendar-label-size);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklch, var(--calendar-white) 62%, transparent)}.advent-door__number{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--calendar-day-size);font-variant-numeric:lining-nums tabular-nums;text-shadow:0 .2rem 1rem oklch(5% .02 255/.2);font-weight:400;line-height:.95}.advent-door .advent-door__gift,.advent-door .advent-door__lock{block-size:1.25rem;inline-size:1.25rem;color:var(--door-accent);margin-block-start:.25rem}.advent-door__lock,.advent-door__opened,.advent-door__today{display:none}.advent-door__action{font-size:var(--calendar-label-size);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklch, var(--calendar-white) 75%, transparent);line-height:1.5}.advent-door__countdown{font-size:var(--calendar-label-size);font-variant-numeric:tabular-nums;color:var(--calendar-muted);line-height:1.5}.advent-telegram{inline-size:100%}.advent-door__labels{z-index:1;padding:0 var(--calendar-card-padding) var(--calendar-card-padding);flex-wrap:wrap;grid-area:3/1;justify-content:center;align-items:center;gap:.5rem;display:flex;position:relative}.advent-door__tag{border:1px solid color-mix(in oklch, var(--door-accent) 15%, transparent);background:color-mix(in oklch, var(--door-dark) 45%, transparent);color:var(--door-accent);font-size:var(--calendar-label-size);letter-spacing:.08em;overflow-wrap:anywhere;border-radius:999px;padding:.3rem .55rem;font-weight:400;line-height:1.3}.advent-door .advent-door__corner{block-size:.8rem;inline-size:.8rem;margin:var(--calendar-card-padding);color:color-mix(in oklch, var(--door-accent) 70%, transparent);grid-area:1/1;place-self:start end}.advent-calendar .advent-door[data-state=future]{opacity:.65}.advent-door:is([data-state=locked],[data-state=future]) .advent-door__gift{display:none}.advent-door:is([data-state=locked],[data-state=future]) .advent-door__lock{display:block}.advent-calendar .advent-door[data-today=true]{border-color:var(--door-accent)}.advent-door[data-today=true] .advent-door__today{color:var(--door-accent);font-size:var(--calendar-label-size);letter-spacing:.08em;text-transform:uppercase;display:block}.advent-door[data-state=opened] .advent-door__closed,.advent-door[data-state=opened] .advent-door__corner,.advent-door[data-state=opened]:before{display:none}.advent-door[data-state=opened] .advent-door__opened{grid-area:2/1/4/2;grid-template-rows:minmax(min-content,1fr) auto;display:grid}.advent-door__art{background:radial-gradient(ellipse at 60% 20%, color-mix(in oklch, var(--door-accent) 45%, transparent), transparent 70%), linear-gradient(165deg, var(--door-dark), oklch(17% .04 258));color:color-mix(in oklch, var(--door-accent) 40%, transparent);place-items:center;display:grid;position:absolute;inset:0}.advent-door__art svg{align-self:start;block-size:auto;inline-size:65%;margin-block-start:20%}.advent-door__art img{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.advent-door__art:after{content:"";background:linear-gradient(oklch(10% .02 255/.1) 20%,oklch(10% .02 255/.9));position:absolute;inset:0}.advent-dialog__visual>img{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.advent-door__caption{padding:var(--calendar-card-padding);text-align:start;grid-area:2/1;align-self:end;gap:.4rem;display:grid;position:relative}.advent-door__caption>span{font-size:var(--calendar-label-size);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklch, var(--calendar-white) 70%, transparent)}.advent-door__caption strong{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--calendar-caption-size);text-wrap:balance;overflow-wrap:anywhere;font-weight:500;line-height:1.15}.advent-door[data-state=opened] .advent-door__labels{grid-area:1/1;justify-content:space-between;padding-block-start:var(--calendar-card-padding);padding-block-end:.5rem}.advent-door[data-state=opened] .advent-door__tag{backdrop-filter:blur(10px);background:oklch(14% .02 255/.75)}.advent-door__again{border:1px solid var(--calendar-border);margin-inline:var(--calendar-card-padding);font-size:var(--calendar-label-size);opacity:0;transition:opacity .18s var(--calendar-ease);background:oklch(14% .02 255/.8);border-radius:999px;grid-area:1/1;place-self:center;padding:.65rem;line-height:1.5;position:relative}.advent-door:focus-visible .advent-door__again{opacity:1}.advent-calendar .advent-door:focus-visible,.advent-dialog button:focus-visible{outline:2px solid var(--calendar-white);outline-offset:4px}.advent-calendar .advent-door:active:not(:disabled){border-color:var(--calendar-white)}.advent-calendar__closing{text-align:center;color:var(--calendar-muted);flex-direction:column;align-items:center;gap:1rem;font-size:.8125rem;font-weight:300;line-height:1.8;display:flex}.advent-calendar__closing>span{color:color-mix(in oklch, var(--calendar-white) 50%, transparent);font-size:1.75rem}.advent-instructions{padding-block:var(--calendar-section-gap);border-block-start:1px solid var(--calendar-border);gap:1rem;scroll-margin-block-start:6rem;display:grid}.advent-instructions>p,.advent-instructions h3{text-align:center;justify-self:center;max-inline-size:100%;margin:0}.advent-instructions h3{font-size:var(--calendar-dialog-title-size);text-wrap:balance;font-weight:400}.advent-instructions ol{gap:var(--calendar-section-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1rem 0 0;padding:0;list-style:none;display:grid}.advent-instructions li{align-items:start;gap:1rem;display:flex}.advent-instructions li>span{color:color-mix(in oklch, var(--calendar-white) 40%, transparent);flex:none;font-family:Cormorant Garamond,Georgia,serif;font-size:2.5rem;line-height:1}.advent-instructions li>div{gap:.6rem;min-inline-size:0;display:grid}.advent-instructions h4{margin:0;font-size:1rem;font-weight:400;line-height:1.5}.advent-instructions li p{color:var(--calendar-muted);margin:0;font-size:.875rem;font-weight:300;line-height:1.8}html:has(.advent-dialog:modal){overflow:hidden}.advent-dialog{--dialog-background:oklch(23.5% .058 258);--door-dark:oklch(34% .075 252);--dialog-gutter:max(1rem, env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));inline-size:min(33rem, calc(100% - 2 * var(--dialog-gutter)));max-inline-size:none;max-block-size:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border:1px solid var(--calendar-border);background:var(--dialog-background);color:var(--calendar-white);border-radius:1.5rem;margin:auto;padding:0;overflow:clip;box-shadow:0 2rem 6rem oklch(0% 0 none/.5)}.advent-dialog[open]{flex-direction:column;display:flex}.advent-dialog__content{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;flex:1;min-block-size:0;overflow-y:auto}.advent-dialog__content:focus-visible{outline:2px solid var(--calendar-white);outline-offset:-4px}.advent-dialog::backdrop{backdrop-filter:blur(9px);background:oklch(7% .03 258/.76)}.advent-dialog__visual{min-block-size:min(var(--calendar-dialog-cover-size), 35dvh);background:linear-gradient(140deg, var(--door-dark), var(--dialog-background));padding-block-start:3.5rem;display:grid;position:relative}.advent-dialog__visual>*{grid-area:1/1}.advent-dialog__star{color:color-mix(in oklch, var(--calendar-white) 22%, transparent);place-self:center;font-size:6rem;line-height:1}.advent-dialog__visual:after{content:"";background:linear-gradient(180deg, transparent 35%, var(--dialog-background));pointer-events:none;position:absolute;inset:0}.advent-dialog .advent-dialog__dismiss{z-index:2;border:1px solid var(--calendar-border);block-size:2.75rem;inline-size:2.75rem;color:var(--calendar-white);backdrop-filter:blur(10px);background:oklch(10% .02 258/.5);border-radius:50%;margin:0;padding:.75rem;position:absolute;inset-block-start:.75rem;inset-inline-end:.75rem}.advent-dialog__dismiss svg{block-size:100%;inline-size:100%}.advent-dialog__date{z-index:1;margin:.75rem var(--calendar-dialog-padding);flex-wrap:wrap;align-self:end;align-items:center;gap:.9rem;font-size:.8125rem;font-weight:300;display:flex;position:relative}.advent-dialog__day{border:1px solid var(--calendar-border);background:color-mix(in oklch, var(--calendar-white) 10%, transparent);backdrop-filter:blur(10px);border-radius:.65rem;justify-items:center;gap:.25rem;padding:.5rem .8rem;display:grid}.advent-dialog__day>span{letter-spacing:.15em;text-transform:uppercase;font-size:.6875rem}.advent-dialog__day strong{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:500;line-height:1}.advent-dialog__body{padding:.25rem var(--calendar-dialog-padding) var(--calendar-dialog-padding);overflow-wrap:anywhere;flex-direction:column;gap:1rem;display:flex}.advent-dialog--account .advent-dialog__body{padding-block-start:3.5rem}.advent-dialog__ornament{color:oklch(85% .09 82);align-self:start;font-size:2rem;line-height:1}.advent-form{gap:1rem;margin-block-start:.4rem;display:grid}.advent-form .primary{min-block-size:3rem;inline-size:100%}.advent-form input{min-block-size:3rem}.advent-dialog .advent-form__error{color:oklch(86% .1 20);font-size:.875rem}.advent-card-content{color:var(--calendar-white);white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;font-weight:300;line-height:1.85}.advent-card-content:empty,.advent-dialog__body>p:empty{display:none}.advent-dialog__body h2{font-family:Cormorant Garamond,Georgia,serif;font-size:var(--calendar-dialog-title-size);text-wrap:balance;margin:0;font-weight:500;line-height:1.05}.advent-dialog__body p{color:var(--calendar-muted);margin:0;font-size:1rem;font-weight:300;line-height:1.85}.advent-dialog .advent-dialog__close{border:1px solid var(--calendar-border);background:color-mix(in oklch, var(--calendar-white) 5%, transparent);min-block-size:2.75rem;inline-size:100%;color:var(--calendar-white);border-radius:.75rem;margin-block-start:.6rem;font-size:.875rem;font-weight:400}.advent-dialog button:active{background:color-mix(in oklch, var(--calendar-white) 18%, transparent)}@media (hover:hover) and (pointer:fine){.advent-calendar .advent-door:hover:not(:disabled){border-color:color-mix(in oklch, var(--calendar-white) 65%, transparent);background:linear-gradient(145deg, color-mix(in oklch, var(--door-accent) 40%, transparent), color-mix(in oklch, var(--door-dark) 80%, transparent))}.advent-door:hover:not(:disabled):after{translate:100%}.advent-door:hover .advent-door__again{opacity:1}.advent-dialog .advent-dialog__close:hover,.advent-dialog .advent-dialog__dismiss:hover{background:color-mix(in oklch, var(--calendar-white) 15%, transparent)}}@media (prefers-reduced-motion:no-preference){.advent-calendar .advent-door{animation:advent-door-reveal .4s var(--calendar-ease) var(--door-delay,0s) backwards;transition:transform .25s var(--calendar-ease), border-color .25s var(--calendar-ease)}.advent-door:after{transition:translate .3s var(--calendar-ease)}.advent-progress__bar::-webkit-progress-value{transition:width .3s var(--calendar-ease)}.advent-dialog,.advent-dialog::backdrop{opacity:0;transition:opacity .3s var(--calendar-ease), translate .3s var(--calendar-ease), display .3s allow-discrete, overlay .3s allow-discrete}.advent-dialog{translate:0 1rem}.advent-dialog[open],.advent-dialog[open]::backdrop{opacity:1;translate:0}@starting-style{.advent-dialog[open]{opacity:0;translate:0 1rem}.advent-dialog[open]::backdrop{opacity:0}}@keyframes advent-door-reveal{0%{opacity:0;translate:0 1rem}to{opacity:1;translate:0}}}
