/* Current shared design rules. Change these roles before adding page overrides. */
:root{
 --font-ui:'Lexend','Noto Sans Devanagari',sans-serif;
 --font-editorial:var(--font-ui);
 --text-meta:12px;--text-support:14px;--text-body:16px;
 --text-action:16px;--text-card:20px;--text-section:22px;--text-page:28px;
}
.reference-design{font-family:var(--font-ui);font-size:var(--text-body);line-height:1.5}
.reference-design strong,.reference-design b{font-weight:600}
.reference-design h1,.reference-design h2,.reference-design h3{font-family:var(--font-ui);font-weight:500;letter-spacing:-.35px;line-height:1.35}
.reference-design .float-title,.reference-design .companion-name,.reference-design .greeting-identity h1,.reference-design .editorial-copy strong{font-family:var(--font-editorial);font-weight:500}
.reference-design .float-title{font-size:19px;letter-spacing:-.25px;line-height:1.3}
.reference-design .companion-name{font-size:36px;letter-spacing:-1px;line-height:1.15}
.reference-design .companion-ai,.reference-design .greeting-identity>p{font-size:var(--text-support);line-height:1.5;color:var(--balu-muted)}
.reference-design .companion-eyebrow{font-size:var(--text-support);line-height:1.5;letter-spacing:0}
.reference-design .greeting-identity h1{font-size:32px;letter-spacing:-.8px;line-height:1.2}
.reference-design .home-content h1{font-size:var(--text-page);letter-spacing:-.5px}
.reference-design .inline-login h2,.reference-design .sheet h2,.reference-design .plan h3,.reference-design .permission h3{font-size:var(--text-section);letter-spacing:-.35px}
.reference-design .editorial-copy strong{font-size:var(--text-card);letter-spacing:-.35px;line-height:1.35}
.reference-design .bubble,.reference-design .user-message .bubble,.reference-design .hello-bubble p,.reference-design .sheet p,.reference-design .plan p,.reference-design .permission p,.reference-design .receipt p,.reference-design .preview,.reference-design .permission dl{font-size:var(--text-body);line-height:1.6}
.reference-design .primary,.reference-design .secondary,.reference-design .hello-button,.reference-design .permission-footer button{font-size:var(--text-action);font-weight:500;line-height:1.4}
.reference-design .sky-footer .hello-button{font-size:18px}
.reference-design .choice,.reference-design .text-button,.reference-design .consent,.reference-design .notice,.reference-design .error,.reference-design .otp-number,.reference-design .editorial-copy>span,.reference-design .coming-link,.reference-design .nav-strip button{font-size:var(--text-support);line-height:1.5}
.reference-design .header-title small,.reference-design .editorial-copy small,.reference-design .coming-link small,.reference-design .composer-hint,.reference-design .message .who,.reference-design .card-kicker,.reference-design .receipt-top small,.reference-design .receipt-id,.reference-design .voice-meta,.reference-design .hello-bubble small{font-size:var(--text-meta);line-height:1.5;color:var(--balu-muted)}
.reference-design .login-trust{font-size:var(--text-meta);line-height:1.5;color:var(--balu-muted)}
.reference-design .phone-input input,.reference-design .composer input,.reference-design .text-field{font-size:var(--text-body);line-height:1.5}
.reference-design .otp-input input{font-size:24px!important;font-variant-numeric:tabular-nums}
.reference-design .phone-input input::placeholder,.reference-design .composer input::placeholder{color:var(--balu-muted);opacity:1}
.reference-design .eyebrow{font-size:var(--text-meta);font-weight:500;letter-spacing:.8px}
.reference-design .lang{font-size:var(--text-meta);min-height:44px}

/* Placeholder identity: two conversations meet, with a small smile. */
.sky-top{position:relative;justify-content:flex-end}
.saathi-wordmark{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;color:var(--balu-primary);white-space:nowrap}
.saathi-wordmark>span{font-family:var(--font-editorial);font-size:25px;font-weight:600;letter-spacing:-.8px;line-height:1}
.saathi-symbol{width:35px;height:35px;flex-shrink:0}

/* The pending reply is a little paper bubble, matching the arriving message. */
.reference-design .hello-typing{display:inline-flex;align-items:center;gap:14px;min-height:64px;padding:13px 16px;background:var(--balu-on-primary);border:1px solid var(--balu-border);border-radius:19px 19px 19px 5px;box-shadow:2px 5px 10px -5px color-mix(in srgb,var(--balu-on-peach) 14.90%,transparent);color:var(--balu-on-sage)}
.reference-design .hello-typing .typing-caption{font-size:var(--text-support);line-height:1.5;margin:0}
.typing-pebbles{display:flex;align-items:center;gap:5px;height:20px;flex-shrink:0}
.reference-design .hello-typing i{width:9px;height:12px;border:1px solid var(--balu-secondary);border-radius:5px;background:var(--balu-honey);animation:paper-thought 1.2s ease-in-out infinite}
.reference-design .hello-typing i:nth-child(2){background:var(--balu-border);border-color:var(--balu-secondary);animation-delay:.14s}
.reference-design .hello-typing i:nth-child(3){background:var(--balu-honey);border-color:var(--balu-secondary);animation-delay:.28s}
@keyframes paper-thought{0%,65%,100%{transform:translateY(0) rotate(-7deg)}30%{transform:translateY(-4px) rotate(7deg)}}
@container(max-width:350px){
 .reference-design .float-title{font-size:17px;letter-spacing:0}
 .reference-design .companion-eyebrow{font-size:14px}
 .reference-design .companion-card{padding-left:8px;padding-right:8px}
 .reference-design .inline-login h2{font-size:20px}
 .reference-design .hello-typing{gap:9px;padding-left:12px;padding-right:12px}
 .reference-design .hello-typing .typing-caption{font-size:13px}
}
@container(max-height:680px){
 .reference-design .greeting-identity h1{font-size:28px}
 .reference-design .inline-login{padding-top:14px;padding-bottom:12px}
}
@container(max-height:600px){
 .staged-greeting .greeting-top{height:48px;padding-top:2px;padding-bottom:2px}
 .staged-greeting .greeting-identity .portrait-polaroid{width:48px;height:48px}
 .staged-greeting .greeting-identity h1{margin-top:8px}
 .staged-greeting .you-waved{margin:8px 0;min-height:28px}
 .staged-greeting .hello-bubble{padding-top:8px;padding-bottom:9px}
 .staged-greeting .login-trust{margin-top:8px;gap:3px}
 .staged-greeting .inline-login .login-heading{margin-bottom:11px}
 .staged-greeting .inline-login:has(.otp-back) .login-heading{margin-bottom:5px}
 .staged-greeting .otp-number{margin-bottom:8px}
 .staged-greeting .otp-input{padding-top:7px;padding-bottom:7px}
}
@media(prefers-reduced-motion:reduce){.reference-design .hello-typing i{animation:none}}
