:root{--plum:#6B1E5B;--gold:#F7C873;--rose:#E5688F;--lavender:#B99CCF;--teal:#5F8F8A;--ivory:#FFF9F2;--ink:#31253a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(#fff,#fff9f2);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);font-size:18px;line-height:1.55}h1,h2,h3{font-family:Georgia,Cambria,serif;color:var(--plum);line-height:1.15}h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:.3rem 0}h2{font-size:clamp(1.7rem,3vw,2.2rem);margin:.2rem 0}h3{font-size:1.55rem;margin:.3rem 0}p{margin:.6rem 0 1rem}a{color:var(--plum);font-weight:700}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:4px solid var(--teal);outline-offset:4px}.skip{position:absolute;top:-100px;left:15px;background:white;z-index:9;padding:10px}.skip:focus{top:10px}header{background:#fff;border-bottom:1px solid #f0e1e8}.headrow{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:12px 22px;gap:8px}.brand{text-decoration:none;font-size:1.1rem}.moon{color:#d8992b;font-size:1.8rem}.little{color:var(--teal);font-size:.95rem}main{max-width:1160px;margin:auto;padding:0 20px 40px}.hero{background:#fff;border-radius:0 0 30px 30px;padding:20px 24px 28px;text-align:center;border:1px solid #f1e1e9;box-shadow:0 12px 28px #6b1e5b0a}.hero-logo{display:block;width:min(100%,850px);height:auto;margin:0 auto}.hero-text{max-width:680px;margin:auto}.eyebrow{font-size:.94rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.person-nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:30px auto 24px}.tab{font-size:1.05rem;border:2px solid #e5cbdc;background:white;color:var(--plum);border-radius:999px;padding:12px 23px;font-weight:800;cursor:pointer;min-height:54px}.tab.active{background:var(--plum);color:white}.welcome-person{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;margin-top:24px;background:#fff3f8;border:1px solid #f0dae7;border-radius:22px}.welcome-person[data-for=dad]{background:#f0f8f6;border-color:#d9e9e4}.welcome-person p:last-child{margin-bottom:0}.avatar{font-size:3.3rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px 0 22px}.card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #f0e1e9;box-shadow:0 7px 20px #5e25420a;border-radius:22px;padding:23px;min-width:0}.card img{width:77px;height:77px;object-fit:contain}.feature-emoji{display:block;font-size:3.3rem;height:77px;line-height:1.4}.tag{font-size:.82rem;color:#74566a;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.card p{flex:1}.links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.links a{min-height:36px}.action,.toolbutton{display:inline-block;border:0;background:var(--plum);color:white;padding:13px 20px;border-radius:15px;font-size:1rem;font-weight:750;cursor:pointer;min-height:50px;text-align:center}.action:hover,.toolbutton:hover{background:#4d1342}.family-note{display:flex;gap:22px;align-items:center;padding:23px;border-radius:22px;background:#fff1d9;margin:25px 0}.family-note img{width:92px}.progress{color:#654a3c;font-size:.95rem}footer{text-align:center;border-top:1px solid #e8d6dc;padding:30px 20px;font-size:.95rem}dialog{border:0;border-radius:24px;width:min(960px,calc(100% - 18px));max-height:90vh;overflow:auto;padding:24px;background:var(--ivory);color:var(--ink);box-shadow:0 20px 90px #0005}dialog::backdrop{background:#21131eb8}.dialogtop{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e6d4dc;padding-bottom:12px}.dialogtop h2{margin:0}.close{border:2px solid var(--plum);color:var(--plum);background:#fff;padding:10px 15px;border-radius:12px;cursor:pointer;font-size:1rem}.gamehelp{margin:12px 0}.typing-prompt{font-size:1.5rem;padding:18px;border-radius:16px;background:white;border:2px solid #ecd7e3}.typetext{display:block;width:100%;min-height:135px;padding:18px;border-radius:14px;border:2px solid var(--lavender);font:inherit;font-size:1.3rem}.status{padding:14px;background:#fff;border-radius:12px;margin:12px 0;font-weight:700}.gamebar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.memoryboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:600px;margin:20px auto}.memorycard{height:90px;border:2px solid var(--lavender);border-radius:15px;background:#6b1e5b;color:white;font-size:2.4rem;cursor:pointer}.memorycard.revealed,.memorycard.matched{background:#fff;color:var(--plum)}.memorycard.matched{border-color:var(--teal)}.recipecards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.recipe{padding:20px;background:white;border:1px solid #eadde3;border-radius:15px}.recipe ul{padding-left:22px}.recipe summary{cursor:pointer;color:var(--plum);font-weight:700}.sol-board{background:#146647;border-radius:16px;padding:14px;overflow:auto;color:#fff}.sol-top{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:17px}.sol-colrow{display:grid;grid-template-columns:repeat(7,minmax(70px,1fr));gap:8px;min-width:525px}.sol-stack{display:flex;flex-direction:column;align-items:center;gap:0;min-height:110px}.playingcard{height:96px;width:66px;flex-shrink:0;background:#fff;border:2px solid #e4d9d9;border-radius:9px;display:flex;justify-content:center;align-items:center;color:#171717;font-weight:800;font-size:1.25rem;cursor:pointer;box-shadow:0 2px 3px #0002}.playingcard.red{color:#c52547}.playingcard.back{background:repeating-linear-gradient(45deg,#64427e,#64427e 7px,#ad8bbb 7px,#ad8bbb 14px);color:white}.playingcard.selected{border:4px solid #ffd369;transform:translateY(-3px)}.sol-stack .playingcard+.playingcard{margin-top:-72px}.sol-empty{min-width:66px;min-height:96px;border:2px dashed #ddeddc;border-radius:9px;background:#ffffff18;cursor:pointer;color:#fff}.sol-label{display:block;font-size:.8rem;text-align:center;margin:4px}.foundation-grid{display:flex;gap:8px}.foundation-grid button{font-size:1rem}.boardtag{font-size:.8rem;color:#ecf4ed}.sol-top button{cursor:pointer}.instructions{font-size:.95rem}@media(max-width:800px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:570px){body{font-size:17px}.cards{grid-template-columns:1fr}.headrow .little{display:none}.welcome-person{padding:17px}.hero{padding:12px}.family-note{flex-direction:column;align-items:flex-start}.recipecards{grid-template-columns:1fr}.dialogtop h2{font-size:1.5rem}.memorycard{height:69px}.tab{flex:1;padding:10px}.avatar{font-size:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

[hidden]{display:none!important}

.gate{min-height:100dvh;display:grid;place-items:center;padding:18px;background:linear-gradient(160deg,#fff9f2,#f8e8f1)}.gate-panel{text-align:center;background:white;border:2px solid #e7cddd;border-radius:30px;max-width:750px;width:100%;padding:22px;box-shadow:0 18px 50px #6b1e5b18}.gate-panel img{max-width:100%;height:auto;max-height:210px;object-fit:contain}.gate-panel h1{font-size:clamp(1.8rem,4vw,2.8rem)}.gate-panel p{font-size:1.16rem}.wheel-row{display:flex;justify-content:center;gap:25px;margin:20px auto;align-items:start}.wheel-row>div{display:grid;gap:6px;min-width:0}.wheel-row label{font-weight:800;color:var(--plum)}.birthday-wheel{width:190px;max-width:42vw;font:700 1.4rem Inter,system-ui;background:#fff9f2;border:2px solid var(--lavender);border-radius:15px;padding:5px;text-align:center;overflow-y:auto}.birthday-wheel option{padding:9px}.unlock-msg{font-size:1rem!important;color:var(--teal)}.states-progress{color:var(--teal);font-weight:800;margin-top:15px}.state-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.state-choice{background:white;color:var(--plum);border:2px solid var(--lavender);border-radius:14px;font:700 1.12rem Inter,system-ui;padding:14px;min-height:58px;cursor:pointer}.state-choice:hover{background:#f9eefa}@media(max-width:480px){.wheel-row{gap:10px}.birthday-wheel{font-size:1.15rem}}
.activity-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.activity-nav button{min-height:44px}#activity:fullscreen,#activity.expanded{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;border-radius:0}.news-card{min-width:0}.headlines{list-style:none;padding:0;margin:10px 0}.headline{padding:12px 0;border-bottom:1px solid #eadce7;line-height:1.4}.headline-meta,.news-note{font-size:.85rem;color:#685569;margin-top:5px}.wordsearch-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;width:min(100%,600px);margin:14px auto}.word-cell{aspect-ratio:1;min-width:0;padding:0;border:1px solid #dac4d8;border-radius:5px;background:#fff9f2;font-weight:800;font-size:clamp(.7rem,2vw,1.1rem);color:#6B1E5B;cursor:pointer}.word-cell.selected{background:#F7C873}.word-cell.found{background:#A9D4CB}.word-list{display:flex;flex-wrap:wrap;gap:8px}.word-chip{padding:6px 10px;border-radius:14px;background:#f3e4f0;font-weight:700;color:#6B1E5B}.word-chip.done{text-decoration:line-through;background:#cde7d9}@media(max-width:550px){.wordsearch-grid{gap:1px}.word-cell{border-radius:2px}.activity-nav{justify-content:center}}
/* Compact senior-friendly news cards: prevent grid stretching and spare space */
.cards{align-items:start}
.news-card{height:auto;align-self:start;gap:0}
.news-card .news-feed{width:100%;margin:0}
.news-card .reload-news{margin-top:12px}
.news-card .headline{padding:10px 0}
.news-card .news-note{margin:10px 0 0}
.news-card .news-more{margin-top:10px;min-height:44px;border:1px solid #6B1E5B;background:#FFF9F2;color:#6B1E5B;border-radius:13px;padding:9px 15px;font-weight:700;cursor:pointer}

/* Single compact news hub with quick topic selection */
.news-hub{grid-column:1/-1;max-width:950px;width:100%;gap:10px}.news-hub .news-feed{width:100%}.news-topics{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 8px}.topic-btn{border:2px solid #d8c2d6;background:white;color:#6B1E5B;border-radius:13px;min-height:51px;padding:10px 15px;font:700 1rem Inter,system-ui;cursor:pointer}.topic-btn.active,.topic-btn[aria-pressed=true]{background:#6B1E5B;color:white}.selected-news-label{font-size:1.5rem;color:#6B1E5B;margin:5px 0}.news-hub .headline{padding:12px 0}.news-hub .news-note{font-size:.85rem}.news-hub .reload-news{margin-top:5px}.memoryboard{grid-template-columns:repeat(4,minmax(0,1fr));max-width:700px}.memorycard{min-width:0}@media(max-width:550px){.news-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topic-btn{font-size:.92rem;padding:8px 6px}.memoryboard{gap:6px}.memorycard{font-size:1.65rem}}
