:root{color-scheme:light;font-family:Manrope,PingFang SC,SF Pro Display,sans-serif;--bg: #f6fafe;--bg-tint: #eff7ff;--surface: rgba(255, 255, 255, .7);--surface-strong: rgba(255, 255, 255, .9);--ink: #2a3439;--muted: #576067;--primary: #00649a;--primary-soft: #88c7ff;--secondary: #006b63;--secondary-soft: #77feee;--tertiary: #ffa534;--outline: rgba(169, 179, 186, .18);--shadow: 0 18px 44px rgba(36, 73, 112, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top right,rgba(255,255,255,.9) 0%,transparent 32%),radial-gradient(circle at 20% 10%,rgba(136,199,255,.18) 0%,transparent 28%),linear-gradient(180deg,#fbfdff 0%,var(--bg) 100%);color:var(--ink)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{max-width:430px;min-height:100vh;margin:0 auto;padding:10px 10px 18px}.backdrop-grid{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.12;background-image:radial-gradient(circle,rgba(42,52,57,.28) 1.1px,transparent 1.1px);background-size:24px 24px}.toast{position:sticky;top:6px;z-index:40;margin:0 auto 10px;max-width:360px;min-height:0;padding:0 16px;line-height:40px;border-radius:999px;background:#2a343900;color:#fff0;text-align:center;transition:all .22s ease-in-out}.toast--visible{min-height:40px;background:#2a3439eb;color:#fff}.mobile-frame{position:relative;min-height:calc(100vh - 38px);padding:14px 14px 98px;border-radius:30px;background:#ffffff9e;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);overflow:hidden}.screen-shell{animation:fadeIn .24s ease-in-out both}.screen-shell--out-right{animation:slideOutLeft .14s ease-in-out forwards}.screen-shell--out-left{animation:slideOutRight .14s ease-in-out forwards}.screen-shell--in-right{animation:slideInRight .24s ease-in-out both}.screen-shell--in-left{animation:slideInLeft .24s ease-in-out both}.screen{display:grid;gap:18px}.topbar{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:10px}.topbar--compact{margin-bottom:4px}.brand-pill{justify-self:center;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;background:#ffffffb8;box-shadow:0 12px 28px #2449700f}.brand-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#0e4567,#69bafd)}.brand-pill strong{font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.03em}.top-icon{border:0;background:transparent;color:var(--muted);width:32px;height:32px;border-radius:50%;font-size:20px}.top-icon:active{transform:scale(.96)}.hero-copy{display:grid;gap:6px}.hero-copy--center{text-align:center}.hero-copy--left{text-align:left}.hero-copy h1{margin:0;font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:40px;line-height:1.05;letter-spacing:-.05em}.hero-copy p{margin:0;color:var(--secondary);font-size:17px;font-weight:700}.jar-card,.section-card,.celebration-card,.goal-card,.goal-detail-card,.task-card,.stat-card,.modal-card,.notice{border-radius:32px;background:#ffffff6b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.jar-card,.section-card,.celebration-card,.goal-detail-card,.task-card,.modal-card{padding:18px}.notice{padding:12px 14px;color:var(--primary);font-size:14px;font-weight:700}.jar-hero{display:grid;justify-items:center;gap:0}.jar-lid{width:160px;height:38px;border-radius:14px 14px 4px 4px;margin-bottom:-10px;background:linear-gradient(180deg,#e5e7eb,#d1d5db 38%,#9ca3af 60%,#4b5563);box-shadow:0 4px 12px #00000024,inset 0 2px 2px #ffffffe6;z-index:2}.energy-jar{position:relative;width:100%;max-width:250px;height:332px;padding:18px;overflow:hidden;border-radius:60px 60px 80px 80px;background:linear-gradient(135deg,#ffffff80,#fff3);border:2px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:inset 0 0 30px #fff9,inset -5px -5px 15px #fff6,0 25px 50px -12px #00000014}.energy-jar--full{height:356px}.energy-jar:after{content:"";position:absolute;top:10%;left:15%;width:15%;height:40%;background:linear-gradient(to bottom,rgba(255,255,255,.8),transparent);border-radius:40px;filter:blur(4px)}.energy-ball{position:absolute;border-radius:50%;display:grid;place-items:center;box-shadow:inset -6px -6px 12px #00000026,inset 4px 4px 10px #fffc,0 8px 16px -4px #0000001a}.energy-ball:before{content:"";position:absolute;top:15%;left:20%;width:35%;height:35%;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.9),transparent 80%);filter:blur(2px)}.energy-ball--pulse{animation:popIn .32s ease-in-out}.energy-ball--pill{border-radius:999px}.energy-ball__face{position:relative;z-index:1;font-family:Arial Rounded MT Bold,Helvetica,sans-serif;font-size:11px;font-weight:700;color:#2d3436b8;line-height:1;transform:translateY(1px);-webkit-user-select:none;user-select:none}.jar-particle{position:absolute;border-radius:50%;background:#fffffff2;filter:blur(.5px);animation:floatGlow 3s ease-in-out infinite}.energy-ball--mint{background:radial-gradient(circle at 30% 30%,#f0fdf4,#4ade80 70%,#16a34a)}.energy-ball--blue{background:radial-gradient(circle at 30% 30%,#e0f2fe,#60a5fa 70%,#2563eb)}.energy-ball--purple{background:radial-gradient(circle at 30% 30%,#f3e8ff,#c084fc 70%,#9333ea)}.energy-ball--orange{background:radial-gradient(circle at 30% 30%,#fff7ed,#fb923c 70%,#ea580c)}.energy-ball--pink{background:radial-gradient(circle at 30% 30%,#fdf2f8,#f472b6 70%,#db2777)}.progress-meta,.goal-card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.progress-meta span,.goal-card__meta span,.task-refresh-row span,.stat-card small,.goal-detail-card small{color:var(--muted);font-size:12px;font-weight:700}.score{color:var(--primary);font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:30px;font-weight:800}.score--pulse{animation:pulse .36s ease-in-out}.progress-bar,.goal-card__bar{height:14px;border-radius:999px;padding:2px;background:#dae4eb8f;overflow:hidden}.progress-bar span,.goal-card__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary-soft));box-shadow:0 0 14px #00649a38;transition:width .42s ease-in-out}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head strong,.goal-detail-card strong,.task-card h3,.destination-overlay h3,.goal-card__top h3{font-family:Plus Jakarta Sans,Manrope,sans-serif}.section-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#88c7ff29;color:var(--primary);font-size:11px;font-weight:800}.behavior-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.behavior-card{border:0;border-radius:28px;background:#ffffffe6;padding:18px 16px;display:grid;gap:10px;justify-items:start;box-shadow:0 10px 24px #00000008;transition:transform .18s ease-in-out,box-shadow .18s ease-in-out,background .18s ease-in-out}.behavior-card:active{transform:scale(.97)}.behavior-card--active{background:#88c7ff29;box-shadow:0 14px 24px #00649a1a}.behavior-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#88c7ff2e;color:var(--primary);font-size:18px}.behavior-card strong{font-size:17px}.behavior-card small{color:var(--secondary);font-size:13px;font-weight:700}.input-row{display:grid;grid-template-columns:1fr auto;gap:10px}.input-row input,.modal-card input{min-height:52px;padding:0 16px;border:1px solid var(--outline);border-radius:22px;background:#ffffffb8;color:var(--ink)}.input-row input:focus,.modal-card input:focus{outline:none;border-color:#00649a2e;box-shadow:0 0 0 4px #88c7ff29}.glass-button,.secondary-button,.goal-create-button,.link-button{border:0;background:#ffffffb8;color:var(--primary)}.glass-button,.primary-button,.secondary-button,.goal-create-button,.mini-primary-button{min-height:52px;border-radius:999px;padding:0 20px;font-weight:800;transition:transform .18s ease-in-out,box-shadow .18s ease-in-out,background .18s ease-in-out}.primary-button,.mini-primary-button{border:0;color:#fff;background:linear-gradient(90deg,var(--primary),#0c9cdc);box-shadow:0 12px 30px #00649a3d}.glass-button:active,.primary-button:active,.secondary-button:active,.goal-create-button:active,.mini-primary-button:active,.nav-item:active,.goal-card:active{transform:scale(.97)}.settlement,.goal-detail-card{display:grid;gap:6px}.settlement p,.goal-detail-card p,.task-card p,.destination-overlay p{margin:0;color:var(--muted);line-height:1.55}.celebration-card{position:relative;overflow:hidden;padding-block:24px 18px}.celebration-glow{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:50%;background:#88c7ff42;filter:blur(60px);animation:floatGlow 2.6s ease-in-out infinite}.celebration-ring{position:absolute;inset:auto;left:50%;top:56%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.celebration-ring--one{width:240px;height:240px;border:1px solid rgba(255,255,255,.45);box-shadow:0 0 0 18px #ffffff0f}.celebration-ring--two{width:290px;height:290px;border:1px solid rgba(136,199,255,.18)}.stack-actions{display:grid;gap:14px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.button-mark{font-size:18px;line-height:1}.destination-feed{display:grid;gap:18px}.destination-card{position:relative;min-height:420px;overflow:hidden;border-radius:34px;background:#dbe8f5;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.destination-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #164a6d1f}.destination-card img{width:100%;height:100%;object-fit:cover;display:block}.destination-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 12%,rgba(0,0,0,.46) 100%)}.destination-overlay{position:absolute;left:16px;right:16px;bottom:18px;z-index:2;padding:18px;border-radius:28px;background:#ffffff57;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:grid;gap:14px}.destination-overlay h3{color:#0d2b40;font-size:28px;line-height:1.04}.mini-primary-button{justify-self:start;min-height:44px;padding-inline:18px}.destination-detail-sheet{width:100%;max-width:398px;max-height:calc(100vh - 24px);overflow:auto;border-radius:36px 36px 28px 28px;background:linear-gradient(180deg,#f7fcfffa,#eff7fff5);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 26px 64px #164a6d2e;animation:fadeIn .22s ease both}.destination-detail-hero{position:relative;min-height:292px;overflow:hidden;border-radius:36px}.destination-detail-hero img{width:100%;height:100%;object-fit:cover;display:block}.destination-detail-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0c2a3d0a,#0c2a3dad)}.detail-close-button{position:absolute;top:14px;right:14px;z-index:2;min-height:36px;padding:0 14px;border-radius:999px;background:#ffffffd1;color:#0d2b40;font-size:12px;font-weight:800;box-shadow:0 10px 20px #0d2b401f}.destination-detail-hero-copy{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:grid;gap:10px;color:#fff}.detail-kicker{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:0 12px;border-radius:999px;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;font-weight:800}.destination-detail-hero-copy h2{margin:0;font-size:30px;line-height:1.04}.destination-detail-hero-copy p{margin:0;color:#ffffffeb;font-size:14px;line-height:1.55}.destination-detail-section{display:grid;gap:14px;padding:18px}.detail-section-head{display:grid;gap:4px}.detail-section-head h3{margin:0;color:#0d2b40;font-size:18px}.detail-section-head p{margin:0;color:#5c7386;font-size:13px;line-height:1.5}.ticket-list,.highlight-list{display:grid;gap:12px}.ticket-card,.highlight-card{padding:16px;border-radius:24px;background:#ffffffdb;box-shadow:0 12px 30px #0d2b400f}.ticket-card strong,.highlight-card strong{display:block;color:#0d2b40;font-size:16px;line-height:1.35}.ticket-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:#5c7386;font-size:13px;font-weight:700}.highlight-card p{margin:8px 0 0;color:#5c7386;font-size:14px;line-height:1.5}.goals-list{display:grid;gap:16px}.goal-card{border:0;padding:22px 20px;display:grid;gap:14px;text-align:left}.goal-card--primary{background:#ffffffd1;box-shadow:0 20px 50px #00649a1a}.goal-card__top{display:flex;justify-content:space-between;gap:14px;align-items:start}.goal-card__top h3{margin:8px 0 0;font-size:18px;line-height:1.4}.goal-card__top strong{color:var(--primary);font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:44px;line-height:1;font-weight:800}.goal-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#88c7ff38;color:var(--primary);font-size:12px;font-weight:800}.goal-create-button{justify-self:center;padding-inline:22px;box-shadow:0 10px 24px #00000008}.task-card{position:relative;overflow:hidden;justify-items:center;text-align:center;background:linear-gradient(135deg,#e2fff9e0,#fffffff5)}.task-card:before{content:"";position:absolute;top:-18%;right:-10%;width:180px;height:180px;border-radius:50%;background:#77feee3d;filter:blur(40px)}.task-orb{position:relative;width:96px;height:96px;margin-top:8px}.task-orb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#77feee4d;animation:pulse 1.6s ease-in-out infinite}.task-orb__inner{position:relative;width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 12px 30px #00000014;font-size:38px;color:var(--secondary)}.task-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 14px;border-radius:999px;background:#ffa5342e;color:#8a5200;font-size:12px;font-weight:800}.task-card h3{margin:0;font-size:34px;line-height:1.06;letter-spacing:-.04em}.task-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:18px 14px;text-align:center}.stat-card strong{display:block;margin-top:8px;font-family:Plus Jakarta Sans,Manrope,sans-serif;color:var(--primary);font-size:30px;font-weight:800}.task-refresh-row{display:flex;justify-content:space-between;align-items:center}.link-button{padding:0;font-weight:800}.bottom-nav{position:absolute;left:10px;right:10px;bottom:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;border-radius:34px;background:#ffffff75;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 -8px 30px #00b4d814}.nav-item{border:0;background:transparent;min-height:58px;border-radius:22px;color:#95a1b1;display:grid;justify-items:center;align-content:center;gap:4px;transition:background .22s ease-in-out,color .22s ease-in-out,transform .18s ease-in-out}.nav-item span{font-size:17px}.nav-item small{font-size:11px;font-weight:800}.nav-icon{width:22px;height:22px;display:grid;place-items:center}.nav-icon svg{width:100%;height:100%;display:block}.nav-item--active{background:#ffffffad;color:var(--primary);box-shadow:0 8px 18px #00649a14}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:end center;padding:12px;background:#2a34393d}.modal-card{width:100%;max-width:398px;display:grid;gap:12px}.modal-card strong{font-family:Plus Jakarta Sans,Manrope,sans-serif;font-size:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-14px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(14px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{transform:scale(.72)}to{transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes floatGlow{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.06) translateY(-8px)}}@media (max-width: 390px){.hero-copy h1{font-size:34px}.behavior-grid,.input-row{grid-template-columns:1fr}.destination-card{min-height:380px}}
