.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--font-mono)}.celebration__center{position:relative;display:flex;align-items:center;justify-content:center}.celebration__sparks{position:absolute;left:50%;top:50%;width:0;height:0}.celebration__spark{position:absolute;left:0;top:0;will-change:transform,opacity}.celebration__spark{margin:-4px 0 0 -4px}.celebration__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 30px;border-radius:14px;border:2px solid var(--text);background:var(--bg);box-shadow:0 6px 12px #0006;max-width:min(420px,calc(100vw - 48px))}.celebration__card--in{animation:celebration-in var(--card-enter, .34s) cubic-bezier(.215,.61,.355,1) both}.celebration__card--out{animation:celebration-out var(--card-exit, .24s) cubic-bezier(.55,.055,.675,.19) both}@keyframes celebration-in{0%{opacity:0;transform:translateY(var(--card-slide, 40px))}to{opacity:1;transform:translateY(0)}}@keyframes celebration-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--card-slide, 40px))}}.celebration__icon{width:52px;height:52px;border-radius:10px;border:2px solid var(--text);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.celebration__kicker{font-size:calc(11px * var(--ts));font-weight:700;letter-spacing:2px;color:var(--check-green)}.celebration__title{font-size:calc(18px * var(--ts));font-weight:700;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.celebration__reward{margin-top:4px;font-size:calc(13px * var(--ts));font-weight:700;font-variant-numeric:tabular-nums}.parental-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-parental);background:var(--bg);color:var(--text);font-family:var(--font-mono);padding:calc(var(--safe-top) + 24px) 28px calc(var(--safe-bottom) + 24px);display:flex;overflow:auto}.parental-gate__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.parental-gate__icon{margin-bottom:6px}.parental-gate__title{font-size:calc(18px * var(--ts));font-weight:700;letter-spacing:.6px;text-align:center}.parental-gate__subtitle{font-size:calc(13px * var(--ts));letter-spacing:.3px;line-height:calc(19px * var(--ts));text-align:center;max-width:320px;color:var(--dim)}.parental-gate__pin{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:14px}.parental-gate__pin-title{font-size:calc(12.5px * var(--ts));letter-spacing:.3px;text-align:center;max-width:300px}.parental-gate__parent{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 16px;border-radius:999px;border:1px solid var(--track);color:var(--dim);font-size:calc(12.5px * var(--ts));font-weight:700;letter-spacing:.4px}.pinpad{display:flex;flex-direction:column;align-items:center;gap:26px;font-family:var(--font-mono)}.pinpad.is-disabled{opacity:.45}.pinpad__dots{display:flex;gap:16px}.pinpad__dot{width:13px;height:13px;border-radius:999px;border:1.5px solid var(--dim);transition:background 90ms ease-out,border-color 90ms ease-out}.pinpad__dot.is-filled{background:var(--text);border-color:var(--text)}.pinpad__pad{display:flex;flex-direction:column;gap:10px}.pinpad__row{display:flex;gap:10px}.pinpad__key{width:72px;height:54px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.pinpad__key--face{border:2px solid var(--track);border-radius:8px}.pinpad__key--face:hover{background:var(--faint)}.pinpad__digit{font-size:calc(20px * var(--ts));font-weight:700}.pin-verify{display:flex;flex-direction:column;align-items:center;gap:18px}.pin-verify__message{font-family:var(--font-mono);font-size:calc(12.5px * var(--ts));letter-spacing:.3px;text-align:center;min-height:18px}.pin-gate{width:min(360px,calc(100vw - 48px));border:2px solid var(--track);border-radius:10px;padding:24px 20px;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono)}.pin-gate__title{font-size:calc(16px * var(--ts));font-weight:700;letter-spacing:.5px;text-align:center}.pin-gate__subtitle{font-size:calc(12.5px * var(--ts));letter-spacing:.3px;line-height:calc(18px * var(--ts));text-align:center;color:var(--dim)}.pin-gate__cancel{font-size:calc(12.5px * var(--ts));letter-spacing:.3px;padding:8px 12px;color:var(--dim)}
