@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#f5f2e1;--gold-ink:#8a5a12;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47;--font-arabic:"Noto Sans Arabic", "Inter", sans-serif}html{scroll-behavior:smooth;font-family:Inter,sans-serif}html[dir=rtl]{font-family:var(--font-arabic), sans-serif}html,body,#root{min-height:100%;margin:0;overflow-x:hidden}body{background:var(--bg);min-height:100svh;color:var(--ink)}h1,h2,h3,h4,h5,h6{font-family:"Baloo 2",sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] h4,html[dir=rtl] h5,html[dir=rtl] h6{font-family:var(--font-arabic), sans-serif}html[dir=rtl]{text-align:right}html[dir=rtl] .wordmark{direction:ltr}html[dir=rtl] .form-field label,html[dir=rtl] .form-field input,html[dir=rtl] .form-field textarea,html[dir=rtl] .form-field select{text-align:right}html[dir=rtl] .btn-primary,html[dir=rtl] .btn-secondary{direction:rtl}html[dir=rtl] .mirror-rtl{transform:scaleX(-1)}html[dir=rtl] .flex-row-reverse{flex-direction:row-reverse}html[dir=rtl] .gap-reverse,html[dir=rtl] .modal-overlay{direction:rtl}html[dir=rtl] .modal{text-align:right;direction:rtl}html[dir=rtl] .modal-header{flex-direction:row-reverse}html[dir=rtl] .modal-close{margin-left:auto;margin-right:0}html[dir=rtl] .modal-form{direction:rtl}html[dir=rtl] .modal-actions{flex-direction:row-reverse}html[dir=rtl] .form-field{direction:rtl}html[dir=rtl] .form-row{flex-direction:row-reverse}html[dir=rtl] .form-field input,html[dir=rtl] .form-field textarea,html[dir=rtl] .form-field select,html[dir=rtl] .form-field label,html[dir=rtl] .form-field input::placeholder,html[dir=rtl] .form-field textarea::placeholder{text-align:right}html[dir=rtl] .dashboard-header{flex-direction:row-reverse}html[dir=rtl] .profile-dropdown{margin-left:auto;margin-right:0}html[dir=rtl] .profile-menu{left:auto;right:0}html[dir=rtl] .profile-menu-content{direction:rtl}html[dir=rtl] .profile-menu-item{text-align:right}html[dir=rtl] .profile-menu-chevron{transform:rotate(180deg)}html[dir=rtl] .mirror-rtl,html[dir=rtl] .profile-chevron,html[dir=rtl] .profile-menu-chevron,html[dir=rtl] .add-quest-chevron,html[dir=rtl] .settings-back-btn svg,html[dir=rtl] .profile-language-popover-close svg,html[dir=rtl] .settings-action-chevron,html[dir=rtl] .settings-action-icon,html[dir=rtl] .approve-actions button svg,html[dir=rtl] .quest-actions button svg,html[dir=rtl] .timeline-label,html[dir=rtl] .modal-close svg,html[dir=rtl] .language-switcher svg,html[dir=rtl] .settings-language-popover-close svg{transform:scaleX(-1)}html[dir=rtl] .profile-trigger[aria-expanded=true] .profile-chevron{transform:rotate(0)scaleX(-1)}html[dir=rtl] .toast-container{left:16px;right:auto}html[dir=rtl] .toast{text-align:right;direction:rtl}html[dir=rtl] .toast-content{flex-direction:row-reverse}html[dir=rtl] .toast-close{margin-left:auto;margin-right:0}html[dir=rtl] .dashboard-wrap,html[dir=rtl] .dashboard-content{direction:rtl}html[dir=rtl] .section-title{text-align:right}html[dir=rtl] .kids-grid,html[dir=rtl] .active-quests-grid,html[dir=rtl] .goals-rows,html[dir=rtl] .kid-card{direction:rtl}html[dir=rtl] .kid-top,html[dir=rtl] .kid-stats{flex-direction:row-reverse}html[dir=rtl] .stat{text-align:right;direction:rtl}html[dir=rtl] .approve-list{direction:rtl}html[dir=rtl] .quest-card{direction:rtl}html[dir=rtl] .quest-header,html[dir=rtl] .quest-meta,html[dir=rtl] .quest-actions{flex-direction:row-reverse}html[dir=rtl] .quest-timeline{direction:rtl}html[dir=rtl] .timeline-item{text-align:right;flex-direction:row-reverse}html[dir=rtl] .goal-row,html[dir=rtl] .goal-row-left,html[dir=rtl] .goal-row-right,html[dir=rtl] .goal-progress-wrapper{flex-direction:row-reverse}html[dir=rtl] .goal-track{direction:rtl}html[dir=rtl] .goal-fill,html[dir=rtl] .goal-progress-text{direction:ltr}html[dir=rtl] .add-quest-row{direction:rtl}html[dir=rtl] .fab{left:16px;right:auto}html[dir=rtl] .approve-row{flex-direction:row-reverse}html[dir=rtl] .approve-mid{text-align:right}html[dir=rtl] .approve-actions,html[dir=rtl] .quest-header,html[dir=rtl] .quest-meta,html[dir=rtl] .quest-assignee,html[dir=rtl] .quest-due,html[dir=rtl] .quest-actions,html[dir=rtl] .icon-picker{flex-direction:row-reverse}.numeral-arabic{font-variant-numeric:tabular-nums}html[dir=rtl] ::-webkit-scrollbar{width:8px;height:8px}html[dir=rtl] ::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}html[dir=rtl] ::-webkit-scrollbar-thumb:hover{background:var(--muted)}html[dir=rtl] :focus-visible{outline-offset:2px}html[dir=rtl] table{text-align:right;direction:rtl}html[dir=rtl] th,html[dir=rtl] td{text-align:right}html[dir=rtl] ul,html[dir=rtl] ol{direction:rtl;padding-left:0;padding-right:20px}html[dir=rtl] li{text-align:right}html[dir=rtl] .breadcrumb,html[dir=rtl] .pagination,html[dir=rtl] .tab-list{flex-direction:row-reverse}html[dir=rtl] .tab-panel{direction:rtl}html[dir=rtl] select{text-align:right;direction:rtl;padding-left:12px;padding-right:40px}html[dir=rtl] .input-with-prefix{flex-direction:row-reverse}html[dir=rtl] .input-prefix,html[dir=rtl] .input-suffix{direction:ltr}html[dir=rtl] .alert,html[dir=rtl] .dialog{text-align:right;direction:rtl}html[dir=rtl] .tooltip,html[dir=rtl] .progress-bar{direction:rtl}html[dir=rtl] .progress-fill{direction:ltr}.language-switcher{background:var(--card);border-bottom:1px solid var(--border);z-index:100;justify-content:flex-end;gap:8px;padding:8px 16px;display:flex;position:sticky;top:0}html[dir=rtl] .language-switcher{justify-content:flex-start}.lang-btn{border:1px solid var(--border);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.lang-btn:hover{background:var(--border);border-color:var(--muted)}.lang-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.lang-native{font-weight:600}.lang-code{opacity:.7;text-transform:uppercase;font-size:11px}.loading-screen{min-height:100vh;color:var(--muted,#8a8fa3);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-family:Inter,sans-serif;display:flex}html[dir=rtl] .loading-screen{font-family:var(--font-arabic), sans-serif}.loading-spinner{border:3px solid var(--border,#ece6d8);border-top-color:var(--green,#167a4e);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.numePral-arabic{font-variant-numeric:tabular-nums}.numeral-arabic-indic{font-family:var(--font-arabic), sans-serif}.wordmark{color:var(--green);font-family:"Baloo 2",sans-serif;font-weight:800}.wordmark span{color:var(--gold)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.btn-secondary{background:var(--bg);color:var(--ink);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.landing{background:var(--bg);min-height:100svh;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;overflow-x:clip}.landing-container{width:min(100% - 40px,1140px);margin-inline:auto}.landing-btn{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:14.5px;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.landing-btn-primary{color:#fff;background:var(--green);box-shadow:0 14px 28px -16px #167a4ebf}.landing-btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}.landing-btn-ghost{color:var(--ink);background:var(--card);border-color:var(--border)}.landing-btn-ghost:hover{color:var(--green);border-color:var(--green);transform:translateY(-1px)}.landing-btn-outline{color:var(--green);border-color:var(--green-soft);background:0 0}.landing-btn-outline:hover{background:var(--green-soft);transform:translateY(-1px)}.landing-btn-gold{color:#4a2f05;background:var(--gold);box-shadow:0 16px 30px -16px #8c5f14b3}.landing-btn-gold:hover{background:#dfa03c;transform:translateY(-1px)}.landing-btn-sm{border-radius:12px;padding:10px 18px;font-size:13.5px}.landing-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.landing-header{z-index:30;-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#fbf8f1e0;border-bottom:1px solid #ece6d8e6;position:sticky;top:0}.landing-header-inner{align-items:center;gap:24px;height:68px;display:flex}.landing-brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.landing-brand-logo{width:30px;height:30px;display:block}.landing-wordmark{color:var(--green);letter-spacing:-.01em;font:800 17px "Baloo 2",sans-serif}.landing-wordmark span{color:var(--gold)}.landing-wordmark-light{color:#fff}.landing-nav{gap:26px;margin-left:auto;display:flex}.landing-nav a{color:var(--muted);padding:6px 0;font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s;position:relative}.landing-nav a:after{content:"";background:var(--gold);transform-origin:0;border-radius:2px;height:2px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.landing-nav a:hover{color:var(--ink)}.landing-nav a:hover:after{transform:scaleX(1)}.landing-brand:focus-visible,.landing-nav a:focus-visible,.landing-footer-col a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}.landing-hero{padding:clamp(44px,7vw,92px) 0 clamp(56px,8vw,104px);position:relative}.landing-hero-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,5vw,60px);display:grid}.landing-eyebrow{background:var(--green-soft);color:var(--green);border-radius:999px;align-items:center;gap:8px;margin:0 0 20px;padding:6px 14px 6px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.landing-eyebrow-dot{background:var(--gold);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #e8a94a38}.landing-hero-copy h1{letter-spacing:-.022em;margin:0 0 18px;font:800 clamp(2.1rem,4.6vw,3.35rem)/1.08 "Baloo 2",sans-serif}.landing-hero-copy h1 em{color:var(--green);background-image:linear-gradient(transparent 66%, var(--gold-soft) 66%);font-style:normal}.landing-lede{max-width:34rem;color:var(--muted);margin:0 0 30px;font-size:clamp(1rem,1.3vw,1.075rem);line-height:1.65}.landing-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.landing-trust{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin:30px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.landing-trust li{align-items:center;gap:7px;display:flex}.landing-trust li:before{content:"✓";color:var(--green);font-weight:700}.landing-hero-visual{justify-content:center;display:flex;position:relative}.landing-hero-glow{background:radial-gradient(50% 50% at 50% 45%,#e8a94a52,#0000 70%),radial-gradient(60% 60% at 62% 72%,#167a4e26,#0000 72%);position:absolute;inset:-12% -16%}.landing-phone{background:var(--card);border:1px solid var(--border);width:min(100%,330px);box-shadow:var(--shadow-card);border-radius:34px;padding:20px 18px 22px;animation:7.5s ease-in-out infinite landing-float;position:relative}.phone-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.phone-avatar{background:var(--gold-soft);border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.phone-head-text{flex-direction:column;flex:1;min-width:0;display:flex}.phone-head-text strong{font:700 14.5px "Baloo 2",sans-serif}.phone-head-text span{color:var(--muted);font-size:11.5px}.phone-streak{background:var(--gold-soft);color:var(--gold-ink);border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:700}.phone-level{background:var(--green-soft);border-radius:16px;margin-bottom:16px;padding:12px 14px}.phone-level-row{color:var(--green);justify-content:space-between;margin-bottom:8px;font-size:11.5px;font-weight:700;display:flex}.phone-bar{background:#fff;border-radius:999px;height:6px;overflow:hidden}.phone-bar i{background:var(--green);border-radius:999px;width:62%;height:100%;display:block}.phone-quests{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.phone-quests li{background:var(--bg);border:1px solid var(--border);border-radius:14px;align-items:center;gap:11px;padding:11px 12px;display:flex}.phone-quest-icon{font-size:17px}.phone-quest-text{flex-direction:column;flex:1;min-width:0;display:flex}.phone-quest-text strong{font-size:12.5px;font-weight:600}.phone-quest-text span{color:var(--muted);font-size:10.5px}.phone-points{background:var(--gold-soft);color:var(--gold-ink);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font:700 11.5px "Baloo 2",sans-serif;display:inline-flex}.landing-coin-dot{background:var(--gold);border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 2px #fff9}.phone-submit{color:#fff;background:var(--green);text-align:center;border-radius:14px;margin-top:14px;padding:12px;font-size:12.5px;font-weight:700}.landing-coin{background:radial-gradient(circle at 32% 28%, #f7cd82, var(--gold) 60%);box-shadow:inset 0 0 0 3px var(--gold-soft), 0 14px 26px -12px #96641499;border-radius:50%;position:absolute}.landing-coin-a{width:46px;height:46px;animation:6.5s ease-in-out infinite landing-drift;top:6%;left:1%}.landing-coin-b{width:30px;height:30px;animation:5.2s ease-in-out .6s infinite landing-drift;bottom:14%;left:-2%}.landing-coin-c{width:24px;height:24px;animation:7.4s ease-in-out 1.1s infinite landing-drift;top:17%;right:0}.landing-section{padding:clamp(56px,8vw,104px) 0}.landing-section-alt{border-block:1px solid var(--border);background:#f8f5ed}.landing-section-head{text-align:center;max-width:620px;margin:0 auto clamp(32px,4.5vw,52px)}.landing-section-head-left{text-align:left;max-width:none;margin:0}.landing-kicker{color:var(--gold-ink);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700}.landing-kicker-on-dark{color:var(--gold)}.landing-section-head h2{letter-spacing:-.015em;margin:0 0 14px;font:700 clamp(1.65rem,3.4vw,2.35rem)/1.15 "Baloo 2",sans-serif}.landing-section-lede{color:var(--muted);margin:0;font-size:15.5px;line-height:1.65}.landing-section-lede a{color:var(--green);font-weight:600}.landing-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.landing-step{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:24px;padding:26px 22px 24px;transition:transform .2s,box-shadow .2s;position:relative}.landing-step:hover{box-shadow:var(--shadow-card);transform:translateY(-3px)}.landing-step-num{color:var(--border);font:800 34px/1 "Baloo 2",sans-serif;position:absolute;top:16px;right:20px}.landing-step-icon{background:var(--green-soft);border-radius:14px;place-items:center;width:46px;height:46px;margin-bottom:16px;font-size:22px;display:grid}.landing-step h3{margin:0 0 7px;font:700 16px "Baloo 2",sans-serif}.landing-step p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.6}.landing-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.landing-feature{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:26px 24px;transition:transform .2s,border-color .2s,box-shadow .2s}.landing-feature:hover{border-color:var(--green-soft);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.landing-feature-icon{background:var(--gold-soft);border-radius:13px;place-items:center;width:44px;height:44px;margin-bottom:15px;font-size:21px;display:grid}.landing-feature h3{margin:0 0 7px;font:700 15.5px "Baloo 2",sans-serif}.landing-feature p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.6}.landing-spotlight{background:linear-gradient(150deg, var(--green-deep), var(--green) 62%, #1c8f5c);box-shadow:var(--shadow-card);border-radius:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,4vw,56px);padding:clamp(28px,5vw,56px);display:grid;overflow:hidden}.landing-spotlight h2{color:#fff;letter-spacing:-.015em;margin:0 0 14px;font:700 clamp(1.55rem,3vw,2.15rem)/1.15 "Baloo 2",sans-serif}.landing-spotlight-lede{color:#ffffffc7;margin:0 0 26px;font-size:15px;line-height:1.65}.landing-guarantees{gap:14px;margin:0;padding:0;list-style:none;display:grid}.landing-guarantees li{align-items:flex-start;gap:13px;display:flex}.guarantee-icon{background:#ffffff21;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.landing-guarantees div strong{color:#fff;margin-bottom:2px;font-size:13.5px;font-weight:700;display:block}.landing-guarantees div span{color:#ffffffb8;font-size:12.5px;line-height:1.55}.landing-proof{background:var(--card);border-radius:24px;padding:22px;box-shadow:0 30px 60px -30px #081e1499}.proof-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.proof-avatar{background:var(--gold-soft);border-radius:50%;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.proof-head-text{flex-direction:column;display:flex}.proof-head-text strong{font:700 14px "Baloo 2",sans-serif}.proof-head-text span{color:var(--muted);font-size:11.5px}.proof-body{background:var(--bg);border:1px dashed var(--border);border-radius:16px;margin-bottom:14px;padding:14px}.proof-note{color:var(--ink);margin:0;font-size:12.5px;line-height:1.55}.proof-actions{gap:10px;display:flex}.proof-approve,.proof-reject{text-align:center;border-radius:12px;flex:1;padding:11px;font-size:13px;font-weight:700}.proof-approve{color:#fff;background:var(--green)}.proof-reject{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.proof-caption{text-align:center;color:var(--muted);margin:12px 0 0;font-size:11.5px}.landing-tiers{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;margin:0;padding:0;list-style:none;display:grid}.landing-tier{background:var(--card);border:1px solid var(--border);border-radius:26px;flex-direction:column;padding:30px 24px 24px;display:flex;position:relative}.landing-tier.is-featured{border-color:var(--green);box-shadow:var(--shadow-card)}.landing-tier-badge{background:var(--gold);color:#4a2f05;white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:11px;font-weight:700;position:absolute;top:-11px;left:50%;transform:translate(-50%)}.landing-tier h3{margin:0 0 4px;font:700 17px "Baloo 2",sans-serif}.tier-tagline{color:var(--muted);margin:0 0 18px;font-size:12.5px}.tier-price{align-items:baseline;gap:7px;margin:0 0 6px;display:flex}.tier-price strong{color:var(--ink);font:800 38px/1 "Baloo 2",sans-serif}.tier-price span{color:var(--muted);font-size:12.5px}.tier-limit{background:var(--green-soft);color:var(--green);border-radius:999px;align-self:flex-start;margin:0 0 20px;padding:5px 11px;font-size:11.5px;font-weight:700}.tier-features{flex:1;gap:9px;margin:0 0 24px;padding:0;list-style:none;display:grid}.tier-features li{color:#4b5060;gap:9px;font-size:13px;display:flex}.tier-features li:before{content:"✓";color:var(--green);font-weight:700}.landing-tier .landing-btn{width:100%}.landing-faq-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(28px,4vw,60px);display:grid}.landing-faq-list{gap:10px;display:grid}.landing-faq-item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:4px 20px;transition:border-color .18s}.landing-faq-item[open]{border-color:var(--green-soft)}.landing-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;font-size:14.5px;font-weight:600;list-style:none;display:flex}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";color:var(--green);flex:none;font:700 21px/1 "Baloo 2",sans-serif;transition:transform .2s}.landing-faq-item[open] summary:after{transform:rotate(45deg)}.landing-faq-item summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}.landing-faq-item p{color:var(--muted);margin:0 0 18px;font-size:13.5px;line-height:1.65}.landing-final{padding-bottom:clamp(64px,9vw,120px)}.landing-final-inner{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);text-align:center;border-radius:32px;padding:clamp(36px,5vw,60px) clamp(24px,4vw,48px);position:relative;overflow:hidden}.landing-final-coin{background:radial-gradient(circle at 35% 30%,#f7cd828c,#e8a94a1f 65%,#0000 72%);border-radius:50%;width:158px;height:158px;position:absolute;top:-46px;right:-34px}.landing-final-inner h2{letter-spacing:-.015em;margin:0 0 12px;font:700 clamp(1.5rem,3.2vw,2.1rem)/1.15 "Baloo 2",sans-serif}.landing-final-inner p{max-width:30rem;color:var(--muted);margin:0 auto 26px;font-size:15px;line-height:1.65}.landing-footer{background:var(--ink);color:#ffffff9e;padding:clamp(44px,6vw,68px) 0 26px}.landing-footer-inner{border-bottom:1px solid #ffffff1a;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:32px;padding-bottom:32px;display:grid}.landing-footer-brand p{max-width:22rem;margin:14px 0 0;font-size:13.5px;line-height:1.6}.landing-footer-col{flex-direction:column;gap:10px;display:flex}.landing-footer-col h3{color:#fff;letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font:700 13px "Baloo 2",sans-serif}.landing-footer-col a{color:#ffffffa8;font-size:13.5px;text-decoration:none;transition:color .15s}.landing-footer-col a:hover{color:var(--gold)}.landing-footer-base{padding-top:20px}.landing-footer-base p{margin:0;font-size:12.5px}@keyframes landing-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes landing-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-hero-copy>*{animation:.62s cubic-bezier(.22,.9,.3,1) backwards landing-rise}.landing-hero-copy>:nth-child(2){animation-delay:90ms}.landing-hero-copy>:nth-child(3){animation-delay:.17s}.landing-hero-copy>:nth-child(4){animation-delay:.25s}.landing-hero-copy>:nth-child(5){animation-delay:.33s}.landing-hero-visual{animation:.76s cubic-bezier(.22,.9,.3,1) .16s backwards landing-rise}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}}@media (width>=901px){.landing-tier.is-featured{transform:translateY(-12px)}}@media (width<=980px){.landing-hero-inner{grid-template-columns:minmax(0,1fr)}.landing-hero-visual{margin-top:8px}.landing-lede{max-width:none}.landing-steps,.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-spotlight,.landing-tiers,.landing-faq-layout{grid-template-columns:minmax(0,1fr)}.landing-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=860px){.landing-nav{display:none}.landing-header-cta{margin-left:auto}}@media (width<=640px){.landing-container{width:min(100% - 32px,1140px)}.landing-steps,.landing-features{grid-template-columns:minmax(0,1fr)}.landing-footer-inner{grid-template-columns:minmax(0,1fr);gap:26px}.landing-coin-b,.landing-coin-c{display:none}.landing-hero-actions .landing-btn{width:100%}}@media (width<=440px){.landing-header-inner{gap:12px}.landing-trust{flex-direction:column;gap:8px}}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--gold:#e8a94a;--gold-soft:#fbedd3}.onboarding-page{background:var(--bg);min-height:100svh;color:var(--ink);flex-direction:column;align-items:center;padding:32px 16px 48px;font-family:Inter,sans-serif;display:flex}.onboarding-page .wordmark{margin-bottom:18px;font-size:18px}.phone{background:var(--card);border:1px solid var(--border);width:min(100%,360px);min-height:600px;box-shadow:var(--shadow-card);border-radius:32px;flex-direction:column;padding:22px 20px 24px;display:flex}.progress-dots{gap:6px;margin-bottom:26px;display:flex}.progress-dot{background:var(--border);border-radius:999px;flex:1;height:4px;transition:background .18s}.progress-dot.done{background:var(--green)}.step{flex-direction:column;flex:1;display:flex}.icon-badge{background:var(--green-soft);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 24px;font-size:26px;display:flex}.icon-badge img{width:46px;height:46px;display:block}h1{color:var(--ink);margin:0 0 6px;font:700 19px/1.25 "Baloo 2",sans-serif}.subtext{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.5}.leadtext{color:gray;margin:auto;font-size:15px;line-height:1.5}.validation-error{color:#a64738;background:#fbe9e5;border:1px solid #f0c9c0;border-radius:10px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.4}.step-spacer{flex:1;min-height:20px}.field{margin-bottom:14px;display:block}.field>span,.field-label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input{width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px}.field input[readOnly]{cursor:not-allowed;background:#f8f9fa}.field input::placeholder{color:#b8b8c2}.field input:focus{outline:2px solid var(--green);outline-offset:1px}.divider{color:var(--muted);align-items:center;gap:10px;margin:2px 0 16px;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.primary-button,.social-button,.link-button,.stepper-controls button,.avatar-option{cursor:pointer;border:0}.primary-button{color:#fff;background:var(--green);border-radius:14px;width:100%;margin-top:6px;padding:14px;font-size:14px;font-weight:700;transition:transform .16s,background .16s}.primary-button:hover{background:#126840;transform:translateY(-1px)}.primary-button:active{transform:translateY(0)}.primary-button:disabled{cursor:wait;opacity:.65;transform:none}.primary-button:focus-visible,.social-button:focus-visible,.link-button:focus-visible,.stepper-controls button:focus-visible,.avatar-option:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.link-button{width:100%;color:var(--muted);background:0 0;padding:12px 0 0;font-size:12px}.link-button:hover{color:var(--green)}.social-button{width:100%;color:var(--ink);background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;padding:11px;font-size:13px;font-weight:600}.social-button:hover{background:var(--bg)}.stepper-row{border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:14px 16px;display:flex}.stepper-name{font-size:13px;font-weight:600}.stepper-controls{align-items:center;gap:14px;display:flex}.stepper-controls button{width:28px;height:28px;color:var(--green);background:var(--green-soft);border-radius:50%;font-size:16px;font-weight:700}.stepper-controls button:hover{background:#d1ebdb}.stepper-controls span{text-align:center;min-width:16px;font:600 16px "Baloo 2",sans-serif}.avatar-grid{gap:10px;margin-bottom:6px;display:flex}.avatar-option{border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;transition:border-color .16s,transform .16s;display:flex}.avatar-option.gold{background:var(--gold-soft)}.avatar-option.green{background:var(--green-soft)}.avatar-option.selected{border-color:var(--green);transform:scale(1.06)}.celebration-step{text-align:center}.celebration-content{padding-top:30px}.celebration-badge{background:var(--gold-soft);border-radius:50%;width:64px;height:64px;margin:0 auto 18px;font-size:30px}.celebration-step h1{font-size:20px}.coin-preview{background:var(--green-soft);border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-bottom:24px;padding:14px;display:flex}.coin-preview strong{color:var(--green);font:800 20px "Baloo 2",sans-serif}.coin-preview span{color:var(--green);font-size:12px}.center{margin:auto}.referral-confirmation{color:#0a5f35;background:#d1fae5;border:1px solid #a7f3d0;border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.4}.referral-card{background:linear-gradient(180deg, var(--green-soft) 0%, var(--bg) 100%);border:1px solid var(--border);text-align:center;border-radius:20px;margin-bottom:14px;padding:22px 18px}.referral-family-name{color:var(--green-deep);margin-bottom:14px;font:700 18px "Baloo 2",sans-serif}.referral-child-preview{background:var(--card);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:flex}.referral-avatar{font-size:28px}.referral-child-name{color:var(--ink);font:700 16px "Baloo 2",sans-serif}.referral-code-row{background:var(--green-soft);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:12px 16px;display:flex}.referral-code-label{color:var(--muted);font-size:12px;font-weight:600}.referral-code-display{letter-spacing:4px;color:var(--green-deep);background:var(--card);border:1px solid var(--border);text-align:center;border-radius:8px;min-width:140px;padding:8px 16px;font:800 20px "Baloo 2",sans-serif}.referral-code-row .btn-copy{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700;transition:background .15s}.referral-code-row .btn-copy:hover{background:var(--green-deep)}.referral-link-row{background:var(--card);border:1px solid var(--border);word-break:break-all;border-radius:12px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:flex}.referral-link-row a{color:var(--green-deep);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;text-decoration:none;overflow:hidden}.referral-link-row .btn-copy{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700;transition:background .15s}.referral-link-row .btn-copy:hover{background:var(--green-deep)}.referral-qr{flex-direction:column;align-items:center;gap:8px;margin-bottom:14px;display:flex}.referral-qr>div{border:1px solid var(--border);background:#fff;border-radius:12px;padding:6px}.referral-qr .qr-label{color:var(--muted);font-size:11px;font-weight:500}.referral-hint{color:var(--muted);margin:6px 0 14px;font-size:12px;font-style:italic}.language-options{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.language-option{background:var(--bg);border:2px solid var(--border);width:100%;color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;font:500 15px DM Sans,sans-serif;transition:all .2s;display:flex}.language-option:hover{border-color:var(--gold);background:var(--gold-soft);transform:translate(-2px)}html[dir=rtl] .language-option:hover{transform:translate(2px)}.language-option:focus-visible{outline:2px solid var(--green);outline-offset:2px}.language-option.selected{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.language-flag{flex-shrink:0;font-size:24px;line-height:1}.language-name{flex:1;font-size:15px;font-weight:600}.join-code-display{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:16px;margin-top:12px;padding:20px}.join-code-display h2{color:var(--green);margin-bottom:8px;font:700 18px "Baloo 2",sans-serif}.code-value{letter-spacing:6px;color:var(--green-deep);background:var(--green-soft);border-radius:12px;margin-bottom:12px;padding:14px 20px;font:800 32px "Baloo 2",sans-serif;display:inline-block}.join-code-display button{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:12px 24px;font-weight:700}@media (width<=380px){.onboarding-page{padding:24px 12px 32px}.phone{min-height:580px;padding-inline:18px}}.location-fields{flex-direction:column;gap:14px;margin-bottom:8px;display:flex}.field-group{width:100%}.field-group .field select{width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:12px 14px;font-size:14px}.field-group .field select:focus{outline:2px solid var(--green);outline-offset:1px}.field-group .field select:disabled{cursor:not-allowed;background:#f8f9fa}.field-group .field select option:disabled{color:#b8b8c2}.loading-indicator{color:var(--muted);margin-left:8px;font-size:11px;font-style:italic;display:inline-block}.loading{height:200px;color:var(--muted);justify-content:center;align-items:center;display:flex}.kids-grid{box-sizing:border-box;grid-template-columns:1fr;gap:14px;width:100%;max-width:100%;display:grid}.kids-grid>*{min-width:0}.kid-card{background:var(--card);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:18px;flex-direction:column;width:100%;max-width:100%;padding:18px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.kid-card:hover{box-shadow:var(--shadow-soft);border-color:var(--gold);transform:translateY(-2px)}.kid-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.kid-top{flex-shrink:0;align-items:center;gap:12px;min-width:0;margin-bottom:12px;display:flex}.xp{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.xp{flex-direction:column;flex:1;justify-content:center;min-height:0;margin-bottom:16px;display:flex}.kid-card.pending{border:2px dashed var(--pending-border);background:var(--pending-bg);box-shadow:none}.kid-card.pending:hover{box-shadow:none;border-color:var(--pending-border);transform:none}.kid-card.pending .av{filter:grayscale(.55);opacity:.8;box-shadow:0 0 0 5px var(--pending-border)}.avwrap{flex-shrink:0;min-width:0;position:relative}.av{background:var(--gold-soft);width:64px;height:64px;box-shadow:0 0 0 3px var(--card), 0 0 0 5px var(--gold);border-radius:50%;justify-content:center;align-items:center;font-size:34px;display:flex}.lvl{background:var(--green);color:#fff;white-space:nowrap;border:2px solid var(--card);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.kid-card.pending .lvl{background:#b7b3a6}.linkbox{background:var(--bg);border:1px solid var(--border);border-radius:14px;align-items:center;gap:8px;margin-bottom:10px;padding:6px 6px 6px 12px;display:flex}.linkbox .url{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}@media (width<=480px){.kid-card{padding:14px}.kid-top{flex-wrap:wrap;gap:8px}.avwrap{flex-shrink:0}.av{width:48px;height:48px;font-size:24px}.lvl{padding:1px 6px;font-size:9px;bottom:-6px}.kid-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}.stat{padding:6px 4px}.stat .n{font-size:14px}.stat .l{font-size:9px}.row{font-size:10px}.track{height:6px}}.quests-section{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:20px}.quests-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;display:flex}.quests-tabs{border-bottom:1px solid var(--border);flex:1;gap:22px;min-width:260px;margin-bottom:-1px;padding-bottom:8px;display:flex}.quest-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 0 12px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;display:flex}.quest-tab:hover{color:var(--ink)}.quest-tab.active{color:var(--green);border-bottom-color:var(--green)}.quest-tab b{background:var(--green-soft);color:var(--green);border-radius:999px;margin-left:4px;padding:2px 8px;font-size:12px;font-weight:700}.quest-tab.active b{background:var(--green);color:#fff}.quests-kids-filter{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.kid-filter-btn{border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .15s;display:flex}.kid-filter-btn:hover{border-color:var(--gold);background:var(--gold-soft);color:var(--gold-ink)}.kid-filter-btn.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.kid-emoji{font-size:15px;font-style:normal}.quests-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.quests-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:50px 20px;font-size:14px}.quests-empty b{color:var(--ink);margin-bottom:4px;font-family:"Baloo 2",sans-serif;font-size:20px;display:block}.quest-task{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;padding:18px 20px;transition:opacity .25s,transform .25s;display:flex}.quest-task.out{opacity:0;transform:scale(.97)}.task-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.task-category{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.task-due-separator{color:var(--muted)}.task-due{text-transform:none;letter-spacing:0;font-size:11px;font-weight:600}.task-due.soon{color:var(--gold-ink);font-weight:700}.task-points{color:var(--gold-ink);white-space:nowrap;font-size:13px;font-weight:700}.task-title{color:var(--ink);margin:0 0 2px;font-family:"Baloo 2",sans-serif;font-size:18px;line-height:1.2}.task-description{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.5}.task-meta{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.task-assignee{color:var(--ink);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.task-assignee-emoji{background:var(--gold-soft);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-style:normal;display:flex}.task-status{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.s-doing{color:var(--green)}.s-idle{color:#7a7f92;background:#f1eee6}.s-review{color:#7a7f92}.s-done{color:var(--green)}.task-actions{gap:8px;margin-top:14px;display:flex}.task-btn{cursor:pointer;border:none;border-radius:12px;flex:1;padding:11px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:transform .15s,background .15s,opacity .15s}.task-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.task-btn-approve{background:var(--green);color:#fff}.task-btn-approve:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.task-btn-reject{background:var(--danger-soft);color:var(--danger)}.task-btn-reject:hover:not(:disabled){background:#eedbd7;transform:translateY(-1px)}.quests-fab{background:var(--green);color:#fff;cursor:pointer;z-index:100;white-space:nowrap;border:none;border-radius:28px;justify-content:center;align-items:center;gap:8px;min-width:160px;height:56px;padding:0 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #167a4e59}.quests-fab:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 8px 24px #167a4e73}.quests-fab:active{transform:translateY(0)scale(.98)}@media (width<=480px){.quests-fab{border-radius:50%;width:52px;min-width:0;height:52px;padding:0;font-size:0;bottom:16px;right:16px}.quests-fab:before{content:"+";font-size:24px;font-weight:700;line-height:1}.quests-fab span{display:none}}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--card);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-card);border-radius:20px;animation:.2s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--ink);margin:0;font:700 20px "Baloo 2",sans-serif}.modal-close{background:var(--bg);width:36px;height:36px;color:var(--muted);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:18px;transition:background .15s,color .15s;display:flex}.modal-close:hover{background:var(--border);color:var(--ink)}.modal-form{flex-direction:column;gap:18px;padding:24px;display:flex}.modal-error{color:#a64738;background:#fbe9e5;border:1px solid #f0c9c0;border-radius:8px;padding:10px 12px;font-size:13px}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:10px;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field textarea{resize:vertical;min-height:80px;max-height:40vh;line-height:1.5}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;margin-top:6px;padding-top:6px;display:flex}.btn{cursor:pointer;border:none;border-radius:10px;padding:12px 20px;font:600 14px Inter,sans-serif;transition:transform .15s,background .15s,opacity .15s}@media (width<=480px){.quests-toolbar{flex-direction:column;align-items:stretch}.quests-tabs{justify-content:space-between;gap:8px;width:100%}.quest-tab{padding:8px 0 10px;font-size:12px}.quests-kids-filter{justify-content:center}.quests-grid{grid-template-columns:1fr}.task-header{flex-wrap:wrap;gap:8px}.task-category{width:100%;margin-bottom:4px}.task-actions{width:100%}}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#fbedd3;--gold-ink:#a9761f;--danger:#b8543f;--danger-soft:#f6e9e5;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47}.goals-section{background:var(--card);border:1px solid var(--border);border-radius:24px;margin-bottom:24px;padding:24px}.goals-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.goals-title{color:var(--ink);margin:0;font-family:"Baloo 2",sans-serif;font-size:24px;line-height:1.1}.goals-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:start;gap:16px;display:grid}.goal-kid-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:24px;flex-direction:column;padding:20px;display:flex}.goal-kid-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.goal-kid-avatar{background:var(--gold-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:24px;display:flex}.goal-kid-name{color:var(--ink);flex:1;font-family:"Baloo 2",sans-serif;font-size:17px;font-weight:700}.goal-kid-balance{text-align:right;line-height:1.1}.goal-kid-balance b{color:var(--green);font-family:"Baloo 2",sans-serif;font-size:19px;font-weight:800;display:block}.goal-kid-balance span{color:var(--muted);font-size:11px}.goal-kid-goals{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.goal-item{background:var(--bg);border-radius:16px;gap:12px;padding:12px;transition:background .15s;display:flex}.goal-item.complete{background:var(--green-soft)}.goal-icon{background:var(--card);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--border);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:23px;display:flex}.goal-body{flex:1;min-width:0}.goal-row-top{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.goal-name{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:13px;font-weight:700;overflow:hidden}.goal-percent{color:var(--gold-ink);white-space:nowrap;font-size:11px;font-weight:700}.goal-item.complete .goal-percent{color:var(--green)}.goal-track{background:#efe9da;border-radius:999px;height:8px;margin:7px 0 6px;overflow:hidden}.goal-item.complete .goal-fill{background:var(--green)}.goal-meta{color:var(--muted);font-size:11px}.goal-item.complete .goal-meta{color:var(--green)}.goal-none{border:2px dashed var(--border);text-align:center;color:var(--muted);border-radius:16px;padding:18px;font-size:12px}.goal-none b{margin-bottom:4px;font-size:22px;display:block}.goal-add-btn{background:var(--green-soft);width:100%;color:var(--green);cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:11px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:background .15s,color .15s}.goal-add-btn:hover{background:var(--green);color:#fff}.goals-modal-overlay{z-index:100;background:#141e1973;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:none;position:fixed;inset:0}.goals-modal-overlay.open{display:flex}.goals-modal{background:var(--card);border-radius:26px;width:100%;max-width:480px;max-height:92vh;padding:24px;animation:.3s cubic-bezier(.32,.72,0,1) slideUp;overflow:auto}.goals-modal-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.goals-modal-header h3{color:var(--ink);margin:0;font-family:"Baloo 2",sans-serif;font-size:21px}.goals-modal-close{background:var(--bg);width:32px;height:32px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex}.goals-modal-close:hover{background:var(--border);color:var(--ink)}.goals-modal-description{color:var(--muted);margin:0 0 18px;font-size:13px}.goals-modal-field{margin-bottom:18px}.goals-modal-label{color:var(--ink);margin:0 0 8px;font-size:12px;font-weight:700;display:block}.goals-modal-children{flex-wrap:wrap;gap:8px;display:flex}.goals-modal-child{border:2px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:5px 14px 5px 5px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:flex}.goals-modal-child:hover{border-color:var(--gold)}.goals-modal-child.selected{border-color:var(--green);background:var(--green-soft);color:var(--green)}.goals-modal-child-emoji{background:var(--gold-soft);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-style:normal;display:flex}.goals-modal-icons{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.goals-modal-icon{aspect-ratio:1;background:var(--bg);cursor:pointer;border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:20px;transition:all .15s;display:flex}.goals-modal-icon:hover{background:var(--gold-soft)}.goals-modal-icon.selected{border-color:var(--gold);background:var(--gold-soft)}.goals-modal-input{border:2px solid var(--border);background:var(--bg);width:100%;color:var(--ink);border-radius:14px;padding:13px 15px;font-family:Inter,sans-serif;font-size:15px;transition:border-color .15s,background .15s}.goals-modal-input:focus{border-color:var(--green);background:#fff;outline:none}.goals-modal-amount-wrapper{position:relative}.goals-modal-amount-input{padding-right:54px;font-weight:700}.goals-modal-currency{color:var(--muted);pointer-events:none;font-size:12px;font-weight:700;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.goals-modal-quick-amounts{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.goals-modal-quick-amount{border:1px solid var(--border);background:var(--card);color:var(--muted);cursor:pointer;border-radius:999px;padding:5px 12px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.goals-modal-quick-amount:hover{border-color:var(--green);color:var(--green)}.goals-modal-hint{background:var(--gold-soft);color:var(--gold-ink);border-radius:12px;margin-top:10px;padding:9px 12px;font-size:12px;font-weight:600}.goals-modal-hint.complete{background:var(--green-soft);color:var(--green)}.goals-modal-actions{gap:10px;margin-top:6px;display:flex}.goals-modal-actions button{cursor:pointer;border:none;border-radius:14px;padding:14px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;transition:background .15s,transform .15s}.goals-modal-actions button:disabled{opacity:.6;cursor:not-allowed;transform:none}.goals-modal-cancel{background:var(--bg);color:var(--muted);flex:none;padding:14px 20px!important}.goals-modal-cancel:hover:not(:disabled){background:var(--border)}.goals-modal-create{background:var(--green);color:#fff;flex:1}.goals-modal-create:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.goals-modal-create:disabled{background:var(--border);color:var(--muted)}@media (width<=560px){.goals-modal-overlay{align-items:flex-end;padding:0}.goals-modal{border-radius:26px 26px 0 0;max-height:94vh}.goals-modal-icons{grid-template-columns:repeat(6,1fr)}.goals-header{flex-direction:column;align-items:stretch}}.header{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.header--loading{justify-content:center;min-height:64px}.header-loading-spinner{border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.header-back-btn{background:linear-gradient(180deg, #fff 0%, var(--bg) 100%);border:1.5px solid var(--border);width:42px;height:42px;color:var(--green-deep);cursor:pointer;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;transition:all .25s cubic-bezier(.32,.72,0,1);display:flex}.header-back-btn:hover{background:linear-gradient(180deg, var(--green-soft) 0%, var(--bg) 100%);border-color:var(--gold);color:var(--green-deep);transform:translateY(-2px)scale(1.06)}.header-back-btn:focus-visible{outline:none}.header-back-btn:active{transform:translateY(0)scale(.96)}.header-wordmark{flex-shrink:0;align-items:center;margin:0;display:flex}.header-wordmark-text{color:var(--green);font-family:"Baloo 2",sans-serif;font-size:16px;font-weight:800}.header-wordmark svg{max-height:100%}.header-wordmark .coin{width:auto;height:32px;display:block}.header-wordmark span{color:var(--gold)}.header-profile-dropdown{z-index:100;flex-shrink:0;position:relative}.header-profile-trigger{background:var(--bg);cursor:pointer;border:none;justify-content:center;align-items:center;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex}.header-profile-trigger:hover{box-shadow:var(--shadow-soft);border-color:var(--gold);transform:translateY(-1px)}.header-profile-trigger:focus-visible{outline:2px solid var(--green)}.header-profile-info{display:none}.header-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.header-profile-chevron{display:none}.header-profile-hamburger{background:var(--card);border:1px solid var(--border);width:36px;height:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,border-color .2s,transform .15s;display:flex}.header-profile-hamburger:hover{background:var(--bg);border-color:var(--gold);transform:scale(1.05)}.header-profile-hamburger svg{stroke:currentColor;width:20px;height:20px}@media (width>=600px){.header-profile-hamburger{display:none}.header-profile-info{flex-direction:column;gap:1px;min-width:0;display:flex}.header-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.header-profile-chevron{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.header-profile-trigger[aria-expanded=true] .header-profile-chevron{transform:rotate(180deg)}}.header-profile-menu{background:0 0;border-radius:16px;min-width:auto;margin-top:0;animation:.25s cubic-bezier(.32,.72,0,1) profileMenuIn;position:absolute;top:calc(100% + 8px);right:-8px;overflow:hidden;box-shadow:0 24px 48px -12px #14281e40}@keyframes profileMenuIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.header-profile-menu-backdrop{z-index:-1;background:0 0;position:fixed;inset:0}.header-profile-menu-content{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;overflow:hidden}.header-profile-menu-divider{background:var(--border);height:1px;margin:0}.header-profile-menu-nav{flex-direction:column;gap:2px;padding:6px;display:flex}.header-profile-menu-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font:500 15px DM Sans,sans-serif;transition:background .15s,color .15s,transform .1s;display:flex}.header-profile-menu-item:hover{background:var(--green-soft);color:var(--green-deep)}.header-profile-menu-item:active{transform:scale(.98)}.header-profile-menu-item:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.header-profile-menu-item--logout{color:#c0392b}.header-profile-menu-item--logout:hover{color:#a93226;background:#fef2f2}.header-profile-menu-item--logout:active{background:#fdf2f2}.header-profile-menu-icon{width:20px;height:20px;color:var(--muted);flex-shrink:0;transition:color .15s}.header-profile-menu-item:hover .header-profile-menu-icon{color:currentColor}.header-profile-menu-item--logout .header-profile-menu-icon{color:#c0392b}.header-profile-menu-item--logout:hover .header-profile-menu-icon{color:#a93226}.header-profile-menu-item:hover{color:currentColor}@media (width>=600px){.header{flex-wrap:nowrap;padding:16px 20px}.header-wordmark{font-size:18px}.header-profile-hamburger{display:none}.header-profile-info{flex-direction:column;gap:1px;min-width:0;display:flex}.header-profile-chevron{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.header-profile-trigger[aria-expanded=true] .header-profile-chevron{transform:rotate(180deg)}.header-profile-menu{width:100%;min-width:280px;left:auto;right:0}.header-profile-menu-nav{gap:4px;padding:8px}.header-profile-menu-item{padding:12px 16px;font-size:14px}}@media (width>=900px){.header{max-width:820px;margin:0 auto}}[dir=rtl] .header-profile-chevron,[dir=rtl] .mirror-rtl{transform:scaleX(-1)}[dir=rtl] .header-profile-trigger[aria-expanded=true] .header-profile-chevron{transform:scaleX(-1)rotate(180deg)}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#f5f2e1;--gold-ink:#8a5a12;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47;--shadow-fab:0 8px 24px -8px #167a4e73;--pending-border:#ddd5c2}.dashboard{background:var(--bg);min-height:100vh}.dashboard-wrap{box-sizing:border-box;width:100%;max-width:920px;margin:0 auto;padding:16px 16px 140px;overflow-x:hidden}.dashboard-content{width:100%;max-width:100%;overflow-x:hidden}.profile-avatar{background:linear-gradient(135deg, var(--gold), var(--green));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:"Baloo 2",sans-serif;font-size:14px;font-weight:700;display:none}@media (width>=600px){.profile-avatar{justify-content:center;align-items:center;display:flex}.profile-hamburger{display:none}}.profile-menu-item--language .profile-menu-chevron.open{transform:rotate(180deg)}@keyframes profileLanguagePopoverIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-language-popover-item.active{background:var(--green-soft);color:var(--green-deep)}.profile-language-popover-item.active .profile-language-popover-code{color:var(--green-deep)}.dashboard-section{box-sizing:border-box;width:100%;max-width:100%;margin-bottom:24px}.dashboard-section:last-of-type{margin-bottom:0}.section-title{color:var(--ink);margin:0 0 12px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700}@media (width>=600px){.active-quests-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.active-quests-grid>.inline-quest-form{grid-column:1/-1}}.goal-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.btn-icon{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s,transform .1s;display:flex}.btn-icon:hover:not(:disabled){background:var(--green-soft);border-color:var(--gold);color:var(--green-deep);transform:scale(1.05)}.btn-icon:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn-icon:active{transform:scale(.95)}.goal-track{background:var(--bg);border-radius:999px;flex:1;min-width:0;height:10px;overflow:hidden}.goal-fill{background:linear-gradient(90deg, var(--gold), #f0c85a);border-radius:999px;height:100%;transition:width .4s}.loading-state,.error-state,.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.error-state{color:#a64738}.kid-stats{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:auto;display:grid}.kid-info{flex:1;min-width:0;overflow:hidden}.name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:700;line-height:1.15;overflow:hidden}.rank{color:var(--muted);font-size:12px}.chip{background:var(--gold-soft);color:var(--gold-ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;max-width:100%;margin-bottom:14px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.row{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.row span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.track{background:var(--bg);border-radius:999px;height:7px;overflow:hidden}.fill{background:linear-gradient(90deg, var(--gold), #f2c375);border-radius:999px;height:100%;transition:width .4s}.subtext{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.stat{background:var(--bg);text-align:center;border-radius:12px;min-width:0;padding:10px}.stat .n{color:var(--green);font-family:"Baloo 2",sans-serif;font-size:17px;font-weight:800;line-height:1.2}.stat .l{color:var(--muted);margin-top:2px;font-size:10px}.chip.wait{color:#7a7f92;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-bottom:14px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.msg{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.5}.msg b{color:var(--ink);font-weight:600}.confirm-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--card);box-shadow:var(--shadow-card);border-radius:20px;width:100%;max-width:320px;padding:24px;animation:.2s cubic-bezier(.4,0,.2,1) slideUp}.confirm-modal h3{color:var(--ink);margin:0 0 12px;font:700 18px "Baloo 2",sans-serif}.confirm-modal p{color:var(--muted);margin:0 0 20px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:12px;display:flex}.confirm-actions .btn{border-radius:10px;padding:10px 18px;font:600 13px Inter,sans-serif}.confirm-actions .btn-secondary{background:var(--bg);color:var(--ink);border:1px solid var(--border)}.confirm-actions .btn-secondary:hover{background:var(--border)}.confirm-actions .btn-danger{background:var(--danger);color:#fff}.confirm-actions .btn-danger:hover{background:#a04838}.copy{background:var(--green);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;transition:background .2s;display:inline-flex}.copy.done{background:var(--green-soft);color:var(--green)}.code{color:var(--muted);text-align:center;border-radius:12px;margin-top:4px;font-size:11px}.code b{letter-spacing:2px;color:var(--green);font-family:"Baloo 2",sans-serif;font-size:13px}@media (width>=600px){.dashboard-header{flex-wrap:nowrap;gap:12px;margin-bottom:24px;padding-bottom:20px}.profile-info{flex-direction:column;gap:1px;min-width:0;display:flex}.profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.profile-date{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.profile-hamburger{display:none}.profile-menu{width:100%;min-width:280px;left:auto;right:0}.profile-menu-header{padding:16px 20px}.profile-menu-avatar{width:48px;height:48px;font-size:20px}.profile-menu-nav{gap:4px;padding:8px}.profile-menu-item{padding:12px 16px;font-size:14px}.profile-chevron{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.profile-trigger[aria-expanded=true] .profile-chevron{transform:rotate(180deg)}.goal-row{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;padding:16px 20px}.goal-row-left{width:auto;min-width:0}.goal-progress-wrapper{width:100%;min-width:280px}.goal-track{flex:1;min-width:0}.goal-row-right{flex:1;width:100%}.fab{border-radius:50px;justify-content:flex-start;align-items:center;gap:8px;padding:14px 24px;display:flex;bottom:24px;left:auto;right:24px}.fab-text{display:inline}.kids-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.active-quests-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dashboard-wrap{padding:24px 20px 100px}.dashboard-header{gap:12px;margin-bottom:24px;padding-bottom:20px}}@media (width>=900px){.active-quests-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.goal-progress-wrapper{width:100%;min-width:280px}.goal-track{min-width:200px}.goal-row-right{flex:1;width:100%}}@media (width>=1024px){.dashboard-wrap{max-width:920px;padding:24px 20px 100px}}@media (width<=480px){.approve-row{flex-wrap:wrap;gap:8px;padding:10px 12px}.approve-mid{flex:calc(100% - 60px);min-width:120px}.approve-actions{justify-content:flex-end;width:100%}.active-quests-grid{grid-template-columns:1fr}.goal-row{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.goal-row-left{width:100%}.goal-progress-wrapper{width:100%;min-width:0}.goal-track{min-width:0}}.dashboard-content::-webkit-scrollbar{width:8px}.dashboard-content::-webkit-scrollbar-track{background:0 0}.dashboard-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.dashboard-content::-webkit-scrollbar-thumb:hover{background:var(--muted)}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#f5f2e1;--gold-ink:#8a5a12;--danger:#b8543f;--danger-soft:#f6e9e5;--danger-deep:#a93226;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47;--shadow-fab:0 8px 24px -8px #167a4e73}.family-page{background:var(--bg);min-height:100vh}.family-wrap{max-width:820px;margin:0 auto;padding:24px 20px 48px}.family-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.family-wordmark{color:var(--green);flex-shrink:0;margin:0;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:800}.family-wordmark span{color:var(--gold)}.family-back-btn{background:var(--card);border:1px solid var(--border);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s,transform .1s;display:flex}.family-back-btn:hover{background:var(--green-soft);border-color:var(--gold);color:var(--green-deep);transform:scale(1.05)}.family-back-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.family-back-btn:active{transform:scale(.95)}.family-profile-dropdown{z-index:100;flex-shrink:0;position:relative}.family-profile-trigger{background:var(--bg);cursor:pointer;border:none;justify-content:center;align-items:center;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex}.family-profile-trigger:hover{box-shadow:var(--shadow-soft);border-color:var(--gold);transform:translateY(-1px)}.family-profile-trigger:focus-visible{outline:2px solid var(--green)}.family-profile-info{display:none}.family-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.family-profile-chevron{display:none}.family-profile-hamburger{background:var(--card);border:1px solid var(--border);width:36px;height:36px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,border-color .2s,transform .15s;display:flex}.family-profile-hamburger:hover{background:var(--bg);border-color:var(--gold);transform:scale(1.05)}.family-profile-hamburger svg{stroke:currentColor;width:20px;height:20px}@media (width>=600px){.family-profile-hamburger{display:none}}.family-profile-menu{background:0 0;border-radius:16px;min-width:auto;margin-top:0;animation:.25s cubic-bezier(.32,.72,0,1) profileMenuIn;position:absolute;top:calc(100% + 8px);right:-8px;overflow:hidden;box-shadow:0 24px 48px -12px #14281e40}.family-profile-menu-backdrop{z-index:-1;background:0 0;position:fixed;inset:0}.family-profile-menu-content{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;overflow:hidden}.family-profile-menu-divider{background:var(--border);height:1px;margin:0}.family-profile-menu-nav{flex-direction:column;gap:2px;padding:6px;display:flex}.family-profile-menu-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:14px 16px;font:500 15px DM Sans,sans-serif;transition:background .15s,color .15s,transform .1s;display:flex}.family-profile-menu-item:hover{background:var(--green-soft);color:var(--green-deep)}.family-profile-menu-item:active{transform:scale(.98)}.family-profile-menu-item:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.family-profile-menu-item--logout{color:#c0392b}.family-profile-menu-item--logout:hover{color:#a93226;background:#fef2f2}.family-profile-menu-item--logout:active{background:#fdf2f2}.family-profile-menu-icon{width:20px;height:20px;color:var(--muted);flex-shrink:0;transition:color .15s}.family-profile-menu-item:hover .family-profile-menu-icon{color:currentColor}.family-profile-menu-item--logout .family-profile-menu-icon{color:#c0392b}.family-profile-menu-item--logout:hover .family-profile-menu-icon{color:#a93226}.family-profile-menu-chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0;margin-left:auto}.family-profile-menu-item:hover .family-profile-menu-chevron{color:currentColor}.family-title{color:var(--ink);margin:0 0 4px;font-family:"Baloo 2",sans-serif;font-size:22px;font-weight:700}.family-lead{color:var(--muted);margin:0 0 26px;font-size:13px}.family-section{margin-bottom:28px}.family-section-title{color:var(--ink);margin:0 0 12px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700}.family-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:6px}.family-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px;display:flex}.family-row:last-child{border-bottom:none}.family-row-grow{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.family-row-label{color:var(--muted);margin-bottom:2px;font-size:11px}.family-row-value,.family-row-name{color:var(--ink);font-size:14px;font-weight:600}.family-row-sub{color:var(--muted);margin-top:2px;font-size:11px}.family-tag{background:var(--gold-soft);color:#a9761f;vertical-align:middle;border-radius:999px;margin-left:6px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.family-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.family-avatar-initial{background:var(--green-soft);color:var(--green);font-family:"Baloo 2",sans-serif;font-size:16px;font-weight:700}.family-avatar-initial.gold{background:var(--gold-soft);color:var(--gold-ink)}.family-avatar-emoji{background:var(--green-soft);font-size:22px}.family-avatar-emoji.gold{background:var(--gold-soft)}.family-actions{gap:6px;display:flex}.family-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;font:600 12px Inter,sans-serif;transition:transform .15s,background .15s,opacity .15s,box-shadow .15s;display:inline-flex}.family-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.family-btn-icon{padding:8px}.family-btn-edit{background:var(--green-soft);color:var(--green);padding:8px 14px}.family-btn-edit:hover:not(:disabled){background:var(--green);color:#fff;transform:translateY(-1px)}.family-btn-del{background:var(--danger-soft);color:var(--danger);padding:8px 14px}.family-btn-del:hover:not(:disabled){background:var(--danger);color:#fff;transform:translateY(-1px)}.family-btn-primary{background:var(--green);color:#fff;padding:8px 14px}.family-btn-primary:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px);box-shadow:0 4px 12px #167a4e4d}.family-btn-ghost{background:var(--bg);color:var(--muted);border:1px solid var(--border);padding:8px 14px}.family-btn-ghost:hover:not(:disabled){background:var(--border);color:var(--ink)}.family-btn-danger{background:var(--danger);color:#fff;padding:8px 14px}.family-btn-danger:hover:not(:disabled){background:var(--danger-deep);transform:translateY(-1px)}.family-btn-danger-zone{color:var(--danger);border:1px solid var(--danger);background:#fff;padding:10px 16px;font-size:13px}.family-btn-danger-zone:hover:not(:disabled){background:var(--danger-soft);transform:translateY(-1px)}.family-add-row{color:var(--green);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.family-add-row:hover{background:var(--green-soft)}.family-add-row:focus-visible{outline:2px solid var(--green);outline-offset:2px}.family-quota{color:var(--muted);text-align:center;padding:0 0 12px;font-size:11px}.family-danger-zone{background:var(--danger-soft);border:1px solid #ebcfc8;border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:16px;display:flex}.family-danger-text{flex:1;min-width:200px}.family-danger-title{color:var(--danger);font-size:13px;font-weight:700}.family-danger-desc{color:#8c5a4f;margin-top:2px;font-size:11px}.family-modal-overlay{z-index:1000;background:#141e1973;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.family-modal{background:var(--card);width:100%;max-width:380px;box-shadow:var(--shadow-card);border-radius:20px;padding:22px;animation:.2s cubic-bezier(.32,.72,0,1) slideUp}.family-modal h3{color:var(--ink);margin:0 0 4px;font-family:"Baloo 2",sans-serif;font-size:17px}.family-modal>p{color:var(--muted);margin:0 0 16px;font-size:12px;line-height:1.5}.family-modal-field{margin-bottom:12px}.family-modal-field label{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.family-modal-field input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);box-sizing:border-box;border-radius:11px;padding:11px 13px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.family-modal-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.family-modal-field input:read-only{background:var(--border);color:var(--muted);cursor:not-allowed}.family-modal-avatars{flex-wrap:wrap;gap:8px;display:flex}.family-modal-avatar{background:var(--green-soft);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;transition:all .15s;display:flex}.family-modal-avatar:hover{border-color:var(--gold);transform:scale(1.05)}.family-modal-avatar.selected{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.family-modal-actions{gap:8px;margin-top:18px;display:flex}.family-modal-actions .family-btn{flex:1;padding:11px}@media (width>=600px){.family-wrap{padding:24px 20px 48px}.family-header{flex-wrap:nowrap;gap:12px;margin-bottom:24px;padding-bottom:20px}.family-wordmark{font-size:18px}.family-profile-info{flex-direction:column;gap:1px;min-width:0;display:flex}.family-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.family-profile-chevron{width:24px;height:24px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.32,.72,0,1);display:flex}.family-profile-trigger[aria-expanded=true] .family-profile-chevron{transform:rotate(180deg)}.family-profile-hamburger{display:none}.family-profile-menu{width:100%;min-width:280px;left:auto;right:0}.family-profile-menu-nav{gap:4px;padding:8px}.family-profile-menu-item{padding:12px 16px;font-size:14px}}@media (width>=900px){.family-wrap{max-width:820px}}[dir=rtl] .family-profile-chevron,[dir=rtl] .family-profile-menu-chevron,[dir=rtl] .mirror-rtl{transform:scaleX(-1)}[dir=rtl] .family-profile-trigger[aria-expanded=true] .family-profile-chevron{transform:scaleX(-1)rotate(180deg)}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#f5f2e1;--gold-ink:#8a5a12;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--transition-fast:.15s ease;--transition-normal:.2s ease}.settings-page{background:var(--bg);min-height:100vh}.settings-header{align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-md) var(--space-md);border-bottom:1px solid var(--border);background:var(--card);z-index:50;display:flex;position:sticky;top:0}.settings-back-btn{border-radius:var(--radius-sm);background:var(--bg);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-back-btn:hover{background:var(--border);color:var(--green)}.settings-back-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.settings-header h1{color:var(--ink);margin:0;font-family:"Baloo 2",sans-serif;font-size:24px;font-weight:800}.settings-content{max-width:640px;padding:var(--space-lg) var(--space-md) var(--space-xl);margin:0 auto}.settings-section{margin-bottom:var(--space-xl)}.settings-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:0 0 var(--space-md);padding:0 var(--space-xs);text-align:start;font-family:"Baloo 2",sans-serif;font-size:14px;font-weight:700}.settings-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.settings-card-header{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);display:flex}.settings-card-header--no-avatar{justify-content:flex-start}.settings-user-info{gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.settings-user-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.settings-user-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);display:flex}.settings-row:last-child{border-bottom:none}.settings-label{gap:var(--space-xs);text-align:start;flex-direction:column;flex:1;min-width:0;display:flex}.settings-label-text{color:var(--ink);font-size:15px;font-weight:500}.settings-label-hint{color:var(--muted);font-size:12px}.settings-row--language{align-items:center}.settings-language-label{gap:var(--space-xs);flex-direction:column;flex:none;min-width:140px;display:flex}.settings-language-picker{gap:var(--space-sm);padding-bottom:var(--space-xs);flex-wrap:nowrap;flex:1;align-items:center;display:flex;overflow-x:auto}.settings-language-option{align-items:center;gap:var(--space-md);padding:10px var(--space-md);background:var(--bg);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--ink);cursor:pointer;transition:all var(--transition-normal);flex-shrink:0;min-width:100px;font:500 13px DM Sans,sans-serif;display:flex}.settings-language-option:hover{border-color:var(--gold);background:var(--gold-soft);transform:translateY(-1px)}.settings-language-option:focus-visible{outline:2px solid var(--green);outline-offset:2px}.settings-language-option.active{border-color:var(--green);background:var(--green-soft);color:var(--green-deep)}.settings-language-info{gap:var(--space-xs);flex-direction:column;flex:1;min-width:0;display:flex}.settings-language-name{font-size:14px;font-weight:600}.settings-language-code{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.settings-language-option.active .settings-language-code{color:var(--green-deep)}.toggle-switch{align-items:center;gap:var(--space-sm);flex-shrink:0;width:52px;height:28px;display:inline-flex;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{cursor:pointer;background-color:var(--border);transition:all var(--transition-normal);border-radius:14px;position:absolute;inset:0}.toggle-slider:before{content:"";width:22px;height:22px;transition:all var(--transition-normal);background-color:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:var(--green)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--green);outline-offset:2px}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-status{color:var(--muted);min-width:60px;font-size:12px;font-weight:500}@media (width<=480px){.settings-language-option{flex:calc(50% - 4px);min-width:0}.settings-language-name{font-size:13px}.settings-language-code{font-size:10px}.settings-header{padding:var(--space-md)}.settings-header h1{font-size:20px}.settings-content{padding:var(--space-md) var(--space-md) var(--space-lg)}.settings-card-header,.settings-row{padding:var(--space-md)}}@media (width>=600px){.settings-language-option{flex:calc(33.333% - 6px)}}@media (prefers-reduced-motion:reduce){.settings-back-btn,.settings-language-option,.toggle-slider,.toggle-slider:before{transition:none;animation:none}.settings-language-option:hover{transform:none}}@media (prefers-contrast:more){:root{--border:#000;--muted:#333;--green:#006400;--green-deep:#004d00;--gold:#8b6914}.settings-language-option{border-width:3px}.settings-language-option:focus-visible,.settings-back-btn:focus-visible,.toggle-switch input:focus-visible+.toggle-slider{outline-width:3px}}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--gold:#e8a94a;--gold-soft:#fbedd3;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.profile-body{background:var(--bg);color:var(--ink);min-height:100vh;margin:0;padding-bottom:60px;font-family:Inter,sans-serif}.profile-wrap{max-width:920px;margin:0 auto;padding:24px 20px 0}.profile-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.profile-wordmark{color:var(--green);font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:800}.profile-wordmark span{color:var(--gold)}.profile-nav{flex-wrap:wrap;gap:6px;display:flex}.profile-nav a{color:var(--muted);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none}.profile-nav a.active{background:var(--green-soft);color:var(--green)}.profile-h1{margin:16px 0 4px;font-family:"Baloo 2",sans-serif;font-size:22px}.profile-lead{color:var(--muted);margin:0 0 24px;font-size:13px}.profile-section{margin:0 0 12px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700}.profile-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;margin-bottom:24px;padding:20px}.profile-hero{align-items:center;gap:16px;margin-bottom:18px;display:flex}.profile-avatar{background:var(--gold-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:44px;display:flex}.profile-hero .n{font-family:"Baloo 2",sans-serif;font-size:17px;font-weight:700}.profile-hero .e{color:var(--muted);margin-top:2px;font-size:12px}.profile-label{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.profile-emoji-grid{grid-template-columns:repeat(8,1fr);gap:10px;display:grid}@media (width<=600px){.profile-emoji-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=360px){.profile-emoji-grid{grid-template-columns:repeat(2,1fr)}}.profile-emoji-grid span{aspect-ratio:1;background:var(--bg);cursor:pointer;border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;font-size:26px;display:flex}.profile-emoji-grid span.sel{border-color:var(--green);background:var(--green-soft)}.profile-field{margin-bottom:14px}.profile-field:last-child{margin-bottom:0}.profile-field label{color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.profile-field input,.profile-field select{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--ink);border-radius:12px;padding:12px 14px;font-family:Inter,sans-serif;font-size:14px}.profile-field input:focus,.profile-field select:focus{outline:2px solid var(--green);outline-offset:1px}.profile-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.profile-pw-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-pw-row .t{font-size:13px;font-weight:600}.profile-pw-row .s{color:var(--muted);margin-top:2px;font-size:11px}.profile-pw-fields{margin-top:16px;display:none}.profile-pw-fields.open{display:block}.profile-btn{cursor:pointer;border:none;border-radius:12px;padding:11px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.profile-btn-soft{background:var(--green-soft);color:var(--green)}.profile-btn-primary{background:var(--green);color:#fff}.profile-btn-ghost{background:var(--bg);color:var(--muted)}.profile-save-bar{justify-content:flex-end;gap:10px;display:flex}.profile-save-bar .profile-btn-primary{margin-inline-start:auto}.profile-toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:100;border-radius:999px;padding:12px 18px;font-size:13px;font-weight:600;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.profile-toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=520px){.profile-two{grid-template-columns:1fr}}.join-family-page{color:#20242f;background:#fbf8f1;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100svh;padding:28px 16px 48px;font-family:Inter,sans-serif;display:flex}.join-family-page .wordmark{margin-bottom:18px;font-size:20px}.join-family-card{background:#fff;border:1px solid #ece6d8;border-radius:28px;width:100%;max-width:420px;padding:28px 24px 24px;box-shadow:0 24px 50px -26px #14281e4d}.join-referral-card{text-align:left}.card-head{text-align:center;margin-bottom:22px}.house-badge{color:#167a4e;background:#e3f3ea;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.house-icon{font-size:12px}.join-family-card h1{color:#20242f;margin:0 0 4px;font-family:"Baloo 2",sans-serif;font-size:26px;line-height:1.15}.card-subtitle{color:#8a8fa3;margin:0;font-size:13px}.preview-section{flex-direction:column;align-items:center;margin-bottom:18px;display:flex}.avatar-preview{background:#fbedd3;border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;font-size:48px;transition:transform .15s;display:flex;box-shadow:0 0 0 4px #fff,0 0 0 6px #e8a94a}.preview-name{color:#20242f;text-align:center;min-height:26px;margin-top:12px;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:700}.preview-name.empty{color:#8a8fa3;font-weight:600}.join-form{flex-direction:column;gap:18px;display:flex}.form-field{margin-bottom:0}.form-label{color:#20242f;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.form-label small{color:#8a8fa3;margin-left:4px;font-weight:500}.form-input{color:#20242f;background:#fbf8f1;border:2px solid #ece6d8;border-radius:14px;width:100%;padding:14px 16px;font-family:Inter,sans-serif;font-size:16px;transition:border-color .15s,background .15s}.form-input::placeholder{color:#b2b6c4}.form-input:focus{background:#fff;border-color:#167a4e;outline:none}.form-input:invalid:not(:placeholder-shown){border-color:#b8543f}.form-input.invalid{background:#fef2f2;border-color:#b8543f}.form-input.invalid:focus{border-color:#b8543f;box-shadow:0 0 0 3px #b8543f33}.field-error{color:#b8543f;margin-top:6px;font-size:12px;display:block}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.emoji-btn{aspect-ratio:1;cursor:pointer;background:#fbf8f1;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:24px;transition:background .15s,border-color .15s,transform .1s;display:flex}.emoji-btn:hover{background:#fbedd3}.emoji-btn.selected{background:#e3f3ea;border-color:#167a4e;transform:scale(1.05)}.emoji-btn:focus{border-color:#167a4e;outline:none;box-shadow:0 0 0 3px #e3f3ea}.password-wrapper{position:relative}.password-input{padding-right:84px!important}.password-toggle{color:#167a4e;cursor:pointer;background:0 0;border:none;padding:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{text-decoration:underline}.password-strength{flex-direction:column;gap:8px;margin-top:8px;display:flex}.strength-bar{gap:4px;display:flex}.strength-segment{background:#ece6d8;border-radius:999px;flex:1;height:4px;transition:background .2s}.strength-segment.weak{background:#e8a94a}.strength-segment.strong{background:#167a4e}.strength-rule{color:#8a8fa3;align-items:center;gap:8px;font-size:12px;display:flex}.rule-icon{color:#fff;border:2px solid #ece6d8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-style:normal;display:inline-flex}.rule-icon.ok{background:#167a4e;border-color:#167a4e}.rule-text.ok{color:#167a4e;font-weight:600}.submit-btn{color:#fff;cursor:pointer;background:#167a4e;border:none;border-radius:16px;width:100%;margin-top:4px;padding:16px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;transition:opacity .2s,transform .1s}.submit-btn:hover:not(:disabled){background:#126840}.submit-btn:disabled{color:#8a8fa3;cursor:not-allowed;background:#ece6d8}.submit-btn:active:not(:disabled){transform:scale(.98)}.join-error{color:#b8543f;text-align:center;background:#fef2f2;border:1px solid #f5c6cb;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:13px}.card-foot{text-align:center;color:#8a8fa3;margin-top:14px;font-size:12px}.card-foot a{color:#167a4e;font-weight:600;text-decoration:none}.card-foot a:hover{text-decoration:underline}.join-success-card{text-align:center}.success-view{padding:10px 0 4px}.success-avatar{background:#fbedd3;border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;margin:0 auto 16px;font-size:56px;display:flex;box-shadow:0 0 0 4px #fff,0 0 0 6px #e8a94a}.success-view h2{color:#20242f;margin:0 0 6px;font-family:"Baloo 2",sans-serif;font-size:24px}.success-view p{color:#8a8fa3;margin:0 0 20px;font-size:13px;line-height:1.5}.first-quest{text-align:left;border:1px solid #ece6d8;border-radius:14px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.quest-emoji{flex-shrink:0;font-size:20px}.quest-text{color:#20242f;flex:1;font-size:13px;font-weight:600}.quest-points{color:#e8a94a;font-size:12px;font-weight:700}.join-family-card h1.loading{color:#167a4e;font-size:18px}.join-family-page>.join-family-card{text-align:center}.join-family-page>.join-family-card h1{color:var(--ink);margin:8px;font-family:"Baloo 2",sans-serif;font-size:22px;font-weight:800}.join-family-page>.join-family-card p{color:#8a8fa3;margin:0 0 22px;font-size:14px;line-height:1.5}.join-code-input{letter-spacing:6px;text-align:center;color:#167a4e;text-transform:uppercase;background:#fbf8f1;border:2px solid #ece6d8;border-radius:14px;width:100%;padding:14px;font-family:"Baloo 2",sans-serif;font-size:24px;font-weight:700;transition:border-color .15s,background .15s}.join-code-input:focus{background:#fff;border-color:#e8a94a;outline:none}.join-btn{color:#fff;cursor:pointer;background:#167a4e;border:none;border-radius:14px;width:100%;margin-top:14px;padding:14px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;transition:background .15s,transform .1s}.join-btn:hover{background:#126840}.join-btn:disabled{color:#8a8fa3;cursor:not-allowed;background:#ece6d8}.join-error{color:#a93226;background:#fef2f2;border:1px solid #f5c6cb;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:13px}.join-success{color:#126840;background:#e3f3ea;border:1px solid #c6f0d6;border-radius:12px;margin-top:14px;padding:16px;font-size:14px;line-height:1.5}.error-page{background:var(--bg,#fbf8f1);min-height:100vh;color:var(--ink,#20242f);flex-direction:column;justify-content:center;align-items:center;padding:24px 20px;font-family:Inter,sans-serif;display:flex}.error-page .wordmark{color:var(--green,#167a4e);margin-bottom:28px;font-family:"Baloo 2",sans-serif;font-size:18px;font-weight:800}.error-page .wordmark span{color:var(--gold,#e8a94a)}.error-page .card{background:var(--card,#fff);border:1px solid var(--border,#ece6d8);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:40px 28px 32px;box-shadow:0 24px 50px -28px #14281e4d}.error-page .code{color:var(--green,#167a4e);justify-content:center;align-items:center;gap:6px;margin-bottom:18px;font-family:"Baloo 2",sans-serif;font-size:80px;font-weight:800;line-height:1;display:flex}.error-page .coin{background:var(--gold,#e8a94a);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-size:40px;display:flex;transform:rotate(-12deg);box-shadow:inset 0 -5px #0000001f}.error-page .icon{background:var(--gold-soft,#fbedd3);border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 20px;font-size:40px;display:flex}.error-page h1{margin:0 0 8px;font-family:"Baloo 2",sans-serif;font-size:22px}.error-page p{color:var(--muted,#8a8fa3);margin:0 0 20px;font-size:14px;line-height:1.55}.error-page .reassure{background:var(--green-soft,#e3f3ea);color:var(--green,#167a4e);border-radius:12px;margin-bottom:24px;padding:10px 14px;font-size:12px;font-weight:600}.error-page .actions{flex-direction:column;gap:10px;display:flex}.error-page .btn{cursor:pointer;border:none;border-radius:14px;padding:14px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;text-decoration:none;display:block}.error-page .btn-primary{background:var(--green,#167a4e);color:#fff}.error-page .btn-soft{background:var(--green-soft,#e3f3ea);color:var(--green,#167a4e)}.error-page .ref{color:var(--muted,#8a8fa3);margin-top:22px;font-size:11px}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;font-family:Inter,sans-serif;display:flex}.login-card{background:var(--card);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow-card);border-radius:24px;padding:40px}.login-header{text-align:center;margin-bottom:32px}.login-page .wordmark{font-size:28px}.login-header h1{color:var(--ink);margin:0 0 8px;font:700 24px "Baloo 2",sans-serif}.subtext{color:var(--muted);margin:0;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.login-error{color:#a64738;text-align:center;background:#fbe9e5;border:1px solid #f0c9c0;border-radius:10px;padding:12px 14px;font-size:13px}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{color:var(--ink);font-size:13px;font-weight:600}.form-field input{border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:12px;padding:14px 16px;font-size:16px;transition:border-color .15s,box-shadow .15s}.form-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);outline:none}.form-field input:disabled{opacity:.6;cursor:not-allowed}.form-field input::placeholder{color:var(--muted)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font:700 15px Inter,sans-serif;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.btn-primary{width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #167a4e4d}.login-footer{text-align:center;color:var(--muted);margin-top:24px;font-size:14px}.login-footer a{color:var(--green);font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}:root{--bg:#fbf8f1;--card:#fff;--ink:#20242f;--muted:#8a8fa3;--border:#ece6d8;--green:#167a4e;--green-soft:#e3f3ea;--green-deep:#126840;--gold:#e8a94a;--gold-soft:#f5f2e1;--gold-ink:#8a5a12;--shadow-card:0 24px 50px -24px #14281e59;--shadow-soft:0 14px 34px -20px #14281e47}*{box-sizing:border-box}button,input{font:inherit}.copy-error{color:#a64738;font-size:11px;font-weight:600}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:12px;max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);pointer-events:auto;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;min-width:280px;max-width:380px;padding:14px 16px;animation:.3s cubic-bezier(.4,0,.2,1) toast-slide-in;display:flex}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)translateY(-20px)}to{opacity:1;transform:translate(0)translateY(0)}}.toast-content{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.toast-error .toast-icon{color:#a64738;background:#fbe9e5}.toast-success .toast-icon{background:var(--green-soft);color:var(--green)}.toast-warning .toast-icon{color:#856404;background:#fff3cd}.toast-info .toast-icon{color:#1976d2;background:#e3f2fd}.toast-message{color:var(--ink);word-break:break-word;font-size:13.5px;line-height:1.5}.toast-close{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:-2px;font-size:14px;transition:background .15s,color .15s;display:flex}.toast-close:hover{background:var(--bg);color:var(--ink)}.toast-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (width<=480px){.toast-container{max-width:none;bottom:12px;left:12px;right:12px}.toast{min-width:0;max-width:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
