#birthday-discovery{max-width:600px;margin:30px auto;padding:26px;background:var(--white);border-radius:20px;text-align:left;scroll-margin-top:20px}#birthday-heatmap{margin:0;padding:0;text-align:left}.heatmap-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.heatmap-heading h3{font-size:24px;letter-spacing:-.6px;font-weight:600;margin:0}.heatmap-mine{border:0;background:transparent;font-size:13px;padding:8px 0;min-height:44px;text-decoration:underline}.heatmap-overview{display:grid;gap:3px}.heatmap-row{display:grid;grid-template-columns:35px minmax(0,1fr);gap:7px;align-items:center}.heatmap-month-name{border:0;background:transparent;padding:0;text-align:left;font-size:11px;min-height:21px;color:var(--muted)}.heatmap-cells{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px}.heatmap-cells button{border:0;padding:0;aspect-ratio:1;border-radius:3px;min-width:0;position:relative}.heatmap-cells button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px;z-index:1}.heatmap-cells button.is-mine:after{content:'';position:absolute;inset:35%;border-radius:50%;background:currentColor}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:13px 0 17px;font-size:12px;color:var(--muted)}.heatmap-swatches{display:flex;gap:3px}.heatmap-swatches i{width:10px;height:10px;border-radius:2px}.heatmap-month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;margin:18px 0 12px}.heatmap-month-nav button{border:0;border-radius:10px;background:#fffdf580;font-size:22px;min-height:44px}.heatmap-month-nav select{min-width:0;width:100%;font-size:17px;font-weight:600;text-align:center;text-align-last:center;background:transparent;border:0}.heatmap-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.heatmap-month button{min-height:44px;border:0;border-radius:8px;padding:8px;font-size:16px;font-weight:500}.heatmap-month button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.heatmap-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 15px;background:#fffdf570;border-radius:14px;padding:19px;margin-top:20px}.heatmap-label{display:block;font-size:11px;letter-spacing:.06em;color:var(--muted)}.heatmap-date{display:block;font-size:25px;letter-spacing:-.7px;font-weight:600;margin:7px 0}.heatmap-rarity{font-size:14px;line-height:1.5}.heatmap-number{text-align:right}.heatmap-number strong{display:block;font-size:25px;font-weight:600;letter-spacing:-.7px;margin:21px 0 7px;white-space:nowrap}.heatmap-number span{font-size:12px;color:var(--muted)}.heatmap-comparison{grid-column:1/-1;font-size:14px;margin:9px 0 0}.heatmap-comparison:empty{display:none}.heatmap-reveal{grid-column:1/-1;border:0;background:var(--ink);color:var(--white);border-radius:9px;min-height:44px;margin-top:12px;font-size:14px}.heatmap-rewind{font-size:14px;border-bottom:1px solid #272a2618}.heatmap-rewind summary{list-style:none;min-height:48px;display:flex;align-items:center}.heatmap-rewind summary::-webkit-details-marker{display:none}.heatmap-window{display:block;font-size:23px;font-weight:600;margin:0 0 12px}.heatmap-rewind p{font-size:14px;line-height:1.6;margin:10px 0}.heatmap-rewind .heatmap-caveat{font-size:12px;color:var(--muted)}.heatmap-rewind a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.heatmap-source,.play-source{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}.distribution-details{margin:12px 0}.distribution-details>summary{font-size:14px;list-style:none;min-height:48px;display:flex;align-items:center;justify-content:space-between}.distribution-details>summary:after{content:'+'}.distribution-details[open]>summary:after{content:'−'}.distribution-details>summary::-webkit-details-marker{display:none}.distribution-details #birthday-distribution{margin:0;padding:0;border:0}
#birthday-play{max-width:600px;background:var(--lilac);border-radius:20px;padding:26px;margin:30px auto;text-align:left;scroll-margin-top:20px}.play-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.play-heading h2{font-size:25px;letter-spacing:-.7px;line-height:1.15;margin:0;font-weight:600}.play-progress{font-size:13px;color:var(--muted);white-space:nowrap;line-height:1.5}.play-intro{font-size:15px;line-height:1.5;margin:15px 0}.play-start{margin-top:22px}.play-start,.play-next{min-height:48px;background:var(--ink);color:var(--white);border:0;border-radius:11px;padding:12px 20px;font-size:15px}.play-dots{display:flex;gap:8px;margin:23px 0}.play-dots i{height:8px;flex:1;border-radius:5px;background:#cbbddb}.play-dots i.correct{background:#47735f}.play-dots i.incorrect{background:#a27085}.play-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.play-choices button{display:flex;flex-direction:column;justify-content:center;min-height:145px;gap:14px;border:0;background:#fffdf580;border-radius:15px;padding:17px 12px;opacity:1;color:var(--ink)}.play-choices button strong{font-size:clamp(20px,4vw,28px);font-weight:600;letter-spacing:-.8px;line-height:1.15}.play-choices button span{font-size:13px;color:var(--muted)}.play-choices button.is-answer{background:var(--mint);outline:2px solid #47735f;outline-offset:-2px}.play-feedback{font-size:15px;line-height:1.5;min-height:45px;margin:19px 0 10px}.play-next{width:100%}.play-score{display:block;font-size:88px;font-weight:600;letter-spacing:-5px;margin:20px 0 0;line-height:1.1}.play-finish p{font-size:15px}.play-share{display:flex;flex-wrap:wrap;gap:8px}.play-share button,.play-share a{display:inline-flex;align-items:center;justify-content:center;font-size:14px;border:0;background:#fffdf590;border-radius:10px;min-height:46px;padding:12px;text-decoration:none}.play-status{overflow-wrap:anywhere}
@media(min-width:651px){.heatmap-row{grid-template-columns:35px minmax(0,1fr)}.heatmap-cells button:hover{transform:scale(1.3);z-index:2}.heatmap-month-name:hover{text-decoration:underline}}
@media(max-width:650px){.heatmap-cells{gap:2px}.heatmap-cells button{border-radius:2px}.heatmap-row{grid-template-columns:30px minmax(0,1fr);gap:5px}.heatmap-overview{gap:2px}.heatmap-month-name{font-size:10px;min-height:19px}.heatmap-detail{padding:17px 14px;gap:6px 10px}.heatmap-date,.heatmap-number strong{font-size:22px}.heatmap-rarity{font-size:13px}.heatmap-heading h3{font-size:23px}.heatmap-legend{font-size:11px;gap:5px}#birthday-play{padding:23px 19px}.play-heading{display:block}.play-progress{display:block;margin-top:9px}.play-choices{gap:9px}.play-choices button{min-height:135px}.play-source{font-size:11px}}

/* The HTML has the same date and dimensions before the controls initialize. */
.picker-preview{height:134px;padding-top:2px;-webkit-mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(transparent,#000 35%,#000 65%,transparent)}.has-preview:not(.has-wheel)>button,.has-preview:not(.has-wheel)>select,.has-wheel>.picker-preview{display:none}.has-preview>label{margin-bottom:0;min-height:22px}.has-preview.has-wheel>.picker-preview{display:none}

#birthday-heatmap{position:relative}.heatmap-days{display:grid;grid-template-columns:35px minmax(0,1fr);gap:7px;margin-bottom:6px;font-size:10px;color:var(--muted)}.heatmap-days>div{display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:3px;text-align:center}.heatmap-tooltip{position:absolute;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:12px;white-space:nowrap;padding:8px 10px;border-radius:8px;pointer-events:none;z-index:5}.heatmap-history{padding:8px 0}.heatmap-history>summary{font-weight:600}.heatmap-history p{font-size:13px}#result .share-preview{margin-top:8px}
@media(max-width:650px){.heatmap-days{grid-template-columns:30px minmax(0,1fr);gap:5px}.heatmap-days>div{gap:2px}}

.heatmap-zoom>summary{display:flex;align-items:center;justify-content:space-between;font-size:14px;min-height:44px;list-style:none}.heatmap-zoom>summary::-webkit-details-marker{display:none}.heatmap-zoom-month{color:var(--muted)}.heatmap-zoom[open]>summary .heatmap-zoom-month:after{content:' −'}.heatmap-zoom:not([open])>summary .heatmap-zoom-month:after{content:' +'}
@media(max-width:380px){.heatmap-detail{grid-template-columns:1fr}.heatmap-number{text-align:left}.heatmap-number strong{margin:8px 0 2px}.heatmap-date{font-size:24px}.heatmap-rarity{font-size:14px}}

@media(max-width:480px){.heatmap-month{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}}

.heatmap-zoom>summary{gap:12px;min-width:0}.heatmap-zoom-month{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:right;flex-shrink:1}

#result{max-width:600px}#birthday-discovery .heatmap-heading h3{font-size:27px}#birthday-discovery .distribution-details{margin-bottom:0}@media(max-width:650px){#birthday-discovery{padding:23px 19px}#birthday-discovery .heatmap-heading h3{font-size:25px}}

/* Answers lock after a guess; they are not loading. Keep the odds reveal steady. */
.play-choices button span{min-height:1.4em}.play-share{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.play-share .play-x{grid-column:1;grid-row:1;background:var(--ink);color:var(--white)}.play-share .play-again{grid-column:2;grid-row:1}.play-share .play-copy{grid-column:1/-1;grid-row:2;background:transparent;min-height:44px;padding:8px;text-decoration:underline;font-size:12px;color:var(--muted)}

/* One tactile reveal, with the same result available to keyboard and reduced-motion users. */
.result-scratch{position:relative;isolation:isolate;min-height:218px;display:grid;align-items:center;margin:18px -5px 0;border-radius:16px}.scratch-values{padding:12px 5px 20px}.scratch-foil{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:16px;opacity:0;pointer-events:none;transition:opacity .24s ease;touch-action:none;cursor:crosshair}.is-covered .scratch-foil{opacity:1;pointer-events:auto;box-shadow:inset 0 0 0 1px #9fa79d38,0 2px 3px #272a2608}.scratch-foil:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.scratch-skip{border:0;background:transparent;padding:10px 14px;min-height:44px;font:400 12px Inter,sans-serif;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.scratch-skip[hidden]{display:none}.is-unwrapped .scratch-values{animation:foil-result .28s ease-out}#birthday-discovery>#count{text-align:left;font-size:11px;line-height:1.6;margin:16px 0 0;color:var(--muted)}.play-choices button span[hidden]{display:none}.play-choices button:disabled span{animation:quiz-odds-in .2s ease-out}.play-choices button{align-items:center;text-align:center;gap:10px}.play-choices button span{min-height:0}
@keyframes foil-result{from{transform:translateY(3px)}to{transform:none}}@keyframes quiz-odds-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:650px){.result-scratch{min-height:205px;margin-top:14px}.scratch-values{padding:10px 0 17px}}
@media(prefers-reduced-motion:reduce){.scratch-foil{transition:none}.is-unwrapped .scratch-values,.play-choices button:disabled span{animation:none}}

.source-explore{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:center}.source-explore button{min-height:44px;padding:7px 0;border:0;background:transparent;color:#57594e;font:inherit;text-decoration:underline;text-underline-offset:3px}.source-explore button[hidden]{display:none}

/* Metal stays inside the ticket, beneath the readable result. */
/* One physical result surface, with sharing on the page beneath it. */
#result{max-width:550px;padding:0;background:transparent;border-radius:0}
#date-label{font-size:15px;font-weight:500;letter-spacing:.02em;margin:0 0 16px;color:#595b51}
.result-scratch{margin:0;min-height:270px;border-radius:12px;background:#eee3d5;box-shadow:0 1px 1px #ffffffb0 inset,0 -1px 1px #78645225 inset,0 2px 3px #45382312,0 12px 28px -14px #45382338}
.scratch-finish{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none;z-index:0}
.result-scratch>.scratch-values{position:relative;z-index:1;padding:32px 28px 28px;min-width:0}
.result-scratch>.scratch-foil{z-index:2;border-radius:inherit}
#result-title{font-size:clamp(30px,5vw,42px);font-weight:550;letter-spacing:-.055em;margin-bottom:20px}
#rank{font-size:clamp(52px,9vw,76px);font-weight:550;letter-spacing:-.065em}
#result .percentile-intro{margin:0 0 5px;color:#4c4b43;font-size:14px}
#rank-meaning{margin-top:8px;color:#5e5a52;font-size:13px}
#result-odds{max-width:320px;border-top:1px solid #61554124;padding-top:20px;margin-top:24px;color:#5e5a52;font-size:13px}
#result-odds strong{font-size:28px;font-weight:550;margin-bottom:5px}
.scratch-values h2:focus{outline:none}
#result-share{margin-top:22px}
#result>.scratch-skip{margin-top:5px}
.game-twin-ticket,.game-mystery-ticket{border-radius:10px;box-shadow:0 1px 0 #ffffffb0 inset,0 2px 3px #45382312,0 9px 20px -14px #45382355}
.game-twin-ticket>.scratch-foil,.game-mystery-ticket>.scratch-foil{border-radius:inherit}
@media(max-width:650px){.result-scratch>.scratch-values{padding:28px 22px 24px}.result-scratch{min-height:260px}}
