:root{--background:40 24% 97%;--border:35 14% 87%}.dark{--background:230 17% 10%;--border:230 12% 24%}.app-navigation{background:hsl(var(--card)/.94)!important;color:hsl(var(--foreground));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid hsl(var(--border))}.keep-going-wordmark{color:hsl(var(--foreground));font-size:1.1rem;letter-spacing:-.045em}.brand-mark{width:28px;height:28px;border-radius:9px}.game-app{max-width:1220px;padding-top:2rem;padding-bottom:3.5rem}.game-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.085em;color:hsl(var(--muted-foreground))}.game-welcome h1{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:750;letter-spacing:-.055em;line-height:1.15;margin-top:.55rem}.game-welcome p{margin-top:.65rem;font-size:.9rem;line-height:1.6}.game-section-heading{margin-bottom:1rem}.game-section-heading h2{font-size:1.35rem;font-weight:750;letter-spacing:-.035em;margin-top:.35rem}.game-button{border-radius:11px;box-shadow:0 2px 5px hsl(var(--game-color)/.15);font-size:.8rem;font-weight:650;transition:background .2s,transform .2s}.game-button:hover{transform:translateY(-1px)}.utility-button{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:11px}.utility-button svg{width:19px;height:19px;color:hsl(var(--foreground))}.calendar-stage{margin-bottom:1.5rem}.calendar-primary{width:100%}.calendar-stage{scroll-margin-top:90px}.calendar-stage .game-section-heading h1{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:750;letter-spacing:-.045em;line-height:1.15;margin-top:.4rem}.calendar-page-heading .game-welcome p{margin-top:0}.calendar-page-heading .game-welcome h1{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-top:.3rem}.calendar-support-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:1.5rem;width:100%;border-top:1px solid hsl(var(--border));padding-top:1.5rem}.calendar-support-grid .game-dashboard{min-width:0;margin-top:0}.calendar-support-grid .progress-board-compact{grid-template-columns:1fr 1fr}.calendar-support-grid .social-compact{display:block}.calendar-main,.habit-card,.journey-card,.quest-card,.social-hub{border:1px solid hsl(var(--border));border-radius:18px;box-shadow:0 3px 12px hsl(var(--game-ink)/.035)}.calendar-main{padding:1.4rem}#app .react-calendar .dayButton{padding:3px}#app .react-calendar .calendar-day{min-height:94px;border-color:hsl(var(--border)/.7);background:hsl(var(--background)/.65);border-radius:10px}#app .calendar-day[data-complete=true]{border-color:hsl(var(--game-color)/.2);background:hsl(var(--game-color)/.075);box-shadow:none}#app .calendar-day[data-today=true]{outline:1.5px solid hsl(var(--game-color));outline-offset:0}#app .react-calendar .dayButton:hover:not(:disabled)>.calendar-day{box-shadow:0 2px 6px hsl(var(--game-ink)/.06)}#app .react-calendar__month-view__weekdays abbr{font-size:.65rem;font-weight:650;letter-spacing:.035em;color:hsl(var(--muted-foreground))}.calendar-toolbar{margin-bottom:1.15rem}.calendar-toolbar>span{color:hsl(var(--muted-foreground))}.calendar-tip{font-size:.67rem}.calendar-instruction{margin-top:1.1rem;line-height:1.6}.day-score{font-size:.5rem;letter-spacing:.045em}.habit-details{margin-top:1rem;padding:.85rem 1rem;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));width:100%}.habit-details summary{cursor:pointer;font-size:.78rem;font-weight:600;color:hsl(var(--muted-foreground))}.habit-details summary:hover{color:hsl(var(--foreground))}.cheer-button:focus-visible,.demo-quest-button:focus-visible,.habit-details summary:focus-visible{outline:2px solid hsl(var(--game-color));outline-offset:4px}.social-hub{padding:1.15rem}.crew-header{margin-bottom:1.1rem}.crew-header h2{font-size:1.1rem;letter-spacing:-.03em}.crew-goal{padding:1rem;border-radius:12px;background:hsl(var(--game-color)/.06)}.crew-goal strong{font-size:1.65rem}.crew-leaderboard li{padding:.7rem 0}.crew-feed li{padding:.8rem 0;line-height:1.6}.crew-feed p{margin-top:.15rem}.crew-feed-heading{padding-top:1.15rem}.crew-avatar,.milestone-icon,.quest-icon,.stat-icon{border-radius:10px}.cheer-button{border-radius:9px;min-height:34px}.crew-actions{margin-top:1.15rem}.crew-actions button{border-radius:10px;font-weight:600;background:hsl(var(--game-color)/.08);color:hsl(var(--foreground))}.crew-manage{line-height:1.5}.quest-card{padding:1.25rem}.quest-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px hsl(var(--game-ink)/.065)}.quest-card h3{font-size:1rem;margin-top:1rem;line-height:1.4}.quest-card p{font-size:.78rem;margin-bottom:1.2rem}.quest-complete{background:hsl(var(--game-color)/.045);border-color:hsl(var(--game-color)/.3)}.quest-xp{font-size:.56rem;letter-spacing:.045em;border-radius:6px}.quest-count{font-size:.67rem;font-weight:600;background:hsl(var(--game-color)/.07)}.daily-quests{margin-top:2rem}.progress-board-compact{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.15fr;gap:.8rem}.progress-board-compact .game-hero{display:block;padding:1.2rem;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));box-shadow:none;animation:none;overflow:visible}.progress-board-compact .game-hero-copy,.progress-board-compact .hero-orbit{display:none}.progress-board-compact .level-panel{flex-direction:row;gap:.85rem;height:100%}.progress-board-compact .level-medal{width:48px;height:58px;border-radius:14px;border:none;box-shadow:none;animation:none;transform:none;flex-shrink:0}.progress-board-compact .level-medal svg{display:none}.progress-board-compact .level-medal span{font-size:1.7rem}.progress-board-compact .level-medal small{font-size:.43rem;letter-spacing:.12em}.progress-board-compact .level-info strong{font-size:.85rem}.progress-board-compact .level-info .flex{align-items:flex-start;flex-direction:column;gap:.15rem}.progress-board-compact .level-info span{font-size:.58rem}.progress-board-compact .level-info p{display:none}.progress-board-compact .xp-track{height:7px;border:none;margin-top:.45rem}.progress-board-compact .game-stats{display:contents}.progress-board-compact .game-stat{border-radius:16px;padding:1.1rem;animation:none;gap:.6rem;align-items:center;min-width:0}.progress-board-compact .game-stat .game-eyebrow{font-size:.6rem;letter-spacing:.06em}.progress-board-compact .game-stat strong{font-size:1.6rem;margin-top:.4rem}.progress-board-compact .game-stat p{display:none}.progress-board-compact .stat-icon{padding:.4rem}.progress-board-compact .stat-icon svg{width:17px;height:17px}.progress-board-compact .week-stat{display:block}.progress-board-compact .week-dots{gap:.2rem}.progress-board-compact .week-dots>div>span{width:23px;height:23px;border-radius:7px}.progress-board-compact .milestone-strip{grid-column:1/-1;margin:0;border:none;padding:.7rem .1rem;background:transparent}.progress-board-compact .milestone-strip strong{font-size:.78rem}.progress-board-compact .milestone-strip p{font-size:.67rem}.progress-board-compact .milestone-icon{display:none}.progress-board-compact .milestone-badges>span{padding:.4rem .5rem;border-radius:8px;font-size:.63rem}.app-footer{margin-top:1rem;border-top:1px solid hsl(var(--border));background:hsl(var(--card));font-size:.75rem}.app-footer .mt-3{font-size:.7rem}.app-footer a:hover{color:hsl(var(--foreground))}@media (max-width:1023px){.calendar-support-grid{grid-template-columns:1fr}.social-compact{display:block}.progress-board-compact{grid-template-columns:1fr 1fr}.progress-board-compact .week-stat{grid-column:auto}}@media (max-width:639px){.game-app{padding-top:1.4rem;padding-bottom:2.5rem}.game-welcome h1{font-size:1.9rem}.game-welcome p{font-size:.82rem}.game-section-heading h2{font-size:1.2rem}.calendar-main{padding:1rem .4rem}#app .react-calendar .calendar-day{min-height:70px;border-radius:8px}#app .react-calendar .dayButton{padding:2px}.progress-board-compact{gap:.6rem}.progress-board-compact .game-stat{display:flex;padding:.9rem}.progress-board-compact .game-stat strong{font-size:1.4rem}.progress-board-compact .game-hero{padding:.9rem}.progress-board-compact .level-panel{gap:.55rem}.progress-board-compact .level-medal{width:38px;height:49px}.progress-board-compact .level-info strong{font-size:.73rem}.progress-board-compact .level-info span{font-size:.6rem}.progress-board-compact .game-stat .game-eyebrow{font-size:.58rem}.progress-board-compact .week-dots>div>span{width:17px;height:20px;border-radius:5px}.progress-board-compact .week-dots svg{width:11px}.progress-board-compact .milestone-strip{gap:.65rem}.progress-board-compact .milestone-badges{justify-content:flex-start;width:auto}.progress-board-compact .milestone-badges>span{flex:0}.quest-card{padding:1.1rem}.crew-header .game-eyebrow{font-size:.58rem}}#goals,.habit-details{scroll-margin-top:90px}@media (max-width:639px){.progress-board-compact .week-stat{display:block}.progress-board-compact .week-dots{justify-content:space-between}}.auth-entry{max-width:1172px;width:calc(100% - 3rem);margin:2.5rem auto 3rem;display:grid;grid-template-columns:1.15fr 1fr;border:1px solid hsl(var(--border));border-radius:28px;overflow:hidden;background:hsl(var(--card));box-shadow:0 16px 60px hsl(var(--game-ink)/.06)}.auth-story{padding:3.3rem;color:#faf8f4;background:radial-gradient(ellipse at 90% 10%,hsl(var(--game-color)/.32),transparent 65%),#20252a}.auth-kicker{color:#d4d2cc;font-size:.65rem;font-weight:700;letter-spacing:.12em}.auth-story h1{font-size:clamp(2.6rem,4vw,3.7rem);font-weight:750;letter-spacing:-.06em;line-height:1.07;margin:1.2rem 0}.auth-story h1>span{color:#f4be75}.auth-story>p{color:#cfceca;font-size:.9rem;line-height:1.8;max-width:380px}.auth-calendar-preview{background:#faf8f4;color:#25282e;padding:1.25rem;border-radius:18px;margin-top:2rem;box-shadow:0 12px 36px #0002;transform:rotate(-2deg);animation:auth-calendar-enter .65s ease both}.auth-preview-heading{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.auth-preview-heading>span{margin-left:auto;font-size:.5rem;letter-spacing:.08em;color:#777970}.auth-preview-days,.auth-preview-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.auth-preview-weekdays{margin:1.25rem 0 .5rem;font-size:.55rem;text-align:center;color:#777970}.auth-preview-days>div{min-height:48px;border:1px solid #e5e3dc;border-radius:7px;padding:.3rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-size:.55rem}.auth-preview-days .is-clear{background:#f5e4cd;border-color:#ead0aa}.auth-preview-days .is-clear svg{color:#ae6223}.auth-preview-days .is-current{border:1.5px solid #b9692a}.auth-preview-dot{width:10px;height:10px;border:1px solid #dddad2;border-radius:3px;margin:.2rem}.auth-preview-caption{display:flex;align-items:center;gap:.45rem;margin-top:1rem;font-size:.62rem;color:#70736d}.auth-pulse{width:6px;height:6px;border-radius:50%;background:#bd7733;animation:auth-pulse 3s ease-in-out infinite}.auth-benefits{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;color:#d8d6d0;font-size:.65rem}.auth-benefits>span{display:inline-flex;gap:.4rem;align-items:center}.auth-form-panel{padding:3.3rem;align-self:center}.auth-mode-switch{display:flex;padding:4px;border-radius:12px;background:hsl(var(--background));border:1px solid hsl(var(--border));margin-bottom:2.5rem}.auth-mode-switch a{flex:1;text-align:center;padding:.65rem;border-radius:8px;font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground))}.auth-mode-switch a[aria-current=page]{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 2px 5px #0001}.auth-form-copy h2{font-size:clamp(1.7rem,2.5vw,2.15rem);font-weight:750;letter-spacing:-.055em;margin:.6rem 0;line-height:1.15}.auth-form-copy p{font-size:.85rem;color:hsl(var(--muted-foreground));line-height:1.7}.auth-email-form{display:flex;flex-direction:column;margin-top:1.75rem;gap:.6rem}.auth-email-form label{font-size:.75rem;font-weight:600}.auth-email-form input[type=email]{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:11px;padding:.85rem 1rem;font-size:.85rem;width:100%}.auth-email-form input:focus-visible,.auth-entry a:focus-visible,.auth-entry button:focus-visible{outline:2px solid hsl(var(--game-color));outline-offset:3px}.auth-email-form button{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;margin-top:.4rem}.auth-divider{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0;color:hsl(var(--muted-foreground));font-size:.65rem}.auth-divider:after,.auth-divider:before{content:"";flex:1;border-top:1px solid hsl(var(--border))}.auth-other-options{display:flex;justify-content:center;align-items:center;gap:.5rem;border:1px solid hsl(var(--border));border-radius:11px;padding:.85rem;font-size:.75rem;font-weight:600;transition:background .2s}.auth-other-options:hover{background:hsl(var(--background))}.auth-secure{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1rem;font-size:.65rem}.auth-secure,.auth-switch-copy{color:hsl(var(--muted-foreground))}.auth-switch-copy{margin-top:2rem;text-align:center;font-size:.75rem}.auth-switch-copy a{color:hsl(var(--foreground));font-weight:650;text-decoration:underline;text-underline-offset:3px}.auth-legal{display:flex;justify-content:center;gap:.8rem;font-size:.65rem;color:hsl(var(--muted-foreground));margin-top:1.3rem}@keyframes auth-calendar-enter{0%{opacity:0;transform:translateY(12px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}@keyframes auth-pulse{50%{opacity:.45}}@media (max-width:1023px){.auth-form-panel,.auth-story{padding:2rem}.auth-entry{margin-top:1.5rem}}@media (max-width:767px){.auth-entry{width:calc(100% - 2rem);grid-template-columns:1fr;border-radius:20px;margin:1.25rem auto 2rem}.auth-story{padding:1.8rem}.auth-story h1{font-size:2.5rem}.auth-story>p{font-size:.8rem}.auth-benefits,.auth-calendar-preview{display:none}.auth-form-panel{padding:1.8rem}.auth-mode-switch{margin-bottom:1.6rem}}@media (prefers-reduced-motion:reduce){.auth-calendar-preview,.auth-pulse{animation:none}}