.app{max-width:640px;margin:0 auto;padding:2rem 1.5rem 3rem}.hero{text-align:center;margin-bottom:2.5rem}.hero h1{font-size:1.75rem;font-weight:600;color:var(--text);margin:0 0 .75rem;letter-spacing:-.02em}.hero p{color:var(--text-muted);font-size:1rem;max-width:32ch;margin:0 auto}.reassurance{margin-top:1rem;font-size:.9375rem;color:var(--text-muted);font-style:italic}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.card h2{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.form-row{margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.helper{font-size:.8125rem;color:var(--text-muted);margin-top:.5rem}.input{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text)}.input:focus{border-color:var(--accent)}.birth-input-row{display:flex;gap:.75rem;align-items:center}.birth-input-row .input-select,.birth-input-row .input-year{flex:1 1 calc(50% - .375rem);min-width:0;box-sizing:border-box}.input-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.age-gap-row{display:flex;align-items:center}.age-gap-field{flex:0 0 50%;box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding-right:.5rem}.age-gap-field:first-child{padding-right:.375rem}.age-gap-field:last-child{padding-left:.375rem;padding-right:0}.age-gap-field .input-number{flex:1;min-width:0;max-width:none}.input-number{max-width:5rem}.age-gap-unit{font-size:.875rem;color:var(--text-muted);flex-shrink:0}.error-msg{font-size:.8125rem;color:var(--error);margin-top:.375rem}.warning-banner{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;color:var(--text);margin-top:.75rem}.add-child-btn{width:100%;padding:.75rem;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.9375rem;margin-top:.5rem}.add-child-btn:hover{border-color:var(--accent);color:var(--accent)}.results-card{margin-top:1.5rem}.results-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.results-table{width:100%;border-collapse:collapse;font-size:.9375rem}.results-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.results-table td{padding:.75rem;border-bottom:1px solid var(--border)}.results-table tr:last-child td{border-bottom:none}.results-note{font-size:.8125rem;color:var(--text-muted);margin-top:1rem}.actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;border:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.disclaimer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.8125rem;color:var(--text-muted);text-align:center;max-width:48ch;margin-left:auto;margin-right:auto}.copied-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:var(--shadow);z-index:10;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 480px){.app{padding:1.5rem 1rem 2rem}.results-table th,.results-table td{padding:.5rem .25rem;font-size:.875rem}}:root{--bg: #f4f9f6;--surface: #ffffff;--text: #24302a;--text-muted: #5c6e66;--accent: #3d9b65;--accent-hover: #35915a;--border: #dce8e0;--warning-bg: #fcf9ed;--warning-border: #e8e2c8;--error: #c45c58;--radius: 10px;--shadow: 0 2px 12px rgba(36, 48, 42, .05);--font: "DM Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
