:root{--bg-app: #FAF8F5;--bg-card: #FFFFFF;--primary: #F29C82;--primary-hover: #E0856B;--primary-light: #FDF1EE;--text-main: #2D2725;--text-sub: #6E6562;--border-color: #EBE5E2;--font-main: "Quicksand", sans-serif;--font-display: "Fredoka", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;overflow-x:hidden}.tracker-app{max-width:1100px;width:100%;display:flex;flex-direction:column;gap:24px}.app-header{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;margin-top:10px;margin-bottom:4px}.logo-icon-svg{flex:0 0 auto;filter:drop-shadow(0 4px 8px rgba(160,130,115,.1))}.app-header .header-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.app-header h1{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--text-main);letter-spacing:-.5px;line-height:1.15}.app-header .subtitle{font-size:12px;color:var(--text-sub);text-transform:uppercase;letter-spacing:2px;font-weight:600;margin-top:2px}.week-scroller-container{width:100%;overflow-x:auto;padding:10px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.week-scroller-container::-webkit-scrollbar{display:none}.week-scroller{display:flex;gap:12px;padding:0 4px}.week-btn{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-sub);font-family:var(--font-display);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000005}.week-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.week-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #f29c8259}.tracker-card{background:var(--bg-card);border-radius:28px;padding:36px;display:flex;gap:36px;align-items:center;box-shadow:0 16px 40px #2d27250a;border:1px solid var(--border-color)}.image-container{flex:0 0 260px;height:260px;display:flex;align-items:center;justify-content:center;background:var(--bg-app);border-radius:20px;padding:20px;border:1px solid rgba(235,229,226,.5)}.image-container img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease}.details-container{flex:1;display:flex;flex-direction:column;gap:16px}.week-badge{align-self:flex-start;background:var(--primary-light);color:var(--primary);font-family:var(--font-display);font-size:13px;font-weight:700;padding:6px 14px;border-radius:50px;text-transform:uppercase;letter-spacing:.8px}#week-title{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--text-main)}.stats-row{display:flex;align-items:center;gap:20px;background:var(--bg-app);padding:14px 20px;border-radius:16px;border:1px solid rgba(235,229,226,.5)}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px}.stat-item strong{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-main)}.stat-divider{width:1px;height:28px;background:var(--border-color)}.milestone-box{display:flex;flex-direction:column;gap:8px}.milestone-box h3{font-family:var(--font-display);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-sub)}#milestone-text{font-size:15px;line-height:1.6;color:var(--text-sub)}.slider-control{display:flex;align-items:center;gap:16px;background:var(--bg-card);padding:16px 24px;border-radius:20px;border:1px solid var(--border-color);box-shadow:0 4px 12px #2d272505}.nav-btn{background:none;border:none;color:var(--text-sub);font-size:18px;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover{background:var(--primary-light);color:var(--primary)}.timeline-slider{flex:1;-webkit-appearance:none;width:100%;height:6px;border-radius:10px;background:var(--border-color);outline:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 2px 6px #f29c8266;transition:transform .15s ease}.timeline-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.main-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:stretch}.tracker-section{display:flex;flex-direction:column;gap:24px;min-width:0}.poll-section{min-width:0;height:100%}.poll-card{background:var(--bg-card);border-radius:28px;padding:32px 28px;border:1px solid var(--border-color);box-shadow:0 16px 40px #2d27250a;display:flex;flex-direction:column;gap:20px;transition:background .5s ease;height:100%}.poll-card h2{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--text-main);text-align:center}.poll-intro{font-size:14px;line-height:1.5;color:var(--text-sub);text-align:center}.poll-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.poll-btn{width:100%;padding:24px 16px;border-radius:20px;border:1px solid var(--border-color);background:var(--bg-card);font-family:var(--font-display);font-size:16px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:14px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);color:var(--text-main);box-shadow:0 4px 10px #00000003}.baby-icon-container{width:72px;height:72px;flex:0 0 72px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.baby-icon-container svg{width:100%;height:100%}.poll-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000000a}.poll-btn:hover .baby-icon-container{transform:scale(1.15) translateY(-2px)}.boy-btn{--boy-accent: #7fb5b5;--boy-bg-light: #edf6f6}.boy-btn:hover{border-color:var(--boy-accent);background:var(--boy-bg-light);color:#3b6b6b}.girl-btn{--girl-accent: #e8a7a1;--girl-bg-light: #fdf5f4}.girl-btn:hover{border-color:var(--girl-accent);background:var(--girl-bg-light);color:#8c4c47}.poll-btn:disabled{cursor:not-allowed;transform:none;box-shadow:none}.poll-btn.voted{border-width:2px;opacity:1}.boy-btn.voted{border-color:var(--boy-accent);background:var(--boy-bg-light);color:#3b6b6b}.girl-btn.voted{border-color:var(--girl-accent);background:var(--girl-bg-light);color:#8c4c47}.poll-btn.not-voted{opacity:.5;filter:grayscale(40%)}.poll-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 0;color:var(--text-sub);font-size:14px;margin-top:auto}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.poll-results{display:flex;flex-direction:column;gap:16px;padding-top:10px;border-top:1px solid var(--border-color);margin-top:auto}.results-header{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text-sub);text-align:center}.poll-progress-bar{display:flex;height:32px;border-radius:12px;overflow:hidden;font-family:var(--font-display);font-size:12px;font-weight:700;color:#fff}.progress-boy{background:#7fb5b5;display:flex;align-items:center;justify-content:center;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-girl{background:#e8a7a1;display:flex;align-items:center;justify-content:center;transition:width .6s cubic-bezier(.4,0,.2,1)}.results-legend{display:flex;justify-content:space-between;font-size:13px;font-weight:500}.legend-boy{color:#3b6b6b;display:flex;align-items:center;gap:6px}.legend-girl{color:#8c4c47;display:flex;align-items:center;gap:6px}.results-legend .dot{width:8px;height:8px;border-radius:50%}.legend-boy .dot{background:#7fb5b5}.legend-girl .dot{background:#e8a7a1}@media(max-width:960px){.main-layout{grid-template-columns:1fr;gap:24px}}@media(max-width:680px){body{padding:12px}.tracker-card{flex-direction:column;padding:24px;gap:24px}.image-container{width:100%;height:200px;flex:0 0 200px}#week-title{font-size:26px}.stats-row{flex-wrap:wrap;gap:12px;justify-content:space-between}.stat-divider{display:none}.stat-item{flex:1 1 40%}}
