/* Parent guidance uses the same cream surfaces, natural scenes and toy buttons. */
.site-theme.parents-shell .game.board { padding:16px 0 36px; }
.parents-shell .header { max-width:1200px; border:0; }
.parents-page { width:min(1100px,92vw); text-align:left; padding-bottom:12px; }
.parents-page * { box-sizing:border-box; }
.parents-page h2,.parents-page h3,.parents-page p { margin:0; }
.parents-page a { text-decoration:none; }
.parents-intro { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:24px; background:#fffdf5; border:1px solid #e8e4d7; border-radius:30px; box-shadow:var(--shadow-soft); }
.parents-scene { position:relative; display:grid; place-items:center; min-height:390px; border-radius:24px; background:radial-gradient(circle at 78% 19%,#ffdc8b 0 8%,transparent 8.3%),linear-gradient(#d4eee6,#edf5dc); overflow:hidden; isolation:isolate; }
.parents-scene::before { content:''; position:absolute; width:150%; height:45%; left:-25%; bottom:-17%; border-radius:50%; background:#c3dcb0; z-index:-1; }
.parents-scene>img { width:80%; height:90%; max-height:400px; object-fit:contain; filter:drop-shadow(0 6px 3px #52604812); }
.parents-cloud { position:absolute; top:17%; left:9%; width:65px; height:24px; background:#fffdf5; border-radius:30px; box-shadow:24px -10px 0 3px #fffdf5; z-index:-1; }
.parents-block { position:absolute; display:grid; place-items:center; width:65px; height:65px; border-radius:17px; font-size:32px; font-weight:900; box-shadow:inset 0 2px #fff4cd,0 3px #d8b36a; color:#745a32; background:#ffdc8b; }
.block-letter { left:8%; bottom:17%; transform:rotate(-9deg); }.block-number { right:7%; top:35%; transform:rotate(9deg); background:#d9e9c9; box-shadow:inset 0 2px #eff6e8,0 3px #a8c391; color:#526b61; }
.parents-intro-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; padding:16px 16px 16px 0; }
.parents-tag { color:#607a6e; font-size:15px; font-weight:700; }
.parents-intro-copy h2 { font-size:clamp(32px,3.6vw,48px); line-height:1.08; letter-spacing:-1px; }
.parents-intro-copy p { font-size:17px; line-height:1.55; color:var(--text-soft); max-width:420px; }
.parents-rhythm { display:flex; align-items:center; gap:18px; padding:16px 0; border-top:1px solid #e8e4d7; width:100%; }
.parents-rhythm strong { font-size:23px; white-space:nowrap; }.parents-rhythm span { font-size:14px; line-height:1.5; color:var(--text-soft); }
.parents-page .parents-play { display:flex; align-items:center; justify-content:space-between; gap:50px; min-height:56px; min-width:210px; padding:12px 24px; font-size:20px; }
.parents-subjects,.parents-guide { margin-top:32px; }.parents-page section>h2,.parents-guide-heading h2 { font-size:26px; margin-bottom:18px; }
.parents-subject-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.parents-subject { display:flex; flex-direction:column; padding:12px; border:1px solid #e8e4d7; border-radius:24px; background:#fffdf5; box-shadow:var(--shadow-soft); color:var(--text-main); transition:transform .18s,border-color .18s; }
.parents-subject>img { width:100%; height:170px; object-fit:contain; background:#fbf4e6; border-radius:16px; }.parents-subject>div { padding:16px 8px 10px; display:flex; flex-direction:column; gap:10px; flex:1; }
.parents-subject h3 { font-size:23px; }.parents-subject p { color:var(--text-soft); line-height:1.5; font-size:16px; flex:1; }.parents-subject div>span { font-size:15px; font-weight:800; color:#347b6e; display:flex; justify-content:space-between; padding-top:8px; }
.parents-subject:hover { transform:translateY(-3px); border-color:#bdcdb0; }
.parents-guide { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:40px; padding:28px; border-radius:26px; background:#edf3e5; border:1px solid #dde5d4; }
.parents-guide-heading p { line-height:1.55; color:var(--text-soft); font-size:16px; }
.parents-age-list { display:grid; gap:10px; }.parents-age { background:#fffdf5; border:1px solid #e8e4d7; border-radius:18px; overflow:hidden; }.parents-age summary { display:flex; align-items:center; gap:16px; padding:14px; cursor:pointer; list-style:none; }.parents-age summary::-webkit-details-marker { display:none; }.parents-age summary strong { flex:1; font-size:16px; line-height:1.35; }
.parents-age-badge { display:flex; flex-direction:column; align-items:center; justify-content:center; background:#faedce; color:#745a32; width:58px; min-width:58px; height:58px; border-radius:14px; font-size:19px; font-weight:800; }.parents-age-badge small { font-size:12px; font-weight:400; }.parents-expand { font-size:26px; color:#607a6e; }.parents-age[open] .parents-expand { transform:rotate(45deg); }
.parents-age-body { padding:0 18px 18px; }.parents-age-body p { color:var(--text-soft); font-size:15px; line-height:1.5; }.parents-age-body>div { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }.parents-age-body a { display:inline-flex; align-items:center; gap:14px; padding:10px 14px; border-radius:12px; background:#edf3e5; color:#42615a; font-size:14px; font-weight:700; }
.parents-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }.parents-tools>a { display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid #e8e4d7; border-radius:20px; background:#fffdf5; color:var(--text-main); }.parents-tools strong { font-size:18px; }.parents-tools span { font-size:14px; color:var(--text-soft); }
.parents-page a:focus-visible,.parents-page summary:focus-visible { outline:3px solid #347b6e; outline-offset:4px; }
@media(max-width:900px) { .parents-intro { gap:24px; }.parents-scene { min-height:350px; }.parents-intro-copy { padding-right:0; }.parents-rhythm { flex-direction:column; align-items:flex-start; gap:8px; }.parents-guide { gap:24px; }.parents-subject-grid { gap:12px; }.parents-subject>img { height:140px; } }
@media(max-width:600px) {
 .site-theme.parents-shell .game.board { padding-top:8px; }.parents-intro { grid-template-columns:1fr; gap:0; padding:14px; border-radius:26px; }.parents-scene { min-height:0; height:230px; border-radius:20px; }.parents-scene>img { width:70%; height:100%; }.parents-block { width:50px; height:50px; font-size:26px; }.parents-intro-copy { padding:22px 10px 10px; gap:16px; }.parents-intro-copy h2 { font-size:34px; }.parents-intro-copy h2 br { display:none; }.parents-intro-copy p { font-size:16px; }.parents-rhythm { flex-direction:row; gap:14px; padding:12px 0 0; }.parents-rhythm strong { font-size:20px; }.parents-rhythm span { font-size:12px; }.parents-page .parents-play { width:100%; min-height:54px; }
 .parents-subject-grid { grid-template-columns:1fr; }.parents-subject { flex-direction:row; align-items:center; padding:10px; gap:12px; }.parents-subject>img { width:105px; height:124px; }.parents-subject>div { padding:6px 4px 6px 0; gap:7px; }.parents-subject h3 { font-size:20px; }.parents-subject p { font-size:14px; }.parents-subject div>span { font-size:13px; padding-top:2px; }
 .parents-subjects,.parents-guide { margin-top:24px; }.parents-guide { grid-template-columns:1fr; padding:18px; gap:18px; }.parents-page section>h2,.parents-guide-heading h2 { font-size:23px; margin-bottom:12px; }.parents-age summary { gap:12px; padding:12px; }.parents-age summary strong { font-size:15px; }.parents-tools { grid-template-columns:1fr; gap:10px; margin-top:18px; }.parents-tools>a { flex-direction:row; justify-content:space-between; align-items:center; padding:18px; gap:16px; }.parents-tools span { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .parents-subject { transition:none; } }
