/* 宝宝成长地图: age card, month cards, tip cards, constellation and toolbox. */
.age-card{max-width:560px}
.pre-toggle{display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:600;cursor:pointer}.pre-toggle input{width:22px;height:22px;accent-color:var(--accent)}
.weeks-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.age-result{display:none}.age-result.show{display:grid;gap:8px;padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--accent-2) 16%,var(--panel));border:1px solid var(--accent-2);animation:result-in .5s var(--spring)}
.age-result b{font-size:18px;color:var(--accent)}
.month-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}
.month-card.current{border-color:var(--accent);box-shadow:var(--glow)}
.month-card.current::after{content:"推荐";position:absolute;top:10px;left:10px;background:var(--accent);color:var(--on-accent);font-size:12.5px;font-weight:800;padding:2px 10px;border-radius:999px}
.month-card{position:relative}
.tip-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tip-card{padding:18px 20px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.tip-card b{display:block;font-size:17px;margin-bottom:6px;color:var(--accent)}.tip-card p{font-size:17px;line-height:1.85}
.tip-card.play{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 14%,var(--panel)),var(--panel))}.tip-card.play b{color:color-mix(in srgb,var(--accent-2) 70%,var(--ink))}
.sky-wrap{padding:16px;border-radius:22px;background:radial-gradient(120% 100% at 50% 0,#2c3e66,#141c33);color:#fff}
.sky-wrap h4{margin:0 0 4px;font-size:16px;color:#f8e3b0}
.constellation{width:100%;max-width:640px;height:auto;display:block;margin:0 auto}
.c-line{stroke:rgb(255 255 255/.15);stroke-width:1.5}.c-line.on{stroke:rgb(255 225 150/.7)}
.c-star{fill:rgb(255 255 255/.35)}.c-star.on{fill:#ffe08a;filter:drop-shadow(0 0 6px #ffd166);animation:twinkle 2.4s ease-in-out infinite}
@keyframes twinkle{50%{opacity:.55}}
.c-icon{font-size:26px}.c-name{font:700 16px var(--font);fill:#f3ead6}.c-count{font:600 14px var(--font);fill:#c9bfa8}
.toolbox .segmented{margin:4px 0 12px}
.toolbox-panel{display:grid;gap:10px}
.consult-list{display:grid;gap:10px}.consult-card{padding:14px 16px;border-radius:16px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:1px solid var(--line)}.consult-card b{font-size:16.5px}.consult-card p{margin-top:4px}
@media (max-width:720px){.tip-pair{grid-template-columns:1fr}.month-grid{grid-template-columns:1fr 1fr!important}}
