.achievements-hub-page{min-height:var(--app-dvh);padding-bottom:2rem}.achievements-hub{max-width:540px;margin:0 auto;padding:1.5rem 1rem}.achievements-hub-header{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:.5rem;margin-bottom:1.5rem}.achievements-hub-back{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--color-charcoal);text-decoration:none;background:none;padding:0;border:none;border-radius:50%;flex-shrink:0;transition:background var(--duration-fast) var(--ease-default)}.achievements-hub-back:hover{background:var(--app-fill-pressed)}.achievements-hub-title{font-size:1.5rem;font-weight:600;color:var(--app-text-1);margin:0;text-align:center}.achievements-hub-header-spacer{display:block;width:48px;height:48px}.achievements-hub-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--color-stone-200);margin-bottom:1.5rem}.achievements-hub-tab{flex:1 1 0;min-width:0;background:none;border:none;border-bottom:2px solid transparent;padding:.75rem .5rem;font-size:1rem;color:var(--app-text-2);cursor:pointer;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:380px){.achievements-hub-tab{padding:.625rem .25rem;font-size:.9375rem}}.achievements-hub-tab.is-active{color:var(--app-text-1);border-bottom-color:var(--color-ink-600,var(--app-text-1))}.achievements-hub-body{min-height:200px}.achievements-hub-error,.achievements-hub-loading{text-align:center;color:var(--app-text-2);padding:2rem 0}.tasks-tab-section{margin-bottom:2.5rem}.tasks-tab-eyebrow,.tasks-tab-section-header{font-size:.75rem;color:var(--app-text-2);margin:0 0 .875rem;font-weight:600}.tasks-tab-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.tasks-tab-item{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--app-surface);border-radius:1.5rem;transition:box-shadow .18s,transform .18s,background .18s}.tasks-tab-item,.tasks-tab-item:hover{background:var(--app-surface);box-shadow:none}.tasks-tab-item:active{transform:scale(.99)}.tasks-tab-item:focus-within{outline:2px solid var(--app-text-1);outline-offset:2px}.tasks-tab-item.is-completed{opacity:.55;pointer-events:none}.tasks-tab-item-link{display:block;padding:1.5rem;text-decoration:none;color:inherit;min-height:48px}.tasks-tab-item-link:focus{outline:none}.tasks-tab-item-title{font-size:1.125rem;font-weight:600;color:var(--app-text-1);margin-bottom:.375rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tasks-tab-item-check{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .5rem;background:rgba(34,139,102,.12);color:rgb(34,139,102);border-radius:999px;font-size:.875rem;font-weight:700}.tasks-tab-item-body{font-size:.9375rem;color:var(--app-text-2);line-height:1.6}.tasks-tab-item-reward{font-size:.75rem;color:var(--color-ink-600,var(--app-text-2));margin-top:.625rem;font-style:italic;letter-spacing:.02em}.tasks-tab-empty{text-align:center;color:var(--app-text-2);padding:2rem 0}.tasks-tab-celebration{background:linear-gradient(135deg,rgba(255,251,240,.92),rgba(245,239,224,.85));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--app-surface);border-radius:1.75rem;padding:2rem 1.75rem;margin-bottom:2.5rem;text-align:center;box-shadow:none}.tasks-tab-celebration-eyebrow{font-size:.75rem;color:var(--app-text-2);margin-bottom:1rem;font-weight:600}.tasks-tab-celebration-checkmark{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:rgba(34,139,102,.14);color:rgb(34,139,102);border-radius:999px;font-size:1.75rem;font-weight:700;margin-bottom:1rem}.tasks-tab-celebration-headline{font-size:1.5rem;font-weight:600;color:var(--app-text-1);margin:0 0 .5rem;line-height:1.3}.tasks-tab-celebration-body{font-size:1rem;color:var(--app-text-2);line-height:1.6;max-width:28ch;margin:0 auto}.milestone-card-list{display:flex;flex-direction:column;gap:1rem}.milestone-card{display:block;text-decoration:none;color:inherit;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--app-surface);border-radius:1.5rem;padding:1.5rem;transition:box-shadow .18s,transform .18s,background .18s}.milestone-card,.milestone-card:hover{background:var(--app-surface);box-shadow:none}.milestone-card:active{transform:scale(.99)}.milestone-card:focus-visible{outline:2px solid var(--app-text-1);outline-offset:2px}.milestone-card.is-earned{background:linear-gradient(135deg,var(--app-surface),var(--app-fill-pressed));box-shadow:none}.milestone-card.is-auto-tracked{cursor:default;opacity:.78;background:var(--app-surface)}.milestone-card.is-auto-tracked:hover{box-shadow:none;background:var(--app-surface)}.milestone-card.is-auto-tracked:active{transform:none}.milestone-card-grid{display:grid;grid-template-columns:56px 1fr;gap:1rem;align-items:start}.milestone-card-icon-block{position:relative;width:56px;height:56px;border-radius:12px;background:rgba(34,139,102,.1);color:rgb(34,139,102);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:var(--space-1)}.milestone-card-icon-block.is-earned{background:linear-gradient(135deg,rgba(34,139,102,.22),rgba(34,139,102,.1))}.milestone-card-icon-check{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;border-radius:999px;background:rgb(34,139,102);color:white;font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--app-surface)}.milestone-card-text-stack{display:flex;flex-direction:column;min-width:0}.milestone-card-text-stack>*+*{margin-top:6px}.milestone-card-text-stack>.milestone-card-reward-label{margin-top:2px}.milestone-card-title{font-size:1.25rem;font-weight:600;color:var(--app-text-1);margin:0;line-height:1.25;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.milestone-card-reward-label{font-size:.875rem;color:var(--app-text-2);line-height:1.3;overflow:hidden}.milestone-card.is-earned .milestone-card-reward-label{color:rgb(34,139,102);font-weight:500}.milestone-card-unlock-line{display:flex;align-items:flex-start;gap:.375rem;font-size:.8125rem;color:var(--app-text-2);line-height:1.3}.milestone-card-unlock-line>span:first-child{display:inline-flex;align-items:center;flex-shrink:0;color:var(--app-text-2)}.milestone-card-tap-to-view{font-size:.8125rem;color:rgb(34,139,102);line-height:1.3}@media (max-width:380px){.milestone-card{padding:1.25rem 1rem}.milestone-card-grid{grid-template-columns:48px 1fr;gap:.75rem}.milestone-card-icon-block{width:48px;height:48px}.milestone-card-title{font-size:1.0625rem}.milestone-card-reward-label{font-size:.8125rem}.milestone-card-unlock-line{font-size:.75rem}}.unlock-celebration-overlay{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:unlockCelebrationFadeIn .22s ease-out}@keyframes unlockCelebrationFadeIn{0%{opacity:0}to{opacity:1}}.unlock-celebration-card{background:linear-gradient(135deg,rgba(255,251,240,.98),rgba(245,235,215,.95));border-radius:1.5rem;padding:2rem 1.75rem;max-width:360px;width:100%;box-shadow:0 12px 48px rgba(0,0,0,.15);display:flex;flex-direction:column;align-items:center;text-align:center;animation:unlockCelebrationCardFadeIn .32s ease-out}@keyframes unlockCelebrationCardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.unlock-celebration-eyebrow-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.unlock-celebration-marker{display:inline-flex;align-items:center;color:rgb(34,139,102)}.unlock-celebration-eyebrow{font-size:.75rem;font-weight:600;color:var(--app-text-2)}.unlock-celebration-icon-large{margin-bottom:1.25rem;transform:scale(1.7);transform-origin:center;display:inline-block}.unlock-celebration-headline{font-size:1.5rem;font-weight:600;color:var(--app-text-1);line-height:1.2;margin:0 0 .5rem;letter-spacing:-.01em}.unlock-celebration-reward-label{font-size:1rem;color:rgb(34,139,102);font-weight:500;margin-bottom:1.75rem;letter-spacing:.01em}.unlock-celebration-actions{display:flex;flex-direction:column;gap:.625rem;width:100%}.unlock-celebration-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.875rem 1.25rem;border-radius:999px;background:var(--app-text-1);color:white;font-weight:600;font-size:1rem;text-decoration:none;letter-spacing:.02em;transition:opacity .15s,transform .15s}.unlock-celebration-cta:hover{opacity:.92}.unlock-celebration-cta:active{transform:scale(.98)}.unlock-celebration-close{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:.625rem 1.25rem;border-radius:999px;background:transparent;color:var(--app-text-2);border:1.5px solid var(--color-stone-200,rgba(0,0,0,.12));font-weight:500;font-size:.9375rem;cursor:pointer;transition:background .15s}.unlock-celebration-close:hover{background:var(--app-fill-pressed)}@media (max-width:380px){.unlock-celebration-card{padding:1.5rem 1.25rem}.unlock-celebration-headline{font-size:1.3125rem}.unlock-celebration-icon-large{transform:scale(1.5)}}.vouchers-tab-item.is-highlighted{animation:vouchersTabHighlight 1.5s ease-out}@keyframes vouchersTabHighlight{0%{box-shadow:0 0 0 0 rgba(34,139,102,0);outline:2px solid rgba(34,139,102,0)}20%{box-shadow:0 0 0 6px rgba(34,139,102,.18);outline:2px solid rgba(34,139,102,.6)}to{box-shadow:none;outline:2px solid rgba(34,139,102,0)}}.streak-tab-section{margin-bottom:2.5rem}.streak-tab-eyebrow,.streak-tab-section-header{font-size:.75rem;color:var(--app-text-2);margin:0 0 1rem;font-weight:600}.streak-tab-empty{color:var(--app-text-2);margin:0}.streak-tab-weekly-summary{font-size:1rem;color:var(--app-text-1);margin:1rem 0 0;line-height:1.5}.streak-tab-path{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem 0}.streak-tab-path-dot{flex:1 1 auto;height:1.25rem;width:1.25rem;max-width:1.5rem;border-radius:999px;background:var(--color-stone-200,var(--app-fill-pressed));border:1px solid var(--color-stone-200,var(--app-fill-pressed));transition:background .25s ease,transform .2s ease}.streak-tab-path-dot.is-completed{background:rgb(34,139,102);border-color:rgb(34,139,102);transform:scale(1.05)}.streak-tab-path-dot.is-target-mark{border-color:rgba(34,139,102,.45);border-style:dashed;background:transparent}.streak-tab-timeline{display:flex;flex-direction:column;gap:1rem}.streak-tab-timeline-nodes{list-style:none;padding:0;margin:0;display:flex;align-items:stretch;justify-content:space-between;gap:0}.streak-tab-timeline-node{display:flex;flex-direction:column;align-items:center;flex:1 1 0;position:relative;padding-top:.25rem;text-align:center}.streak-tab-timeline-line{position:absolute;top:calc(.25rem + .625rem);left:-50%;width:100%;height:2px;background:var(--color-stone-200,var(--app-fill-pressed));z-index:0}.streak-tab-timeline-line.is-filled{background:rgb(34,139,102)}.streak-tab-timeline-dot{position:relative;z-index:1;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--color-stone-200,var(--app-fill-pressed));border:2px solid white;transition:background .25s ease,transform .2s ease}.streak-tab-timeline-node.is-reached .streak-tab-timeline-dot{background:rgb(34,139,102)}.streak-tab-timeline-node.is-next .streak-tab-timeline-dot{background:white;border-color:rgb(34,139,102);box-shadow:none;transform:scale(1.1)}.streak-tab-timeline-label{font-size:.75rem;color:var(--app-text-2);margin-top:.625rem;letter-spacing:.02em;line-height:1.3}.streak-tab-timeline-node.is-next .streak-tab-timeline-label,.streak-tab-timeline-node.is-reached .streak-tab-timeline-label{color:var(--app-text-1);font-weight:500}.streak-tab-timeline-caption{margin:.5rem 0 0;display:flex;flex-direction:column;gap:.25rem;text-align:center}.streak-tab-timeline-caption-eyebrow{font-size:.6875rem;color:var(--app-text-2);font-weight:600}.streak-tab-timeline-caption-body{font-size:.9375rem;color:var(--app-text-1);line-height:1.5}.vouchers-tab-section{margin-bottom:2.5rem}.vouchers-tab-eyebrow,.vouchers-tab-header{font-size:.75rem;color:var(--app-text-2);margin:0 0 1rem;font-weight:600}.vouchers-tab-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.vouchers-tab-item{background:var(--app-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--app-surface);border-radius:1.5rem;padding:1.75rem 1.5rem;box-shadow:none}.vouchers-tab-item.is-active{background:linear-gradient(135deg,var(--app-surface),var(--app-fill-pressed));box-shadow:none}.vouchers-tab-item.is-redeemed{opacity:.55}.vouchers-tab-item.is-expired,.vouchers-tab-item.is-revoked{opacity:.4}.vouchers-tab-expiry-chip{display:inline-block;font-size:.8125rem;font-weight:600;color:var(--app-text-1);background:rgba(220,130,60,.18);padding:.25rem .625rem;border-radius:var(--radius-pill);margin-bottom:.625rem}.vouchers-tab-headline{font-size:1.25rem;font-weight:600;color:var(--app-text-1);margin-bottom:.5rem;line-height:1.3;letter-spacing:-.005em}.vouchers-tab-show-hint{font-size:1rem;color:var(--app-text-1);margin:0 0 1rem;font-weight:600;line-height:1.4}.vouchers-tab-code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:2rem;font-weight:700;letter-spacing:.18em;color:var(--app-text-1);margin:0 0 1rem;text-align:center;padding:.5rem 0}.vouchers-tab-copy-btn{width:100%;min-height:48px;background:var(--app-text-1);color:white;border:none;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;letter-spacing:.02em;transition:background .15s,transform .15s}.vouchers-tab-copy-btn:hover{background:var(--color-ink-600,var(--app-text-1))}.vouchers-tab-copy-btn:active{transform:scale(.98)}.vouchers-tab-copy-btn:focus-visible{outline:2px solid var(--app-text-1);outline-offset:2px}.vouchers-tab-item.is-expired .vouchers-tab-copy-btn,.vouchers-tab-item.is-redeemed .vouchers-tab-copy-btn,.vouchers-tab-item.is-revoked .vouchers-tab-copy-btn{display:none}.vouchers-tab-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--app-text-2);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--app-hairline)}.vouchers-tab-status{font-weight:600;color:var(--app-text-1)}.vouchers-tab-earned,.vouchers-tab-expires{font-weight:500}.vouchers-tab-empty{text-align:center;color:var(--app-text-2);padding:2rem 0}@media (max-width:380px){.vouchers-tab-item{padding:1.25rem 1rem}.vouchers-tab-code{font-size:1.6rem;letter-spacing:.14em}.vouchers-tab-meta{flex-direction:column;gap:.25rem}}.achievements-hub-page{background:var(--app-surface);--color-charcoal:var(--app-text-1);--color-warm-text:var(--app-text-1);--color-stone:var(--app-text-2);--color-ink:var(--app-text-1);--color-ink-600:var(--app-text-2);--color-stone-200:var(--app-hairline-strong);--color-bone:var(--app-surface)}.achievements-hub-page .achievements-hub-back{color:var(--app-text-1)}.achievements-hub-page .achievements-hub-back:hover{background:var(--app-fill-pressed)}.achievements-hub-page .milestone-card,.achievements-hub-page .tasks-tab-item{background:var(--app-surface);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--app-hairline);box-shadow:none}.achievements-hub-page .milestone-card:hover,.achievements-hub-page .tasks-tab-item:hover{background:var(--app-fill-pressed);box-shadow:none}.achievements-hub-page .milestone-card:focus-visible,.achievements-hub-page .tasks-tab-item:focus-within{outline-color:var(--app-text-1)}.achievements-hub-page .milestone-card.is-earned,.achievements-hub-page .unlock-celebration-card{background:var(--app-fill-pressed)}.achievements-hub-page .milestone-card.is-auto-tracked,.achievements-hub-page .milestone-card.is-auto-tracked:hover{background:var(--achievements-autotrack-bg)}.achievements-hub-page .streak-tab-path-dot,.achievements-hub-page .streak-tab-timeline-dot,.achievements-hub-page .streak-tab-timeline-line{background:var(--app-hairline-strong);border-color:var(--app-hairline-strong)}.achievements-hub-page .streak-tab-path-dot.is-completed,.achievements-hub-page .streak-tab-timeline-line.is-filled,.achievements-hub-page .streak-tab-timeline-node.is-reached .streak-tab-timeline-dot{background:rgb(34,139,102)}.achievements-hub-page .milestone-card-tap-to-view,.achievements-hub-page .milestone-card.is-earned .milestone-card-reward-label,.achievements-hub-page .tasks-tab-item-check,.achievements-hub-page .unlock-celebration-marker{color:var(--achievements-green-text)}.achievements-hub-page .tasks-tab-celebration{background:var(--achievements-accent-gradient)}.achievements-hub-page .unlock-celebration-cta,.achievements-hub-page .vouchers-tab-copy-btn{background:var(--app-btn-chrome);color:var(--app-text-1)}.events-shell{padding-bottom:var(--space-8)}.calendar-tab-bar{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--color-paper)}.calendar-tab-pill{flex:1;padding:var(--space-2) 0;border:none;border-radius:var(--radius-full);font-size:var(--text-label);font-weight:500;color:var(--color-stone);background:transparent;cursor:pointer;transition:all .15s ease-out}.calendar-tab-pill:hover{background:var(--color-hover-bg)}.calendar-tab-active{background:var(--color-btn-primary);color:var(--color-btn-primary-text)}.calendar-tab-active:hover{background:var(--color-btn-primary-hover)}.events-header{padding:var(--space-5) var(--space-4) var(--space-3)}.events-eyebrow{font-size:var(--text-eyebrow);text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--color-stone);margin:0}.events-title{font-size:var(--text-2xl);color:var(--color-charcoal);margin:var(--space-1) 0 var(--space-2);font-weight:600}.events-sub{font-size:var(--text-sm);color:var(--color-stone);margin:0}.events-main{padding:0 var(--space-4)}.events-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.event-card{display:block;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-paper);overflow:hidden;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.event-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.event-card:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.event-card-media{position:relative;height:140px;background:var(--color-parchment)}.event-card-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-card-cover-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-parchment),var(--color-border))}.event-card-theme-badge{position:absolute;top:var(--space-2);left:var(--space-2);background:var(--color-paper);color:var(--color-forest);font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-pill);font-weight:500}.event-card-body{padding:var(--space-3) var(--space-4) var(--space-4)}.event-card-title{font-size:var(--text-lg);color:var(--color-charcoal);margin:0 0 var(--space-1);font-weight:600}.event-card-meta{margin:0 0 var(--space-1)}.event-card-dj,.event-card-meta{font-size:var(--text-sm);color:var(--color-stone)}.event-card-dj{margin:0}.event-card-rsvp{display:inline-block;margin-top:var(--space-2);padding:2px var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);font-weight:500}.event-card-rsvp--going{background:color-mix(in srgb,var(--color-forest) 15%,transparent);color:var(--color-forest)}.event-card-rsvp--waitlist{background:color-mix(in srgb,var(--color-stone) 15%,transparent);color:var(--color-stone)}.event-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);gap:var(--space-2)}.event-card-social{font-size:var(--text-xs);color:var(--color-stone);font-weight:500}.event-card-rsvp-btn{background:var(--color-btn-primary);color:var(--color-btn-primary-text);border:none;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);font-size:var(--text-sm);font-weight:600;cursor:pointer;min-height:48px;transition:background var(--duration-fast) var(--ease-default)}.event-card-rsvp-btn:hover{background:var(--color-btn-primary-hover)}.event-card-rsvp-btn:disabled{opacity:.6;cursor:not-allowed}.event-card-rsvp-btn--going{background:color-mix(in srgb,var(--color-btn-primary) 15%,white);color:var(--color-btn-primary);border:1px solid var(--color-btn-primary)}.event-card-rsvp-btn--going:hover{background:color-mix(in srgb,var(--color-btn-primary) 25%,white)}.event-card-rsvp-btn--waitlist{background:color-mix(in srgb,var(--color-stone) 10%,white);color:var(--color-stone);border:1px solid var(--color-border)}.event-card-undo{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-forest) 8%,white);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-charcoal)}.event-card-undo-btn{background:none;border:none;color:var(--color-btn-primary);font-weight:600;cursor:pointer;font-size:var(--text-xs)}.events-list-empty,.events-list-error{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-stone)}.events-list-empty-title{font-size:var(--text-base);color:var(--color-charcoal);margin:0 0 var(--space-1)}.events-list-empty-sub{font-size:var(--text-sm);margin:0}.events-list-retry{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-paper);border-radius:var(--radius-pill);font-size:var(--text-body);cursor:pointer}.event-detail-shell{padding-bottom:var(--space-8)}.event-detail-header{padding:var(--space-4)}.event-detail-back{font-size:var(--text-sm);color:var(--color-btn-primary);text-decoration:none}.event-detail-main{padding:0 var(--space-4)}.event-detail-cover{width:100%;height:180px;background:var(--color-parchment);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-4)}.event-detail-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.event-detail-cover-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-parchment),var(--color-border))}.event-detail-title{font-size:var(--text-2xl);color:var(--color-charcoal);margin:0 0 var(--space-1);font-weight:600}.event-detail-dj{font-size:var(--text-sm);color:var(--color-stone);margin:0 0 var(--space-3)}.event-detail-meta,.event-detail-venue{font-size:var(--text-sm);color:var(--color-charcoal);margin:0 0 var(--space-2)}.event-detail-venue a{color:var(--color-btn-primary);text-decoration:none}.event-detail-description{font-size:var(--text-base);color:var(--color-charcoal);line-height:1.6;margin:var(--space-4) 0}.event-detail-capacity-warning{background:color-mix(in srgb,var(--color-stone) 10%,transparent);color:var(--color-stone);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:0 0 var(--space-3)}.event-detail-error{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-stone)}.event-detail-retry{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-paper);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer}.event-detail-cta{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.event-detail-cancel,.event-detail-rsvp{display:block;width:100%;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;cursor:pointer;border:1px solid var(--color-border)}.event-detail-rsvp{background:var(--color-btn-primary);color:var(--color-paper);border-color:var(--color-btn-primary)}.event-detail-cancel:disabled,.event-detail-rsvp:disabled{opacity:.6;cursor:wait}.event-detail-cancel{background:var(--color-paper);color:var(--color-charcoal)}.event-detail-status-badge{text-align:center;padding:var(--space-2);background:color-mix(in srgb,var(--color-forest) 12%,transparent);color:var(--color-btn-primary);border-radius:var(--radius-md);font-weight:500}.event-detail-toast{position:fixed;bottom:calc(var(--space-8) + 60px);left:50%;transform:translateX(-50%);background:var(--color-charcoal);color:var(--color-paper);padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-sm);box-shadow:0 4px 16px rgba(0,0,0,.2);animation:event-detail-toast-in var(--duration-base) var(--ease-default);z-index:100}@keyframes event-detail-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.event-detail-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.event-detail-modal-actions button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-paper);font-size:var(--text-sm);cursor:pointer}.event-detail-rsvp-confirm{background:var(--color-btn-primary)!important;color:var(--color-paper)!important;border-color:var(--color-btn-primary)!important}.event-detail-cancel-confirm{background:color-mix(in srgb,var(--color-danger) 90%,black)!important;color:var(--color-paper)!important;border-color:transparent!important}.upcoming-event-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;background:var(--color-paper);border:1px solid var(--color-border);border-left:3px solid var(--color-forest);border-radius:var(--radius-md);text-decoration:none;color:var(--color-charcoal);transition:transform var(--duration-fast) var(--ease-default)}.upcoming-event-card:hover{transform:translateY(-1px)}.upcoming-event-card:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.upcoming-event-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-btn-primary);font-weight:500}.upcoming-event-title{font-size:var(--text-base);font-weight:600}.upcoming-event-meta{font-size:var(--text-sm);color:var(--color-stone)}@media (prefers-reduced-motion:reduce){.event-card,.event-detail-toast,.upcoming-event-card{transition:none;animation:none}}.family-shell{padding-bottom:var(--space-8)}.family-header{padding:var(--space-5) var(--space-4) var(--space-3)}.family-eyebrow{font-size:var(--text-xs);color:var(--color-stone);margin:0}.family-title{font-size:var(--text-2xl);color:var(--color-charcoal);margin:var(--space-1) 0 var(--space-2);font-weight:600}.family-sub{font-size:var(--text-sm);color:var(--color-stone);margin:0}.family-main{padding:0 var(--space-4)}.caregiver-overview{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.caregiver-member-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px;text-decoration:none;color:var(--color-charcoal);transition:transform var(--duration-fast) var(--ease-default)}.caregiver-member-card:hover{transform:translateY(-1px)}.caregiver-member-card:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.caregiver-member-card--stale{border-left:3px solid #e0a94b}.caregiver-member-body{flex:1;min-width:0}.caregiver-member-name{font-size:var(--text-base);font-weight:600;margin:0 0 2px}.caregiver-member-meta{font-size:var(--text-sm);color:var(--color-stone);margin:0}.caregiver-member-stale{font-size:var(--text-xs);color:var(--family-stale-text);margin:var(--space-1) 0 0}.caregiver-member-arrow{font-size:var(--text-xl);color:var(--color-stone);flex-shrink:0}.caregiver-overview-empty,.caregiver-overview-error{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-stone)}.caregiver-overview-empty-title{font-size:var(--text-base);color:var(--color-charcoal);margin:0 0 var(--space-1)}.caregiver-overview-empty-sub{font-size:var(--text-sm);margin:0}.caregiver-overview-retry{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);background:var(--color-paper);border-radius:8px;font-size:var(--text-sm);cursor:pointer}.member-detail-shell{padding-bottom:var(--space-8)}.member-detail-page-header{padding:var(--space-4)}.member-detail-back{font-size:var(--text-sm);color:var(--color-btn-primary);text-decoration:none}.member-detail-main{padding:0 var(--space-4)}.member-detail{display:flex;flex-direction:column;gap:var(--space-5)}.member-detail-header{display:flex;align-items:center;gap:var(--space-3)}.member-detail-name{font-size:var(--text-2xl);color:var(--color-charcoal);margin:0;font-weight:600}.member-detail-meta{font-size:var(--text-sm);color:var(--color-stone);margin:var(--space-1) 0 0}.member-detail-section{padding:var(--space-4);background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px}.member-detail-section-title{font-size:var(--text-base);color:var(--color-charcoal);margin:0 0 var(--space-3);font-weight:600}.member-detail-empty{font-size:var(--text-sm);color:var(--color-stone);margin:0}.member-detail-session-list,.member-detail-share-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.member-detail-session-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-charcoal)}.member-detail-session-row:last-child{border-bottom:none}.member-detail-session-type{color:var(--color-stone);text-transform:capitalize}.member-detail-share-row{padding:var(--space-3);border:1px solid var(--color-border);border-left:3px solid var(--color-forest);border-radius:8px;background:var(--color-parchment)}.member-detail-share-purpose{font-weight:600;margin-bottom:2px}.member-detail-share-purpose,.member-detail-share-recipients{font-size:var(--text-sm);color:var(--color-charcoal)}.member-detail-share-meta{font-size:var(--text-xs);color:var(--color-stone);margin-top:2px}.member-detail-error{padding:var(--space-4);text-align:center;color:var(--color-stone)}.dash-family-header-actions{display:flex;gap:var(--space-3);align-items:center}.dash-family-view-all{font-size:var(--text-sm);color:var(--color-btn-primary);text-decoration:none}@media (prefers-reduced-motion:reduce){.caregiver-member-card{transition:none}}.reminders-settings-shell{padding-bottom:var(--space-8)}.reminders-settings-header{padding:var(--space-5) var(--space-4) var(--space-3)}.reminders-settings-back{font-size:var(--text-sm);color:var(--color-btn-primary);text-decoration:none}.reminders-settings-title{font-size:var(--text-2xl);color:var(--color-charcoal);margin:var(--space-2) 0 var(--space-1);font-weight:600}.reminders-settings-sub{font-size:var(--text-sm);color:var(--color-stone);margin:0}.reminders-settings-main{padding:0 var(--space-4)}.reminders-settings{display:flex;flex-direction:column;margin-top:var(--space-2)}.reminders-settings-section{padding:var(--space-5) 0;border-bottom:1px solid var(--app-hairline)}.reminders-settings-section:last-of-type{border-bottom:none}.reminders-settings-section-title{font-size:var(--text-base);color:var(--color-charcoal);margin:0 0 var(--space-3);font-weight:600}.reminders-settings-preview{padding:var(--space-4);background:var(--app-surface);border:1px solid var(--app-hairline-strong);border-radius:var(--radius-md)}.reminders-settings-preview-body{font-size:var(--text-base);color:var(--color-charcoal);margin:0 0 var(--space-2)}.reminders-settings-preview-meta{font-size:var(--text-xs);color:var(--color-stone);margin:0}.reminders-settings-preview-kind{text-transform:capitalize;color:var(--color-charcoal)}.reminders-settings-empty{font-size:var(--text-sm);color:var(--color-stone);margin:0}.reminders-settings-daily-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.reminders-settings-daily-desc{font-size:var(--text-sm);color:var(--color-charcoal);margin:0;flex:1}.reminders-settings-snooze-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.reminders-settings-snooze-btn{padding:var(--space-2) var(--space-4);background:var(--app-surface);border:1px solid var(--app-hairline-strong);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-charcoal);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.reminders-settings-snooze-btn:hover{background:var(--color-parchment)}.reminders-settings-snooze-btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.reminders-settings-snooze-active{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.reminders-settings-snooze-active p{margin:0;font-size:var(--text-sm);color:var(--color-charcoal)}.reminders-settings-mute-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.reminders-settings-mute-row label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-charcoal);cursor:pointer}.reminders-settings-mute-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-btn-primary)}.reminders-settings-mute-note{font-size:var(--text-xs);color:var(--color-stone);margin:var(--space-3) 0 0}.session-complete-container{max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-4)}.session-complete-metrics{display:flex;gap:var(--space-2);margin-bottom:var(--space-5)}.session-complete-pill{flex:1;text-align:center;padding:var(--space-3) var(--space-2);border-radius:var(--radius-xl);background:var(--color-glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-glass-border)}.session-complete-pill-value{font-size:1.25rem;font-weight:700;color:var(--color-charcoal)}.session-complete-pill-label{font-size:var(--text-caption);color:var(--color-stone);margin-top:2px}.session-complete-pill-hint{font-size:.6875rem;color:var(--color-stone);margin-top:var(--space-1);line-height:var(--leading-snug)}.session-complete-actions{display:flex;flex-direction:column;gap:var(--space-3)}.context-flags-container{max-width:480px;margin:0 auto;padding:var(--space-6) var(--space-4)}.context-flags-title{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:1.5rem;font-weight:400;color:var(--color-warm-text)}.context-flags-body{margin:0 0 var(--space-5);font-size:1rem;color:var(--color-stone);line-height:var(--leading-normal)}.context-flags-hint{font-size:var(--text-body);color:var(--color-stone);text-align:center;margin:0 0 var(--space-4)}.context-flag-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-btn-primary-text);cursor:pointer;margin-bottom:var(--space-3);text-align:left;transition:border-color var(--duration-fast),background var(--duration-fast);min-height:48px}.context-flag-btn[data-active=true]{border-color:var(--color-btn-primary);background:var(--color-success-bg)}.context-flag-label{font-size:1rem;font-weight:500;color:var(--color-charcoal);line-height:var(--leading-snug)}.context-flag-desc{font-size:var(--text-body);color:var(--color-stone);margin-top:2px}.context-flags-more-toggle{background:none;border:none;color:var(--color-btn-primary);font-size:var(--text-body);font-weight:500;cursor:pointer;padding:var(--space-2) 0;margin-bottom:var(--space-3)}.context-flags-more-toggle:hover{text-decoration:underline}.countdown-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-overlay);z-index:var(--z-overlay)}.countdown-number{font-size:6rem;font-weight:700;color:var(--color-btn-primary-text);animation:countdown-pop var(--duration-base) var(--ease-default)}.countdown-text{font-size:1.25rem;color:rgba(255,255,255,.65);margin-top:var(--space-4)}@keyframes countdown-pop{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}.session-page{min-height:100vh;background:var(--color-paper)}.session-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);height:52px;background:var(--color-dark-header)}.session-header-back{color:var(--color-stone);text-decoration:none;font-size:var(--text-body)}.session-header-title{font-size:1.0625rem;font-weight:600;color:var(--color-btn-primary-text)}.session-header-spacer{width:48px}.session-error-container{max-width:440px;margin:80px auto;padding:var(--space-8) var(--space-6);text-align:center}.session-error-title{font-size:1.25rem;font-weight:600;color:var(--color-charcoal);margin:0 0 var(--space-2)}.session-error-body{font-size:var(--text-body);color:var(--color-stone);margin:0 0 var(--space-2);line-height:var(--leading-normal)}.session-error-hint{font-size:var(--text-caption);color:var(--color-stone);margin:0 0 var(--space-5)}.session-error-actions{display:flex;gap:var(--space-3);justify-content:center}.session-uploading{text-align:center;padding:var(--space-8) 0}.session-uploading-text{font-size:1.0625rem;color:var(--color-stone);margin:var(--space-4) 0 0}.session-status-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-5);font-size:var(--text-body)}.session-status-banner[data-tone=success]{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-dark)}.session-status-banner[data-tone=error]{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.metrics-summary-wrapper{margin-bottom:var(--space-4)}.metric-bar{margin-bottom:var(--space-3)}.metric-bar-header{display:flex;justify-content:space-between;margin-bottom:var(--space-1)}.metric-bar-label{font-size:var(--text-body);color:var(--color-charcoal)}.metric-bar-value{font-size:var(--text-body);font-weight:600}.metric-bar-track{height:4px;border-radius:var(--radius-hair);background:var(--color-parchment)}.metric-bar-fill{height:100%;border-radius:var(--radius-hair);transition:width .3s}.metric-duration-row{display:flex;justify-content:space-between;margin-top:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.metric-duration-label,.metric-duration-value{font-size:var(--text-caption);color:var(--color-stone)}.metric-duration-value{font-weight:600}.insight-card{background:var(--color-glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);border:1px solid var(--color-glass-border);margin-bottom:var(--space-4);box-shadow:0 2px 16px rgba(0,0,0,.04)}.insight-card-title{font-size:1.125rem;font-weight:700;margin:0 0 var(--space-3);color:var(--color-charcoal)}.insight-card-body{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.insight-card-body p{margin:0;font-size:var(--text-body);color:var(--color-charcoal);line-height:var(--leading-normal)}.insight-card-encourage{margin:0 0 var(--space-3);font-size:var(--text-body);color:var(--color-stone)}.insight-suggestion-box{padding:var(--space-3);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-forest) 8%,white);border:1px solid color-mix(in srgb,var(--color-forest) 15%,white)}.insight-suggestion-label{font-size:var(--text-eyebrow);font-weight:700;color:var(--color-btn-primary);text-transform:uppercase;letter-spacing:.1em}.insight-suggestion-text{margin:4px 0 0;font-size:var(--text-body);color:var(--color-charcoal)}.separation-phase-scrim{position:fixed;top:var(--header-height,52px);left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);background:radial-gradient(ellipse at center,rgba(20,16,14,0) 0,rgba(20,16,14,0) 30%,rgba(20,16,14,.2) 65%,rgba(20,16,14,.35) 100%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1;opacity:1;transition:opacity var(--duration-ritual-settle) ease}.separation-phase-scrim.is-fading-out{opacity:0;pointer-events:none}.separation-phase-skip{position:absolute;bottom:calc(var(--space-8) + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-height:44px;padding:var(--space-2) var(--space-5);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--glass-text-1);opacity:.7;background:none;border:none;cursor:pointer}.separation-phase-invitation{margin:0;font-size:18px;font-weight:500;color:var(--glass-text-1);letter-spacing:.02em;text-align:center;max-width:320px;padding:0 16px;animation:separationInvitationFadeIn .6s ease-out both}@keyframes separationInvitationFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.separation-phase-scrim{transition:none}.separation-phase-invitation{animation:none}}@keyframes liminalFadeIn{0%{opacity:0}to{opacity:1}}.liminal-phase{animation:liminalFadeIn .6s ease both}@media (prefers-reduced-motion:reduce){.liminal-phase{animation:none}}.acknowledgment-frame,.settling-frame{display:flex;align-items:center;justify-content:center;height:var(--app-dvh);padding:0 24px;background:var(--color-paper,#FBFAF4);animation:returnFrameFadeIn .48s ease-out both}.acknowledgment-frame-message,.settling-frame-prompt{margin:0;font-size:22px;font-weight:500;line-height:1.5;color:var(--color-ink,#2A2A2A);text-align:center;max-width:360px}@keyframes returnFrameFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.acknowledgment-frame,.settling-frame{animation:none}}.safety-check-screen{display:grid;place-items:center;min-height:calc(var(--app-vh) - 52px);padding:var(--space-5) var(--screen-margin-h)}.safety-check-screen__inner{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-4)}.safety-check-screen__title{font-size:var(--font-size-title,24px);font-weight:500;color:var(--color-charcoal);text-align:center;margin:0 0 var(--space-2)}.safety-check-screen__options{display:flex;flex-direction:column;gap:var(--space-3)}.safety-check-screen__option{width:100%;padding:var(--space-4);font-size:var(--font-size-body-lg);color:var(--color-charcoal);text-align:center;background:var(--color-paper-pure);border:1.5px solid rgba(27,45,53,.14);border-radius:var(--radius-card);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.safety-check-screen__option--selected{border-color:var(--color-navy);background:rgba(27,45,53,.06);font-weight:500}.safety-check-screen__option:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.safety-check-screen__expansion{display:flex;flex-direction:column;gap:var(--space-2)}.safety-check-screen__hint{font-size:var(--font-size-body-sm);color:var(--color-stone);margin:0}.safety-check-screen__note{width:100%;padding:var(--space-3);font-size:var(--font-size-body);font-family:inherit;color:var(--color-charcoal);background:var(--color-paper-pure);border:1.5px solid rgba(27,45,53,.14);border-radius:var(--radius-card);resize:none}.safety-check-screen__error{font-size:var(--font-size-body-sm);color:var(--color-danger);text-align:center;margin:0}.safety-check-screen__submit{width:100%;height:52px;margin-top:var(--space-2);font-size:var(--font-size-body-lg);font-weight:500;color:var(--color-paper-pure);background:var(--color-navy);border:none;border-radius:var(--radius-pill);cursor:pointer;transition:opacity .12s ease}.safety-check-screen__submit:disabled{opacity:.4;cursor:default}.liminal-upnext{position:absolute;top:calc(env(safe-area-inset-top, 0px) + var(--space-6));left:var(--space-4);z-index:20;padding:var(--space-2) var(--space-4);border-radius:999px;background:rgba(0,0,0,.55);color:rgba(255,255,255,.92);font-size:var(--font-size-caption);letter-spacing:.02em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:liminal-upnext-in var(--duration-ritual-transition,1.5s) ease-out;pointer-events:none}@keyframes liminal-upnext-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.liminal-transition{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:#000;overflow:hidden}.liminal-transition-poster{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;opacity:.28}.liminal-transition-ring{width:min(30vw,30dvh);height:min(30vw,30dvh);border-radius:999px;border:2px solid rgba(255,255,255,.7);animation-name:liminalRingBreathe;animation-timing-function:ease-in-out;animation-fill-mode:both}@keyframes liminalRingBreathe{0%{transform:scale(.55);opacity:.4}55%{transform:scale(1);opacity:.9}to{transform:scale(.62);opacity:.5}}.liminal-transition-kicker{position:relative;font-size:var(--font-size-caption);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}.liminal-transition-name{position:relative;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);color:#fff;text-align:center;padding:0 var(--space-6)}.liminal-transition-count{position:relative;font-size:var(--font-size-caption);color:rgba(255,255,255,.55)}@media (prefers-reduced-motion:reduce){.liminal-transition-ring{animation:none;opacity:.7;transform:scale(.8)}}.parent-shell{min-height:100vh;background:#f7f8fa;padding:var(--space-6) var(--space-4) 48px;max-width:520px;margin:0 auto;box-sizing:border-box}.parent-wordmark{margin-bottom:var(--space-8);font-size:1.25rem;font-weight:500;letter-spacing:-.01em}.parent-age-banner,.parent-wordmark{text-align:center;color:var(--color-charcoal)}.parent-age-banner{margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:#f0f5ff;border:1px solid #c9d8f7;font-size:var(--text-body)}.parent-card{background:#fff;border:1px solid var(--color-border);border-radius:20px;padding:28px 20px;box-shadow:0 4px 16px rgba(15,23,42,.06)}.parent-card-title{margin:0 0 var(--space-2);font-size:1.625rem;font-weight:600;color:var(--color-charcoal);line-height:1.2}.parent-card-body{margin:0 0 var(--space-6);font-size:1.0625rem;color:var(--color-stone);line-height:1.55}.parent-footer-note{margin:var(--space-6) 0 0;text-align:center;font-size:var(--text-caption);color:#9ca3af;line-height:var(--leading-normal)}.parent-invalid-center{text-align:center;padding-top:var(--space-12)}.parent-invalid-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fff7ed;border:2px solid #fed7aa;font-size:30px;margin-bottom:var(--space-6)}.parent-invalid-title{margin:0 0 var(--space-4);font-size:1.5rem;font-weight:600;color:var(--color-charcoal);line-height:1.3}.parent-invalid-body{margin:0 0 var(--space-6);font-size:1.0625rem;color:var(--color-stone);line-height:1.6}.parent-invalid-hint{margin:0;font-size:var(--text-body);color:#9ca3af;line-height:var(--leading-normal)}.parent-landing{max-width:480px;margin:0 auto;padding:48px var(--space-4);text-align:center}.parent-landing-header{margin-bottom:var(--space-8)}.parent-landing-title{margin:0 0 var(--space-3);font-size:1.75rem}.parent-landing-subtitle{margin:0;color:var(--color-stone);font-size:1rem}.parent-landing-card{border:1px solid #d7dde5;border-radius:var(--radius-lg);padding:var(--space-6);background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06);text-align:left}.parent-landing-card h2{margin:0 0 var(--space-2);font-size:1.125rem}.parent-landing-card p{margin:0 0 var(--space-3);font-size:var(--text-body);color:var(--color-charcoal)}.camera-notice{margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-lg)}.camera-notice[data-state=idle]{background:#f0f5ff;border:1px solid #c9d8f7}.camera-notice[data-state=granted]{background:#edf7f0;border:1px solid #c3e6cd}.camera-notice[data-state=denied]{background:#fff9ec;border:1px solid #fde8b4}.camera-notice-text{margin:0;font-size:var(--text-caption)}.camera-notice[data-state=granted] .camera-notice-text{color:#17643d}.camera-notice[data-state=denied] .camera-notice-text{color:#7a4f00}.camera-notice[data-state=idle] .camera-notice-text{color:#1f3a5f;margin-bottom:var(--space-3)}.camera-notice-actions{display:flex;gap:var(--space-2);align-items:center}.camera-notice-allow{border:1px solid #1f3a5f;background:#1f3a5f;color:#fff;border-radius:6px;padding:7px var(--space-3);cursor:pointer;font-size:var(--text-caption)}.camera-notice-allow:disabled{background:#d9e4f2;cursor:wait}.camera-notice-skip{border:none;background:transparent;color:var(--color-stone);cursor:pointer;font-size:var(--text-caption);padding:7px var(--space-2);text-decoration:underline}.psv-icon-circle{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#f0fdfa;border:2px solid #99f6e4;margin-bottom:var(--space-4)}.psv-primary-btn{display:block;width:100%;padding:var(--space-4) 0;border:none;border-radius:var(--radius-md);background:var(--color-btn-primary);color:#fff;font-size:1.0625rem;font-weight:600;cursor:pointer;margin-bottom:var(--space-3);min-height:52px;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.psv-primary-btn:hover{background:#1a6d78}.psv-primary-btn:active{transform:scale(.98)}.psv-primary-btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.psv-secondary-btn{display:block;width:100%;padding:14px 0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-stone);font-size:var(--text-body);font-weight:500;cursor:pointer;min-height:52px;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.psv-secondary-btn:hover{background:var(--color-hover-bg)}.psv-secondary-btn:active{transform:scale(.98)}.psv-secondary-btn:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.psv-stop-btn{display:block;width:100%;padding:var(--space-4) 0;border:none;border-radius:var(--radius-md);background:#dc2626;color:#fff;font-size:1.0625rem;font-weight:600;cursor:pointer;min-height:52px;margin-top:var(--space-3);transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.psv-stop-btn:hover{background:#b91c1c}.psv-stop-btn:active{transform:scale(.98)}.psv-stop-btn:focus-visible{outline:2px solid #dc2626;outline-offset:2px}.psv-timer-row{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-3);padding:var(--space-2) 0}.psv-timer-pill{display:inline-flex;align-items:center;gap:6px;background:#fef2f2;border:1px solid #fca5a5;border-radius:20px;padding:4px var(--space-3);font-size:var(--text-body);font-weight:600;color:#dc2626;font-variant-numeric:tabular-nums}.psv-timer-dot{width:8px;height:8px;border-radius:50%;background:#dc2626;display:inline-block}.psv-advisory-box{background:#f9fafb;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.psv-title{margin:0 0 var(--space-2);font-size:1.375rem;font-weight:600;color:var(--color-charcoal);line-height:1.3}.psv-body{margin:0 0 var(--space-4);font-size:1.0625rem;color:var(--color-stone);line-height:1.55}.psv-caption{font-size:var(--text-caption);color:#9ca3af;line-height:var(--leading-normal)}.psv-ready-cta{margin-top:var(--space-5)}.psv-processing,.psv-ready-cta,.psv-recording-note{text-align:center}.psv-advisory-caption{margin:0}.psv-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-btn-primary);border-radius:50%;animation:spin .8s linear infinite;margin:var(--space-6) auto var(--space-4)}@keyframes spin{to{transform:rotate(1turn)}}.bottom-sheet-backdrop{position:fixed;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.5) 72%,rgba(0,0,0,0) 90%,rgba(0,0,0,0));z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;animation:bottom-sheet-fade-in var(--duration-base) var(--ease-default)}.bottom-sheet-panel{width:100%;max-width:480px;max-height:85vh;max-height:85dvh;background:var(--glass-medium-bg);backdrop-filter:var(--glass-medium-backdrop);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:0 var(--space-5) var(--space-6);overflow-y:auto;animation:bottom-sheet-slide-up var(--duration-base) var(--ease-default);outline:none}.bottom-sheet-handle{width:36px;height:4px;background:var(--color-border);border-radius:var(--radius-pill);margin:var(--space-3) auto var(--space-2)}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0 var(--space-3);min-height:48px}.bottom-sheet-title{font-size:var(--text-body-lg);font-weight:600;color:var(--color-charcoal);margin:0}.bottom-sheet-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:rgba(0,0,0,.04);color:var(--color-charcoal);cursor:pointer;border-radius:50%;padding:0;flex-shrink:0;transition:background var(--duration-fast) var(--ease-default)}.bottom-sheet-close:hover{background:var(--color-hover-bg)}.garden-shell--spatial .bottom-sheet-close{background:var(--glass-lift-08);color:var(--glass-text-1)}.bottom-sheet-close:focus-visible{outline:2px solid var(--color-btn-primary);outline-offset:2px}.bottom-sheet-content{font-size:1.125rem;color:var(--color-charcoal);line-height:var(--leading-normal)}.bottom-sheet-content .sheet-option{border-bottom:1px solid var(--glass-hairline-08)}.bottom-sheet-content .sheet-option:last-child{border-bottom:none}@keyframes bottom-sheet-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bottom-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bottom-sheet-fade-out{0%{opacity:1}to{opacity:0}}@keyframes bottom-sheet-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.bottom-sheet-backdrop--closing{animation:bottom-sheet-fade-out var(--duration-base) ease-in forwards}.bottom-sheet-panel--closing{animation:bottom-sheet-slide-down var(--duration-base) ease-in forwards}@media (prefers-reduced-motion:reduce){.bottom-sheet-backdrop,.bottom-sheet-backdrop--closing,.bottom-sheet-panel,.bottom-sheet-panel--closing{animation:none}}.event-sheet-body{display:flex;flex-direction:column;gap:var(--space-4)}.event-sheet-detail{display:flex;flex-direction:column;gap:var(--space-1)}.event-sheet-date{font-size:1.125rem;font-weight:600;color:var(--color-charcoal);margin:0}.event-sheet-venue{font-size:1.125rem;color:var(--color-stone);margin:0}.event-sheet-spots{font-size:1.125rem;color:var(--color-btn-primary);font-weight:500;margin:0}.event-sheet-rsvp{display:block;width:100%;padding:var(--space-4);border:none;border-radius:var(--radius-lg);background:var(--color-btn-primary);color:var(--color-btn-primary-text);font-size:1.125rem;font-weight:600;cursor:pointer;min-height:56px;transition:background var(--duration-fast) var(--ease-default)}.event-sheet-rsvp:hover{background:var(--color-btn-primary-hover)}.event-sheet-rsvp:disabled{opacity:.6;cursor:wait}.event-sheet-rsvp:focus-visible{outline:2px solid var(--color-teal);outline-offset:2px}.event-sheet-view-all{display:block;text-align:center;font-size:1.125rem;color:var(--color-btn-primary);text-decoration:none;padding:var(--space-3);min-height:48px;line-height:48px}@font-face{font-family:gtAmerica;src:url(/_next/static/media/ecfea59d1e801a18-s.p.woff2) format("woff2");font-display:swap;font-weight:300;font-style:normal}@font-face{font-family:gtAmerica;src:url(/_next/static/media/7c9796532e29487a-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:gtAmerica;src:url(/_next/static/media/3173192e920bdfa1-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:gtAmerica;src:url(/_next/static/media/bc7e683e527205b2-s.p.woff2) format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:gtAmerica;src:url(/_next/static/media/9bc7fd6c85a656c6-s.p.woff2) format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:gtAmerica Fallback;src:local("Arial");ascent-override:98.13%;descent-override:25.32%;line-gap-override:0.00%;size-adjust:101.90%}.__className_9d8470{font-family:gtAmerica,gtAmerica Fallback}.__variable_9d8470{--font-gt-america:"gtAmerica","gtAmerica Fallback"}@font-face{font-family:gtAmericaMono;src:url(/_next/static/media/e146abdb727f8161-s.p.woff2) format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:gtAmericaMono Fallback;src:local("Arial");ascent-override:73.97%;descent-override:14.72%;line-gap-override:0.00%;size-adjust:135.87%}.__className_ef03c0{font-family:gtAmericaMono,gtAmericaMono Fallback;font-weight:400;font-style:normal}.__variable_ef03c0{--font-gt-america-mono:"gtAmericaMono","gtAmericaMono Fallback"}