.auth-screen{width:100%;max-width:100%;height:100%;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top, 0px) + 24px) calc(env(safe-area-inset-right, 0px) + 22px) calc(env(safe-area-inset-bottom, 0px) + 24px) calc(env(safe-area-inset-left, 0px) + 22px);color:var(--star);background:radial-gradient(ellipse 92% 46% at 50% 5%,color-mix(in oklch,var(--night-glow) 74%,var(--accent) 12%) 0,transparent 66%),radial-gradient(ellipse 68% 34% at 16% 20%,var(--aurora) 0,transparent 72%),linear-gradient(180deg,color-mix(in oklch,var(--night-mid) 88%,var(--night-warm) 12%) 0,var(--night-deep) 64%,color-mix(in oklch,var(--night-deep) 88%,var(--night-warm) 12%) 100%)}@media (min-width:520px){.auth-screen{width:min(100%,430px);max-width:430px;height:min(100dvh,920px);border-radius:var(--radius-xl);box-shadow:0 40px 90px -28px rgba(var(--night-deep-rgb),.76),0 0 0 1px rgba(255,248,236,.06),inset 0 1px 0 rgba(255,248,236,.08)}}.auth-screen:after,.auth-screen:before{content:"";position:absolute;pointer-events:none;z-index:var(--z-scene)}.auth-screen:before{inset:-18% -24% auto;height:52%;background:radial-gradient(circle at 52% 42%,rgba(var(--accent-rgb),.22),transparent 32%),radial-gradient(circle at 30% 26%,rgba(255,248,236,.16),transparent 12%),radial-gradient(circle at 68% 18%,rgba(255,248,236,.12),transparent 10%);filter:blur(1px)}.auth-screen:after{inset:auto -18% -20%;height:48%;background:radial-gradient(ellipse 70% 42% at 50% 56%,rgba(var(--accent-rgb),.16) 0,transparent 66%)}.auth-star{position:absolute;z-index:var(--z-particle);width:4px;height:4px;border-radius:var(--radius-full);background:var(--star);box-shadow:0 0 12px rgba(255,248,236,.72);opacity:.72}.auth-star-one{top:16%;left:19%}.auth-star-two{top:24%;right:17%;transform:scale(.72);opacity:.5}.auth-star-three{top:10%;right:38%;transform:scale(.54);opacity:.44}.auth-panel{width:100%;max-width:352px;position:relative;z-index:var(--z-content);padding:28px 22px 22px;border:var(--border-width) solid rgba(255,248,236,.16);border-radius:var(--radius-xl);background:linear-gradient(180deg,color-mix(in oklch,var(--night-mid) 72%,var(--star) 7%),color-mix(in oklch,var(--night-deep) 90%,var(--night-warm) 10%));box-shadow:inset 0 1px 0 rgba(255,248,236,.08),0 4px 0 rgba(var(--night-deep-rgb),.48),0 28px 58px -32px rgba(var(--night-deep-rgb),.94)}.auth-mascot-stage{width:min(168px,52vw);aspect-ratio:1;position:relative;display:grid;place-items:center;margin:-4px auto 20px;transform-origin:50% 100%;animation:authMascotFloat 2.9s ease-in-out infinite}.auth-mascot{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(var(--night-deep-rgb),.38)) drop-shadow(0 0 18px rgba(var(--accent-rgb),.18));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.auth-mascot-fallback{position:absolute;inset:15%;z-index:var(--z-behind);display:grid;place-items:center;border-radius:var(--radius-full);color:var(--fg-on-accent);background:radial-gradient(circle at 38% 28%,var(--accent-amber-glow),transparent 24%),linear-gradient(180deg,var(--accent-amber),var(--accent));font-size:58px;font-weight:var(--font-weight-display);box-shadow:inset 0 -9px 0 color-mix(in oklch,var(--accent-deep) 72%,var(--night-deep)),0 18px 34px -22px rgba(var(--accent-rgb),.72)}.auth-mascot[hidden]+.auth-mascot-fallback{z-index:auto}@keyframes authMascotFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}.auth-mark{width:64px;height:64px;display:grid;place-items:center;margin:0 0 24px;border-radius:22px;background:color-mix(in oklch,var(--accent) 16%,var(--night-mid));border:var(--border-width-thin) solid rgba(var(--accent-rgb),.28);box-shadow:inset 0 1px 0 rgba(255,248,236,.1),0 14px 34px -24px rgba(var(--accent-rgb),.74)}.auth-mark-flame{width:28px;height:36px;position:relative;display:block;border-radius:58% 42% 58% 42%;background:linear-gradient(180deg,var(--accent-amber),var(--accent));transform:rotate(45deg);box-shadow:inset -5px -6px 0 color-mix(in oklch,var(--accent-deep) 68%,var(--night-deep)),0 0 18px rgba(var(--accent-rgb),.38)}.auth-mark-flame:after{content:"";position:absolute;right:7px;bottom:7px;width:11px;height:15px;border-radius:var(--radius-full);background:color-mix(in oklch,var(--star) 90%,var(--accent-amber) 10%)}.auth-eyebrow{margin:0 0 8px;color:var(--accent-amber-glow);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase}.auth-eyebrow,.auth-title{font-weight:var(--font-weight-display)}.auth-title{max-width:12ch;margin:0 auto;color:var(--star);font-size:31px;line-height:1.02;letter-spacing:var(--tracking-tight);text-align:center}.auth-copy{max-width:32ch;margin:14px 0 0;color:rgba(255,248,236,.72);font-size:var(--text-md);font-weight:var(--font-weight-body);line-height:1.5}.auth-copy strong{color:var(--star);font-weight:900}.auth-form{display:flex;flex-direction:column;gap:11px;margin-top:26px}.auth-phone-row{display:grid;grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);grid-gap:10px;gap:10px}.auth-field{display:flex;flex-direction:column;gap:7px}.auth-field span,.auth-label{color:rgba(255,248,236,.74);font-size:var(--text-sm);font-weight:900}.auth-input{width:100%;height:56px;padding:0 16px;color:var(--star);background:color-mix(in oklch,var(--night-deep) 82%,var(--star) 5%);border:var(--border-width) solid rgba(255,248,236,.18);border-radius:var(--btn-radius);outline:none;font:inherit;font-size:var(--text-lg);font-weight:900;letter-spacing:var(--tracking-base);box-shadow:inset 0 1px 0 rgba(255,248,236,.06),0 3px 0 rgba(var(--night-deep-rgb),.48);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.auth-input::placeholder{color:rgba(255,248,236,.34)}.auth-input:focus{border-color:color-mix(in oklch,var(--accent) 64%,var(--star) 12%);background:color-mix(in oklch,var(--night-deep) 76%,var(--star) 7%);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16),0 3px 0 rgba(var(--night-deep-rgb),.48)}.auth-input[aria-invalid=true]{border-color:color-mix(in oklch,var(--heart) 68%,var(--star) 10%)}.auth-country-input{padding-left:13px;padding-right:10px;text-align:center}.auth-code-input{text-align:center;font-size:25px;letter-spacing:.34em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-feedback,.auth-field-hint{margin:0;min-height:18px;color:rgba(255,248,236,.54);font-size:var(--text-xs);font-weight:700;line-height:1.35}.auth-feedback{color:var(--accent-amber-glow)}.auth-feedback.is-error{color:color-mix(in oklch,var(--heart) 72%,var(--star) 18%)}.auth-back,.auth-primary,.auth-secondary{font-family:var(--font);cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.auth-primary{height:54px;margin-top:5px;color:var(--fg-on-accent);background:var(--accent);border:var(--border-width) solid var(--accent);border-radius:var(--btn-radius);font-size:var(--text-lg);font-weight:900;letter-spacing:var(--tracking-wide);box-shadow:0 var(--btn-3d-offset) 0 var(--accent-deep)}.auth-primary:hover:not(:disabled){transform:translateY(var(--btn-3d-hover-lift));box-shadow:0 calc(var(--btn-3d-offset) + 1px) 0 var(--accent-deep)}.auth-primary:active:not(:disabled){transform:translateY(var(--btn-3d-press-travel));box-shadow:0 0 0 var(--accent-deep)}.auth-back:focus-visible,.auth-primary:focus-visible,.auth-secondary:focus-visible{outline:2px solid var(--accent-amber);outline-offset:3px}.auth-primary:disabled,.auth-secondary:disabled{cursor:wait;opacity:.62}.auth-secondary{height:48px;color:var(--accent-amber-glow);background:transparent;border:var(--border-width-thin) solid rgba(var(--accent-rgb),.3);border-radius:var(--btn-radius);font-size:var(--text-base);font-weight:900}.auth-secondary:hover:not(:disabled){background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.44)}.auth-back{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0;margin:-8px 0 18px;color:rgba(255,248,236,.66);background:transparent;border:0;font-size:var(--text-sm);font-weight:900}.auth-back:hover{color:var(--star)}.auth-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}@media (max-width:360px){.auth-screen{padding-left:calc(env(safe-area-inset-left, 0px) + 18px);padding-right:calc(env(safe-area-inset-right, 0px) + 18px)}.auth-panel{padding:26px 18px 20px}.auth-title{font-size:34px}.auth-phone-row{grid-template-columns:1fr}}.signup-sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}.signup-sheet__backdrop{position:absolute;inset:0;border:0;background:color-mix(in oklch,var(--night-deep) 55%,transparent)}.signup-sheet__panel{position:relative;width:min(100%,430px);max-height:min(92vh,720px);overflow:auto;padding:28px 22px calc(env(safe-area-inset-bottom, 0px) + 24px);border-radius:24px 24px 0 0;color:var(--star);background:linear-gradient(180deg,color-mix(in oklch,var(--night-mid) 90%,var(--accent) 8%) 0,var(--night-deep) 100%);box-shadow:0 -12px 40px color-mix(in oklch,var(--night-deep) 70%,transparent)}.signup-sheet__close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:999px;font-size:24px;line-height:1;color:var(--star);background:color-mix(in oklch,var(--night-warm) 40%,transparent)}.signup-sheet__eyebrow{margin:0 0 6px;font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch,var(--star) 70%,var(--accent) 30%)}.signup-sheet__title{margin:0 0 10px;font-size:clamp(26px,6vw,32px);font-weight:900;line-height:1.1}.signup-sheet__copy{margin:0 0 20px;font-size:var(--text-md);line-height:1.45;color:color-mix(in oklch,var(--star) 82%,transparent)}.signup-sheet__trial{margin-top:20px;padding-top:18px;display:grid;grid-gap:12px;gap:12px;border-top:1px solid color-mix(in oklch,var(--star) 14%,transparent)}.signup-sheet__trial-copy{margin:0;color:color-mix(in oklch,var(--star) 76%,transparent);font-size:var(--text-sm);font-weight:700;line-height:1.45;text-align:center}.signup-sheet__trial-cta{max-width:none}.signup-reward-prompt{margin:0 16px 12px;padding:14px 16px;display:grid;grid-gap:12px;gap:12px;border-radius:18px;color:var(--star);background:color-mix(in oklch,var(--night-mid) 88%,var(--accent) 12%);border:1px solid color-mix(in oklch,var(--accent) 35%,transparent)}@media (min-width:720px){.signup-reward-prompt{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 24px);left:50%;transform:translateX(-50%);margin:0;width:min(100% - 32px,480px);z-index:calc(var(--z-dock) + 2);box-shadow:0 16px 36px color-mix(in oklch,var(--night-deep) 60%,transparent)}}.signup-reward-prompt__eyebrow{margin:0;font-size:var(--text-xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.signup-reward-prompt__title{margin:4px 0 6px;font-size:var(--text-lg);font-weight:900;line-height:1.2}.signup-reward-prompt__detail{margin:0;font-size:var(--text-sm);line-height:1.4;opacity:.9}.signup-reward-prompt__actions{display:flex;flex-wrap:wrap;gap:10px}.signup-reward-prompt__ghost,.signup-reward-prompt__primary{min-height:44px;padding:0 18px;border-radius:999px;font-size:var(--text-sm);font-weight:900}.signup-reward-prompt__primary{border:0;color:var(--night-deep);background:var(--accent)}.signup-reward-prompt__ghost{border:1px solid color-mix(in oklch,var(--star) 35%,transparent);color:var(--star);background:transparent}.activation-celebrate{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:24px;background:color-mix(in oklch,var(--night-deep) 62%,transparent)}.activation-celebrate__card{width:min(100%,360px);padding:28px 22px;border-radius:22px;text-align:center;color:var(--star);background:linear-gradient(180deg,color-mix(in oklch,var(--night-mid) 92%,var(--accent) 10%) 0,var(--night-deep) 100%)}.activation-celebrate__eyebrow{margin:0 0 8px;font-size:var(--text-sm);font-weight:800;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.activation-celebrate__title{margin:0 0 10px;font-size:32px;font-weight:900}.activation-celebrate__copy{margin:0 0 20px;font-size:var(--text-md);line-height:1.45;opacity:.92}.activation-celebrate__cta{width:100%;min-height:48px;border:0;border-radius:999px;font-size:var(--text-md);font-weight:900;color:var(--night-deep);background:var(--accent)}.streak-modal{--streak-chrome-bg:rgba(var(--bg-rgb),0.42);--streak-chrome-bg-hover:rgba(var(--bg-rgb),0.58);--streak-chrome-border:rgba(var(--fg-rgb),0.2);--streak-ink:var(--fg-primary);--streak-ink-muted:var(--fg-secondary);--streak-soft-surface:var(--surface-light-card);--streak-soft-surface-strong:var(--surface-light-bg);--streak-press-shadow:color-mix(in srgb,var(--accent-deep) 42%,transparent);--streak-glow:color-mix(in srgb,var(--accent-amber-glow) 62%,transparent);position:absolute;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top, 0px) + 14px) calc(env(safe-area-inset-right, 0px) + 24px) calc(env(safe-area-inset-bottom, 0px) + 22px) calc(env(safe-area-inset-left, 0px) + 24px);background:radial-gradient(ellipse 95% 60% at 50% 28%,var(--accent-hot) 0,var(--accent) 45%,var(--accent-deep) 100%);opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;overflow:hidden;transition:opacity .35s var(--ease),transform .35s var(--ease)}.streak-modal.open{opacity:1;transform:none;pointer-events:auto}@media (min-width:520px){.streak-modal{border-radius:var(--radius-xl)}}.streak-pill{left:calc(env(safe-area-inset-left, 0px) + 16px);display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--streak-chrome-border);font-weight:800;font-size:13px;letter-spacing:.02em}.streak-close,.streak-pill{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 14px);background:var(--streak-chrome-bg);color:var(--streak-ink);font-family:var(--font);z-index:2;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}.streak-close{right:calc(env(safe-area-inset-right, 0px) + 16px);width:36px;height:36px;border:none;border-radius:999px;border:1px solid var(--streak-chrome-border);font-weight:700;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background var(--duration-fast) var(--ease)}.streak-close:hover{background:var(--streak-chrome-bg-hover)}.streak-close:focus-visible{outline:2px solid var(--accent-amber-glow);outline-offset:2px}.streak-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1;padding:56px 0 8px;min-height:0}.streak-mascot-stage{position:relative;width:220px;height:220px;display:grid;place-items:center;margin-bottom:4px}.streak-flame-burst{position:absolute;inset:0;width:100%;height:100%;z-index:0;filter:drop-shadow(0 0 24px var(--streak-glow));animation:streakFlameBreathe 2.4s ease-in-out infinite}@keyframes streakFlameBreathe{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}.streak-mascot{position:relative;z-index:2;width:64%;height:auto;filter:drop-shadow(0 8px 14px rgba(var(--bg-rgb),.34));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.streak-modal.open .streak-mascot{animation:streakMascotIn .75s var(--ease-out-quart) backwards,streakMascotBob 2.4s ease-in-out infinite .75s}@keyframes streakMascotIn{0%{transform:scale(.15) rotate(-22deg);opacity:0}55%{transform:scale(1.22) rotate(10deg);opacity:1}75%{transform:scale(.92) rotate(-4deg)}to{transform:scale(1) rotate(-2deg)}}@keyframes streakMascotBob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.streak-number{font-family:var(--font);font-weight:900;font-size:var(--text-display);line-height:1;text-align:center;color:var(--accent-amber-glow);letter-spacing:var(--tracking-tight);margin:4px 0 0;text-shadow:0 4px 0 var(--streak-press-shadow)}.streak-modal.open .streak-number{animation:streakNumberPop .95s var(--ease-out-quart) .35s backwards}@keyframes streakNumberPop{0%{transform:scale(.1) rotate(-14deg);opacity:0}35%{transform:scale(1.6) rotate(7deg);opacity:1}50%{transform:scale(.85) rotate(-3deg)}65%{transform:scale(1.14) rotate(2deg)}80%{transform:scale(.96)}to{transform:scale(1) rotate(0)}}.streak-label{font-family:var(--font);font-weight:800;font-size:26px;text-align:center;color:var(--streak-ink);margin:4px 0 0;letter-spacing:.005em;text-shadow:0 2px 0 var(--streak-press-shadow)}.streak-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;width:100%;margin:32px 0 0}.streak-day{display:flex;flex-direction:column;align-items:center;gap:6px}.streak-day-label{font-family:var(--font);font-weight:800;font-size:12px;color:var(--streak-ink);letter-spacing:.04em}.streak-bubble{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--bg-rgb),.28);color:var(--fg-muted);border:2px solid transparent;transition:all var(--duration-base) var(--ease)}.streak-bubble svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.streak-day.done .streak-bubble{background:var(--accent-hot);color:var(--fg-on-accent);box-shadow:inset 0 -2px 0 var(--streak-press-shadow)}.streak-day.today .streak-bubble{background:var(--streak-soft-surface-strong);color:var(--accent-deep);box-shadow:0 0 14px var(--streak-glow),0 0 0 3px rgba(var(--fg-rgb),.18)}.streak-actions{flex-shrink:0;display:flex;flex-direction:column;gap:14px;align-items:center;width:100%;position:relative;z-index:1}.streak-continue,.streak-go-back{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:360px;height:54px;padding:0 24px;font-family:var(--font);font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--btn-radius);cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;white-space:nowrap;transition:opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.streak-continue{color:var(--accent-deep);background:var(--streak-soft-surface);border:var(--border-width) solid var(--streak-soft-surface);box-shadow:0 var(--btn-3d-offset) 0 0 var(--streak-press-shadow)}.streak-continue:hover{transform:translateY(-1px);box-shadow:0 calc(var(--btn-3d-offset) + 1px) 0 0 var(--streak-press-shadow)}.streak-continue:active{transform:translateY(var(--btn-3d-press-travel));box-shadow:0 0 0 0 var(--streak-press-shadow)}.streak-go-back{color:var(--streak-ink);height:auto;padding:10px 24px 16px;background:none;border:0;border-radius:8px;box-shadow:none}.streak-go-back:hover{opacity:.78}.streak-go-back:active,.streak-go-back:hover{transform:none;box-shadow:none}.streak-continue:focus-visible,.streak-go-back:focus-visible{outline:2px solid var(--accent-amber-glow);outline-offset:2px}.streak-modal.open .streak-label{animation:streakLabelIn .55s var(--ease-out-quint) .6s backwards}@keyframes streakLabelIn{0%{transform:translateY(12px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.streak-modal.open .streak-actions{animation:streakActionsIn .55s var(--ease) .7s backwards}@keyframes streakActionsIn{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}.streak-modal.open .streak-day-label{animation:streakFadeUp .45s var(--ease) .9s backwards}@keyframes streakFadeUp{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes streakBubblePop{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.25) rotate(10deg);opacity:1}80%{transform:scale(.95)}to{transform:scale(1) rotate(0);opacity:1}}.streak-modal.open .streak-day:first-child .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1s backwards}.streak-modal.open .streak-day:nth-child(2) .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1.08s backwards}.streak-modal.open .streak-day:nth-child(3) .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1.16s backwards}.streak-modal.open .streak-day:nth-child(4) .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1.24s backwards}.streak-modal.open .streak-day:nth-child(5) .streak-bubble{animation:streakBubblePop .75s var(--ease-out-quart) 1.34s backwards}.streak-modal.open .streak-day:nth-child(6) .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1.46s backwards}.streak-modal.open .streak-day:nth-child(7) .streak-bubble{animation:streakBubblePop .55s var(--ease-out-quart) 1.54s backwards}.streak-rays{position:absolute;inset:-20%;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,var(--streak-glow) 0deg,var(--streak-glow) 9deg,transparent 9deg,transparent 30deg);-webkit-mask-image:radial-gradient(circle at 50% 38%,transparent 12%,black 26%,black 58%,transparent 82%);mask-image:radial-gradient(circle at 50% 38%,transparent 12%,black 26%,black 58%,transparent 82%);opacity:0;transform-origin:50% 38%;filter:saturate(115%)}.streak-modal.open .streak-rays{animation:streakRaysIn .9s var(--ease) backwards,streakRaysSpin 26s linear infinite .9s}@keyframes streakRaysIn{0%{opacity:0;transform:scale(.4) rotate(-45deg)}to{opacity:.88;transform:scale(1) rotate(0)}}@keyframes streakRaysSpin{0%{transform:rotate(0);opacity:.88}to{transform:rotate(1turn);opacity:.88}}.streak-halo{position:absolute;inset:0;z-index:0;border-radius:50%;border:3px solid var(--streak-glow);pointer-events:none;opacity:0}.streak-modal.open .streak-halo{animation:streakHaloPulse 2.4s ease-out infinite}.streak-modal.open .streak-halo.h2{animation-delay:.8s}.streak-modal.open .streak-halo.h3{animation-delay:1.6s}@keyframes streakHaloPulse{0%{transform:scale(.55);opacity:0;border-width:4px}10%{opacity:1}to{transform:scale(2.1);opacity:0;border-width:1px}}.streak-sparkle{position:absolute;color:var(--accent-amber-glow);z-index:1;pointer-events:none;filter:drop-shadow(0 0 6px var(--streak-glow));opacity:0}.streak-sparkle svg{width:100%;height:100%;display:block}.streak-modal.open .streak-sparkle{animation:streakTwinkle 1.8s ease-in-out infinite}@keyframes streakTwinkle{0%,to{opacity:.12;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(180deg)}}.streak-sparkle.s1{top:10%;left:18%;width:24px;height:24px;animation-delay:0s}.streak-sparkle.s2{top:14%;right:14%;width:18px;height:18px;animation-delay:.25s}.streak-sparkle.s3{top:38%;left:5%;width:16px;height:16px;animation-delay:.55s;color:var(--streak-ink)}.streak-sparkle.s4{top:32%;right:6%;width:22px;height:22px;animation-delay:.85s}.streak-sparkle.s5{top:58%;left:9%;width:14px;height:14px;animation-delay:1.1s;color:var(--streak-ink)}.streak-sparkle.s6{top:50%;right:7%;width:20px;height:20px;animation-delay:1.35s}.streak-sparkle.s7{top:5%;left:46%;width:14px;height:14px;animation-delay:.45s;color:var(--streak-ink)}.streak-sparkle.s8{top:72%;left:48%;width:18px;height:18px;animation-delay:1.6s}.streak-burst{position:absolute;top:32%;left:50%;width:7px;height:12px;margin-left:-3.5px;margin-top:-6px;background:var(--streak-soft-surface);border-radius:2px;z-index:2;opacity:0;pointer-events:none}.streak-burst.c-yellow{background:var(--accent-amber)}.streak-burst.c-glow{background:var(--accent-amber-glow)}.streak-burst.c-white{background:var(--streak-ink)}.streak-burst.s-dot{width:8px;height:8px;border-radius:50%;margin-left:-4px;margin-top:-4px}.streak-burst.s-strip{width:4px;height:18px;margin-left:-2px;margin-top:-9px}.streak-modal.open .streak-burst{animation:streakBurst 1.8s cubic-bezier(.18,.6,.32,1) var(--d,0s) backwards}@keyframes streakBurst{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:1}80%{opacity:1}to{transform:translate(var(--tx,0),var(--ty,0)) rotate(var(--r,540deg));opacity:0}}@keyframes confettiFloat{0%,to{transform:translateY(0) rotate(0);opacity:.85}50%{transform:translateY(-14px) rotate(35deg);opacity:1}}.streak-confetti{position:absolute;pointer-events:none;z-index:0;opacity:0}.streak-modal.open .streak-confetti{animation:confettiFloat 4s ease-in-out 1.3s infinite}.streak-confetti.cf1{width:8px;height:14px;background:var(--streak-soft-surface);top:38%;left:16%;transform:rotate(15deg);animation-duration:3.6s}.streak-confetti.cf2{width:6px;height:6px;border-radius:50%;background:var(--accent-amber);top:44%;right:18%;animation-duration:4.2s;animation-delay:1.7s}.streak-confetti.cf3{width:10px;height:10px;background:var(--accent-amber-glow);top:52%;left:10%;transform:rotate(45deg);animation-duration:3.8s;animation-delay:2s}.streak-confetti.cf4{width:7px;height:16px;background:var(--streak-soft-surface);top:56%;right:12%;transform:rotate(-20deg);animation-duration:4.4s;animation-delay:1.4s}.streak-confetti.cf5{width:5px;height:5px;border-radius:50%;background:var(--accent-amber-glow);top:62%;left:26%;animation-duration:4s;animation-delay:2.3s}.streak-confetti.cf6{width:9px;height:12px;background:var(--accent-amber);top:60%;right:24%;transform:rotate(25deg);animation-duration:4.6s;animation-delay:1.8s}.streak-confetti.cf7{width:6px;height:14px;background:var(--streak-ink);top:22%;left:32%;transform:rotate(-40deg);animation-duration:3.9s;animation-delay:2.1s}.streak-confetti.cf8{width:8px;height:8px;border-radius:50%;background:var(--accent-amber);top:28%;right:32%;animation-duration:4.3s;animation-delay:1.5s}.streak-confetti.cf9{width:4px;height:12px;background:var(--accent-amber-glow);top:46%;left:30%;transform:rotate(55deg);animation-duration:3.7s;animation-delay:2.4s}.streak-confetti.cf10{width:5px;height:5px;border-radius:50%;background:var(--streak-ink);top:50%;right:30%;animation-duration:4.5s;animation-delay:2s}.streak-confetti.cf11{width:7px;height:16px;background:var(--accent-amber);top:68%;left:20%;transform:rotate(30deg);animation-duration:4.1s;animation-delay:1.6s}.streak-confetti.cf12{width:6px;height:10px;background:var(--streak-soft-surface);top:66%;right:18%;transform:rotate(-15deg);animation-duration:4.7s;animation-delay:2.6s}.streak-summary{--sum-ink-rgb:255,248,236;--sum-ink:var(--star);--surface-light-bg:color-mix(in oklch,var(--night-deep) 88%,var(--night-warm) 12%);--surface-light-ink:var(--sum-ink);--surface-light-ink-soft:rgba(var(--sum-ink-rgb),0.78);--surface-light-muted:rgba(var(--sum-ink-rgb),0.66);--surface-light-muted-2:rgba(var(--sum-ink-rgb),0.38);--surface-light-border:rgba(var(--sum-ink-rgb),0.16);--surface-light-bg-rgb:var(--night-deep-rgb);--surface-light-ink-rgb:var(--sum-ink-rgb);--surface-light-border-rgb:var(--sum-ink-rgb);--surface-light-card:color-mix(in oklch,var(--night-mid) 72%,var(--sum-ink) 8%);--surface-light-card-soft:color-mix(in oklch,var(--night-mid) 58%,var(--sum-ink) 5%);--sum-card-bg:var(--surface-light-card);--sum-card-bg-soft:var(--surface-light-card-soft);--sum-hover-bg:rgba(var(--sum-ink-rgb),0.08);--sum-active-bg:rgba(var(--sum-ink-rgb),0.14);--sum-accent-shadow:color-mix(in oklch,var(--accent-deep) 42%,transparent);--sum-accent-glow:rgba(var(--accent-rgb),0.24);--sum-flame-hole:color-mix(in oklch,var(--sum-ink) 92%,var(--accent-amber-glow) 8%);position:absolute;inset:0;z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column;background:radial-gradient(ellipse 118% 48% at 50% -8%,color-mix(in oklch,var(--night-glow) 70%,var(--accent) 16%) 0,transparent 66%),radial-gradient(ellipse 76% 34% at 86% 16%,var(--aurora) 0,transparent 72%),linear-gradient(180deg,color-mix(in oklch,var(--night-mid) 88%,var(--night-warm) 12%) 0,var(--night-deep) 58%,var(--surface-light-bg) 100%);color:var(--surface-light-ink);font-family:var(--font);opacity:0;transform:translateX(36px);pointer-events:none;overflow:hidden;transition:opacity .4s var(--ease),transform .4s var(--ease)}.streak-summary.open{opacity:1;transform:translateX(0);pointer-events:auto}@media (min-width:520px){.streak-summary{border-radius:var(--radius-xl)}}.sum-header{flex-shrink:0;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;grid-gap:8px;gap:8px;padding:calc(env(safe-area-inset-top, 0px) + 10px) calc(env(safe-area-inset-right, 0px) + 12px) 6px calc(env(safe-area-inset-left, 0px) + 12px)}.sum-title{margin:0;text-align:center;font-size:16px;font-weight:800;color:var(--surface-light-ink);letter-spacing:.01em}.sum-iconbtn{width:44px;height:44px;display:grid;place-items:center;background:none;border:none;border-radius:50%;color:var(--surface-light-ink);cursor:pointer;outline:none;transition:background var(--duration-fast) var(--ease)}.sum-iconbtn:hover{background:var(--sum-hover-bg)}.sum-iconbtn:active{background:var(--sum-active-bg)}.sum-iconbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sum-iconbtn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sum-tabs{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--border-width-thin) solid var(--surface-light-border);padding:0 20px;margin:0 0 6px}.sum-tab{position:relative;background:none;border:none;padding:12px 0 14px;font-family:var(--font);font-weight:800;font-size:14px;letter-spacing:var(--tracking-base);color:var(--surface-light-muted);cursor:pointer;outline:none;transition:color var(--duration-base) var(--ease)}.sum-tab:hover{color:var(--surface-light-ink)}.sum-tab.active{color:var(--accent)}.sum-tab.active:after{content:"";position:absolute;left:22%;right:22%;bottom:-2px;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}.sum-scroll{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px calc(env(safe-area-inset-right, 0px) + 20px) calc(env(safe-area-inset-bottom, 0px) + 24px) calc(env(safe-area-inset-left, 0px) + 20px);scrollbar-width:thin;scrollbar-color:var(--surface-light-border) transparent}.sum-scroll::-webkit-scrollbar{width:6px}.sum-scroll::-webkit-scrollbar-thumb{background:var(--surface-light-border);border-radius:999px}.sum-bottom-action{flex-shrink:0;display:flex;justify-content:center;padding:42px calc(env(safe-area-inset-right, 0px) + 20px) calc(env(safe-area-inset-bottom, 0px) + 18px) calc(env(safe-area-inset-left, 0px) + 20px);background:linear-gradient(0deg,color-mix(in oklch,var(--night-deep) 94%,var(--night-mid) 6%) 0,color-mix(in oklch,var(--night-deep) 78%,transparent) 68%,transparent 100%)}.sum-back{width:min(100%,360px);height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;color:var(--surface-light-ink);background:color-mix(in oklch,var(--surface-light-ink) 9%,var(--night-mid));border:var(--border-width) solid color-mix(in oklch,var(--surface-light-ink) 22%,var(--night-deep));border-radius:20px;cursor:pointer;font-family:var(--font);font-size:16px;font-weight:900;letter-spacing:.03em;line-height:1;box-shadow:0 var(--btn-3d-offset) 0 0 color-mix(in oklch,var(--surface-light-ink) 8%,var(--night-deep));transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.sum-back:hover{background:color-mix(in oklch,var(--surface-light-ink) 12%,var(--night-mid));transform:translateY(-1px);box-shadow:0 calc(var(--btn-3d-offset) + 1px) 0 0 color-mix(in oklch,var(--surface-light-ink) 10%,var(--night-deep))}.sum-back:active{transform:translateY(var(--btn-3d-press-travel));box-shadow:0 0 0 0 color-mix(in oklch,var(--surface-light-ink) 10%,var(--night-deep))}.sum-back:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.sum-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px 10px}.hero-num{font-size:64px;font-weight:900;line-height:1;color:var(--accent);letter-spacing:var(--tracking-base)}.hero-label{margin-top:4px;font-size:18px;font-weight:800;color:var(--accent);letter-spacing:.005em}.hero-flame{flex-shrink:0;width:104px;height:auto;filter:drop-shadow(0 6px 12px var(--sum-accent-glow))}.friends-flame ellipse:not(.friends-flame-core),.hero-flame-droplet,.tip-flame ellipse{fill:var(--sum-flame-hole)}.sum-tip{display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;border-radius:16px;margin-top:8px;background:linear-gradient(180deg,color-mix(in oklch,var(--sum-card-bg) 88%,var(--sum-ink) 5%),var(--sum-card-bg));box-shadow:0 var(--btn-3d-offset) 0 0 rgba(var(--night-deep-rgb),.32)}.tip-flame{flex-shrink:0;width:32px;height:38px}.sum-tip p{margin:0;font-size:14px;line-height:1.45;color:var(--surface-light-ink);font-weight:600}.sum-tip strong{color:var(--accent);font-weight:800}.month-header{display:flex;align-items:center;justify-content:space-between;padding:26px 2px 14px}.month-header h3{margin:0;font-size:22px;font-weight:900;color:var(--surface-light-ink);letter-spacing:var(--tracking-base)}.month-nav{display:flex;gap:4px}.month-btn{width:32px;height:32px;display:grid;place-items:center;background:none;border:none;border-radius:50%;color:var(--surface-light-muted);cursor:pointer;outline:none;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}.month-btn:hover{background:var(--sum-hover-bg);color:var(--surface-light-ink)}.month-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.stat-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:2px}.stat-card{position:relative;padding:12px 14px;border:0;border-radius:16px;background:linear-gradient(180deg,color-mix(in oklch,var(--sum-card-bg) 88%,var(--sum-ink) 5%),var(--sum-card-bg));box-shadow:0 var(--btn-3d-offset) 0 0 rgba(var(--night-deep-rgb),.32)}.stat-card-head{display:flex;align-items:center;gap:8px}.stat-icon{width:24px;height:28px;flex-shrink:0}.stat-icon svg{width:100%;height:100%;display:block}.stat-num{font-size:22px;font-weight:900;color:var(--surface-light-ink);line-height:1}.stat-label{margin-top:6px;font-size:13px;font-weight:700;color:var(--surface-light-muted)}.stat-badge{position:absolute;top:-10px;right:14px;background:var(--accent);color:var(--fg-on-accent);font-size:11px;font-weight:800;padding:3px 10px;border-radius:6px;letter-spacing:.08em;box-shadow:0 2px 0 var(--sum-accent-shadow)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-column-gap:0;column-gap:0;grid-row-gap:6px;row-gap:6px;margin-top:22px}.cal-head{text-align:center;font-size:11px;font-weight:700;color:var(--surface-light-muted);padding:4px 0 10px;letter-spacing:.05em}.cal-day{min-height:40px;display:grid;place-items:center;position:relative;font-size:15px;font-weight:800;color:var(--surface-light-muted-2)}.cal-day.cal-empty{visibility:hidden}.cal-day.cal-streak{background:linear-gradient(180deg,var(--accent-amber) 0,var(--accent) 95%);color:var(--fg-on-accent)}.cal-day .cal-day-num,.cal-day .today-dot{position:relative;z-index:2}.cal-day.cal-active-streak{--cal-active-delay:0s;--cal-active-offset:0px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse 110% 90% at 50% 118%,var(--accent-hot) 0,transparent 56%),linear-gradient(90deg,var(--accent-hot) 0,var(--accent-amber-glow) 28%,var(--accent-amber) 58%,var(--accent) 100%);background-size:180px 100%,100% 100%;animation:activeStreakLava 2.8s linear infinite,activeStreakGlow 1.9s ease-in-out infinite;animation-delay:var(--cal-active-delay),var(--cal-active-delay);box-shadow:inset 0 1px 0 rgba(var(--sum-ink-rgb),.26),inset 0 -8px 12px rgba(var(--accent-rgb),.24),0 0 12px rgba(var(--accent-rgb),.22)}.cal-day.cal-active-streak:after,.cal-day.cal-active-streak:before{content:"";position:absolute;border-radius:inherit;pointer-events:none;z-index:1}.cal-day.cal-active-streak:before{inset:-10px 0 7px;background:radial-gradient(ellipse at 12% 100%,rgba(var(--sum-ink-rgb),.32) 0 9%,transparent 34%),radial-gradient(ellipse at 28% 104%,var(--accent-amber-glow) 0 17%,transparent 44%),radial-gradient(ellipse at 48% 100%,var(--accent-hot) 0 14%,transparent 40%),radial-gradient(ellipse at 68% 106%,var(--accent-amber-glow) 0 18%,transparent 45%),radial-gradient(ellipse at 88% 102%,var(--accent-amber) 0 15%,transparent 42%);-webkit-clip-path:polygon(0 60%,8% 38%,16% 66%,26% 28%,36% 66%,48% 30%,60% 64%,72% 26%,84% 66%,94% 36%,100% 58%,100% 100%,0 100%);clip-path:polygon(0 60%,8% 38%,16% 66%,26% 28%,36% 66%,48% 30%,60% 64%,72% 26%,84% 66%,94% 36%,100% 58%,100% 100%,0 100%);filter:blur(.25px);opacity:.72;transform-origin:50% 100%;animation:activeStreakTongues .96s ease-in-out infinite alternate;animation-delay:var(--cal-active-delay)}.cal-day.cal-active-streak:after{inset:-10px 0 0;background:radial-gradient(circle,rgba(var(--sum-ink-rgb),.88) 0 1px,transparent 1.8px),radial-gradient(circle,var(--accent-amber-glow) 0 1.4px,transparent 2.4px),linear-gradient(110deg,transparent 0,transparent 30%,rgba(var(--sum-ink-rgb),.28) 45%,transparent 60%,transparent 100%);background-size:36px 34px,52px 42px,220% 100%;background-position:var(--cal-active-offset) 26px,calc(var(--cal-active-offset) + 18px) 34px,160% 0;mix-blend-mode:screen;opacity:.68;animation:activeStreakEmbers 1.8s linear infinite;animation-delay:var(--cal-active-delay)}.cal-day.cal-streak-start{border-top-left-radius:999px;border-bottom-left-radius:999px}.cal-day.cal-streak-end{border-top-right-radius:999px;border-bottom-right-radius:999px}.cal-day.cal-streak-start.cal-streak-end{border-radius:999px}.cal-day.cal-today{overflow:visible}.cal-day.cal-active-streak.cal-today{overflow:hidden}.cal-day.cal-today .today-dot{width:36px;height:36px;border-radius:50%;background:var(--accent-deep);color:var(--fg-on-accent);font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface-light-bg),0 2px 0 var(--sum-accent-shadow)}.cal-day.cal-active-streak.cal-today .today-dot{background:radial-gradient(circle at 35% 25%,var(--sum-ink) 0,var(--accent-amber-glow) 38%,var(--accent-amber) 100%);color:color-mix(in oklch,var(--accent-deep) 78%,var(--night-deep));text-shadow:0 1px 0 rgba(var(--sum-ink-rgb),.48);box-shadow:0 0 0 2px rgba(var(--sum-ink-rgb),.86),0 0 0 5px rgba(var(--accent-rgb),.2),0 3px 0 color-mix(in oklch,var(--accent-deep) 36%,transparent),0 0 16px rgba(var(--accent-rgb),.34)}@keyframes activeStreakLava{0%{background-position:var(--cal-active-offset) 0,0 0}to{background-position:calc(var(--cal-active-offset) - 180px) 0,0 0}}@keyframes activeStreakGlow{0%,to{box-shadow:inset 0 1px 0 rgba(var(--sum-ink-rgb),.24),inset 0 -8px 12px rgba(var(--accent-rgb),.22),0 0 10px rgba(var(--accent-rgb),.2)}50%{box-shadow:inset 0 1px 0 rgba(var(--sum-ink-rgb),.34),inset 0 -8px 14px rgba(var(--accent-rgb),.36),0 0 18px rgba(var(--accent-rgb),.34)}}@keyframes activeStreakTongues{0%{opacity:.54;transform:translateY(5px) scaleY(.72) skewX(-4deg);filter:blur(.45px)}55%{opacity:.88}to{opacity:.82;transform:translateY(-2px) scaleY(1.08) skewX(5deg);filter:blur(.18px)}}@keyframes activeStreakEmbers{0%{opacity:.22;transform:translateY(5px);background-position:var(--cal-active-offset) 28px,calc(var(--cal-active-offset) + 18px) 36px,160% 0}42%{opacity:.82}to{opacity:.16;transform:translateY(-4px);background-position:calc(var(--cal-active-offset) + 24px) -16px,calc(var(--cal-active-offset) + 48px) -22px,-60% 0}}@media (prefers-reduced-motion:reduce){.cal-day.cal-active-streak,.cal-day.cal-active-streak:after,.cal-day.cal-active-streak:before{animation:none}}.sum-view[hidden]{display:none}.sum-view{display:block;animation:sumViewFade .32s var(--ease) both}@keyframes sumViewFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero-flame{transform-origin:50% 100%;animation:heroFlameBob 2.8s ease-in-out infinite;will-change:transform}.streak-summary.open .hero-flame{animation:heroFlameIn .72s var(--ease-out-quart) backwards,heroFlameBob 2.8s ease-in-out infinite .72s}@keyframes heroFlameBob{0%,to{transform:translateY(0) rotate(-2.2deg)}50%{transform:translateY(-6px) rotate(2.2deg)}}@keyframes heroFlameIn{0%{transform:scale(.35) rotate(-22deg);opacity:0}55%{transform:scale(1.14) rotate(8deg);opacity:1}to{transform:scale(1) rotate(-2deg)}}.hero-flame-inner{transform-origin:center 72%;transform-box:fill-box;animation:heroFlameFlicker 1.35s ease-in-out infinite}@keyframes heroFlameFlicker{0%,to{transform:scaleY(1) translateY(0)}25%{transform:scaleY(1.08) translateY(-1.2px)}50%{transform:scaleY(.95) translateY(1px)}75%{transform:scaleY(1.04) translateY(-.8px)}}.hero-flame-core{transform-origin:center;transform-box:fill-box;animation:heroFlameCorePulse 1.6s ease-in-out infinite}@keyframes heroFlameCorePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.22);opacity:.82}}.streak-summary.open .hero-num{animation:heroNumIn .62s var(--ease-out-quart) .12s backwards}.streak-summary.open .hero-label{animation:heroNumIn .55s var(--ease-out-quart) .22s backwards}@keyframes heroNumIn{0%{transform:scale(.55) translateY(10px);opacity:0}60%{transform:scale(1.12) translateY(0);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.friends-empty{padding:40px 6px 24px;flex-direction:column;text-align:center;gap:18px}.friends-empty,.friends-illo{display:flex;align-items:center}.friends-illo{gap:6px;margin-top:8px;filter:drop-shadow(0 6px 14px var(--sum-accent-glow))}.friends-flame{width:92px;height:auto;transform-origin:50% 100%;animation:heroFlameBob 2.8s ease-in-out infinite}.friends-flame-inner{transform-origin:center 72%;transform-box:fill-box;animation:heroFlameFlicker 1.35s ease-in-out .2s infinite}.friends-flame-core{transform-origin:center;transform-box:fill-box;animation:heroFlameCorePulse 1.6s ease-in-out .2s infinite}.friends-link{display:inline-flex;width:40px;filter:none}.friends-link svg{width:100%;height:12px}.friends-plus{width:78px;height:78px;border-radius:50%;border:2.5px dashed var(--surface-light-muted-2);color:var(--surface-light-muted);display:grid;place-items:center;background:var(--sum-card-bg);box-shadow:inset 0 0 0 4px rgba(var(--surface-light-bg-rgb),.9);animation:friendsPlusPulse 2.4s ease-in-out infinite}.friends-plus svg{width:26px;height:26px;color:var(--surface-light-muted)}@keyframes friendsPlusPulse{0%,to{transform:scale(1);border-color:var(--surface-light-muted-2)}50%{transform:scale(1.04);border-color:var(--accent)}}.friends-title{margin:6px 0 -6px;font-size:22px;font-weight:900;color:var(--surface-light-ink);letter-spacing:var(--tracking-base)}.friends-sub{margin:0 14px;font-size:14px;line-height:1.55;color:var(--surface-light-muted);font-weight:600;max-width:280px}.friends-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 32px;margin-top:4px;font-family:var(--font);font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-accent);background:var(--accent);border:2px solid var(--accent);border-radius:50px;cursor:pointer;outline:none;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-shadow:0 1px 0 var(--sum-accent-shadow);box-shadow:0 3px 0 0 var(--accent-deep),0 6px 18px var(--sum-accent-glow);transition:all var(--duration-base) var(--ease)}.friends-cta:hover{transform:translateY(-1px);box-shadow:0 4px 0 0 var(--accent-deep),0 8px 22px var(--sum-accent-glow)}.friends-cta:active{transform:translateY(3px);box-shadow:0 0 0 0 var(--accent-deep),0 4px 12px var(--sum-accent-glow)}.friends-cta:focus-visible{outline:2px solid var(--accent-amber);outline-offset:3px}.friends-cta svg{width:22px;height:22px;color:currentColor}.friends-perks{list-style:none;margin:14px 0 0;padding:16px 18px;width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px;border-radius:14px;background:var(--sum-card-bg-soft);border:0;box-shadow:0 var(--btn-3d-offset) 0 0 rgba(var(--night-deep-rgb),.32)}.friends-perks li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--surface-light-ink-soft);text-align:left}.perk-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}.ach-unlock{--ach-chrome-bg:rgba(var(--bg-rgb),0.42);--ach-chrome-bg-hover:rgba(var(--bg-rgb),0.58);--ach-ink:var(--fg-primary);--ach-ink-muted:var(--fg-secondary);--ach-soft-surface:var(--surface-light-card);--ach-soft-surface-strong:var(--surface-light-bg);--ach-press-shadow:color-mix(in srgb,var(--accent-deep) 42%,transparent);--ach-glow:color-mix(in srgb,var(--accent-amber-glow) 70%,transparent);--ach-deep-glow:color-mix(in srgb,var(--accent-hot) 50%,transparent);position:absolute;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top, 0px) + 14px) calc(env(safe-area-inset-right, 0px) + 24px) calc(env(safe-area-inset-bottom, 0px) + 22px) calc(env(safe-area-inset-left, 0px) + 24px);background:radial-gradient(ellipse 110% 70% at 50% 30%,var(--accent-amber) 0,var(--accent-hot) 35%,var(--accent-deep) 78%,var(--night-deep,#14123a) 100%);opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;overflow:hidden;transition:opacity .35s var(--ease),transform .35s var(--ease)}.ach-unlock.open{opacity:1;transform:none;pointer-events:auto}@media (min-width:520px){.ach-unlock{border-radius:var(--radius-xl)}}.ach-unlock-shell{position:absolute;inset:0;display:flex;flex-direction:column;padding:0;pointer-events:inherit}.ach-unlock-content{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;z-index:1;padding:calc(env(safe-area-inset-top, 0px) + 56px) 24px 8px;min-height:0;text-align:center}.ach-unlock-eyebrow{font-family:var(--font);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ach-ink);opacity:.92;padding:6px 14px;border-radius:999px;background:var(--ach-chrome-bg);border:1px solid rgba(var(--fg-rgb),.22);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}.ach-unlock.open .ach-unlock-eyebrow{animation:achEyebrowIn .55s var(--ease-out-quart) .05s backwards}@keyframes achEyebrowIn{0%{transform:translateY(-12px) scale(.85);opacity:0}to{transform:translateY(0) scale(1);opacity:.92}}.ach-unlock-stage{position:relative;width:240px;height:240px;display:grid;place-items:center;margin:8px 0 4px}.ach-unlock-halo{position:absolute;inset:0;border-radius:50%;pointer-events:none}.ach-unlock-halo.h1{background:radial-gradient(circle,var(--ach-glow) 0,transparent 62%);filter:blur(8px)}.ach-unlock-halo.h2{inset:8%;border:2px solid color-mix(in srgb,var(--accent-amber-glow) 65%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--accent-amber-glow) 28%,transparent) 0,transparent 70%)}.ach-unlock-halo.h3{inset:22%;border:1.5px dashed color-mix(in srgb,var(--accent-amber-glow) 55%,transparent);background:transparent}.ach-unlock.open .ach-unlock-halo.h1{animation:achHaloPulse 2.4s ease-in-out .4s infinite backwards;transform-origin:center}.ach-unlock.open .ach-unlock-halo.h2{animation:achHaloIn .7s var(--ease-out-quart) .2s backwards,achHaloSpin 18s linear infinite .9s}.ach-unlock.open .ach-unlock-halo.h3{animation:achHaloIn .7s var(--ease-out-quart) .32s backwards,achHaloSpinReverse 24s linear infinite 1s}@keyframes achHaloPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:.55}}@keyframes achHaloIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes achHaloSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes achHaloSpinReverse{0%{transform:rotate(1turn)}to{transform:rotate(0)}}.ach-unlock-medallion{position:absolute;width:70%;height:70%;border-radius:50%;background:radial-gradient(circle at 38% 32%,var(--accent-amber-glow) 0,var(--accent-amber) 40%,var(--accent-hot) 80%,var(--accent-deep) 100%);box-shadow:inset 0 -10px 24px color-mix(in srgb,var(--accent-deep) 60%,transparent),inset 0 10px 18px color-mix(in srgb,var(--accent-amber-glow) 60%,transparent),0 12px 32px var(--ach-deep-glow);pointer-events:none}.ach-unlock.open .ach-unlock-medallion{animation:achMedallionIn .65s var(--ease-out-quart) .15s backwards,achMedallionShimmer 3.2s ease-in-out infinite .8s}@keyframes achMedallionIn{0%{transform:scale(.2) rotate(-30deg);opacity:0}60%{transform:scale(1.14) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0)}}@keyframes achMedallionShimmer{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.12) saturate(1.15)}}.ach-unlock-badge{position:relative;z-index:2;width:56%;height:auto;filter:drop-shadow(0 6px 12px rgba(var(--bg-rgb),.45));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.ach-unlock.open .ach-unlock-badge{animation:achBadgeIn .85s var(--ease-out-quart) .25s backwards,achBadgeBob 3s ease-in-out infinite 1.1s}@keyframes achBadgeIn{0%{transform:scale(.1) rotate(-30deg);opacity:0}55%{transform:scale(1.25) rotate(12deg);opacity:1}75%{transform:scale(.92) rotate(-4deg)}to{transform:scale(1) rotate(0)}}@keyframes achBadgeBob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}.ach-unlock-name{font-family:var(--font);font-weight:900;font-size:32px;line-height:1.1;letter-spacing:var(--tracking-tight);color:var(--ach-ink);margin:6px 0 0;text-shadow:0 4px 0 var(--ach-press-shadow);max-width:22ch}.ach-unlock.open .ach-unlock-name{animation:achNamePop .7s var(--ease-out-quart) .55s backwards}@keyframes achNamePop{0%{transform:scale(.6) translateY(14px);opacity:0}60%{transform:scale(1.1) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0)}}.ach-unlock-condition{font-family:var(--font);font-weight:600;font-size:15px;line-height:1.4;color:var(--ach-ink);opacity:.85;margin:0;max-width:28ch}.ach-unlock.open .ach-unlock-condition{animation:achConditionIn .5s var(--ease-out-quint) .75s backwards}@keyframes achConditionIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:.85}}.ach-unlock-actions{flex-shrink:0;display:flex;flex-direction:column;gap:14px;align-items:center;width:100%;position:relative;z-index:1;padding:0 24px calc(env(safe-area-inset-bottom, 0px) + 22px)}.ach-unlock-done{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:360px;height:54px;padding:0 24px;font-family:var(--font);font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--btn-radius);cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1;white-space:nowrap;color:var(--accent-deep);background:var(--ach-soft-surface);border:var(--border-width) solid var(--ach-soft-surface);box-shadow:0 var(--btn-3d-offset) 0 0 var(--ach-press-shadow);transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease)}.ach-unlock-done:hover{transform:translateY(-1px);box-shadow:0 calc(var(--btn-3d-offset) + 1px) 0 0 var(--ach-press-shadow)}.ach-unlock-done:active{transform:translateY(var(--btn-3d-press-travel));box-shadow:0 0 0 0 var(--ach-press-shadow)}.ach-unlock-done:focus-visible{outline:2px solid var(--accent-amber-glow);outline-offset:2px}.ach-unlock.open .ach-unlock-actions{animation:achActionsIn .55s var(--ease) .85s backwards}@keyframes achActionsIn{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}.ach-unlock-rays{position:absolute;inset:-20%;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,var(--ach-glow) 0deg,var(--ach-glow) 8deg,transparent 8deg,transparent 28deg);-webkit-mask-image:radial-gradient(circle at 50% 38%,transparent 14%,black 28%,black 60%,transparent 84%);mask-image:radial-gradient(circle at 50% 38%,transparent 14%,black 28%,black 60%,transparent 84%);opacity:0;transform-origin:50% 38%;filter:saturate(115%)}.ach-unlock.open .ach-unlock-rays{animation:achRaysIn .9s var(--ease) backwards,achRaysSpin 32s linear infinite .9s}@keyframes achRaysIn{0%{opacity:0;transform:scale(.8) rotate(-8deg)}to{opacity:.55;transform:scale(1) rotate(0)}}@keyframes achRaysSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.ach-unlock-sparkle{position:absolute;width:22px;height:22px;color:var(--accent-amber-glow);filter:drop-shadow(0 0 8px var(--ach-glow));z-index:1;pointer-events:none;opacity:0}.ach-unlock.open .ach-unlock-sparkle{animation:achSparkle 1.6s ease-in-out infinite}@keyframes achSparkle{0%,to{transform:scale(.4) rotate(0);opacity:0}35%{transform:scale(1) rotate(60deg);opacity:1}70%{transform:scale(.7) rotate(120deg);opacity:.4}}.ach-unlock-sparkle.s1{top:14%;left:18%;animation-delay:.3s}.ach-unlock-sparkle.s2{top:12%;left:70%;animation-delay:.55s;width:18px;height:18px}.ach-unlock-sparkle.s3{top:24%;left:86%;animation-delay:.8s;width:14px;height:14px}.ach-unlock-sparkle.s4{top:30%;left:8%;animation-delay:1.05s;width:16px;height:16px}.ach-unlock-sparkle.s5{top:58%;left:14%;animation-delay:.42s;width:20px;height:20px}.ach-unlock-sparkle.s6{top:60%;left:82%;animation-delay:.68s;width:18px;height:18px}.ach-unlock-sparkle.s7{top:38%;left:50%;animation-delay:1.3s;width:12px;height:12px}.ach-unlock-sparkle.s8{top:8%;left:44%;animation-delay:.95s;width:16px;height:16px}.ach-unlock-sparkle.s9{top:50%;left:4%;animation-delay:1.5s;width:14px;height:14px}.ach-unlock-sparkle.s10{top:52%;left:92%;animation-delay:1.18s;width:16px;height:16px}.ach-unlock-confetti{position:absolute;top:-10%;left:var(--cf-left,50%);width:var(--cf-w,8px);height:var(--cf-h,16px);border-radius:2px;background:var(--accent-amber-glow);z-index:1;pointer-events:none;opacity:0;will-change:transform,opacity}.ach-unlock.open .ach-unlock-confetti{animation:achConfettiFall var(--cf-dur,2.6s) linear infinite}@keyframes achConfettiFall{0%{transform:translateY(-20vh) rotate(0);opacity:0}8%{opacity:1}50%{transform:translate(var(--cf-sway,0),50vh) rotate(calc(var(--cf-rot, 2turn) * .5))}to{transform:translateY(120vh) rotate(var(--cf-rot,2turn));opacity:0}}.ach-unlock-confetti.cf1{--cf-left:6%;--cf-sway:40px;--cf-rot:720deg;--cf-w:6px;--cf-h:12px;--cf-dur:3.4s;background:var(--accent-amber-glow);animation-delay:.1s}.ach-unlock-confetti.cf2{--cf-left:14%;--cf-sway:-60px;--cf-rot:-540deg;--cf-w:9px;--cf-h:18px;--cf-dur:2.6s;background:var(--accent-amber);animation-delay:.4s}.ach-unlock-confetti.cf3{--cf-left:22%;--cf-sway:30px;--cf-rot:900deg;--cf-w:5px;--cf-h:9px;--cf-dur:4.0s;background:var(--accent-hot);animation-delay:.05s}.ach-unlock-confetti.cf4{--cf-left:30%;--cf-sway:-45px;--cf-rot:720deg;--cf-w:8px;--cf-h:22px;--cf-dur:2.8s;background:var(--accent-amber-glow);animation-delay:.65s}.ach-unlock-confetti.cf5{--cf-left:38%;--cf-sway:70px;--cf-rot:-660deg;--cf-w:7px;--cf-h:14px;--cf-dur:3.2s;background:var(--accent-amber);animation-delay:.22s}.ach-unlock-confetti.cf6{--cf-left:46%;--cf-sway:-25px;--cf-rot:540deg;--cf-w:4px;--cf-h:8px;--cf-dur:4.4s;background:var(--accent-hot);animation-delay:.95s}.ach-unlock-confetti.cf7{--cf-left:54%;--cf-sway:55px;--cf-rot:-780deg;--cf-w:10px;--cf-h:20px;--cf-dur:2.4s;background:var(--accent-amber);animation-delay:.5s}.ach-unlock-confetti.cf8{--cf-left:62%;--cf-sway:-35px;--cf-rot:840deg;--cf-w:6px;--cf-h:11px;--cf-dur:3.6s;background:var(--accent-amber-glow);animation-delay:.15s}.ach-unlock-confetti.cf9{--cf-left:70%;--cf-sway:20px;--cf-rot:-600deg;--cf-w:8px;--cf-h:24px;--cf-dur:2.7s;background:var(--accent-hot);animation-delay:1.2s}.ach-unlock-confetti.cf10{--cf-left:78%;--cf-sway:-50px;--cf-rot:720deg;--cf-w:5px;--cf-h:10px;--cf-dur:3.8s;background:var(--accent-amber);animation-delay:.3s}.ach-unlock-confetti.cf11{--cf-left:86%;--cf-sway:65px;--cf-rot:-540deg;--cf-w:7px;--cf-h:15px;--cf-dur:3.0s;background:var(--accent-amber-glow);animation-delay:.78s}.ach-unlock-confetti.cf12{--cf-left:94%;--cf-sway:-30px;--cf-rot:960deg;--cf-w:4px;--cf-h:7px;--cf-dur:4.2s;background:var(--accent-hot);animation-delay:.55s}.ach-unlock-confetti.cf13{--cf-left:18%;--cf-sway:25px;--cf-rot:-720deg;--cf-w:9px;--cf-h:17px;--cf-dur:2.9s;background:var(--accent-amber-glow);animation-delay:1.45s}.ach-unlock-confetti.cf14{--cf-left:82%;--cf-sway:-40px;--cf-rot:600deg;--cf-w:6px;--cf-h:13px;--cf-dur:3.3s;background:var(--accent-amber);animation-delay:1s}.ach-unlock-burst{position:absolute;top:32%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent-amber-glow);z-index:0;pointer-events:none;opacity:0;transform-origin:center}.ach-unlock-burst.p-dot{width:6px;height:6px}.ach-unlock-burst.p-strip{width:4px;height:14px;border-radius:2px}.ach-unlock-burst.p-amber{background:var(--accent-amber)}.ach-unlock-burst.p-glow{background:var(--accent-amber-glow);box-shadow:0 0 6px var(--ach-glow)}.ach-unlock-burst.p-white{background:var(--star,#fff8ec)}.ach-unlock.open .ach-unlock-burst{animation:achBurst 1.4s var(--ease-out-quart) backwards;animation-delay:var(--d,0s)}@keyframes achBurst{0%{transform:translate(0) rotate(0);opacity:0}20%{opacity:1}to{transform:translate(var(--tx),var(--ty)) rotate(var(--r));opacity:0}}@media (prefers-reduced-motion:reduce){.ach-unlock,.ach-unlock.open .ach-unlock-actions,.ach-unlock.open .ach-unlock-badge,.ach-unlock.open .ach-unlock-burst,.ach-unlock.open .ach-unlock-condition,.ach-unlock.open .ach-unlock-confetti,.ach-unlock.open .ach-unlock-eyebrow,.ach-unlock.open .ach-unlock-halo.h1,.ach-unlock.open .ach-unlock-halo.h2,.ach-unlock.open .ach-unlock-halo.h3,.ach-unlock.open .ach-unlock-medallion,.ach-unlock.open .ach-unlock-name,.ach-unlock.open .ach-unlock-rays,.ach-unlock.open .ach-unlock-sparkle{animation:none;transition:opacity .2s var(--ease)}.ach-unlock.open .ach-unlock-burst,.ach-unlock.open .ach-unlock-confetti,.ach-unlock.open .ach-unlock-sparkle{opacity:0}}.reward-unlock{--reward-ink:var(--fg-primary);--reward-ink-muted:var(--fg-secondary);--reward-chrome-bg:rgba(var(--bg-rgb),0.42);--reward-soft-surface:var(--surface-light-card);--reward-press-shadow:color-mix(in srgb,var(--accent-deep) 42%,transparent);--reward-mint:#b0f0b2;--reward-mint-deep:#3c9f73;--reward-mint-glow:rgba(176,240,178,0.72);--reward-gold-glow:rgba(255,206,61,0.68);position:absolute;inset:0;z-index:var(--z-modal);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top, 0px) + 14px) calc(env(safe-area-inset-right, 0px) + 24px) calc(env(safe-area-inset-bottom, 0px) + 22px) calc(env(safe-area-inset-left, 0px) + 24px);color:var(--reward-ink);background:radial-gradient(ellipse 100% 70% at 50% 30%,color-mix(in srgb,var(--reward-mint) 72%,var(--accent-amber-glow)) 0,color-mix(in srgb,var(--reward-mint-deep) 72%,var(--accent)) 44%,color-mix(in srgb,var(--night-mid) 74%,var(--reward-mint-deep)) 78%,var(--night-deep) 100%);opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;overflow:hidden;transition:opacity .35s var(--ease),transform .35s var(--ease)}.reward-unlock.open{opacity:1;transform:none;pointer-events:auto}@media (min-width:520px){.reward-unlock{border-radius:var(--radius-xl)}}.reward-unlock-shell{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:inherit}.reward-unlock-content{position:relative;z-index:2;flex:1 1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:calc(env(safe-area-inset-top, 0px) + 56px) 24px 8px;text-align:center}.reward-unlock-eyebrow{height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;color:var(--reward-ink);background:var(--reward-chrome-bg);border:1px solid rgba(var(--fg-rgb),.22);border-radius:999px;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));font-family:var(--font);font-size:12px;font-weight:900;letter-spacing:.12em;line-height:1;text-transform:uppercase}.reward-unlock.open .reward-unlock-eyebrow{animation:rewardEyebrowIn .55s var(--ease-out-quart) .05s backwards}@keyframes rewardEyebrowIn{0%{opacity:0;transform:translateY(-12px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.reward-unlock-stage{position:relative;width:clamp(220px,58vw,300px);aspect-ratio:1;display:grid;place-items:center;margin:6px 0 4px}.reward-unlock-halo{position:absolute;inset:0;border-radius:50%;pointer-events:none}.reward-unlock-halo.h1{background:radial-gradient(circle,var(--reward-mint-glow) 0,transparent 64%);filter:blur(10px)}.reward-unlock-halo.h2{inset:8%;border:3px solid color-mix(in srgb,var(--reward-mint) 62%,transparent);background:radial-gradient(circle,rgba(255,206,61,.18),transparent 70%)}.reward-unlock-halo.h3{inset:23%;border:2px dashed rgba(var(--fg-rgb),.36)}.reward-unlock.open .reward-unlock-halo.h1{animation:rewardHaloPulse 2.6s ease-out .3s infinite backwards}.reward-unlock.open .reward-unlock-halo.h2{animation:rewardHaloIn .7s var(--ease-out-quart) .16s backwards,rewardHaloSpin 20s linear infinite .9s}.reward-unlock.open .reward-unlock-halo.h3{animation:rewardHaloIn .7s var(--ease-out-quart) .28s backwards,rewardHaloSpinReverse 28s linear infinite 1s}@keyframes rewardHaloPulse{0%{opacity:0;transform:scale(.72)}12%{opacity:.9}to{opacity:0;transform:scale(1.9)}}@keyframes rewardHaloIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes rewardHaloSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rewardHaloSpinReverse{0%{transform:rotate(1turn)}to{transform:rotate(0)}}.reward-unlock-medallion{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 30%,#ffffff 0,var(--reward-mint) 30%,var(--accent-amber) 70%,var(--accent) 100%);box-shadow:inset 0 -12px 24px rgba(84,72,42,.34),inset 0 10px 18px rgba(255,255,255,.54),0 14px 34px var(--reward-gold-glow)}.reward-unlock.open .reward-unlock-medallion{animation:rewardMedallionIn .65s var(--ease-out-quart) .12s backwards,rewardMedallionBreathe 3.2s ease-in-out infinite .85s}@keyframes rewardMedallionIn{0%{opacity:0;transform:scale(.18) rotate(-28deg)}60%{opacity:1;transform:scale(1.14) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes rewardMedallionBreathe{0%,to{filter:brightness(1) saturate(1);transform:scale(1)}50%{filter:brightness(1.12) saturate(1.12);transform:scale(1.03)}}.reward-unlock-item{position:relative;z-index:3;width:58%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(var(--bg-rgb),.4));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.reward-unlock.open .reward-unlock-item{animation:rewardItemIn .86s var(--ease-out-quart) .25s backwards,rewardItemBob 2.8s ease-in-out infinite 1.12s}@keyframes rewardItemIn{0%{opacity:0;transform:scale(.08) rotate(-28deg)}55%{opacity:1;transform:scale(1.24) rotate(12deg)}75%{transform:scale(.92) rotate(-4deg)}to{transform:scale(1) rotate(0)}}@keyframes rewardItemBob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(2deg)}}.reward-unlock-title{max-width:18ch;margin:4px 0 0;color:var(--reward-ink);font-family:var(--font);font-size:34px;font-weight:900;letter-spacing:0;line-height:1.04;text-shadow:0 4px 0 var(--reward-press-shadow)}.reward-unlock.open .reward-unlock-title{animation:rewardTitlePop .72s var(--ease-out-quart) .56s backwards}@keyframes rewardTitlePop{0%{opacity:0;transform:translateY(14px) scale(.6)}62%{opacity:1;transform:translateY(-2px) scale(1.1)}to{transform:translateY(0) scale(1)}}.reward-unlock-body{max-width:30ch;margin:0;color:var(--reward-ink);opacity:.86;font-family:var(--font);font-size:15px;font-weight:700;line-height:1.45;white-space:pre-line}.reward-unlock.open .reward-unlock-body{animation:rewardBodyIn .5s var(--ease-out-quint) .76s backwards}@keyframes rewardBodyIn{0%{opacity:0;transform:translateY(8px)}to{opacity:.86;transform:translateY(0)}}.reward-unlock-actions{position:relative;z-index:2;flex-shrink:0;display:flex;justify-content:center;width:100%;padding:0 24px calc(env(safe-area-inset-bottom, 0px) + 22px)}.reward-unlock-collect{width:100%;max-width:360px;height:54px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;color:var(--fg-on-accent);background:var(--accent);border:var(--border-width) solid var(--accent);border-radius:var(--btn-radius);box-shadow:0 var(--btn-3d-offset) 0 0 var(--accent-deep);cursor:pointer;font-family:var(--font);font-size:14px;font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase;transition:transform var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),filter var(--duration-fast) var(--ease)}.reward-unlock-collect:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 calc(var(--btn-3d-offset) + 1px) 0 0 var(--accent-deep)}.reward-unlock-collect:active:not(:disabled){transform:translateY(var(--btn-3d-press-travel));box-shadow:none}.reward-unlock-collect:focus-visible{outline:2px solid var(--accent-amber-glow);outline-offset:2px}.reward-unlock.open .reward-unlock-actions{animation:rewardActionsIn .55s var(--ease) .88s backwards}@keyframes rewardActionsIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reward-unlock-rays{position:absolute;inset:-20%;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,224,134,.58) 0deg,rgba(255,224,134,.58) 8deg,transparent 8deg,transparent 28deg);-webkit-mask-image:radial-gradient(circle at 50% 38%,transparent 14%,black 28%,black 60%,transparent 84%);mask-image:radial-gradient(circle at 50% 38%,transparent 14%,black 28%,black 60%,transparent 84%);opacity:0;transform-origin:50% 38%}.reward-unlock.open .reward-unlock-rays{animation:rewardRaysIn .9s var(--ease) backwards,rewardRaysSpin 30s linear infinite .9s}@keyframes rewardRaysIn{0%{opacity:0;transform:scale(.72) rotate(-12deg)}to{opacity:.62;transform:scale(1) rotate(0)}}@keyframes rewardRaysSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.reward-unlock-sparkle{position:absolute;z-index:1;width:22px;height:22px;color:var(--accent-amber-glow);filter:drop-shadow(0 0 8px var(--reward-gold-glow));opacity:0;pointer-events:none}.reward-unlock.open .reward-unlock-sparkle{animation:rewardSparkle 1.7s ease-in-out infinite}@keyframes rewardSparkle{0%,to{opacity:0;transform:scale(.4) rotate(0)}36%{opacity:1;transform:scale(1) rotate(70deg)}70%{opacity:.4;transform:scale(.7) rotate(140deg)}}.reward-unlock-sparkle.s1{top:12%;left:18%;animation-delay:.2s}.reward-unlock-sparkle.s2{top:10%;left:70%;width:18px;height:18px;animation-delay:.5s}.reward-unlock-sparkle.s3{top:24%;left:86%;width:14px;height:14px;animation-delay:.8s}.reward-unlock-sparkle.s4{top:32%;left:8%;width:16px;height:16px;animation-delay:1.05s;color:var(--reward-mint)}.reward-unlock-sparkle.s5{top:58%;left:14%;width:20px;height:20px;animation-delay:.42s}.reward-unlock-sparkle.s6{top:60%;left:82%;width:18px;height:18px;animation-delay:.68s;color:var(--reward-mint)}.reward-unlock-sparkle.s7{top:38%;left:50%;width:12px;height:12px;animation-delay:1.3s}.reward-unlock-sparkle.s8{top:8%;left:44%;width:16px;height:16px;animation-delay:.95s;color:var(--reward-mint)}.reward-unlock-sparkle.s9{top:50%;left:4%;width:14px;height:14px;animation-delay:1.5s}.reward-unlock-sparkle.s10{top:52%;left:92%;width:16px;height:16px;animation-delay:1.18s}.reward-unlock-confetti{position:absolute;z-index:1;top:-10%;left:var(--cf-left,50%);width:var(--cf-w,8px);height:var(--cf-h,16px);border-radius:2px;background:var(--accent-amber-glow);opacity:0;pointer-events:none;will-change:transform,opacity}.reward-unlock.open .reward-unlock-confetti{animation:rewardConfettiFall var(--cf-dur,2.8s) linear infinite}@keyframes rewardConfettiFall{0%{opacity:0;transform:translateY(-20vh) rotate(0)}8%{opacity:1}50%{transform:translate(var(--cf-sway,0),50vh) rotate(calc(var(--cf-rot, 2turn) * .5))}to{opacity:0;transform:translateY(120vh) rotate(var(--cf-rot,2turn))}}.reward-unlock-confetti.cf1{--cf-left:5%;--cf-sway:38px;--cf-rot:720deg;--cf-w:6px;--cf-h:12px;--cf-dur:3.3s;background:var(--reward-mint);animation-delay:.1s}.reward-unlock-confetti.cf2{--cf-left:12%;--cf-sway:-54px;--cf-rot:-540deg;--cf-w:9px;--cf-h:18px;--cf-dur:2.5s;background:var(--accent-amber);animation-delay:.4s}.reward-unlock-confetti.cf3{--cf-left:20%;--cf-sway:30px;--cf-rot:900deg;--cf-w:5px;--cf-h:9px;--cf-dur:4s;background:var(--accent-hot);animation-delay:.05s}.reward-unlock-confetti.cf4{--cf-left:28%;--cf-sway:-45px;--cf-rot:720deg;--cf-w:8px;--cf-h:22px;--cf-dur:2.9s;background:var(--reward-mint);animation-delay:.65s}.reward-unlock-confetti.cf5{--cf-left:36%;--cf-sway:70px;--cf-rot:-660deg;--cf-w:7px;--cf-h:14px;--cf-dur:3.2s;background:var(--accent-amber);animation-delay:.22s}.reward-unlock-confetti.cf6{--cf-left:44%;--cf-sway:-25px;--cf-rot:540deg;--cf-w:4px;--cf-h:8px;--cf-dur:4.4s;background:var(--reward-mint);animation-delay:.95s}.reward-unlock-confetti.cf7{--cf-left:52%;--cf-sway:55px;--cf-rot:-780deg;--cf-w:10px;--cf-h:20px;--cf-dur:2.4s;background:var(--accent-amber);animation-delay:.5s}.reward-unlock-confetti.cf8{--cf-left:60%;--cf-sway:-35px;--cf-rot:840deg;--cf-w:6px;--cf-h:11px;--cf-dur:3.6s;background:var(--reward-mint);animation-delay:.15s}.reward-unlock-confetti.cf9{--cf-left:68%;--cf-sway:20px;--cf-rot:-600deg;--cf-w:8px;--cf-h:24px;--cf-dur:2.7s;background:var(--accent-hot);animation-delay:1.2s}.reward-unlock-confetti.cf10{--cf-left:76%;--cf-sway:-50px;--cf-rot:720deg;--cf-w:5px;--cf-h:10px;--cf-dur:3.8s;background:var(--accent-amber);animation-delay:.3s}.reward-unlock-confetti.cf11{--cf-left:84%;--cf-sway:65px;--cf-rot:-540deg;--cf-w:7px;--cf-h:15px;--cf-dur:3s;background:var(--reward-mint);animation-delay:.78s}.reward-unlock-confetti.cf12{--cf-left:92%;--cf-sway:-30px;--cf-rot:960deg;--cf-w:4px;--cf-h:7px;--cf-dur:4.2s;background:var(--accent-hot);animation-delay:.55s}.reward-unlock-confetti.cf13{--cf-left:17%;--cf-sway:25px;--cf-rot:-720deg;--cf-w:9px;--cf-h:17px;--cf-dur:2.9s;background:var(--reward-mint);animation-delay:1.45s}.reward-unlock-confetti.cf14{--cf-left:82%;--cf-sway:-40px;--cf-rot:600deg;--cf-w:6px;--cf-h:13px;--cf-dur:3.3s;background:var(--accent-amber);animation-delay:1s}.reward-unlock-confetti.cf15{--cf-left:47%;--cf-sway:44px;--cf-rot:-860deg;--cf-w:8px;--cf-h:16px;--cf-dur:3.5s;background:var(--accent-amber-glow);animation-delay:1.15s}.reward-unlock-confetti.cf16{--cf-left:58%;--cf-sway:-62px;--cf-rot:760deg;--cf-w:5px;--cf-h:12px;--cf-dur:3.9s;background:var(--reward-mint);animation-delay:1.35s}.reward-unlock-burst{position:absolute;z-index:1;top:32%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--accent-amber-glow);opacity:0;pointer-events:none}.reward-unlock-burst.p-dot{width:6px;height:6px}.reward-unlock-burst.p-strip{width:4px;height:14px;border-radius:2px}.reward-unlock-burst.p-gold{background:var(--accent-amber)}.reward-unlock-burst.p-mint{background:var(--reward-mint);box-shadow:0 0 6px var(--reward-mint-glow)}.reward-unlock-burst.p-white{background:var(--star)}.reward-unlock.open .reward-unlock-burst{animation:rewardBurst 1.45s var(--ease-out-quart) backwards;animation-delay:var(--d,0s)}@keyframes rewardBurst{0%{opacity:0;transform:translate(0) rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--tx),var(--ty)) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.reward-unlock,.reward-unlock.open .reward-unlock-actions,.reward-unlock.open .reward-unlock-body,.reward-unlock.open .reward-unlock-burst,.reward-unlock.open .reward-unlock-confetti,.reward-unlock.open .reward-unlock-eyebrow,.reward-unlock.open .reward-unlock-halo.h1,.reward-unlock.open .reward-unlock-halo.h2,.reward-unlock.open .reward-unlock-halo.h3,.reward-unlock.open .reward-unlock-item,.reward-unlock.open .reward-unlock-medallion,.reward-unlock.open .reward-unlock-rays,.reward-unlock.open .reward-unlock-sparkle,.reward-unlock.open .reward-unlock-title{animation:none;transition:opacity .2s var(--ease)}.reward-unlock.open .reward-unlock-burst,.reward-unlock.open .reward-unlock-confetti,.reward-unlock.open .reward-unlock-sparkle{opacity:0}}.prep-modal{position:absolute;inset:0;z-index:calc(var(--z-modal) + 2);display:grid;place-items:center;padding:calc(env(safe-area-inset-top, 0px) + 24px) calc(env(safe-area-inset-right, 0px) + 24px) calc(env(safe-area-inset-bottom, 0px) + 24px) calc(env(safe-area-inset-left, 0px) + 24px);opacity:0;pointer-events:none;transition:opacity .28s var(--ease)}.prep-modal.open{opacity:1;pointer-events:auto}.prep-scrim{position:absolute;inset:0;padding:0;border:0;background:rgba(var(--night-deep-rgb),.72);cursor:pointer}.prep-card{position:relative;width:min(100%,420px);display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:30px 24px 24px;color:var(--surface-light-ink);background:var(--surface-light-card);border-radius:var(--radius-xl);box-shadow:0 18px 44px rgba(var(--night-deep-rgb),.46);font-family:var(--font);text-align:center;transform:translateY(12px) scale(.96);transition:transform .28s var(--ease)}.prep-modal.open .prep-card{transform:none}.prep-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;padding:0;color:var(--surface-light-ink-soft);background:rgba(var(--surface-light-ink-rgb),.08);border:var(--border-width-thin) solid rgba(var(--surface-light-ink-rgb),.16);border-radius:999px;cursor:pointer;font-family:var(--font);font-size:22px;font-weight:800;line-height:1;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.prep-close:hover{color:var(--surface-light-ink);background:rgba(var(--surface-light-ink-rgb),.16)}.prep-close:active{transform:translateY(1px)}.prep-close:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.prep-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:4px}.prep-title{margin:0 0 4px;font-size:22px;font-weight:800;color:var(--surface-light-ink);letter-spacing:-.01em}.prep-step-list{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-direction:column;gap:10px;text-align:left}.prep-step{display:flex;align-items:center;gap:14px;padding:12px 14px;background:rgba(var(--surface-light-ink-rgb),.05);border:var(--border-width-thin) solid rgba(var(--surface-light-ink-rgb),.1);border-radius:14px;font-size:16px;color:var(--surface-light-ink);transition:background var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.prep-step.current{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 44%,transparent)}.prep-step.done{color:var(--surface-light-ink-soft)}.prep-step.done .prep-step-name{text-decoration:line-through;-webkit-text-decoration-color:rgba(var(--surface-light-ink-rgb),.4);text-decoration-color:rgba(var(--surface-light-ink-rgb),.4)}.prep-step-index{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;font-size:14px;font-weight:800;color:var(--fg-on-accent);background:var(--accent);box-shadow:0 2px 0 0 var(--accent-deep)}.prep-step.done .prep-step-index{background:color-mix(in srgb,var(--accent) 40%,var(--surface-light-ink-soft));box-shadow:none}.prep-step-index svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.prep-step-name{flex:1 1 auto;font-weight:700;letter-spacing:-.005em}.prep-hint{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--surface-light-ink-soft);background:rgba(var(--surface-light-ink-rgb),.06);border-radius:10px}.prep-hint svg{width:16px;height:16px;fill:currentColor;flex:0 0 auto}.prep-error{margin-top:4px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--accent-hot,#d33);background:color-mix(in srgb,var(--accent-hot,#d33) 10%,transparent);border-radius:10px;text-align:left}.prep-cta{margin-top:8px;align-self:center}.adv-intro{position:absolute;inset:0;z-index:var(--z-sheet);background:var(--night-deep);color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden;border-radius:inherit;isolation:isolate}.adv-intro:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,3,20,.62),rgba(5,3,20,.18) 34%,rgba(5,3,20,.15) 58%,rgba(5,3,20,.7))}.adv-intro__camera{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);background:var(--night-deep)}.adv-intro__back{top:calc(var(--space-xl) + env(safe-area-inset-top, 0px));left:var(--space-xl);width:var(--tap);height:var(--tap);border-radius:var(--radius-full);background:var(--text);border:none;color:var(--night-deep);justify-content:center;cursor:pointer;box-shadow:0 3px 0 0 color-mix(in srgb,var(--night-deep) 18%,transparent);z-index:3}.adv-intro__back,.adv-intro__copy{position:absolute;display:flex;align-items:center}.adv-intro__copy{z-index:2;top:calc(env(safe-area-inset-top, 0px) + 116px);left:0;right:0;flex-direction:column;gap:var(--space-sm);padding:0 calc(env(safe-area-inset-right, 0px) + var(--space-xl)) 0 calc(env(safe-area-inset-left, 0px) + var(--space-xl));text-align:center;pointer-events:none}.adv-intro__title{font-size:clamp(28px,8vw,40px);font-weight:900;line-height:1.1;letter-spacing:var(--tracking-snug);color:var(--text)}.adv-intro__hint,.adv-intro__title{margin:0;font-family:var(--font);text-shadow:var(--text-backdrop-shadow)}.adv-intro__hint{font-size:var(--text-md);font-weight:800;color:color-mix(in srgb,var(--text) 86%,transparent);letter-spacing:var(--tracking-wide)}.adv-intro__reference{position:absolute;z-index:2;right:calc(env(safe-area-inset-right, 0px) + var(--space-lg));bottom:calc(env(safe-area-inset-bottom, 0px) + var(--space-lg));width:min(42vw,184px);aspect-ratio:1/1.18;border-radius:28px;overflow:hidden;background:rgba(var(--fg-rgb),.08);border:1px solid rgba(var(--fg-rgb),.28);box-shadow:0 18px 38px rgba(0,0,0,.34);pointer-events:none}.adv-intro.has-skip .adv-intro__reference{bottom:calc(env(safe-area-inset-bottom, 0px) + 92px)}.adv-intro__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9;pointer-events:none}.adv-intro__skip{position:absolute;left:max(var(--space-lg),env(safe-area-inset-left,0px));right:max(var(--space-lg),env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom, 0px) + var(--space-lg));z-index:3;display:flex;justify-content:center}.adv-intro__skip .btn-start{width:min(100%,360px)}