/* CDR overflow containment - no JavaScript changes */
:root { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
*,*::before,*::after { box-sizing:border-box; }
html { width:100%; max-width:100%; min-width:0; overflow-x:clip; }
body { margin:0; width:100%; max-width:100%; min-width:0; overflow-x:clip; }
#root, #root > div, .app { width:100%; max-width:100%; min-width:0; }
.app { margin-inline:auto; }
.app main,.app header,.app section,.app article,.app form,.app .panel,.app .result,.app .hero,.app .pagehead,.app .auth,.app .tiles,.app .stats,.app .cdr-health-banner {
  box-sizing:border-box; max-width:100%; min-width:0;
}
.app main,.app header { width:100%; }
.app * { min-width:0; }
.app p,.app li,.app h1,.app h2,.app h3,.app h4,.app label,.app strong,.app b,.app small,.app span { overflow-wrap:anywhere; }
.app img,.app video,.app canvas,.app iframe,.app svg:not(.lucide) { max-width:100%; }
.app pre,.app code,.app .result,.app .panel { white-space:pre-wrap; overflow-wrap:anywhere; }
.app input,.app select,.app textarea,.app button { max-width:100%; box-sizing:border-box; }
.app input,.app select,.app textarea { min-width:0; }
.app input[type="text"],.app input[type="email"],.app input[type="number"],.app input[type="date"],.app input[type="time"],.app input[type="password"],.app textarea,.app select { width:100%; }
.app [style*="grid-template-columns"],.app [style*="display: grid"] { min-width:0; max-width:100%; }
.app .tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:100%; }
.app .tiles > button { width:100%; min-width:0; overflow-wrap:anywhere; }
.app .cdr-health-banner { width:100%; display:flex; overflow:hidden; }
.app .cdr-health-copy { flex:1 1 0; min-width:0; }
.app .kid,.app .cdr-saved,.app .actions,.app .choices,.app .cdr-tabs { flex-wrap:wrap; min-width:0; }
.app .stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:850px){
  .app .tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px){
  .app main { padding-inline:12px; }
  .app header { padding-inline:12px; flex-wrap:wrap; }
  .app .tiles { gap:9px; }
  .app .tiles > button { min-height:0; padding:12px; border-radius:18px; }
  .app .tiles b { font-size:clamp(13px,3.8vw,16px); line-height:1.25; }
  .app .tiles small { font-size:clamp(10px,2.9vw,12px); line-height:1.3; }
  .app .panel,.app .result,.app .auth form { padding:14px; }
  .app .cdr-health-banner { gap:8px; padding:12px; }
  .app .cdr-health-copy strong { font-size:15px; }
  .app .cdr-health-copy small { font-size:11px; }
  .app input,.app textarea,.app select { font-size:16px; }
}
@media(max-width:330px){
  .app .tiles { grid-template-columns:minmax(0,1fr); }
}
