:root {
  --bg: #f5f8ff;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --ink: #14213d;
  --muted: #627089;
  --line: #dbe3ee;
  --primary: #4f46e5;
  --primary-2: #7c3aed;
  --yellow: #ffb703;
  --blue: #25aee8;
  --green: #18c58f;
  --purple: #a855f7;
  --pink: #ff5f7e;
  --teal: #18c6b3;
  --danger: #ef4444;
  --success: #0fa572;
  --navy: #0f1930;
  --shadow: 0 14px 35px rgba(33, 50, 85, .12);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --font: "Trebuchet MS", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-round: "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;
}

[data-theme="classic"] { --profile-a:#4f46e5; --profile-b:#7c3aed; --bg:#f5f8ff; }
[data-theme="sunrise"] { --profile-a:#f59e0b; --profile-b:#fb7185; --bg:#fff8e8; }
[data-theme="ocean"] { --profile-a:#0ea5e9; --profile-b:#06b6d4; --bg:#effbff; }
[data-theme="forest"] { --profile-a:#10b981; --profile-b:#22c55e; --bg:#f1fff6; }
[data-theme="berry"] { --profile-a:#a855f7; --profile-b:#ec4899; --bg:#fbf4ff; }
[data-theme="coral"] { --profile-a:#fb7185; --profile-b:#f43f5e; --bg:#fff4f7; }

* { box-sizing: border-box; }
html { min-height:100%; background:var(--bg); }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--ink); font-family:var(--font); }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color: transparent; }
a { color:var(--primary); }
button { cursor:pointer; }
img { max-width:100%; }

.app-shell { min-height:100vh; display:flex; flex-direction:column; }
.topbar { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.topbar-inner { max-width:1120px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-family:var(--font-round); font-weight:900; line-height:.95; }
.brand-coin { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(145deg,#ffd84d,#f5a700); box-shadow:0 5px 12px rgba(245,167,0,.28); }
.brand-text { font-size:1.02rem; }
.top-actions { display:flex; align-items:center; gap:8px; }
.pill-btn,.ghost-btn,.danger-btn,.small-btn { border:0; border-radius:999px; padding:10px 14px; font-weight:800; }
.pill-btn { background:var(--primary); color:#fff; }
.ghost-btn { background:#eef2f7; color:var(--ink); }
.danger-btn { background:#fee2e2; color:#b91c1c; }
.small-btn { padding:7px 11px; font-size:.82rem; background:#eef2f7; color:var(--ink); }

.main { width:min(1120px,100%); margin:0 auto; padding:22px 16px 48px; flex:1; }

.hero { position:relative; overflow:hidden; border-radius:var(--radius-xl); background:linear-gradient(135deg,#e7f8ff 0%,#fff8d8 48%,#f8e9ff 100%); box-shadow:var(--shadow); padding:34px 26px; text-align:center; }
.hero:before,.hero:after { content:""; position:absolute; border-radius:50%; opacity:.6; filter:blur(2px); }
.hero:before { width:170px; height:170px; background:#9ae6b4; left:-50px; bottom:-80px; }
.hero:after { width:150px; height:150px; background:#93c5fd; right:-40px; top:-60px; }
.hero > * { position:relative; z-index:1; }
.hero h1 { font-family:var(--font-round); font-size:clamp(2.2rem,8vw,4.7rem); margin:0; letter-spacing:-2px; }
.hero h1 span:nth-child(2) { color:#f59e0b; }
.hero h1 span:nth-child(3) { color:#0ea5e9; }
.hero h1 span:nth-child(4) { color:#10b981; }
.hero p { color:#334155; font-size:1.08rem; max-width:680px; margin:14px auto 20px; line-height:1.5; }
.hero-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.hero-btn { border:0; border-radius:16px; padding:14px 22px; font-weight:900; box-shadow:0 8px 18px rgba(0,0,0,.08); }
.hero-btn.primary { background:var(--navy); color:white; }
.hero-btn.donate { background:#ffdd00; color:#1f2937; text-decoration:none; }
.hero-btn.install { background:white; color:var(--primary); border:2px solid #c7d2fe; }

.public-feature-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px; }
.public-feature { border:0; text-align:left; padding:18px; border-radius:22px; background:#fff; box-shadow:var(--shadow); color:var(--ink); }
.public-feature .emoji { font-size:2rem; }
.public-feature strong { display:block; font-family:var(--font-round); margin:8px 0 4px; font-size:1.05rem; }
.public-feature span { color:var(--muted); font-size:.88rem; line-height:1.4; }

.profile-stage { text-align:center; padding:26px 0; }
.profile-stage h1 { font-family:var(--font-round); font-size:clamp(2rem,7vw,3rem); margin:0 0 8px; }
.profile-stage > p { color:var(--muted); margin:0 0 22px; }
.profile-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
.profile-card { width:min(220px,46%); border:2px solid var(--line); background:#fff; border-radius:28px; padding:22px 14px; box-shadow:var(--shadow); color:var(--ink); }
.profile-card:hover { transform:translateY(-3px); border-color:#a5b4fc; }
.profile-avatar { width:88px; height:88px; display:grid; place-items:center; margin:0 auto 10px; border-radius:25px; font-size:3.2rem; background:#f1f5f9; }
.profile-card strong { font-family:var(--font-round); font-size:1.15rem; display:block; }
.profile-card span { color:var(--muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }

.dashboard-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:18px; padding:22px; border-radius:var(--radius-xl); background:linear-gradient(135deg,var(--profile-a,#4f46e5),var(--profile-b,#7c3aed)); color:#fff; box-shadow:var(--shadow); }
.greeting h1 { margin:0 0 4px; font-family:var(--font-round); font-size:clamp(1.7rem,5vw,2.6rem); }
.balance-label { opacity:.82; font-weight:800; }
.balance { font-family:var(--font-round); font-size:3.2rem; line-height:1; margin:8px 0 14px; color:#ffe36e; text-shadow:0 2px 8px rgba(0,0,0,.16); }
.quick-pills { display:flex; flex-wrap:wrap; gap:8px; }
.quick-pill { background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:8px 11px; font-size:.84rem; font-weight:800; }
.pet-preview { border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.14); border-radius:22px; padding:16px; text-align:center; }
.pet-preview .pet-emoji { font-size:4.4rem; filter:drop-shadow(0 6px 8px rgba(0,0,0,.18)); }
.pet-preview h3 { font-family:var(--font-round); margin:4px 0 2px; }
.pet-preview p { margin:0 0 12px; opacity:.85; font-size:.86rem; }
.pet-visit { width:100%; border:0; border-radius:14px; padding:11px; background:#fff; color:var(--primary); font-weight:900; }
.need-row { display:flex; justify-content:center; gap:8px; margin:10px 0 12px; flex-wrap:wrap; }
.need-chip { display:flex; align-items:center; gap:5px; background:rgba(255,255,255,.17); border-radius:999px; padding:7px 9px; font-size:.75rem; font-weight:900; }
.need-chip.low { background:#fff2b8; color:#7c4a00; }

.section { margin-top:20px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:14px; margin-bottom:10px; }
.section-head h2 { font-family:var(--font-round); margin:0; font-size:1.35rem; }
.section-head p { margin:3px 0 0; color:var(--muted); font-size:.86rem; }
.link-btn { border:0; background:transparent; color:var(--primary); font-weight:900; padding:6px; }

.goal-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.goal-mini { background:#fff; border:2px solid var(--line); border-radius:20px; padding:14px; text-align:left; min-height:122px; color:var(--ink); box-shadow:0 8px 18px rgba(33,50,85,.06); }
.goal-mini .goal-emoji { font-size:2rem; }
.goal-mini strong { display:block; margin:4px 0 7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.goal-mini small { color:var(--muted); }
.progress { height:10px; border-radius:999px; background:#e7edf4; overflow:hidden; margin:9px 0 5px; }
.progress > span { display:block; height:100%; background:linear-gradient(90deg,var(--green),#22c55e); border-radius:inherit; }

.action-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.action-card { min-height:178px; border:0; border-radius:26px; padding:18px 14px; color:#10213d; text-align:center; box-shadow:0 10px 22px rgba(33,50,85,.12); transition:transform .18s ease; }
.action-card:hover { transform:translateY(-3px); }
.action-card .icon-box { width:62px; height:62px; display:grid; place-items:center; margin:0 auto 13px; font-size:2rem; border-radius:19px; background:rgba(255,255,255,.32); }
.action-card h3 { margin:0 0 6px; font-family:var(--font-round); font-size:1rem; }
.action-card p { margin:0; font-size:.82rem; line-height:1.35; opacity:.76; }
.card-yellow { background:linear-gradient(160deg,#ffc82e,#f7a808); }
.card-blue { background:linear-gradient(160deg,#48c4ef,#1ea7df); }
.card-green { background:linear-gradient(160deg,#40d8a9,#13bd88); }
.card-purple { background:linear-gradient(160deg,#c878f4,#9a45e8); }
.card-pink { background:linear-gradient(160deg,#ff7a91,#f64e74); }
.card-teal { background:linear-gradient(160deg,#46d5c7,#16bca8); }
.card-indigo { background:linear-gradient(160deg,#8b8cf8,#6161e8); }

.tip-card { margin-top:18px; display:flex; gap:12px; align-items:flex-start; border-radius:22px; padding:16px 18px; background:#fff7ff; border:2px solid #efd8ff; color:#5b2179; }
.tip-card .bulb { font-size:1.7rem; }
.tip-card strong { font-family:var(--font-round); display:block; margin-bottom:4px; }
.tip-card p { margin:0; line-height:1.45; font-size:.9rem; }

.theme-strip { margin-top:20px; background:#fff; border:2px solid var(--line); border-radius:24px; padding:16px; }
.theme-strip h3 { margin:0 0 4px; font-family:var(--font-round); }
.theme-strip > p { margin:0 0 12px; color:var(--muted); font-size:.82rem; }
.theme-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; }
.theme-option { border:2px solid var(--line); background:#fff; border-radius:16px; padding:9px; text-align:center; min-height:90px; }
.theme-option .swatch { width:35px; height:35px; border-radius:50%; margin:0 auto 5px; box-shadow:inset 0 0 0 3px rgba(255,255,255,.55); }
.theme-option strong { display:block; font-size:.72rem; }
.theme-option small { display:block; font-size:.65rem; color:var(--muted); margin-top:2px; }
.theme-option.locked { opacity:.68; }

.adult-hero { background:var(--navy); color:#fff; border-radius:var(--radius-xl); padding:24px; box-shadow:var(--shadow); }
.adult-hero h1 { font-family:var(--font-round); margin:0 0 6px; }
.adult-hero p { margin:0; opacity:.78; }
.adult-toolbar { display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.adult-toolbar button { border:0; border-radius:14px; padding:11px 14px; font-weight:900; }
.adult-toolbar .accent { background:#ffb703; color:#1d263a; }
.adult-toolbar .green { background:#16c784; color:#fff; }
.adult-toolbar .white { background:#fff; color:#1d263a; }

.child-tabs { display:flex; gap:8px; overflow-x:auto; padding:4px 0 8px; }
.child-tab { flex:0 0 auto; border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 14px; font-weight:900; color:var(--muted); }
.child-tab.active { background:var(--primary); color:#fff; border-color:var(--primary); }

.panel-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.panel { background:#fff; border:1px solid var(--line); border-radius:22px; padding:18px; box-shadow:0 8px 18px rgba(33,50,85,.06); }
.panel h3 { font-family:var(--font-round); margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.panel h4 { margin:0 0 8px; }
.stack { display:grid; gap:9px; }
.row { display:flex; gap:9px; align-items:center; }
.row.wrap { flex-wrap:wrap; }
.field { display:grid; gap:5px; flex:1; }
.field label { font-size:.76rem; font-weight:900; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.input,.select,.textarea { width:100%; border:2px solid var(--line); border-radius:13px; padding:11px 12px; background:#fff; color:var(--ink); outline:none; }
.input:focus,.select:focus,.textarea:focus { border-color:#a5b4fc; box-shadow:0 0 0 4px #eef2ff; }
.textarea { min-height:120px; resize:vertical; }
.btn { border:0; border-radius:13px; padding:11px 14px; font-weight:900; background:var(--primary); color:#fff; }
.btn.green { background:var(--success); }
.btn.yellow { background:#f7b500; color:#1f2937; }
.btn.soft { background:#eef2f7; color:var(--ink); }
.btn.red { background:var(--danger); }
.btn.block { width:100%; }
.helper { color:var(--muted); font-size:.8rem; line-height:1.4; }

.ledger { display:grid; gap:7px; max-height:360px; overflow:auto; }
.ledger-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; border:1px solid var(--line); background:#f8fafc; border-radius:14px; padding:10px 12px; }
.ledger-row strong { display:block; font-size:.88rem; }
.ledger-row small { color:var(--muted); }
.money-plus { color:var(--success); font-weight:900; }
.money-minus { color:#dc2626; font-weight:900; }

.modal { position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center; padding:16px; background:rgba(15,25,48,.72); backdrop-filter:blur(5px); }
.modal.open { display:flex; }
.modal-card { position:relative; width:min(620px,100%); max-height:90vh; overflow:auto; background:#fff; border-radius:28px; padding:22px; box-shadow:0 24px 70px rgba(0,0,0,.26); }
.modal-card.wide { width:min(840px,100%); }
.modal-card h2 { font-family:var(--font-round); margin:0 42px 8px 0; }
.modal-card > p { color:var(--muted); line-height:1.45; }
.modal-close { position:absolute; right:14px; top:14px; width:38px; height:38px; border:0; border-radius:50%; background:#eef2f7; font-size:1.35rem; }
.modal-banner { margin:-22px -22px 18px; padding:22px 64px 20px 22px; border-radius:28px 28px 0 0; }
.modal-banner h2 { margin:0 0 4px; }
.modal-banner p { margin:0; opacity:.76; }
.banner-blue { background:#38bdf8; }
.banner-yellow { background:#ffb703; }
.banner-green { background:#34d399; }
.banner-purple { background:#c084fc; }
.banner-pink { background:#fb7185; }
.banner-teal { background:#2dd4bf; }

.pet-room { text-align:center; background:linear-gradient(#e5f7ff,#f0ffe4); border-radius:24px; padding:18px; }
.pet-big { font-size:6.5rem; }
.pet-needs { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:15px 0; }
.need-card { border:2px solid var(--line); background:#fff; border-radius:16px; padding:10px; }
.need-card strong { display:block; }
.need-meter { height:8px; background:#e5e7eb; border-radius:999px; overflow:hidden; margin-top:6px; }
.need-meter span { display:block; height:100%; background:#22c55e; }
.pet-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.pet-actions button { border:0; border-radius:14px; padding:12px 8px; font-weight:900; background:#fff; border:2px solid var(--line); }

.egg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.egg-card { border:2px solid var(--line); background:#fff; border-radius:20px; padding:14px; text-align:center; }
.egg-card .egg { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin:0 auto 8px; font-size:2.8rem; }
.egg-card h4 { margin:0 0 4px; }
.egg-card p { margin:0 0 9px; font-size:.74rem; color:var(--muted); min-height:34px; }
.collection-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.collection-card { border:2px solid var(--line); border-radius:18px; padding:12px; text-align:center; background:#fff; }
.collection-card .emoji { font-size:2.8rem; }

.receipt { border:2px solid #fde68a; background:#fffbeb; border-radius:18px; padding:16px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; }
.receipt-head { text-align:center; border-bottom:1px dashed #f5c451; padding-bottom:10px; margin-bottom:10px; }
.receipt-line { display:flex; justify-content:space-between; gap:10px; padding:4px 0; }
.receipt-total { border-top:1px dashed #f5c451; margin-top:8px; padding-top:9px; font-weight:900; }

.bar-list { display:grid; gap:14px; }
.bar-row-head { display:flex; justify-content:space-between; font-weight:900; gap:10px; }
.bar { height:14px; background:#edf2f7; border-radius:999px; margin-top:5px; overflow:hidden; }
.bar span { display:block; height:100%; border-radius:inherit; }

.free-list { display:grid; gap:10px; }
.free-item { display:flex; gap:12px; align-items:flex-start; padding:12px; border:2px solid #b7f1e6; background:#effffb; border-radius:16px; }
.free-item .icon { font-size:1.8rem; }
.free-item strong { display:block; }
.free-item p { margin:3px 0 0; color:var(--muted); font-size:.82rem; }

.toast-wrap { position:fixed; right:16px; bottom:16px; z-index:400; width:min(390px,calc(100vw - 32px)); display:grid; gap:10px; }
.toast { background:#101b34; color:#fff; border-radius:20px; padding:15px 16px; box-shadow:0 18px 45px rgba(0,0,0,.25); animation:toastIn .25s ease; }
.toast.success { border-left:6px solid #22c55e; }
.toast.warning { border-left:6px solid #f59e0b; }
.toast.danger { border-left:6px solid #ef4444; }
.toast strong { font-family:var(--font-round); display:block; margin-bottom:3px; }
.toast p { margin:0; line-height:1.4; font-size:.88rem; color:#dce5f5; }
.toast .tip { margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.15); color:#fff2b8; }
@keyframes toastIn { from { transform:translateY(15px); opacity:0; } }

.install-banner { display:none; margin:14px auto 0; max-width:1120px; padding:12px 16px; border-radius:16px; background:#fff; border:2px solid #c7d2fe; align-items:center; justify-content:space-between; gap:12px; }
.install-banner.show { display:flex; }
.install-banner p { margin:0; font-size:.86rem; color:var(--muted); }
.install-banner strong { color:var(--ink); }

.footer { margin-top:auto; border-top:1px solid var(--line); color:var(--muted); text-align:center; padding:24px 16px; font-size:.78rem; }
.footer a { color:inherit; }

.hidden { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

@media (max-width: 900px) {
  .public-feature-grid { grid-template-columns:repeat(2,1fr); }
  .action-grid { grid-template-columns:repeat(3,1fr); }
  .theme-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width: 720px) {
  .main { padding:14px 12px 34px; }
  .topbar-inner { padding:9px 12px; }
  .brand-coin { width:36px; height:36px; }
  .brand-text { font-size:.9rem; }
  .dashboard-hero { grid-template-columns:1fr; padding:18px; }
  .goal-mini-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .goal-mini { padding:10px; min-height:112px; }
  .action-grid { grid-template-columns:repeat(2,1fr); gap:10px; }
  .action-card { min-height:160px; padding:15px 10px; }
  .panel-grid { grid-template-columns:1fr; }
  .egg-grid { grid-template-columns:repeat(2,1fr); }
  .collection-grid { grid-template-columns:repeat(2,1fr); }
  .modal-card { padding:18px; border-radius:22px; }
  .modal-banner { margin:-18px -18px 16px; border-radius:22px 22px 0 0; }
  .pet-needs,.pet-actions { grid-template-columns:1fr; }
  .theme-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 430px) {
  .hero { padding:26px 16px; }
  .public-feature-grid { grid-template-columns:1fr; }
  .profile-card { width:46%; padding:18px 10px; }
  .profile-avatar { width:70px; height:70px; font-size:2.6rem; }
  .top-actions .label { display:none; }
  .goal-mini strong { font-size:.78rem; }
  .goal-mini small { font-size:.66rem; }
}

/* v5.1 public marketing and pricing */
.marketing-strip{margin-top:20px;display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}
.marketing-copy h2,.pricing-intro h2{font-family:var(--font-round);margin:7px 0 10px;font-size:clamp(1.6rem,4vw,2.35rem)}
.marketing-copy p,.pricing-intro p{color:var(--muted);line-height:1.55;margin:0}
.eyebrow{font-size:.76rem;font-weight:950;letter-spacing:.09em;color:var(--primary)}
.marketing-checks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.marketing-checks span{background:#eef2ff;color:#3730a3;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:900}
.mini-phone{max-width:320px;margin:auto;background:linear-gradient(160deg,#eaf7ff,#fff8cf);border:10px solid #15213c;border-radius:34px;padding:15px;box-shadow:0 20px 40px rgba(15,25,48,.18)}
.mini-phone-top{font-family:var(--font-round);font-weight:900}.mini-balance{font-family:var(--font-round);font-size:2.4rem;color:#4f46e5;margin:15px 0 8px}.mini-pills{display:flex;gap:6px;flex-wrap:wrap}.mini-pills span{background:#fff;border-radius:999px;padding:6px 8px;font-size:.72rem;font-weight:900}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.mini-grid span{background:#fff;border-radius:14px;padding:12px 6px;text-align:center;font-weight:900;font-size:.76rem}.mini-tip{margin-top:10px;background:#f8e9ff;border-radius:14px;padding:10px;font-size:.73rem;color:#5b2179;font-weight:800}
.public-social-section{overflow:hidden}.story-carousel{position:relative}.story-track{display:grid;grid-template-columns:1fr}.story-card{display:none;min-height:210px;border-radius:26px;padding:24px 58px;background:linear-gradient(135deg,#fff4bd,#fff);border:2px solid #fde68a;box-shadow:var(--shadow);text-align:center}.story-card:nth-child(2){background:linear-gradient(135deg,#dff7ff,#fff);border-color:#bae6fd}.story-card:nth-child(3){background:linear-gradient(135deg,#f5e7ff,#fff);border-color:#e9d5ff}.story-card:nth-child(4){background:linear-gradient(135deg,#e5fff4,#fff);border-color:#bbf7d0}.story-card.active{display:block}.story-icon{font-size:2.4rem}.story-card blockquote{font-family:var(--font-round);font-size:1.35rem;margin:10px 0}.story-card p{color:var(--muted);line-height:1.5;max-width:650px;margin:auto}.story-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12);font-size:1.8rem;font-weight:900}.story-arrow.prev{left:10px}.story-arrow.next{right:10px}.story-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}.story-dot{width:9px;height:9px;border:0;border-radius:50%;background:#cbd5e1;padding:0}.story-dot.active{background:var(--primary)}
.pricing-section{margin-top:26px;background:linear-gradient(135deg,#eef7ff,#fffaf0);border-radius:30px;padding:28px 22px;box-shadow:var(--shadow)}.pricing-intro{text-align:center;max-width:760px;margin:0 auto 20px}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:850px;margin:auto}.price-card{position:relative;background:#fff;border:2px solid var(--line);border-radius:24px;padding:22px}.price-card.featured{border-color:#818cf8;box-shadow:0 16px 38px rgba(79,70,229,.13)}.price-card h3{font-family:var(--font-round);font-size:1.4rem;margin:10px 0}.price-badge{display:inline-block;background:#4f46e5;color:#fff;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900}.price-badge.save{background:#0fa572}.price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.price strong{font-family:var(--font-round);font-size:2.25rem}.price span{font-size:.78rem;color:var(--muted);font-weight:800}.price-card p{color:var(--muted);line-height:1.4}.price-card ul{padding-left:20px;line-height:1.7;font-size:.88rem}.pricing-footnote{text-align:center;color:var(--muted);font-size:.78rem;margin:14px 0 0}.slot-state{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:.76rem;font-weight:900}.slot-state.on{background:#dcfce7;color:#166534}.slot-state.off{background:#f1f5f9;color:#64748b}
@media(max-width:760px){.marketing-strip,.pricing-grid{grid-template-columns:1fr}.public-feature-grid{grid-template-columns:repeat(2,1fr)}.story-card{padding:22px 48px}.mini-phone{width:min(300px,100%)}}
@media(max-width:520px){.public-feature-grid{grid-template-columns:1fr 1fr;gap:9px}.public-feature{padding:14px}.story-card{padding:20px 44px}.pricing-section{padding:22px 14px}.marketing-strip{padding:20px 16px}}

/* v6.1 multi-family SaaS additions */
[data-theme="mint"] { --profile-a:#14b8a6; --profile-b:#5eead4; --bg:#effdfa; }
[data-theme="night"] { --profile-a:#312e81; --profile-b:#6366f1; --bg:#f1f2ff; }
[data-theme="honey"] { --profile-a:#d97706; --profile-b:#fbbf24; --bg:#fff9e8; }
[data-theme="cloud"] { --profile-a:#64748b; --profile-b:#cbd5e1; --bg:#f8fafc; }
[data-theme="lime"] { --profile-a:#65a30d; --profile-b:#a3e635; --bg:#f7fee7; }
[data-theme="rose"] { --profile-a:#e11d48; --profile-b:#fb7185; --bg:#fff1f2; }
[data-theme="violet"] { --profile-a:#6d28d9; --profile-b:#a78bfa; --bg:#f5f3ff; }

.top-lab-name{font-size:.8rem;font-weight:900;color:var(--muted);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.code-input{text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.check-row,.choice-row{display:flex;align-items:flex-start;gap:9px;border:2px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;font-size:.86rem}.check-row input,.choice-row input{margin-top:3px}
.helper{color:var(--muted);font-size:.82rem;line-height:1.45}.error-text{color:#b91c1c;font-weight:900}.bad-text{color:#b91c1c}.round-title{font-family:var(--font-round);margin:0}
.toolbar-link{display:inline-flex;align-items:center;text-decoration:none;border-radius:14px;padding:11px 14px;font-weight:900}.toolbar-link.green{background:#16c784;color:#fff}

.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:900px;margin:20px auto}.lab-choice-card{margin:0}.lab-choice-card button{width:100%;min-height:160px;border:2px solid var(--line);background:#fff;border-radius:24px;padding:20px;box-shadow:var(--shadow);color:var(--ink)}.lab-choice-card button:hover{transform:translateY(-3px);border-color:#a5b4fc}.lab-choice-card strong,.lab-choice-card small{display:block}.lab-choice-card strong{font-family:var(--font-round);font-size:1.15rem;margin:8px 0}.lab-choice-card small{color:var(--muted)}.lab-icon{font-size:2.4rem}
.child-initial{font-family:var(--font-round);font-weight:950;color:#fff;background:linear-gradient(135deg,#4f46e5,#22c55e)}.profile-locked{opacity:.58;cursor:not-allowed}.profile-locked:hover{transform:none}

.child-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:12px}.child-tab{border:2px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:9px 13px;font-weight:900;white-space:nowrap}.child-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}
.access-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:950}.access-badge.active{background:#dcfce7;color:#166534}.access-badge.inactive{background:#fee2e2;color:#991b1b}
.adult-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.adult-action-grid form,.adult-action-grid button{width:100%}
.member-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:11px 12px}.member-card strong,.member-card small{display:block}.member-card small{color:var(--muted);margin-top:3px}.mini-catalog{display:grid;gap:7px;margin-top:12px}.mini-catalog>div{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}
.scope-children{display:grid;gap:6px;max-height:230px;overflow:auto}

.pet-inline{display:flex;align-items:center;gap:10px}.pet-inline .pet-avatar{font-size:3.7rem}.pet-inline strong,.pet-inline small{display:block}.pet-inline strong{font-family:var(--font-round);font-size:1.05rem}.pet-inline small{opacity:.8;font-size:.76rem}.mini-needs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.mini-needs span{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}.visit-pet-btn{width:100%;border:0;background:#fff;color:#312e81;border-radius:12px;padding:9px;font-weight:950}
.card-orange{background:linear-gradient(145deg,#fed7aa,#fb923c)}.card-sky{background:linear-gradient(145deg,#dbeafe,#60a5fa)}
.pet-slot-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.pet-slot{aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:#f8fafc;display:grid;place-items:center;align-content:center;font-size:1.25rem}.pet-slot small{font-size:.52rem;color:var(--muted)}.pet-slot.grown{background:#ecfdf5;border-color:#86efac}.pet-slot.future{opacity:.45}
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card{border:2px solid var(--line);border-radius:20px;padding:16px;background:#fff}.game-card h3{font-family:var(--font-round);margin:6px 0}.game-card p{color:var(--muted);line-height:1.45}.game-icon{font-size:2rem}.shop-price{font-family:var(--font-round);font-size:1.2rem;margin:8px 0}.big-practice-amount{text-align:center;font-family:var(--font-round);font-size:2.5rem;background:#eff9ff;border:2px solid #bae6fd;border-radius:20px;padding:18px;margin-bottom:6px}.bill-yellow{background:#fff9df;border-color:#fde68a}.bill-pink{background:#fff1f2;border-color:#fecdd3}.bill-blue{background:#eff6ff;border-color:#bfdbfe}.goal-detail,.goal-request{border:2px solid var(--line);border-radius:18px;padding:14px}.goal-request{border-style:dashed}

.billing-child-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.billing-child{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:16px;padding:12px;background:#fff}.billing-child strong,.billing-child small{display:block}.billing-child small{color:var(--muted)}.access-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.access-line strong,.access-line small{display:block}.access-line small{color:var(--muted)}

.admin-body{background:#eef2f7}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:18px}.metric-grid.compact{margin-top:0}.metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center;box-shadow:0 6px 14px rgba(33,50,85,.05)}.metric strong{display:block;font-family:var(--font-round);font-size:1.45rem}.metric span{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}.trend-table{display:grid;gap:6px}.trend-table>div{display:grid;grid-template-columns:70px repeat(6,minmax(0,1fr));gap:7px;border-bottom:1px solid var(--line);padding:7px 0;font-size:.76rem}.ai-prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-prompt-card textarea{font-size:.72rem;line-height:1.4}.admin-lab-list{display:grid;gap:8px}.admin-lab-list details{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#f8fafc}.admin-lab-detail{display:flex;gap:10px;flex-wrap:wrap;padding-top:9px}.admin-lab-detail span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900}
.legal-copy h1{font-family:var(--font-round)}.legal-copy h3{margin-top:22px}.legal-copy p{line-height:1.65;color:#334155}

@media(max-width:900px){.metric-grid{grid-template-columns:repeat(3,1fr)}.pet-slot-grid{grid-template-columns:repeat(8,1fr)}.lab-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.game-grid,.ai-prompt-grid,.billing-child-list{grid-template-columns:1fr}.pet-slot-grid{grid-template-columns:repeat(6,1fr)}.trend-table>div{grid-template-columns:62px repeat(3,1fr)}.trend-table>div span:nth-of-type(n+4){display:none}}
@media(max-width:520px){.lab-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.pet-slot-grid{grid-template-columns:repeat(5,1fr)}.adult-action-grid{grid-template-columns:1fr}.top-lab-name{display:none}}

/* v6.2 interaction refinements */
.notification-bell{position:relative;min-width:44px}.note-count{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;font-weight:900;border:2px solid #fff}.notification-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.notification-item{border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fafc}.notification-item.unread{border-color:#a5b4fc;background:#eef2ff}.notification-item p{margin:4px 0;line-height:1.4}.notification-item small{color:var(--muted)}
.pin-display{text-align:center;letter-spacing:.45em;font-size:1.35rem;font-weight:900}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pin-pad button{border:1px solid var(--line);background:#f8fafc;border-radius:14px;padding:13px;font-family:var(--font-round);font-size:1.2rem;font-weight:900;color:var(--ink)}.pin-pad button:hover{background:#eef2ff}.pin-pad .pin-clear{color:#be123c}.pin-pad .pin-back{color:#475569}
.emoji-field{width:62px;min-width:62px;height:48px;border:2px solid var(--line);border-radius:14px;background:#fff;font-size:1.5rem}.emoji-categories h4{margin:14px 0 6px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.emoji-grid button{aspect-ratio:1;border:1px solid var(--line);background:#f8fafc;border-radius:12px;font-size:1.45rem}.emoji-grid button:hover{background:#eef2ff;transform:scale(1.04)}
.onboarding-countdown{display:inline-block;margin:8px 0 16px;padding:9px 12px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:.82rem}.pet-challenge-btn{margin-top:8px}.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important}.break-all{word-break:break-all}.support-page{max-width:760px;margin:24px auto}.support-message,.support-reply{border:1px solid var(--line);border-radius:16px;padding:15px;margin:12px 0;line-height:1.5}.support-reply{background:#ecfdf5;border-color:#a7f3d0}.activity-filters{display:grid;grid-template-columns:140px 190px minmax(180px,1fr) auto;gap:8px;margin:12px 0}.activity-summary{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.activity-summary span{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.76rem}.activity-table{display:grid;gap:0}.activity-table>div{display:grid;grid-template-columns:100px 1fr 90px 110px;gap:10px;padding:9px 8px;border-bottom:1px solid var(--line);font-size:.82rem}.activity-head{font-weight:900;color:var(--muted);background:#f8fafc;border-radius:10px}.help-inbox{display:grid;gap:8px}.help-ticket{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:10px}.help-ticket summary{cursor:pointer}.help-ticket-body{padding-top:12px}.notice{border-radius:14px;padding:12px 14px;margin:14px 0}.notice.success{background:#ecfdf5;color:#065f46}.notice.danger{background:#fef2f2;color:#991b1b}
@media(max-width:720px){.activity-filters{grid-template-columns:1fr 1fr}.activity-filters input{grid-column:1/-1}.activity-filters .btn{grid-column:1/-1}.activity-table>div{grid-template-columns:68px 1fr 58px 80px;font-size:.72rem}.emoji-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:420px){.emoji-grid{grid-template-columns:repeat(5,1fr)}.pin-pad button{padding:11px}}

/* v6.4 commercial + learning layer */
.hero-kicker,.eyebrow{display:inline-block;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#4f46e5)}
.hero-subline{font-size:.88rem!important;color:var(--muted)!important;margin-top:14px!important}
.child-core-loop{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 10px}.core-money-btn,.core-learning-card{border:0;border-radius:22px;text-decoration:none;box-shadow:0 10px 28px rgba(15,23,42,.08);transition:transform .15s ease,box-shadow .15s ease}.core-money-btn{display:flex;align-items:center;gap:12px;padding:18px;color:#0f172a}.core-money-btn>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:1.6rem;background:rgba(255,255,255,.75)}.core-money-btn strong,.core-learning-card strong{display:block;font-size:1.05rem}.core-money-btn small,.core-learning-card small{display:block;margin-top:3px;color:#475569}.core-money-btn.money-in{background:linear-gradient(135deg,#d1fae5,#ecfdf5)}.core-money-btn.money-out{background:linear-gradient(135deg,#fee2e2,#fff1f2)}.core-learning-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);color:#0f172a}.core-learning-card>div:first-child{min-width:0}.learning-ring{flex:0 0 auto;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4f46e5;font-weight:900;box-shadow:inset 0 0 0 5px #c7d2fe}.pending-money-banner{grid-column:1/-1;padding:12px 15px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:.9rem}
.record-money-main{max-width:680px}.record-money-card{margin:26px auto;padding:26px;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.10)}.money-in-card{border-top:7px solid #10b981}.money-out-card{border-top:7px solid #f43f5e}.record-money-icon{font-size:2.3rem}.record-money-card h1{margin:6px 0 8px;font-size:clamp(1.8rem,7vw,2.7rem)}.record-balance{display:flex;align-items:end;justify-content:space-between;padding:15px 17px;margin:18px 0;border-radius:18px;background:#f8fafc}.record-balance span{color:#64748b;font-weight:700}.record-balance strong{font-size:1.7rem}.pending-note{padding:10px 12px;background:#fff7ed;border-radius:12px;color:#9a3412}.money-input-wrap{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding-left:14px}.money-input-wrap>span{font-size:1.5rem;font-weight:900}.money-big-input{border:0!important;background:transparent!important;font-size:1.7rem!important;font-weight:900!important}.category-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-choice input{position:absolute;opacity:0;pointer-events:none}.category-choice span{display:flex;align-items:center;gap:8px;min-height:50px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;font-weight:700;cursor:pointer}.category-choice input:checked+span{border-color:#6366f1;background:#eef2ff}.category-choice b{font-size:1.3rem}.center-text{text-align:center}
.learning-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:26px;border-radius:28px;background:linear-gradient(135deg,#eef2ff,#fdf4ff)}.learning-hero h1{margin:6px 0;font-size:clamp(1.8rem,6vw,2.8rem)}.learning-score{min-width:180px;padding:18px;border-radius:20px;background:#fff}.learning-score strong{display:block;font-size:2rem}.learning-score span{font-size:.85rem;color:#64748b}.current-lab-card{border:2px solid #c7d2fe}.lab-number{display:inline-block;padding:5px 10px;border-radius:999px;background:#e0e7ff;color:#4338ca;font-size:.78rem;font-weight:900}.lab-question{margin-top:20px;padding:18px;border-radius:18px;background:#f8fafc}.lab-question h3{font-size:1.15rem;line-height:1.45}.choice-stack{display:grid;gap:9px;margin-top:12px}.choice-btn{width:100%;text-align:left;padding:13px 14px;border:2px solid #e2e8f0;border-radius:14px;background:#fff;font-weight:750;cursor:pointer}.choice-btn:hover{border-color:#818cf8;background:#eef2ff}.lab-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lab-path-card{padding:16px;border-radius:18px;background:#fff;border:1px solid #e2e8f0}.lab-path-card.locked{opacity:.58;background:#f8fafc}.lab-path-card.complete{border-color:#86efac;background:#f0fdf4}.lab-path-card.open{border-color:#c7d2fe;background:#eef2ff}.lab-path-top{display:flex;justify-content:space-between;gap:8px}.lab-order{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#0f172a;color:#fff;font-weight:900}.lab-status{font-size:.75rem;font-weight:800;color:#64748b}.lab-path-emoji{font-size:1.8rem;margin-top:14px}.lab-path-card h3{margin:6px 0}.lab-path-card p{font-size:.86rem;color:#64748b}.achievement-grid{display:flex;flex-wrap:wrap;gap:10px}.achievement-card{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa}.achievement-card span{grid-row:1/3;font-size:1.5rem}.achievement-card small{color:#9a3412}.celebration-panel{text-align:center;padding:30px}
.approval-summary{display:inline-flex;align-items:baseline;gap:8px;padding:10px 14px;margin-top:12px;border-radius:14px;background:rgba(255,255,255,.16)}.approval-summary strong{font-size:1.6rem}.approval-list{display:grid;gap:12px}.approval-card{padding:18px;border-radius:20px;background:#fff;border-left:6px solid #94a3b8;box-shadow:0 8px 24px rgba(15,23,42,.06)}.approval-in{border-left-color:#10b981}.approval-out{border-left-color:#f43f5e}.approval-card-head h3{margin:5px 0}.approval-direction{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.approval-edit-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:14px}.approval-buttons{display:flex;flex-wrap:wrap;gap:9px}.approval-attention{background:#fef3c7!important;color:#92400e!important;border-color:#fde68a!important}.empty-approval{text-align:center;margin-top:20px}.category-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.category-admin-list{display:grid;gap:7px;margin:12px 0}.category-admin-row{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;background:#f8fafc;border-radius:10px}.tiny-danger{width:28px;height:28px;border:0;border-radius:8px;background:#fee2e2;color:#b91c1c;font-size:1.1rem;cursor:pointer}.emoji-short{max-width:60px}.journey-section{margin:32px 0;padding:28px;border-radius:28px;background:#f8fafc}.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.journey-steps>div{padding:16px;background:#fff;border-radius:16px}.journey-steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#4f46e5;color:#fff;margin-bottom:10px}.journey-steps strong,.journey-steps span{display:block}.journey-steps span{margin-top:5px;font-size:.84rem;color:#64748b}
@media(max-width:760px){.learning-hero{align-items:stretch;flex-direction:column}.learning-score{min-width:0}.lab-path-grid{grid-template-columns:1fr 1fr}.journey-steps{grid-template-columns:1fr 1fr}.category-admin-grid,.approval-edit-grid{grid-template-columns:1fr}.category-choice-grid{grid-template-columns:1fr}.record-money-card{padding:20px}}
@media(max-width:470px){.child-core-loop{grid-template-columns:1fr}.core-learning-card,.pending-money-banner{grid-column:auto}.lab-path-grid,.journey-steps{grid-template-columns:1fr}.core-money-btn{padding:15px}}

.trial-banner{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:13px 15px;border-radius:16px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe}.trial-banner strong{font-size:.95rem}.trial-banner span{font-size:.84rem;color:#4f46e5}
.money-fix-row{border-bottom:1px solid rgba(148,163,184,.22);padding:8px 0}.money-fix-details{margin:4px 0 10px}.money-fix-details summary{cursor:pointer;font-weight:800;color:#4f46e5}.money-issue-form{margin-top:4px}.money-issue-form .text-link{font-size:.78rem}

/* v6.5 global launch: direction-aware layout. Keep money/code/PIN fields LTR. */
html[dir="rtl"] body { direction: rtl; text-align: right; }
html[dir="rtl"] .topbar-inner,
html[dir="rtl"] .row,
html[dir="rtl"] .hero-actions,
html[dir="rtl"] .marketing-checks,
html[dir="rtl"] .section-head,
html[dir="rtl"] .receipt-line,
html[dir="rtl"] .bar-row-head { direction: rtl; }
html[dir="rtl"] .modal-close { right: auto; left: 14px; }
html[dir="rtl"] input:not([type="number"]):not(.code-input),
html[dir="rtl"] textarea,
html[dir="rtl"] select { text-align: right; }
html[dir="rtl"] input[type="number"],
html[dir="rtl"] .code-input,
html[dir="rtl"] [inputmode="numeric"],
html[dir="rtl"] [inputmode="decimal"] { direction: ltr; text-align: left; }
html[dir="rtl"] .price,
html[dir="rtl"] .big-balance,
html[dir="rtl"] .mini-balance,
html[dir="rtl"] .money-plus,
html[dir="rtl"] .money-minus,
html[dir="rtl"] .shop-price { unicode-bidi: isolate; }

/* Launch mobile pass: keep long translated actions inside the viewport. */
.topbar-inner,.top-actions,.field{min-width:0}
.top-actions{flex-wrap:wrap;justify-content:flex-end}
.top-lab-name{overflow-wrap:anywhere;max-width:12rem}
button,.btn,.ghost-btn,.pill-btn{white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){
  .topbar-inner{align-items:flex-start}
  .top-actions{gap:5px;max-width:calc(100% - 100px)}
  .top-actions>.pill-btn{display:none}
  .top-actions .ghost-btn,.top-actions .danger-btn{font-size:.8rem;padding:8px 10px}
  .top-lab-name{display:none}
  .hero{padding:22px 16px}
  .hero h1{font-size:clamp(1.8rem,7.8vw,2.2rem);line-height:1.13;letter-spacing:-.6px}
  .hero>p{font-size:1rem;line-height:1.5}
  .modal-card .row{flex-wrap:wrap}
  .modal-card .field{min-width:0}
  .modal-card select{max-width:100%}
}
html[dir="rtl"] .hero h1{letter-spacing:normal;line-height:1.45}
html[dir="rtl"] .top-actions{justify-content:flex-start}

/* Local font files make Arabic and Urdu independent of device font coverage. */
@font-face{font-family:KFLArabic;src:url('../fonts/NotoSansArabic-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:KFLArabic;src:url('../fonts/NotoSansArabic-Bold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
html:lang(ar),html:lang(ur){--font:KFLArabic,system-ui,sans-serif;--font-round:KFLArabic,system-ui,sans-serif}
html:lang(ur) body{line-height:1.8}
.learning-score strong{direction:ltr;unicode-bidi:isolate}

/* v6.5.1 presentation convergence
   Preserve v6.5 behaviour while restoring the visual immediacy of the earlier Kid Finance Lab UI. */
.view-child .main{max-width:980px}
.view-child .topbar{box-shadow:0 3px 14px rgba(15,25,48,.08)}
.view-child .brand-text{font-size:1.08rem;line-height:.9}
.view-child .brand-coin{width:46px;height:46px;font-size:1.35rem}

/* Child home: the colourful destinations are the primary navigation again. */
.view-child .dashboard-hero{padding:18px 20px;border-radius:26px;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:14px;box-shadow:0 12px 30px rgba(33,50,85,.15)}
.view-child .hello{font-family:var(--font-round);font-size:1.1rem;font-weight:950}
.view-child .balance-label{margin:8px 0 3px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.view-child .big-balance{font-family:var(--font-round);font-size:clamp(2.4rem,8vw,3.6rem);line-height:1;color:#ffe36e;text-shadow:0 2px 8px rgba(0,0,0,.15)}
.view-child .hero-stats{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.view-child .hero-stats span{display:inline-flex;align-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);padding:7px 9px;border-radius:999px;font-size:.76rem;font-weight:900}
.view-child .pet-widget{align-self:stretch;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.15);border-radius:20px;padding:12px;display:flex;flex-direction:column;justify-content:center}
.view-child .pet-inline{display:flex;align-items:center;justify-content:center;gap:9px}
.view-child .pet-avatar{font-size:3.2rem;filter:drop-shadow(0 4px 7px rgba(0,0,0,.16))}
.view-child .pet-inline strong,.view-child .pet-inline small{display:block}
.view-child .pet-inline strong{font-family:var(--font-round)}
.view-child .mini-needs{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin:9px 0}
.view-child .mini-needs span{background:rgba(255,255,255,.18);padding:5px 7px;border-radius:999px;font-size:.72rem;font-weight:900}
.view-child .visit-pet-btn{border:0;border-radius:12px;background:#fff;color:var(--primary);padding:9px 10px;font-weight:950}

.view-child .child-home-grid-section{margin-top:16px}
.view-child .child-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.view-child .action-card{min-height:190px;border-radius:28px;padding:18px 12px;border:2px solid rgba(255,255,255,.36);box-shadow:0 10px 22px rgba(33,50,85,.14),inset 0 1px 0 rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center}
.view-child .action-card .icon-box{width:72px;height:72px;border-radius:22px;font-size:2.35rem;margin-bottom:14px;background:rgba(255,255,255,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.view-child .action-card h3{font-size:1.08rem;line-height:1.15;margin:0 0 7px}
.view-child .action-card p{font-size:.82rem;line-height:1.3;max-width:15rem}
.view-child .action-card:active{transform:translateY(1px) scale(.99)}

/* Money entry and Labs stay prominent but secondary to the home destinations. */
.view-child .child-quick-actions{margin:16px 0 0;grid-template-columns:1fr 1fr 1.35fr;gap:10px}
.view-child .core-money-btn,.view-child .core-learning-card{min-height:92px;padding:13px 14px;border-radius:20px;box-shadow:0 7px 18px rgba(15,23,42,.07)}
.view-child .core-money-btn>span{width:42px;height:42px;border-radius:14px;font-size:1.35rem}
.view-child .core-money-btn strong,.view-child .core-learning-card strong{font-size:.94rem}
.view-child .core-money-btn small,.view-child .core-learning-card small{font-size:.72rem}
.view-child .core-learning-card{grid-column:auto}
.view-child .learning-ring{width:48px;height:48px;font-size:.78rem}
.view-child .pending-money-banner{grid-column:1/-1}

.view-child .child-savings-section{margin-top:18px;padding:16px;background:#fff;border:2px solid #f3e8ff;border-radius:24px;box-shadow:0 8px 20px rgba(33,50,85,.06)}
.view-child .goal-mini{box-shadow:none;background:#fffdf8;border-color:#f5df93}
.view-child .child-tip-card{margin-top:16px}
.view-child .child-theme-section{margin-top:16px}

/* Child modals: bold coloured headers and tactile cards, like the earlier interface. */
.view-child .modal{background:rgba(15,25,48,.66);backdrop-filter:blur(7px)}
.view-child .modal-card{border-radius:32px;border:2px solid rgba(255,255,255,.75);box-shadow:0 26px 70px rgba(15,25,48,.3)}
.view-child .modal-banner{padding:26px 68px 24px 24px;border-radius:30px 30px 0 0;min-height:116px;display:flex;flex-direction:column;justify-content:center}
.view-child .modal-banner h2{font-size:1.7rem;line-height:1.05}
.view-child .modal-banner p{font-size:1rem;line-height:1.35}
.view-child .modal-close{width:44px;height:44px;font-size:1.65rem;background:rgba(255,255,255,.42);z-index:2}
.view-child .receipt{border-radius:22px;padding:18px;background:#fffdf2}
.view-child .goal-detail,.view-child .goal-request{border-radius:22px;padding:16px}
.view-child .bar-list{gap:18px}
.view-child .bar{height:13px}

/* Adult daily controls: restore the compact, dark "control panel" feel without changing handlers. */
.view-adult .adult-hero{padding:20px;border-radius:26px}
.view-adult .adult-hero h1{font-size:1.65rem}
.view-adult .adult-toolbar{gap:7px}
.view-adult .adult-toolbar button,.view-adult .adult-toolbar .toolbar-link{padding:10px 12px;border-radius:12px;font-size:.85rem}
.view-adult .adult-panel-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)}
.view-adult .adult-child-control{background:var(--navy);color:#fff;border:0;padding:22px;border-radius:28px;box-shadow:0 14px 32px rgba(15,25,48,.18)}
.view-adult .adult-child-control h3{font-size:1.35rem}
.view-adult .adult-child-control>p{color:#cbd5e1}
.view-adult .adult-child-control .access-badge.active{background:#d1fae5;color:#065f46}
.view-adult .adult-child-control .adult-action-grid{gap:9px;margin-top:16px}
.view-adult .adult-child-control .btn{min-height:47px;border-radius:14px}
.view-adult .adult-child-control .btn.green{background:#12b981}
.view-adult .adult-child-control .btn.soft{background:#fff;color:#172033}
.view-adult .adult-child-control .adult-action-grid>form:nth-child(6) .btn{background:#ffb703;color:#182033}
.view-adult .adult-child-settings{border:2px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 8px 20px rgba(33,50,85,.06)}
.view-adult .adult-child-settings .field label{font-size:.72rem}

/* Phone-first behaviour. */
@media(max-width:900px){
  .view-child .child-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .view-adult .adult-panel-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .view-child .main{padding:12px 10px 30px}
  .view-child .dashboard-hero{grid-template-columns:minmax(0,1fr) 132px;padding:15px;gap:10px;border-radius:22px}
  .view-child .pet-widget{padding:9px}
  .view-child .pet-avatar{font-size:2.55rem}
  .view-child .pet-inline{display:block;text-align:center}
  .view-child .pet-inline small{font-size:.68rem}
  .view-child .mini-needs{display:none}
  .view-child .visit-pet-btn{font-size:.72rem;padding:7px}
  .view-child .child-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .view-child .action-card{min-height:178px;padding:15px 9px;border-radius:25px}
  .view-child .action-card .icon-box{width:66px;height:66px;border-radius:20px;font-size:2.15rem}
  .view-child .action-card h3{font-size:1rem}
  .view-child .action-card p{font-size:.76rem}
  .view-child .child-quick-actions{grid-template-columns:1fr 1fr}
  .view-child .core-learning-card{grid-column:1/-1}
  .view-child .modal-card{border-radius:27px;padding:18px}
  .view-child .modal-banner{margin:-18px -18px 16px;padding:23px 62px 21px 20px;border-radius:25px 25px 0 0;min-height:105px}
  .view-child .modal-banner h2{font-size:1.48rem}
}
@media(max-width:430px){
  .view-child .brand-text{font-size:.96rem}
  .view-child .brand-coin{width:40px;height:40px}
  .view-child .dashboard-hero{grid-template-columns:minmax(0,1fr) 112px}
  .view-child .big-balance{font-size:2.35rem}
  .view-child .hero-stats span{font-size:.66rem;padding:5px 7px}
  .view-child .action-card{min-height:164px}
  .view-child .action-card p{font-size:.72rem}
  .view-child .child-quick-actions{grid-template-columns:1fr 1fr}
  .view-child .core-money-btn{padding:11px;gap:8px}
  .view-child .core-money-btn>span{width:36px;height:36px}
  .view-child .core-money-btn small{display:none}
  .view-child .child-savings-section{padding:13px}
  .view-adult .adult-child-control,.view-adult .adult-child-settings{padding:17px;border-radius:23px}
}

/* RTL keeps the same card hierarchy and mirrored modal chrome. */
html[dir="rtl"] .view-child .modal-banner{padding-right:24px;padding-left:68px}
@media(max-width:720px){html[dir="rtl"] .view-child .modal-banner{padding-right:20px;padding-left:62px}}

/* v6.5.2 hotfix 1: keep secondary Control PIN action inside the visual system. */
.control-reset-btn{width:100%;margin-top:10px;border:1px solid var(--line);text-align:center;text-decoration:none;box-shadow:none}.control-reset-btn:hover{background:#e0e7ff;color:#3730a3}

.stripe-setup-list{display:grid;gap:7px;margin:10px 0}.stripe-setup-list span{display:block;padding:7px 10px;border-radius:10px;font-weight:850}.stripe-setup-list .ready{background:#ecfdf5;color:#065f46}.stripe-setup-list .missing{background:#fff1f2;color:#9f1239}.stripe-setup-card small{display:block;color:#64748b;margin-top:8px}

/* v6.5.2 hotfix2: low-friction public language and signup preferences */
.language-quick-switch{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}
.language-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(79,70,229,.18);border-radius:999px;background:rgba(255,255,255,.82);color:var(--ink);font-size:.82rem;font-weight:900;text-decoration:none;box-shadow:0 5px 12px rgba(33,50,85,.06)}
.language-chip:hover,.language-chip.active{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-1px)}
.language-selected{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:999px;background:rgba(255,255,255,.18);font-size:.72rem;line-height:1}
.signup-preferences{border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);overflow:hidden}
.signup-preferences summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;cursor:pointer;color:var(--muted);font-size:.82rem;font-weight:800;list-style:none}
.signup-preferences summary::-webkit-details-marker{display:none}
.signup-preferences summary:after{content:'⌄';margin-inline-start:auto;color:var(--primary);font-size:1.1rem}
.signup-preferences[open] summary:after{content:'⌃'}
.signup-preferences-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px}
@media(max-width:520px){.language-chip{padding:8px 10px;font-size:.76rem}.signup-preferences-grid{grid-template-columns:1fr}.signup-preferences summary{align-items:flex-start;flex-direction:column}.signup-preferences summary:after{position:absolute;right:40px}}
.signup-preferences summary{position:relative}
@media(max-width:520px){.signup-preferences summary:after{top:10px}}

/* v6.5.4 launch-readiness: plain-language onboarding, remembered Child devices, payment grace. */
.device-guide{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:820px;margin:16px auto 22px;text-align:left}
.device-guide>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(33,50,85,.06)}
.device-guide>div>span{display:block;font-size:1.6rem;margin-bottom:6px}.device-guide strong{display:block;margin-bottom:4px}.device-guide p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45}
.remember-device-row{align-items:flex-start}.remember-device-row span{display:grid;gap:3px}.remember-device-row small{display:block;color:var(--muted);font-weight:600;line-height:1.35}
.recovery-setup{border:2px solid #f59e0b;background:#fffbeb}.recovery-setup .recovery-key{font-size:1rem;word-break:break-all;background:#fff;border:1px dashed #f59e0b;border-radius:12px;padding:10px}
.device-access-box{margin-top:14px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid var(--line)}.device-access-box p{margin:6px 0 10px;color:var(--muted);font-size:.82rem;line-height:1.45}
.payment-grace-card{margin-top:12px;border-color:#f59e0b;background:#fff7ed}.payment-grace-card strong{color:#9a3412}
@media(max-width:640px){.device-guide{grid-template-columns:1fr}.device-guide>div{padding:14px}.recovery-setup .row{align-items:stretch}.recovery-setup .row .btn,.recovery-setup .row form{width:100%}.recovery-setup .row form .btn{width:100%}}
html[dir="rtl"] .device-guide{text-align:right}

/* v6.5.7 friction pass */
.view-account .install-banner,.view-adult .install-banner,.view-child .install-banner{display:none!important}.install-banner .btn{flex:0 0 auto;min-width:92px;white-space:nowrap;overflow-wrap:normal}
.setup-card{margin:18px 0 22px;padding:20px;border:2px solid #dbe4ff;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 8px 22px rgba(33,50,85,.06)}.setup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-head h2{margin:3px 0 0}.setup-progress{display:grid;place-items:center;min-width:54px;height:40px;padding:0 10px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:950}.setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.setup-step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.setup-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e2e8f0;font-weight:900}.setup-step strong{font-size:.84rem;line-height:1.2}.setup-step em{font-style:normal;color:#059669;font-weight:950}.setup-step.done{background:#f0fdf4;border-color:#bbf7d0}.setup-step.done>span{background:#dcfce7;color:#166534}.setup-next{margin-top:14px;padding:14px;border-radius:16px;background:#eefcf5;border:1px solid #a7f3d0}.setup-next>span{display:block;margin:3px 0 10px;color:#475569;font-size:.86rem}.mobile-dock{display:none}.hero-local-price{margin-top:5px!important}.hero-trustline{max-width:650px;margin:14px auto 5px!important}.hero-trustline strong{color:var(--ink)}.referral-table{display:grid;gap:6px}.referral-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(58px,.5fr));gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:#f8fafc}.referral-head{background:#eef2ff;color:#3730a3}
@media(max-width:760px){body{padding-bottom:74px}.footer{padding-bottom:82px}.mobile-dock{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:85;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;padding:7px;background:rgba(15,25,48,.95);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);border-radius:20px;box-shadow:0 14px 34px rgba(15,25,48,.3)}.mobile-dock a,.mobile-dock button{min-width:0;border:0;background:transparent;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;border-radius:12px;font:inherit;cursor:pointer}.mobile-dock span{font-size:1.15rem;line-height:1}.mobile-dock b{font-size:.67rem;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.setup-steps{grid-template-columns:1fr 1fr}.setup-step{min-height:62px}.device-guide{gap:8px}.device-guide>div{padding:12px!important}.device-guide p{font-size:.8rem!important}.view-account .top-actions [data-install-app],.view-adult .top-actions [data-install-app],.view-child .top-actions [data-install-app]{display:none!important}.install-banner.show{align-items:stretch}.install-banner p{font-size:.82rem}.install-banner .btn{min-width:96px;padding:10px 14px;white-space:nowrap}.adult-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.adult-action-grid .btn{font-size:.8rem!important;line-height:1.15;padding:10px 8px!important;min-height:48px!important}.profile-card{min-width:0}.profile-card strong,.profile-card span{overflow-wrap:anywhere}}
@media(max-width:430px){.setup-steps{grid-template-columns:1fr}.setup-card{padding:16px}.setup-step{min-height:54px}.setup-next .row{display:grid;grid-template-columns:1fr 1fr}.setup-next .btn{width:100%;font-size:.8rem;padding:10px 8px}.install-banner.show{display:grid;grid-template-columns:minmax(0,1fr) auto}.install-banner .btn{align-self:center}.top-actions .ghost-btn,.top-actions .danger-btn{white-space:nowrap;overflow-wrap:normal}.referral-row{grid-template-columns:minmax(95px,1.2fr) repeat(4,minmax(42px,.5fr));font-size:.78rem;padding:8px 6px}}
/* Never split action words in the middle on narrow phones. Wrap only at normal spaces. */
button,.btn,.ghost-btn,.pill-btn,.small-btn,.danger-btn{overflow-wrap:normal;word-break:normal;hyphens:auto}
/* Keep install optional instead of interrupting conversion/setup. */
.install-banner{display:none!important}
.child-optional-settings{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#f8fafc}.child-optional-settings summary{cursor:pointer;font-weight:850;color:var(--muted)}
button,.btn,.ghost-btn,.pill-btn,.small-btn,.danger-btn{overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
.stripe-diagnostic{padding:9px 10px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa}.stripe-diagnostic small{display:block;color:var(--muted);margin-top:3px}

/* v6.5.9 video-friction polish */
a.action-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer}
.modal-secondary-action,.profile-billing-action,.page-back-action{margin-top:14px}
.modal-secondary-action .action-link,.profile-billing-action .action-link,.page-back-action .action-link{background:#eef2f7;color:var(--ink);border-radius:999px;padding:9px 14px;font-weight:800}
.child-create-intro{max-width:34rem}
.billing-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:2px solid var(--line);border-radius:16px;background:#f8fafc}
.billing-selection-summary strong{color:var(--ink)}
.billing-selection-summary span{font-weight:900;color:#4f46e5;text-align:right}
.btn:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.55)}
@media(max-width:520px){.billing-selection-summary{align-items:flex-start;flex-direction:column;gap:4px}.billing-selection-summary span{text-align:left}.modal-secondary-action .action-link,.profile-billing-action .action-link,.page-back-action .action-link{width:100%}}
