@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#292c3b;--muted:#767889;--pink:#f9d8e0;--pink-dark:#9c4d69;--blue:#d9ecfa;--blue-dark:#3c6990;--cream:#fcf8f4;--border:#eae5e1;--white:#fff;--shadow:0 16px 52px rgba(45,42,55,.075);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);font:15px/1.6 'DM Sans',sans-serif;color:var(--ink);margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.19;letter-spacing:-.025em}h1{font-size:clamp(2.35rem,6vw,4.6rem);margin:10px 0 20px}h2{font-size:clamp(1.55rem,3vw,2.05rem);margin:0 0 20px}h3{font-size:1.25rem;margin:0 0 9px}.muted,.helper{color:var(--muted)}.helper{font-size:.86rem;margin:3px 0}.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--pink-dark)}.center{text-align:center}.ambient{position:fixed;z-index:-1;pointer-events:none;filter:blur(80px);opacity:.45;border-radius:50%}.ambient-pink{width:400px;height:460px;background:#f7d0dd;top:100px;left:-210px}.ambient-blue{width:450px;height:450px;background:#cce7fb;top:200px;right:-260px}.topbar{width:min(1120px,92%);margin:auto;display:flex;justify-content:space-between;align-items:center;height:84px}.brand{text-decoration:none;font-weight:800;letter-spacing:-.06em;font-size:22px;white-space:nowrap}.brand-accent{color:#cd7891}.brand-mark{font-size:23px;color:#c17c8f;margin-right:7px}.brand small{font-size:10px;color:#8f8f98;letter-spacing:.04em;margin-left:8px;font-weight:700}.topbar-right{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:#9390a0}.tiny-star{color:#ca8c9c;padding-right:9px}.sitefoot{text-align:center;color:#92909b;font-size:.78rem;padding:40px 12px}.sitefoot span{color:#e198ad}.container{width:min(1080px,92%);margin:34px auto}.narrow{width:min(740px,92%);margin:30px auto}.hero{max-width:780px;text-align:center;margin:85px auto 60px}.hero h1{max-width:760px;margin-left:auto;margin-right:auto}.hero p{font-size:1.1rem;color:#797583;max-width:570px;margin:0 auto 27px}.hero .bubble{display:inline-flex;align-items:center;gap:9px;border:1px solid #e6d7de;border-radius:30px;padding:7px 17px;background:#fff9;font-size:.75rem;color:#a26b80;font-weight:800;letter-spacing:.04em}.accent-text{background:linear-gradient(95deg,#ca788e 2%,#7eaccd 98%);background-clip:text;-webkit-text-fill-color:transparent}.split-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.small-visual{display:flex;justify-content:center;align-items:center;min-height:360px}.baby-card{width:300px;padding:52px 25px;background:#fff;border:1px solid #f1e7e8;box-shadow:0 24px 45px #bd879019;border-radius:22px;transform:rotate(5deg);text-align:center}.baby-card .large{font-size:92px;line-height:1.2}.baby-card h3{font-size:1.65rem}.panel,.feature,.stat,.card{background:rgba(255,255,255,.91);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius)}.panel{padding:clamp(22px,5vw,39px);margin-bottom:22px}.panel-head{display:flex;gap:14px;align-items:center;margin-bottom:22px}.panel-head .num{background:#f7e8eb;border-radius:100%;font-weight:800;color:#b76e84;display:grid;place-items:center;width:36px;height:36px;flex:none}.panel-head h2{margin:0}.panel-head p{margin:5px 0 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:21px}.field{display:flex;flex-direction:column;gap:7px}.field.wide{grid-column:1/-1}.field label,legend{font-weight:700;font-size:.86rem}.field label .req{color:#c76684}.field input,.field textarea,.field select{width:100%;border:1px solid #e3e1e6;border-radius:12px;padding:13px 14px;background:white;outline:0;transition:border-color .15s,box-shadow .15s;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{border-color:#c78fa3;box-shadow:0 0 0 4px #f7e9ef}.field textarea{min-height:100px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#a7a4b0}.choice-wrap{display:flex;flex-wrap:wrap;gap:10px}.option{position:relative}.option input{position:absolute;opacity:0;width:1px;height:1px}.option span{display:block;border:1px solid #e5e2e8;background:#fff;border-radius:11px;padding:10px 16px;color:#6f6e7c;font-size:.88rem;font-weight:700;min-width:76px;text-align:center;transition:.17s}.option input:focus-visible+span{outline:3px solid #e2a8bc;outline-offset:2px}.option input:checked+span{border-color:#cc9aa9;background:#fcecf0;color:#98536a;box-shadow:inset 0 0 0 1px #c992a7}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:13px;padding:13px 23px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:white;background:linear-gradient(105deg,#bc728c,#ac7b9a);box-shadow:0 8px 20px #ae758844}.btn-secondary{background:#f6f3f5;color:#6a6474;border:1px solid #e6e1e5}.btn-blue{background:#dcecf8;color:#376c92}.btn-large{font-size:1.02rem;padding:16px 31px}.btn[disabled]{opacity:.5;cursor:progress;transform:none}.buttonrow{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:22px}.note{padding:12px 16px;border:1px solid #f0dfdf;border-radius:12px;background:#fff6f6;color:#96566a}.notice-good{background:#f0f9f4;border-color:#cfe8d9;color:#3b815a}.form-error{color:#b32746;font-size:.87rem;margin-top:11px}.line{height:1px;background:#eee8e7;margin:27px 0}.pastel-title{display:inline-block;background:#faedf0;border-radius:50px;padding:8px 14px;color:#ad6f84;font-size:.76rem;font-weight:800}.results-head{text-align:center;max-width:730px;margin:32px auto 35px}.results-head h1{margin:10px 0}.results-head p{margin:0}.toolbar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:21px auto}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stat{padding:23px;text-align:center}.stat .big{font-family:'Playfair Display',serif;font-size:3rem;line-height:1.1;font-weight:600}.stat .label{font-size:.79rem;color:#96909b;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.stat.pink{background:#fff3f6}.stat.blue{background:#eef8ff}.stat.total{background:#fff}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.card{padding:25px;min-width:0}.bar-row{display:flex;align-items:center;gap:12px;margin:16px 0}.bar-label{width:92px;font-size:.83rem;font-weight:700;overflow-wrap:anywhere;flex:none}.bar-track{height:12px;flex:1;background:#f1f0f2;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:#d69bae;transition:width .5s}.bar-fill.blue{background:#89b9d8}.bar-num{width:35px;text-align:right;font-weight:800;color:#786e78}.names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.name-list{padding:18px;border-radius:16px;background:#fbf8f8}.name-list:nth-child(2){background:#f1f7fc}.name-list:nth-child(3){background:#f6f2ff}.name-list h3{font-size:1.08rem}.tag{display:inline-block;background:#f7f0f4;padding:5px 10px;margin:4px 5px 4px 0;border-radius:20px;color:#7b687c;font-size:.85rem}.tag.hot{background:#fae6eb;color:#ad5f79;font-weight:800}.scroll-list{max-height:280px;overflow:auto}.mini-line{padding:11px 0;border-bottom:1px solid #f0eced;font-size:.9rem;overflow-wrap:anywhere}.mini-line:last-child{border:0}.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.quote{background:white;border:1px solid #ebe7e8;border-radius:17px;padding:22px;box-shadow:0 5px 23px #00000005;overflow-wrap:anywhere}.quote blockquote{margin:0 0 15px;font-family:'Playfair Display',serif;font-size:1.12rem;line-height:1.5;white-space:pre-wrap}.quote .signature{font-size:.8rem;color:#a07784;font-weight:800}.empty{color:#9d99a3;font-size:.9rem;padding:16px 0}.admin{background:#fffcf0;border:1px solid #f0e5b7;padding:15px 20px;border-radius:15px;margin:15px 0}.manage-line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #ebe6db}.manage-line:last-child{border-bottom:0}.manage-line select{padding:9px;border:1px solid #dcd3c4;border-radius:9px}.qr-box{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.qrframe{background:white;padding:16px;border:1px solid #eee6e9;border-radius:17px;display:inline-block}.qrframe canvas{display:block;max-width:100%}.urlbox{background:#f7f4f5;border:1px solid #e8e1e6;padding:12px 15px;border-radius:10px;overflow-wrap:anywhere;font-size:.82rem}.success-icon{font-size:60px}.loading{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#837d89;gap:12px}.spinner{border:3px solid #f3e1e7;border-top-color:#bf7a96;border-radius:50%;width:38px;height:38px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;background:#393445;color:white;border-radius:13px;padding:13px 20px;box-shadow:0 8px 30px #0003;max-width:94%;text-align:center}.projector .topbar,.projector .sitefoot{display:none}.projector .container{width:min(1500px,95%)}.projector .results-head{margin-top:16px}.projector .card{padding:30px}.date-top{font-size:.78rem;letter-spacing:.06em;color:#9b7382;text-transform:uppercase;font-weight:800}
@media(max-width:700px){.topbar-right{display:none}.hero{margin:55px auto 40px}.split-hero{display:block}.small-visual{min-height:280px}.baby-card{width:250px;padding:28px;transform:rotate(3deg)}.fields,.grid2,.quote-grid{grid-template-columns:1fr}.board{gap:9px}.stat{padding:14px 8px}.stat .big{font-size:2.15rem}.stat .label{font-size:.64rem}.names{grid-template-columns:1fr}.panel{padding:20px}.card{padding:20px}.container{margin-top:15px}.bar-label{width:85px}.manage-line{grid-template-columns:1fr}.btn{width:auto}.buttonrow .btn{flex:1}.topbar{height:70px}}
@media print{body{background:white!important}.topbar,.sitefoot,.ambient,.no-print,.buttonrow,.toolbar,.admin{display:none!important}.print-qr{display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:85vh}#app{width:100%}.panel{border:0;box-shadow:none}.qrframe canvas{width:320px!important;height:320px!important}.narrow{width:100%}}
