.birthday-screen{--birthday-paper:#fff9fc;--birthday-ink:#57213e;--birthday-muted:#866c7b;--birthday-line:#eadce4;--birthday-wash:#f8eaf2;--birthday-edge:clamp(24px,4vw,64px);min-height:100svh;padding:36px var(--birthday-edge) 24px;display:flex;flex-direction:column;background:var(--birthday-paper);color:var(--birthday-ink);font-family:var(--privi-font);font-weight:var(--privi-font-regular);text-transform:none;box-sizing:border-box}.birthday-brand,.birthday-code>span,.birthday-event-copy,.birthday-event-date,.birthday-eyebrow,.birthday-footer>span,.birthday-progress,.birthday-receipt,.birthday-review dt,.birthday-rules summary,.birthday-site-link,.birthday-step h1{text-transform:uppercase}.birthday-screen *,.birthday-screen :after,.birthday-screen :before{box-sizing:border-box}.birthday-footer,.birthday-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.birthday-brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--privi-pink);font-size:12px;letter-spacing:.14em}.birthday-brand svg{width:58px;height:39px;fill:currentColor}.birthday-brand-divider{height:22px;width:1px;background:var(--birthday-line)}.birthday-site-link{display:inline-flex;align-items:center;gap:8px;color:var(--birthday-muted);font-size:10px;letter-spacing:.09em;text-decoration:none}.birthday-content{width:min(100%,840px);margin:auto;padding:64px 0;flex:1;display:flex;flex-direction:column;justify-content:center}.birthday-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 auto 44px;width:min(100%,640px)}.birthday-back{display:inline-flex;gap:8px;padding:8px 0;border:0;background:none;font:inherit;font-size:12px;letter-spacing:.02em;cursor:pointer}.birthday-back,.birthday-progress{align-items:center;color:var(--birthday-muted)}.birthday-progress{display:flex;gap:14px;font-size:10px;letter-spacing:.14em}.birthday-progress progress{display:block;width:90px;height:2px;appearance:none;border:0;background:var(--birthday-line);accent-color:var(--privi-pink)}.birthday-progress progress::-webkit-progress-bar{background:var(--birthday-line)}.birthday-progress progress::-webkit-progress-value{background:var(--privi-pink)}.birthday-progress progress::-moz-progress-bar{background:var(--privi-pink)}.birthday-form{width:100%}.birthday-step{width:min(100%,640px);margin:auto;animation:birthday-enter .26s ease-out both}.birthday-step:has(.birthday-events){width:100%}.birthday-eyebrow{margin:0 0 20px;color:var(--privi-pink);font-size:10px;letter-spacing:.2em}.birthday-step h1{margin:0;font-family:var(--privi-font);font-weight:var(--privi-font-bold);font-size:clamp(32px,4vw,58px);letter-spacing:-.045em;line-height:1.08;text-wrap:balance;outline:none}.birthday-description{max-width:510px;margin:22px 0 0;font-size:14px;line-height:1.75;letter-spacing:.005em;color:var(--birthday-muted)}.birthday-rules{margin-top:24px;border-top:1px solid var(--birthday-line);border-bottom:1px solid var(--birthday-line)}.birthday-rules summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;color:var(--privi-pink);font-size:10px;letter-spacing:.1em;cursor:pointer;list-style:none}.birthday-rules summary::-webkit-details-marker{display:none}.birthday-rules summary span{font-size:18px}.birthday-rules[open] summary span{transform:rotate(45deg)}.birthday-rules>div{padding-bottom:12px;color:var(--birthday-muted);font-size:13px;line-height:1.75}.birthday-rules>div>:first-child{margin-top:0}.birthday-rules p{margin:16px 0 0}.birthday-rules ul{margin:16px 0 0;padding-left:20px;list-style:disc}.birthday-rules li{padding-left:4px}.birthday-rules li+li{margin-top:8px}.birthday-rules a{color:var(--privi-pink)}.birthday-code{margin-top:24px;padding:20px;border-radius:12px;background:var(--birthday-wash)}.birthday-code>span{display:block;font-size:9px;color:var(--birthday-muted);letter-spacing:.08em}.birthday-code strong{display:block;margin-top:10px;color:var(--privi-pink);font-size:16px;font-weight:var(--privi-font-bold);overflow-wrap:anywhere}.birthday-code p{margin:12px 0 0;font-size:12px;line-height:1.7;color:var(--birthday-muted)}.birthday-field{position:relative;display:block;margin-top:40px}.birthday-caret{display:none}@media (pointer:coarse){.birthday-screen .birthday-input:placeholder-shown:not(:focus)+.birthday-caret{display:block;position:absolute;top:50%;left:-1px;width:2px;height:26px;transform:translateY(-50%);background:var(--privi-pink);pointer-events:none;animation:birthday-caret 1.06s steps(1) infinite}}@keyframes birthday-caret{50%{opacity:0}}.birthday-screen .birthday-input{display:block;width:100%;height:70px;margin-top:0;padding:12px 0;border:0;border-bottom:1px solid var(--birthday-line);border-radius:0;background:transparent;color:var(--birthday-ink);box-shadow:none;font-family:inherit;font-weight:400;font-size:clamp(20px,2.2vw,30px);line-height:1.4}.birthday-screen .birthday-input::placeholder{color:var(--birthday-muted);opacity:.65}.birthday-screen .birthday-input:focus{border-color:var(--privi-pink);outline:none;box-shadow:none}.birthday-screen .birthday-input[aria-invalid=true]{border-color:var(--privi-pink-deep)}.birthday-screen .birthday-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;height:auto;min-height:54px;padding:18px 24px;margin-top:36px;border:0;border-radius:999px;background:var(--privi-pink);color:var(--privi-white);box-shadow:none;font-family:inherit;font-weight:400;font-size:14px;line-height:1.3;letter-spacing:.02em;cursor:pointer;transition:background-color .18s ease}.birthday-screen .birthday-primary:hover{background:var(--privi-pink-deep);box-shadow:none}.birthday-screen button:disabled{opacity:.5;cursor:wait}.birthday-screen :focus-visible{outline:2px solid var(--privi-pink);outline-offset:5px}.birthday-screen .birthday-step h1:focus{outline:none}.birthday-privacy{display:flex;align-items:flex-start;gap:8px;margin:22px 0 0;max-width:430px;font-size:12px;line-height:1.6;color:var(--birthday-muted)}.birthday-privacy svg{flex-shrink:0;margin-top:2px}.birthday-error{margin:16px 0 0;color:var(--privi-pink-deep);font-size:13px;line-height:1.6}.birthday-upload{margin-top:32px}.birthday-dropzone{display:flex;align-items:center;flex-direction:column;gap:18px;padding:36px 24px;border:1px dashed var(--birthday-line);border-radius:16px;background:var(--birthday-wash);color:var(--birthday-muted);text-align:center;transition:border-color .18s ease}.birthday-dropzone[data-dragging=true]{border-color:var(--privi-pink)}.birthday-dropzone>svg{color:var(--privi-pink)}.birthday-dropzone p{margin:0;font-size:14px}.birthday-dropzone>span{font-size:12px}.birthday-screen .birthday-upload-button{height:auto;min-height:44px;padding:12px 20px;border:1px solid var(--privi-pink);border-radius:999px;background:transparent;color:var(--privi-pink);box-shadow:none;font:inherit;font-size:13px;letter-spacing:.02em;cursor:pointer}.birthday-screen .birthday-upload-button:hover{background:var(--birthday-paper);box-shadow:none}.birthday-file-preview{padding:16px;border:1px solid var(--birthday-line);border-radius:16px}.birthday-document-image{object-fit:contain;border-radius:8px}.birthday-document-image,.birthday-document-pdf{display:block;width:100%;height:180px;background:var(--birthday-wash)}.birthday-document-pdf{border:0;border-radius:8px}.birthday-file-info{display:flex;align-items:center;gap:12px;padding:16px 0 4px;color:var(--birthday-muted)}.birthday-file-info>span{flex:1;min-width:0}.birthday-file-info strong{display:block;overflow-wrap:anywhere;color:var(--birthday-ink);font-size:13px;font-weight:400}.birthday-file-info small{display:block;margin-top:5px;font-size:11px}.birthday-icon-button{display:grid;place-items:center;min-width:44px;height:44px;padding:8px;border:0;background:none;color:var(--birthday-muted);cursor:pointer}.birthday-text-button{padding:10px 0;border:0;background:none;color:var(--privi-pink);font-family:inherit;font-size:12px;cursor:pointer}.birthday-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:14px;margin:32px 0 0;padding:0;border:0}.birthday-event{position:relative;display:block;border-radius:12px;cursor:pointer}.birthday-event input{position:absolute;opacity:0;width:1px;height:1px}.birthday-event-cover{display:block;width:100%;height:auto;--ring:transparent;--ring-size:2px;filter:drop-shadow(var(--ring-size) 0 0 var(--ring)) drop-shadow(calc(var(--ring-size) * -1) 0 0 var(--ring)) drop-shadow(0 var(--ring-size) 0 var(--ring)) drop-shadow(0 calc(var(--ring-size) * -1) 0 var(--ring));transition:opacity .18s ease}.birthday-event:hover .birthday-event-cover{--ring:rgb(255 249 252/.6)}.birthday-event[data-selected=true] .birthday-event-cover{--ring:var(--privi-white);--ring-size:3px}.birthday-event:has(input:focus-visible){outline:2px solid var(--privi-white);outline-offset:5px}.birthday-event-check{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:20px;height:20px;border:2px solid var(--privi-white);border-radius:50%;background:rgb(46 0 26/.35)}.birthday-event-check svg{width:11px;height:11px}.birthday-event[data-selected=true] .birthday-event-check{background:var(--privi-pink);color:var(--privi-white)}.birthday-event[data-unavailable=true]{cursor:not-allowed}.birthday-event[data-unavailable=true] .birthday-event-cover{opacity:.45;filter:grayscale(.9)}.birthday-event[data-unavailable=true] .birthday-event-check{display:none}@media (max-width:600px){.birthday-events{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}}.birthday-event .birthday-soldout{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 12px);padding:4px 9px;border-radius:999px;background:#1c0a14;color:#fff;font-size:8px;letter-spacing:.04em;line-height:1.3;text-align:center;text-transform:uppercase}.birthday-review{margin:32px 0 0}.birthday-review>div{position:relative;display:grid;grid-template-columns:155px minmax(0,1fr) auto;gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--birthday-line)}.birthday-review dt{font-size:9px;letter-spacing:.06em;line-height:1.8;color:var(--birthday-muted)}.birthday-review dd{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.birthday-review button{padding:2px 0;background:none;border:0;color:var(--privi-pink);font-family:inherit;font-size:12px;cursor:pointer}.birthday-success-icon{display:grid;place-items:center;width:70px;height:70px;margin-top:32px;border-radius:50%;background:var(--birthday-wash);color:var(--privi-pink)}.birthday-receipt{display:flex;flex-direction:column;gap:8px;margin-top:24px;color:var(--birthday-muted);font-size:9px;letter-spacing:.08em}.birthday-receipt span{overflow-wrap:anywhere}.birthday-return{display:inline-flex;align-items:center;gap:18px;margin-top:32px;color:var(--privi-pink);font-size:14px;text-decoration:none}.birthday-footer{padding-top:24px;color:var(--birthday-muted);font-size:8px;letter-spacing:.1em}.birthday-footer a{display:inline-flex;align-items:center;gap:5px;color:var(--privi-pink);font-size:11px;letter-spacing:.02em;text-decoration:none}.birthday-honeypot{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}@keyframes birthday-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.birthday-screen{padding-top:24px}.birthday-header{align-items:center}.birthday-brand{gap:12px;font-size:10px;letter-spacing:.12em}.birthday-brand svg{width:42px;height:28px}.birthday-site-link{font-size:8px}.birthday-site-link svg{display:none}.birthday-content{padding:48px 0}.birthday-navigation{margin-bottom:32px}.birthday-step h1{font-size:clamp(30px,7.8vw,42px)}.birthday-description{font-size:13px;line-height:1.7}.birthday-eyebrow{font-size:9px}.birthday-field{margin-top:30px}.birthday-screen .birthday-input{height:62px;font-size:20px}.birthday-screen .birthday-primary{width:100%;margin-top:30px}.birthday-review>div{grid-template-columns:1fr auto;gap:10px}.birthday-review dd,.birthday-review dt{grid-column:1}.birthday-review button{grid-column:2;grid-row:1/span 2}.birthday-footer{align-items:center;flex-wrap:wrap;font-size:7px;gap:16px 12px}.birthday-footer a{order:3;width:100%}}@media (prefers-reduced-motion:reduce){.birthday-screen .birthday-input:placeholder-shown:not(:focus)+.birthday-caret,.birthday-step{animation:none}.birthday-screen *{transition:none}}.birthday-desktop{display:grid;place-items:center}.birthday-window{--window-surface:rgb(52 0 30/.42);--window-bar:rgb(255 249 252/.07);--window-line:rgb(255 249 252/.2);--window-shade:46 0 26;--window-close:#ff5f57;--window-yellow:#febc2e;--window-green:#28c840;--window-ink:#fff9fc;--window-close-ink:#7d201b;display:flex;flex-direction:column;gap:0;width:min(940px,calc(100vw - 64px));max-width:none;height:min(780px,calc(100svh - 80px));max-height:calc(100svh - 80px);padding:0;border:1px solid var(--window-line);border-radius:16px;overflow:hidden;background:var(--window-surface);color:var(--window-ink);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:inset 0 1px 0 rgb(255 249 252/.16),0 1px 2px rgb(var(--window-shade)/.2),0 8px 18px rgb(var(--window-shade)/.22),0 28px 56px -8px rgb(var(--window-shade)/.38),0 72px 140px -24px rgb(var(--window-shade)/.55);font-family:var(--privi-font)}.birthday-window-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;height:48px;padding:0 20px;background:var(--window-bar);border-bottom:1px solid var(--window-line)}.birthday-window-controls{display:flex;align-items:center;gap:8px;width:72px;flex-shrink:0}.birthday-window-controls>*{display:grid;place-items:center;width:12px;height:12px;border-radius:50%;flex-shrink:0}.birthday-window-controls>.birthday-window-close{position:relative;width:28px;height:28px;margin:-8px;padding:0;border:0;background:transparent;color:var(--window-close-ink);cursor:pointer}.birthday-window-close:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--window-close)}.birthday-window-close svg{position:relative;opacity:0}.birthday-window-close:is(:hover,:focus-visible) svg{opacity:1}.birthday-window-close:focus-visible{outline:2px solid var(--window-ink);outline-offset:5px}.birthday-window-yellow{background:var(--window-yellow)}.birthday-window-green{background:var(--window-green)}.birthday-window-title{margin:0;font-size:10px;font-weight:var(--privi-font-regular);letter-spacing:.09em;line-height:1.5;text-align:center}.birthday-window-bar-spacer{width:72px;flex-shrink:0}.birthday-window-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--window-line) var(--window-surface)}.birthday-window .birthday-screen{--birthday-paper:transparent;--birthday-ink:#fff9fc;--birthday-muted:rgb(255 249 252/.82);--birthday-line:rgb(255 249 252/.24);--birthday-wash:rgb(255 249 252/.10);--privi-pink:#fff9fc;--privi-pink-deep:#fff9fc;--privi-white:#a1005d;min-height:100%;padding:30px 52px 24px;background:transparent}.birthday-window .birthday-primary:hover{background:rgb(255 249 252/.88)}.birthday-window .birthday-input[type=date]{color-scheme:dark}.birthday-window .birthday-header{justify-content:center}.birthday-window .birthday-site-link{display:none}.birthday-window .birthday-content{padding:36px 0}.birthday-window .birthday-navigation{margin-bottom:28px}.birthday-window .birthday-step h1{font-size:clamp(30px,3.2vw,46px)}.birthday-window .birthday-brand svg{width:42px;height:28px}.birthday-window .birthday-footer{justify-content:center;padding-top:12px}.birthday-window .birthday-footer>span{display:none}@media (max-width:600px){.birthday-window{width:calc(100vw - 24px);height:calc(100svh - 32px);max-height:calc(100svh - 32px);border-radius:12px}.birthday-window-bar{height:44px;padding:0 14px;gap:10px}.birthday-window-title{font-size:8px;letter-spacing:.02em}.birthday-window-bar-spacer{display:none}.birthday-window .birthday-screen{padding:24px 22px 20px}.birthday-window .birthday-content{padding:32px 0}.birthday-window .birthday-step h1{font-size:clamp(27px,7.5vw,36px)}.birthday-window .birthday-footer a{width:auto}}@media (max-width:600px) and (max-height:560px){.birthday-window{height:calc(100svh - 16px);max-height:calc(100svh - 16px)}.birthday-window .birthday-screen{padding-top:16px}.birthday-window .birthday-header{display:none}.birthday-window .birthday-content{padding:8px 0 16px}.birthday-window .birthday-navigation{margin-bottom:16px}.birthday-window .birthday-eyebrow{margin-bottom:10px}.birthday-window .birthday-description{margin-top:10px}.birthday-window .birthday-field{margin-top:16px}}@media (prefers-reduced-motion:reduce){.birthday-window{animation:none}}