/* Isolated birthday welcome: existing artwork and editable profile text only. */
html.birthday-open{overflow:hidden}
#birthday-welcome{--birthday-paper:#fff8dd;--birthday-ink:#0a1e2d;--birthday-yellow:#ffe249;--birthday-orange:#ff891d;box-sizing:border-box;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:20px 12px;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom));border:0;background:#f5f2e9;color:var(--birthday-ink);overflow:auto;overscroll-behavior:contain;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#birthday-welcome::backdrop{background:#f5f2e9}
#birthday-welcome .birthday-shell{position:relative;isolation:isolate;width:min(100%,390px);margin:auto;border:3px solid var(--birthday-ink);background:var(--birthday-paper);box-shadow:7px 7px 0 #0a1e2d20}
#birthday-welcome .birthday-masthead{position:relative;z-index:2;margin:0 19px;padding:25px 0 16px;border-bottom:2px solid var(--birthday-ink);font-size:10px;letter-spacing:.1em;font-weight:800}
#birthday-welcome .birthday-content{position:relative;overflow:hidden;padding-top:1px;isolation:isolate;background:repeating-conic-gradient(from 15deg at 55% 74%,transparent 0deg 13deg,color-mix(in srgb,var(--birthday-yellow) 25%,transparent) 13.2deg 14deg,transparent 14.2deg 22deg)}
#birthday-welcome .birthday-edition{position:relative;z-index:2;margin:21px 19px 19px;font-size:10px;letter-spacing:.1em;font-weight:800}
#birthday-welcome h1{position:relative;z-index:2;font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;font-size:clamp(49px,15.5vw,69px);line-height:.88;font-weight:900;letter-spacing:-.035em;margin:0 19px 19px;transform:rotate(-4deg);text-shadow:3px 3px 0 var(--birthday-yellow)}
#birthday-welcome .birthday-player{position:relative;isolation:isolate;min-width:0}
#birthday-welcome .birthday-player-copy{position:relative;z-index:3;padding:0 19px;transform:rotate(-3deg);transform-origin:left center}
#birthday-welcome .birthday-name{display:table;max-width:100%;overflow-wrap:anywhere;margin:0;padding:6px 12px;background:var(--birthday-ink);color:var(--birthday-paper);font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;text-transform:uppercase;font-size:clamp(28px,9vw,36px);line-height:1.05;letter-spacing:.02em;box-shadow:4px 4px 0 var(--birthday-orange)}
#birthday-welcome .birthday-alias{display:table;max-width:100%;overflow-wrap:anywhere;margin:10px 0 0;padding:5px 9px;font-size:11px;line-height:1.3;letter-spacing:.06em;font-weight:800;text-transform:uppercase;border:2px solid var(--birthday-ink);background:var(--birthday-paper)}
#birthday-welcome .birthday-scene{height:clamp(245px,39svh,315px);position:relative;overflow:hidden;margin-top:-32px;isolation:isolate;background:radial-gradient(ellipse at 60% 85%,color-mix(in srgb,var(--birthday-yellow) 75%,transparent),transparent 70%)}
#birthday-welcome .birthday-scene::before{content:'';position:absolute;inset:-20%;z-index:-1;background:repeating-conic-gradient(from 0deg at 57% 60%,transparent 0deg 8deg,#0a1e2d23 8.3deg 8.8deg,transparent 9deg 17deg)}
#birthday-welcome .birthday-art{position:absolute;display:block;right:0;bottom:0;height:100%;max-width:90%;object-fit:contain;object-position:bottom right;filter:drop-shadow(2px 0 0 var(--birthday-ink))}
#birthday-welcome .birthday-hero-day{position:absolute;left:12px;bottom:18px;z-index:2;transform:rotate(-13deg);font-family:Impact,'Arial Narrow',sans-serif;font-style:italic;font-size:28px;line-height:1.1;background:var(--birthday-paper);padding:3px 7px;border:2px solid var(--birthday-ink);box-shadow:3px 3px 0 var(--birthday-ink)}
#birthday-welcome .birthday-footer{position:relative;z-index:4;border-top:3px solid var(--birthday-ink);padding:16px 19px 22px;background:var(--birthday-paper);text-align:center}
#birthday-welcome .birthday-footer p{margin:0 0 18px;font-size:14px;line-height:1.45;font-weight:550;color:#38434b}
#birthday-welcome .birthday-enter{display:flex;justify-content:center;align-items:center;gap:22px;width:100%;min-height:52px;padding:12px;border:2px solid var(--birthday-ink);border-radius:0;box-shadow:4px 4px 0 var(--birthday-ink);background:var(--birthday-yellow);color:var(--birthday-ink);font:800 13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.09em}
#birthday-welcome .birthday-enter:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--birthday-ink)}
#birthday-welcome .birthday-enter:focus-visible{outline:3px solid #0066cc;outline-offset:6px}
#birthday-welcome.birthday-group .birthday-shell{width:min(100%,850px)}
#birthday-welcome.birthday-group .birthday-cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:28px 0;padding-top:5px}
#birthday-welcome.birthday-group .birthday-scene{height:280px}
@media(max-width:420px){#birthday-welcome{padding:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#birthday-welcome .birthday-shell{border-width:2px;box-shadow:none;min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column}#birthday-welcome .birthday-content{flex:1}#birthday-welcome .birthday-footer{margin-top:auto}#birthday-welcome .birthday-masthead{padding-top:23px}}

#birthday-welcome .birthday-share{display:block;margin:0 auto 10px;min-height:44px;padding:8px 12px;border:0;background:transparent;color:var(--birthday-ink);font:700 13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-decoration:underline;text-underline-offset:3px}
#birthday-welcome .birthday-share-status{font-size:12px;line-height:1.4;margin:0 0 12px;font-weight:400}
#birthday-welcome .birthday-share-status:empty{display:none}
#birthday-welcome .birthday-download{display:block;min-height:44px;padding:10px;margin-bottom:12px;color:var(--birthday-ink);font-size:13px;font-weight:700}
#birthday-welcome .birthday-download[hidden]{display:none}

@media(max-width:420px){#birthday-welcome .birthday-scene{height:clamp(205px,31svh,265px)}}

#birthday-welcome .birthday-share{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;margin:0 0 16px;border:2px solid var(--birthday-ink);background:var(--birthday-paper);text-decoration:none;font-weight:750}

#birthday-welcome .birthday-share-fallback{margin-bottom:18px}#birthday-welcome .birthday-share-fallback[hidden]{display:none}
#birthday-welcome .birthday-share-actions{display:flex;flex-wrap:wrap;gap:8px}
#birthday-welcome .birthday-share-actions a,#birthday-welcome .birthday-copy-link{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid var(--birthday-ink);background:var(--birthday-paper);color:var(--birthday-ink);font:600 12px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;text-decoration:none;margin:0}
#birthday-welcome .birthday-share-link{box-sizing:border-box;display:block;width:100%;padding:10px;margin-top:9px;border:1px solid var(--birthday-ink);border-radius:0;background:var(--birthday-paper);color:var(--birthday-ink);font:16px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
#birthday-welcome #birthday-title:focus{outline:none}
@media(max-width:420px){#birthday-welcome:not(.birthday-group) .birthday-content{display:flex;flex-direction:column}#birthday-welcome:not(.birthday-group) .birthday-cast{flex:1;display:flex;flex-direction:column}#birthday-welcome:not(.birthday-group) .birthday-player{flex:1;display:flex;flex-direction:column}#birthday-welcome:not(.birthday-group) .birthday-scene{flex:1;min-height:205px;height:auto}}

#birthday-welcome .birthday-player{background-color:var(--birthday-paper)}
