:root{--deep:#09291f;--green:#113c2d;--green2:#225440;--cream:#f7f5ed;--gold:#e6c77e;--ink:#20362d;--muted:#62756b;--border:#d9e2d7;--white:#fff;--mist:#f0f4ee;--danger:#b74e4e}*{box-sizing:border-box}body{margin:0;background:linear-gradient(140deg,#e4ede2,#faf6e9 50%,#e9f2e8);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{display:block;width:100%;border:1px solid #b9cbbb;border-radius:12px;padding:11px 12px;margin-top:6px;background:#fff;color:var(--ink);min-width:0}textarea{resize:vertical}label{display:block;font-size:14px;font-weight:650;margin-bottom:13px}input[type=checkbox]{width:auto;margin:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e2b453;outline-offset:2px}.shell{max-width:1130px;margin:auto;padding:0 20px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid #d6e3d8}.brand{display:flex;gap:12px;align-items:center;min-width:0}.brand img{width:62px;height:62px;object-fit:cover;border-radius:16px;border:2px solid #cbac67}.brand b{display:block;color:var(--green);font-size:20px;letter-spacing:.015em}.brand em{font-style:normal;color:#967038}.brand small{font-size:10px;letter-spacing:.18em;color:#7b745d;font-weight:750}.header-actions{display:flex;align-items:center;gap:10px}.private-badge{white-space:nowrap;color:#245944;border:1px solid #9bbda9;background:#eef9ee;padding:6px 10px;border-radius:30px;font-size:12px;font-weight:750}.outline,.primary,.gold-btn,.danger{border:0;min-height:44px;border-radius:12px;padding:10px 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{color:#fff;background:#1c563d}.primary:hover{background:#13442f}.outline{background:white;border:1px solid #acc3b3;color:#23513a}.gold-btn{background:var(--gold);color:#2c3821}.danger{color:#fff;background:#9c3c3c}.text-link{border:0;background:none;color:#226349;text-decoration:underline;font-weight:700}.hidden{display:none!important}.toast{padding:13px 15px;background:#ccebd6;color:#16432e;border-radius:12px;margin:14px 0;font-weight:700}.toast.bad{background:#fee0d9;color:#8a322b}.panel{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:22px;margin-bottom:17px;box-shadow:0 5px 28px #1239280a}.panel h2,.panel h3{margin:0 0 12px}.panel p{margin:0 0 16px}.auth-grid{display:grid;grid-template-columns:1.07fr .93fr;gap:24px;align-items:stretch;padding:32px 0}.hero,.hero-small{border-radius:27px;background:linear-gradient(147deg,#0a2b21 0%,#194a34 62%,#2d573e);color:#fff;min-height:415px;padding:42px 38px;position:relative;overflow:hidden}.hero:after{content:'✝';position:absolute;right:6%;top:18%;color:#eed09a17;font-size:210px;font-weight:800;pointer-events:none}.hero h1{font-size:clamp(35px,5vw,55px);line-height:1.13;margin:26px 0}.hero h1 i{color:var(--gold);font-style:normal}.hero p,.hero-small p{color:#d8e7d8;max-width:440px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.hero-chips span{font-size:12px;border-radius:35px;background:#ffffff1b;padding:9px 11px}.overline{font-weight:850;font-size:11px;letter-spacing:.16em;color:#e4c478}.overline.olive{color:#8d7844}.authbox{padding:32px}.authbox form{padding-top:20px}.tabs{display:flex;background:#eff4ed;padding:4px;border-radius:14px}.tabs button{flex:1;border:none;background:transparent;padding:12px;border-radius:10px;font-weight:750;color:#45614d}.tabs button.selected{background:var(--green);color:#fff}.authbox .primary{width:100%;margin:10px 0}.quiet{color:var(--muted);font-size:13px}.inline-check{display:flex;align-items:flex-start;gap:9px;font-weight:500}.inline-check input{margin-top:5px;accent-color:#1d563e}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 20px}.welcome h1{margin:7px 0 3px;font-size:clamp(25px,4vw,34px);color:var(--green)}.welcome p{margin:0;color:var(--muted)}.mini-stats{display:flex;gap:8px;flex-wrap:wrap}.mini-stats span,.review-tag,.live-pill{border:1px solid #b8d0bb;background:#e6f1e6;border-radius:20px;padding:7px 10px;font-size:12px;font-weight:750;color:#366148}.live-pill{color:#7a5331;background:#fff2db;border-color:#ead2a8}.nav{display:flex;gap:8px;overflow:auto;padding:8px 0 22px;scrollbar-width:thin}.nav button{flex-shrink:0;border:1px solid #cbd9cc;border-radius:13px;background:#ffffffbf;padding:11px 16px;color:#456752;font-weight:750;min-height:44px}.nav button.active{background:var(--deep);border-color:var(--deep);color:var(--gold)}.page{padding-bottom:25px}.hero-small{min-height:205px;padding:28px 30px;margin-bottom:18px;background:radial-gradient(circle at right 20%,#356a4e,transparent 40%),linear-gradient(135deg,#0b2d23,#1d563c)}.hero-small h2{font-size:38px;margin:5px 0}.hero-small .gold-btn{margin-top:8px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-col>.panel{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.section-heading h2{font-size:28px;color:#183e2d;margin:5px 0}.three-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.stage-row{display:flex;justify-content:space-between;gap:10px;font-weight:750;color:#3d634b;margin:20px 0 10px}.steps{display:flex;gap:6px;flex-wrap:wrap}.steps .step{border-radius:9px;background:#edf1ec;border:1px solid #d0ded1;padding:8px 10px;font-size:12px}.steps .step.active{background:#d3e9d7;border-color:#579971;color:#10452a;font-weight:800}.verse-box{background:#f5f5e9;border-radius:16px;padding:18px;margin:18px 0;border-left:4px solid #bca161}.inline-actions,.video-toolbar{display:flex;flex-wrap:wrap;gap:9px}.scripture{margin-top:14px;white-space:pre-wrap;font-family:Georgia,serif;font-size:18px;line-height:1.7}.answer-list .answer{border-top:1px solid var(--border);padding:12px 0}.prayer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.prayer-item{background:#fff;border:1px solid var(--border);border-radius:19px;padding:20px;min-width:0}.prayer-item .anonym{font-weight:850;color:#2a6245}.prayer-item .body{font-size:16px;white-space:pre-wrap;margin:12px 0}.prayer-item small{color:var(--muted)}.prayer-item .actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.prayer-item button{padding:8px 12px;min-height:40px}.member-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:11px}.member{display:flex;align-items:center;gap:10px;background:#f1f5ed;padding:10px;border-radius:14px}.avatar{border-radius:50%;width:45px;height:45px;background:#e5d6aa;display:grid;place-items:center;overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.big{height:68px;width:68px;font-size:29px}.member b{font-size:14px}.member small{display:block;color:var(--muted)}.date-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.date-fields label{min-width:0}.profile-top{display:flex;align-items:center;gap:16px;margin-bottom:25px}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-top:14px}.video-tile{min-height:160px;background:#102a24;border-radius:18px;position:relative;overflow:hidden;display:grid;place-items:center;color:white}.video-tile video{width:100%;height:100%;object-fit:cover;max-height:250px}.video-tile audio{display:none}.video-tile .name{position:absolute;bottom:0;left:0;right:0;padding:10px;background:#0009;color:white}.birthday-card{background:#fff6dc;border-color:#ecd49a}.statline{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.modal{position:fixed;inset:0;background:#061710bb;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-card{max-width:450px;background:white;border-radius:25px;padding:30px;text-align:center}.modal-card h2{font-size:32px;color:#175036}.birthday-illustration{font-size:45px}footer{text-align:center;color:#798578;font-size:12px;margin:35px 0 26px}@media(max-width:750px){.auth-grid,.two-col,.prayer-list{grid-template-columns:1fr}.three-controls{grid-template-columns:1fr}.hero{min-height:290px;padding:28px}.auth-grid{padding:20px 0}.authbox{padding:22px}.welcome{display:block}.mini-stats{margin-top:12px}.private-badge{display:none}.section-heading h2{font-size:25px}}@media(max-width:420px){.shell{padding:0 12px}.brand img{width:45px;height:45px}.brand b{font-size:15px}.brand small{font-size:8px}.panel{padding:16px}.hero-small h2{font-size:31px}.date-fields{gap:5px}.date-fields label{font-size:12px}}

/* ROOTED TOGETHER Visual Experience v0.3.2: forest-green and gold, family-first Android layout */
:root{--deep:#071c16;--green:#0e3828;--green2:#22553a;--cream:#fff7dd;--gold:#e9c67d;--ink:#f0f2e8;--muted:#c1cebc;--border:#476a50;--white:#133526;--mist:#113425;--danger:#f28b82;}
html{scroll-behavior:smooth}
body{color:var(--ink);background:radial-gradient(ellipse at 75% -8%,#1e5a3e 0%,transparent 42%),linear-gradient(165deg,#071e16 0%,#103425 48%,#071b15 100%);min-height:100vh;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.shell{max-width:1180px}
.topbar{border-color:#ffffff20;padding:14px 0}
.brand img{border:1px solid #ddbb75;border-radius:20px;box-shadow:0 0 28px #ceaa4b36}
.brand b{color:#fff6dc;letter-spacing:.04em}
.brand em{color:#f3cf82}
.brand small{color:#d4b978}
.private-badge{color:#e9d7a0;border-color:#896e37;background:#2e432e}
.panel,.prayer-item{background:linear-gradient(150deg,#173e2c 0%,#103022 100%);border:1px solid #3c6045;box-shadow:0 12px 36px #03140f55;color:#eaf4e7}
.panel h2,.panel h3,.panel h4,.section-heading h2{color:#fff0c8}
.panel p,.welcome p,.hero p,.hero-small p{color:#d5e2d1}
.quiet,.member small,.prayer-item small,footer{color:#c0d1c2}
.outline{color:#f0d59e;background:#173b2b;border:1px solid #a2884c}
.outline:hover{background:#245239;border-color:#f1d08d}
.primary,.gold-btn{background:linear-gradient(165deg,#f4de9e,#d6a950);color:#18291c;font-weight:800;box-shadow:0 4px 15px #c3a05025}
.primary:hover,.gold-btn:hover{background:linear-gradient(165deg,#fbe9b5,#e2bc69)}
.primary:focus-visible,.outline:focus-visible{outline-color:#fff5d5}
.danger{background:#8b3538;color:white}
input,textarea,select{background:#0c291d;border-color:#6b876b;color:#f9f3df;border-radius:13px}
input::placeholder,textarea::placeholder{color:#9eb1a5}
input:focus,textarea:focus,select:focus{border-color:#efcb7b}
label{color:#f0e8cd}
.inline-check{color:#dce7d9}
.tabs{background:#0a251a}
.tabs button{color:#d4c59d}
.tabs button.selected{background:#cfaa60;color:#132c1d}
.hero,.hero-small{background:radial-gradient(ellipse at 75% 14%,#356b49 0%,transparent 50%),linear-gradient(145deg,#07251a,#13452f);border:1px solid #59804b;box-shadow:0 16px 38px #04120e88}
.hero h1 i{color:#f8d68a}
.hero:after{color:#dfbd7e13}
.hero-small{min-height:250px;isolation:isolate;position:relative}
.hero-small>*:not(.hero-watermark){position:relative;z-index:1}
.hero-watermark{position:absolute;right:-22px;top:-45px;width:300px;height:300px;object-fit:cover;border-radius:50%;opacity:.20;filter:saturate(.7);z-index:-1;pointer-events:none}
.overline{color:#e4bd69}
.overline.olive{color:#e7c574}
.welcome h1{color:#f7e1a5}
.mini-stats span,.review-tag,.live-pill{color:#e6d6a9;background:#163e2b;border:1px solid #6f8859}
.nav{gap:9px;scrollbar-color:#856b40 transparent}
.nav button{color:#e3d6a7;border-color:#55714f;background:#173a2a;transition:background .15s ease,transform .15s ease}
.nav button.active{color:#231e10;border-color:#e7c77e;background:linear-gradient(160deg,#f4db96,#caa45b);box-shadow:0 3px 18px #e1b96726}
.nav button:active{transform:scale(.97)}
.member{background:#0b291c;border:1px solid #35593a}
.member b{color:#fff1c9}
.avatar{background:linear-gradient(145deg,#d8b96e,#1d5335);border:2px solid #d4b66b;color:#173426;box-shadow:0 3px 18px #0002}
.avatar.big{border-width:3px;box-shadow:0 0 0 5px #e6ca7c22}
.verse-box{background:#0c281d;border-left:4px solid #e0b966;border-radius:16px;color:#ecf3e4}
.steps .step{background:#183e2d;border-color:#456e4d;color:#e7dbc2}
.steps .step.active{color:#1f311f;background:#e8cf94;border-color:#f0d799}
.prayer-item .anonym{color:#e5c879}
.video-tile{border:1px solid #6c8159}
.birthday-card{background:linear-gradient(145deg,#57472c,#273e2a);border-color:#bea15c}
.modal{background:#010c08df;backdrop-filter:blur(7px)}
.modal-card{background:linear-gradient(160deg,#19432e,#0d2b20);border:1px solid #be9d5e;box-shadow:0 20px 75px #0008;color:#ecf2e8}
.modal-card h2{color:#f1d18d}
.text-link{color:#e7ca86}
.toast{background:#244f33;color:#edffec;border:1px solid #7db27a}
.toast.bad{background:#512623;color:#ffd5c9;border-color:#e08b82}
.profile-photo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 16px}
.profile-photo-actions button{flex:1;min-width:165px}
.photo-setup-card{width:min(100%,420px);padding:28px 23px;text-align:center}
.onboard-avatar{width:118px;height:118px;border:4px solid #e8c678;border-radius:50%;background:radial-gradient(circle at 50% 20%,#4e8e5b,#122d20);margin:18px auto 20px;display:grid;place-items:center;font-size:55px;box-shadow:0 0 0 8px #f0d37b20,0 16px 30px #0005;overflow:hidden}
.onboard-avatar img{width:100%;height:100%;object-fit:cover}
.photo-setup-card h2{font-size:26px;margin:0 0 12px}
.photo-setup-card p{color:#d6e4d0}
.photo-setup-card .photo-action{width:100%;margin:6px 0;min-height:50px}
.photo-setup-card .photo-skip{padding:13px 15px;min-height:44px;margin-top:8px}
.photo-setup-card #photo-setup-note{font-size:12px;margin-top:8px}
@media(max-width:750px){
 .shell{padding:0 14px 96px}
 .topbar{padding:12px 0;gap:7px}
 .brand img{width:48px;height:48px;border-radius:12px}
 .brand b{font-size:16px}
 .brand small{font-size:8px}
 .auth-grid{padding:16px 0;gap:14px}
 .hero{min-height:auto;padding:28px 24px}
 .hero h1{font-size:35px;margin:14px 0}
 .hero-chips{margin-top:17px}
 .authbox{padding:22px}
 .welcome{margin:20px 0 12px}
 .welcome h1{font-size:27px}
 .nav{position:fixed;bottom:0;left:0;right:0;z-index:45;padding:max(8px,env(safe-area-inset-bottom)) 6px 10px;margin:0;background:#09251d;box-shadow:0 -8px 32px #0008;border-top:1px solid #806e43;gap:1px;justify-content:space-between;overflow-x:auto}
 .nav button{font-size:10px;line-height:1.18;min-width:56px;flex:1;border-radius:10px;min-height:55px;padding:7px 3px;white-space:normal;text-align:center;border:0}
 .nav button.active{border-radius:11px}
 .panel{padding:18px;border-radius:19px}
 .hero-small{min-height:250px;padding:26px 23px}
 .hero-watermark{width:225px;height:225px;right:-32px;top:2px;opacity:.17}
 .two-col,.prayer-list{grid-template-columns:1fr;gap:0}
 .section-heading{align-items:flex-start;flex-wrap:wrap}
 .section-heading h2{font-size:26px}
 .profile-photo-actions button{min-width:calc(50% - 8px);font-size:13px;padding:12px 8px}
 .modal{padding:13px}
 .photo-setup-card{max-height:calc(100dvh - 28px);overflow-y:auto}
 footer{padding-bottom:15px}
}
@media(max-width:390px){.nav button{font-size:9px;min-width:50px}.nav{padding-left:2px;padding-right:2px}.brand small{letter-spacing:.07em}.hero-chips span{font-size:11px}}

/* v0.3.3: registration and child account confirmation */
.password-hint{font-size:13px;margin:4px 0 10px;color:#c3d4c8}
.password-hint.mismatch{color:#ffbaa9}
.password-hint.matched{color:#b0edb3}
.password-show{margin:7px 0 12px;cursor:pointer}
input[aria-invalid="true"]{border:2px solid #eaa18e}

/* v0.3.5: birthday year and inline sign-in errors */
.login-error{color:#ffb5a9;background:#4a1b1b;padding:12px;border-radius:10px;margin-top:8px;font-weight:700}
