:root{--ink:#39334a;--muted:#797287;--purple:#7461b4;--purple-dark:#5d489a;--bg:#faf9fd;--line:#eae6f1;--mint:#e3f2e8;--pink:#fae8e4;--yellow:#fff2d5;--lilac:#ede7f8;--radius:24px;font-family:"Trebuchet MS",ui-rounded,system-ui,-apple-system,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9f7bd5;outline-offset:4px}.skip{position:fixed;top:-90px;left:12px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.topbar{max-width:1240px;margin:auto;padding:26px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:19px;letter-spacing:-.6px}.brand>b,.brand b{color:var(--purple)}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.5px;margin-top:4px}.desktop-nav{display:flex;gap:9px}.nav-link{border:0;background:transparent;padding:13px 20px;font-size:13px;border-radius:40px;color:var(--muted)}.nav-link.active{background:var(--lilac);color:var(--purple-dark);font-weight:bold}.parent-entry{display:flex;align-items:center;gap:8px;border:1px solid #e3deeb;border-radius:40px;background:white;padding:11px 15px;font-size:12px}.parent-entry>span:first-child{font-size:20px;color:var(--purple)}main{max-width:1160px;margin:12px auto 0;padding:0 0 30px;min-height:75vh}.greeting-row{display:flex;align-items:center;justify-content:space-between;margin:21px 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:bold;color:var(--purple);margin:0 0 9px}.greeting-row h1{font-size:31px;letter-spacing:-1px;line-height:1.2;margin:0 0 8px;font-weight:750}.subtitle{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.time-chip{display:flex;gap:11px;align-items:center;background:white;border:1px solid var(--line);padding:10px 17px;border-radius:17px;min-width:150px}.time-chip .clock{display:grid;place-items:center;background:var(--mint);width:34px;height:34px;border-radius:50%;color:#5a8869;font-size:20px}.time-chip strong{font-size:13px;display:block}.time-chip small{font-size:10px;color:var(--muted)}.hero{position:relative;border-radius:30px;background:#ede7f7;display:grid;grid-template-columns:1fr 1fr;min-height:300px;overflow:hidden;border:1px solid #e5ddf2}.hero-copy{padding:36px 12px 32px 38px;z-index:1}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;background:#ffffffa8;font-size:10px;letter-spacing:.2px;border-radius:30px;color:var(--purple-dark)}.hero h2{font-size:34px;font-weight:750;line-height:1.18;letter-spacing:-1.3px;margin:17px 0 12px;max-width:430px}.hero h2 em{color:var(--purple);font-style:normal}.hero p{font-size:13px;line-height:1.7;color:#797087;max-width:360px}.hero-art{width:100%;height:100%;max-height:335px;object-fit:contain;align-self:end}.primary,.secondary,.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:14px;padding:14px 22px;font-size:13px;font-weight:700;min-height:48px}.primary{background:var(--purple);color:white;box-shadow:0 4px 0 #604d9b}.primary:hover{background:var(--purple-dark)}.primary span{font-size:18px}.secondary{background:white;border:1px solid var(--line)}.soft-button{background:var(--lilac);color:var(--purple-dark)}.hero .primary{margin-top:5px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:27px;margin-top:32px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px}.section-head h2{font-size:19px;letter-spacing:-.5px;margin:0}.section-head>span{font-size:11px;color:var(--muted)}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.activity-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:200px;width:100%;border:1px solid transparent;border-radius:22px;padding:21px 21px 17px;transition:transform .15s,border-color .15s}.activity-card:hover{transform:translateY(-3px);border-color:#d3c9e6}.activity-card.english{background:var(--mint)}.activity-card.reading{background:var(--pink)}.activity-card.math{background:var(--yellow)}.activity-card.family{background:var(--lilac)}.card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:14px}.card-icon{display:grid;place-items:center;font-size:26px;background:#ffffff9c;border-radius:15px;width:49px;height:49px}.card-category{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;color:#6f6a77}.activity-card h3{font-size:17px;letter-spacing:-.4px;margin:0 0 7px}.activity-card p{margin:0 0 16px;color:#756c78;font-size:11px;line-height:1.6}.card-bottom{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:10px;color:#706779;margin-top:auto}.card-arrow{display:grid;place-items:center;border-radius:50%;background:#ffffffa1;width:25px;height:25px;font-size:16px}.side-panel{background:white;border:1px solid var(--line);border-radius:24px;padding:22px;margin-bottom:16px}.side-panel h2{font-size:16px;letter-spacing:-.3px;margin:0 0 5px}.side-panel>p{color:var(--muted);font-size:11px;line-height:1.65;margin:0 0 18px}.journey{display:grid;gap:18px;padding:5px 0 0}.journey-item{display:flex;gap:12px;align-items:center;position:relative}.journey-item:not(:last-child):after{content:"";position:absolute;top:37px;left:16px;height:15px;border-left:2px dotted #ddd5eb}.journey-number{border:1px solid #e5deef;display:grid;place-items:center;border-radius:50%;width:34px;height:34px;flex:0 0 34px;color:var(--purple);font-size:12px;background:#f7f3fc}.journey-number.done{background:#e5f2e8;border-color:#d6e8da;color:#4c815c}.journey-item strong{display:block;font-size:11px;margin-bottom:4px}.journey-item small{font-size:10px;color:var(--muted)}.journey-progress{height:6px;background:#f0ecf5;border-radius:10px;overflow:hidden;margin-top:22px}.journey-progress span{display:block;height:100%;background:#a28bc5;border-radius:10px}.offline-card{background:#fffaf0;border:1px solid #f2e8d4;padding:20px 22px;border-radius:23px}.offline-card .leaf{font-size:25px}.offline-card h3{font-size:15px;margin:12px 0 7px}.offline-card p{font-size:11px;color:#8a7c68;line-height:1.7}.text-button{border:0;background:none;color:var(--purple);padding:8px 0;font-size:11px;font-weight:bold;text-align:left}.family-strip{display:flex;gap:15px;align-items:center;padding:20px 23px;background:white;border:1px dashed #d7cce5;border-radius:21px;margin-top:20px}.family-strip .heart{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:var(--pink);font-size:22px}.family-strip strong{font-size:12px;display:block;margin-bottom:5px}.family-strip p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.page-footer{max-width:1160px;margin:5px auto 25px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#9b92a8}.page-footer span:last-child{color:var(--purple)}.mobile-nav{display:none}.page-intro{padding:20px 0 25px}.page-intro h1{margin:10px 0;font-size:32px;letter-spacing:-1px}.all-activities{grid-template-columns:repeat(4,1fr)}.all-activities .activity-card{min-height:235px}.note{font-size:12px;color:var(--muted);line-height:1.8;background:white;border:1px solid var(--line);padding:20px 23px;border-radius:20px;margin-top:24px}.note strong{color:var(--ink)}
dialog{width:min(590px,calc(100% - 28px));max-height:calc(100dvh - 40px);border:0;border-radius:28px;padding:0;color:var(--ink);box-shadow:0 25px 120px #34224d33;background:var(--bg)}dialog::backdrop{background:#30243e70;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 25px 15px}.modal-head h2{font-size:17px;margin:0}.close-button{width:40px;height:40px;border:1px solid var(--line);background:white;border-radius:50%;font-size:23px}.modal-body{padding:0 25px 28px}.lesson-progress{display:flex;gap:6px;margin:5px 0 22px}.lesson-progress span{height:5px;background:#e5e0ed;flex:1;border-radius:5px}.lesson-progress span.filled{background:#9f8ac3}.question-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--purple);text-align:center}.question-title{font-size:24px;letter-spacing:-.7px;text-align:center;line-height:1.4;margin:13px 0}.question-description{text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.audio-button{display:flex;gap:12px;align-items:center;justify-content:center;min-height:80px;width:100%;background:#eee8f8;border:1px solid #ded2ef;border-radius:22px;margin:22px 0 15px;color:var(--purple-dark);font-size:19px;font-weight:bold}.audio-button span{font-size:29px}.options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:22px 0}.option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:white;border:2px solid var(--line);border-radius:19px;min-height:113px;padding:15px;font-size:15px}.option .emoji{font-size:39px}.option:hover{border-color:#c9b7e5}.option.correct{background:var(--mint);border-color:#88b89a}.option.wrong{background:#fff0e9;border-color:#e8baa5}.feedback{min-height:45px;line-height:1.6;font-size:13px;text-align:center;color:#5f7565;margin:12px 0}.feedback.retry{color:#966c58}.lesson-footer{display:flex;align-items:center;justify-content:center;gap:12px}.word-picture{font-size:70px;text-align:center;margin:22px 0 10px}.word-gap{text-align:center;font-size:30px;letter-spacing:5px;font-weight:bold;color:var(--purple)}.math-sum{font-size:38px;letter-spacing:5px;text-align:center;padding:22px;background:var(--yellow);border-radius:22px}.counter-objects{text-align:center;font-size:28px;letter-spacing:5px;line-height:1.8;margin:10px 0}.celebration{text-align:center;padding:15px 10px}.celebration .big{font-size:76px}.celebration h3{font-size:27px;letter-spacing:-.6px}.celebration p{color:var(--muted);font-size:14px;line-height:1.8}.offline-mission{padding:20px;border-radius:20px;background:var(--mint);text-align:center;margin:20px 0}.offline-mission h3{font-size:21px;line-height:1.5}.offline-mission p{font-size:13px;line-height:1.8;color:#5a7065}.offline-mission .big{font-size:54px}.mission-steps{padding-left:25px;text-align:left;line-height:1.9;color:#53695f;font-size:13px}.small-note{font-size:11px;color:var(--muted);line-height:1.7}.parent-form label{display:block;font-size:12px;font-weight:bold;margin:18px 0 7px}.parent-form input,.parent-form select{display:block;width:100%;background:white;border:1px solid #d9d2e4;border-radius:12px;padding:13px;color:var(--ink);min-height:48px}.parent-form .primary{width:100%;margin-top:22px}.form-error{font-size:12px;color:#a44842;line-height:1.6;min-height:20px}.settings-summary{background:white;border:1px solid var(--line);border-radius:15px;padding:15px;font-size:12px;line-height:1.9}.settings-summary strong{color:var(--purple)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.parent-explainer{background:#fff4d9;border-radius:15px;padding:15px;line-height:1.7;font-size:12px;margin-top:18px}.parent-explainer a{color:var(--purple-dark)}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sticker{border:1px solid var(--line);border-radius:24px;padding:30px 18px;background:white;text-align:center}.sticker .big{font-size:58px;display:block;margin-bottom:14px}.sticker.locked .big{filter:grayscale(1);opacity:.35}.sticker h2{font-size:15px;margin:8px 0}.sticker p{font-size:11px;color:var(--muted);line-height:1.6}.album-banner{display:flex;gap:20px;align-items:center;background:var(--lilac);border-radius:24px;padding:25px;margin:10px 0 24px}.album-banner>span{font-size:43px}.album-banner h2{margin:0 0 8px;font-size:18px}.album-banner p{margin:0;font-size:12px;color:var(--muted);line-height:1.7}.pause-screen{max-width:650px;margin:30px auto;padding:30px;text-align:center;background:white;border:1px solid var(--line);border-radius:30px}.pause-screen>img{width:190px;height:125px;object-fit:cover;object-position:50% 60%;margin-bottom:20px}.pause-screen h1{font-size:29px;letter-spacing:-.8px}.pause-screen>p{font-size:14px;line-height:1.9;color:var(--muted)}.pause-screen .offline-mission{text-align:left}.pause-screen .offline-mission h3{font-size:18px}.pause-screen .offline-mission p{font-size:13px}.pause-screen .parent-entry{margin:25px auto 0}.full-width{width:100%}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,30px);background:#443956;color:white;padding:14px 22px;border-radius:16px;max-width:calc(100% - 32px);font-size:12px;line-height:1.5;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}.install-note{display:flex;align-items:center;gap:14px}.install-note button{margin-left:auto;flex-shrink:0}.sound-hint{font-size:11px;text-align:center;color:var(--muted);line-height:1.7}.invisible{display:none!important}
@media(min-width:1400px){main{margin-top:25px}.hero{min-height:320px}.hero h2{font-size:38px}.hero-copy{padding-top:38px}}
@media(max-width:1220px){main,.page-footer{margin-left:35px;margin-right:35px}.topbar{padding-left:35px;padding-right:35px}.hero h2{font-size:31px}.hero-copy{padding-left:30px}}
@media(max-width:900px){.desktop-nav{gap:0}.nav-link{padding:12px}.brand{font-size:17px}.content-grid{grid-template-columns:1fr 250px;gap:19px}.activity-card{padding:18px;min-height:200px}.card-category{font-size:8px}.all-activities{grid-template-columns:1fr 1fr}.album-grid{grid-template-columns:1fr 1fr}.hero h2{font-size:29px}.hero-copy{padding:26px 0 27px 27px}.hero{min-height:280px}.hero p{font-size:12px}.hero-art{min-height:260px}.side-panel{padding:20px}.topbar{gap:12px}}
@media(max-width:700px){.topbar{padding:20px 20px 16px;gap:10px}.brand{font-size:17px}.brand img{width:37px;height:37px}.brand small{font-size:8px;letter-spacing:.3px}.desktop-nav{display:none}.parent-entry{padding:9px 12px;font-size:10px;min-height:42px}.parent-entry>span:first-child{font-size:18px}main{margin:0;padding-bottom:27px;margin-left:20px;margin-right:20px}.greeting-row{margin:16px 0 21px;align-items:flex-start;gap:10px}.greeting-row h1{font-size:26px}.subtitle{font-size:12px;max-width:235px}.eyebrow{font-size:9px}.time-chip{padding:8px 10px;min-width:0;border-radius:13px;gap:7px}.time-chip .clock{width:27px;height:27px;font-size:16px}.time-chip strong{font-size:10px}.time-chip small{font-size:8px}.hero{border-radius:25px;grid-template-columns:1fr;min-height:0}.hero-copy{padding:25px 24px 0}.hero h2{font-size:31px;max-width:320px;margin-top:15px}.hero p{max-width:290px}.hero .primary{margin-top:6px}.hero-art{width:94%;max-height:235px;min-height:0;justify-self:center;margin-top:-12px;pointer-events:none}.content-grid{display:flex;flex-direction:column;margin-top:28px;gap:20px}.section-head h2{font-size:18px}.section-head>span{font-size:10px}.activity-grid{gap:12px}.activity-card{border-radius:20px;padding:17px 15px;min-height:205px}.card-category{font-size:7px;letter-spacing:.8px}.card-icon{width:40px;height:40px;font-size:24px;border-radius:13px}.activity-card h3{font-size:16px}.activity-card p{font-size:11px;min-height:34px}.card-bottom{font-size:9px}.card-top{gap:5px}.content-grid>aside{display:grid;grid-template-columns:1fr;gap:16px}.side-panel{margin-bottom:0}.journey{gap:18px}.side-panel>p{margin-bottom:10px}.offline-card{padding:20px}.family-strip{padding:17px;gap:11px}.family-strip strong{font-size:11px}.family-strip p{font-size:10px}.page-footer{margin:0 20px 100px;display:block;font-size:9px;line-height:1.8}.page-footer span{display:block}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#ffffffed;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:9px 15px max(12px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;width:95px;background:transparent;border:0;border-radius:16px;color:#94899f;font-size:10px;padding:2px 6px}.mobile-nav button>span{font-size:25px;height:29px;line-height:28px}.mobile-nav button.active{color:var(--purple-dark);background:#f1ecf8}.page-intro{padding:15px 0 22px}.page-intro h1{font-size:27px}.all-activities{grid-template-columns:1fr 1fr}.all-activities .activity-card{min-height:220px}.note{font-size:11px;line-height:1.9;padding:17px}.album-grid{gap:12px}.sticker{padding:24px 12px}.sticker .big{font-size:46px}.album-banner{padding:20px;gap:15px}.album-banner h2{font-size:16px}.album-banner p{font-size:11px}.album-banner>span{font-size:35px}.modal-head{padding:17px 19px 12px}.modal-body{padding:0 19px 23px}.modal-head h2{font-size:15px}.question-title{font-size:23px}.question-description{font-size:12px}.option{min-height:105px}.form-grid{grid-template-columns:1fr;gap:0}.pause-screen{padding:23px 20px;margin-top:15px}.pause-screen h1{font-size:26px}#toast{bottom:95px}.install-note{display:block}.install-note button{margin-top:10px}.hero .pill{font-size:9px}.primary,.secondary,.soft-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Níveis e painel da família: navegação por toque e leitura no celular. */
.parent-entry{text-decoration:none}.level-section{margin-top:28px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.level-tile{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:white;padding:18px;border-radius:19px}.level-tile>span{font-size:29px}.level-tile strong{font-size:13px;display:block;line-height:1.5}.level-tile small{font-size:11px;color:var(--muted);display:block;margin-top:4px;line-height:1.6}.demo-banner{padding:12px 16px;margin-top:10px;background:#fff0cc;color:#896a39;border-radius:14px;font-size:12px}.family-page main{min-height:75vh;padding-bottom:50px}.login-card{max-width:480px;margin:35px auto;background:white;border:1px solid var(--line);padding:34px;border-radius:28px}.login-icon{font-size:37px;color:var(--purple);display:block;margin-bottom:20px}.login-card h1{font-size:29px;letter-spacing:-.8px}.login-card .small-note{margin-top:25px}.parent-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.parent-heading h1{font-size:31px;letter-spacing:-.9px;margin:9px 0}.family-tabs{display:flex;gap:6px;background:#efebf5;padding:6px;border-radius:18px;margin:27px 0;position:sticky;top:10px;z-index:5;width:max-content;max-width:100%;box-shadow:0 0 0 5px var(--bg)}.family-tabs button{min-height:46px;padding:12px 22px;background:none;border:0;border-radius:13px;font-size:13px;color:var(--muted)}.family-tabs button.active{background:white;box-shadow:0 2px 7px #35244d0a;color:var(--purple-dark);font-weight:bold}.overview-summary{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:15px;margin:25px 0 32px}.overview-summary>div{background:white;padding:23px;border:1px solid var(--line);border-radius:21px}.overview-summary small{display:block;letter-spacing:1px;font-size:10px;color:var(--muted);margin-bottom:13px}.overview-summary strong{font-size:33px;letter-spacing:-1px}.overview-summary strong span{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0}.overview-summary .small-strong{font-size:20px;letter-spacing:-.5px;line-height:1.6}.parent-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.parent-level-card{border:1px solid var(--line);background:white;padding:24px;border-radius:23px}.parent-level-card.english{background:#edf7f0}.parent-level-card.reading{background:#fff0ec}.parent-level-card.math{background:#fff8e6}.parent-level-card .card-icon{margin-bottom:18px}.parent-level-card h2{font-size:31px;margin:12px 0 5px;letter-spacing:-1px}.parent-level-card h2 small{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0}.parent-level-card h3{font-size:15px;font-weight:400;margin:0;color:var(--muted)}.parent-level-card .lesson-progress{margin:20px 0 13px}.parent-level-card>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#766d80}.parent-level-card>strong{font-size:13px;color:var(--purple-dark)}.parent-level-card .small-note{font-size:11px!important}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.report-card{border:1px solid var(--line);border-radius:24px;background:white;padding:25px;margin-bottom:20px}.report-card h2{margin:0 0 15px;font-size:18px;letter-spacing:-.5px}.history-list>div{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0ecf5}.history-icon{display:grid;place-items:center;background:var(--lilac);border-radius:12px;width:40px;height:40px;font-size:22px}.history-list strong,.practice-row strong{display:block;font-size:13px;line-height:1.6}.history-list small,.practice-row small{display:block;color:var(--muted);font-size:11px;line-height:1.8}.history-check{margin-left:auto;color:#71a184}.practice-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #f0ecf5}.practice-row>span{font-size:10px;color:var(--purple);text-align:right;line-height:1.6}.empty-state{font-size:13px;color:var(--muted);line-height:1.9;background:#faf8fd;border-radius:17px;padding:25px}.settings-grid,.content-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid>.report-card,.content-editor-grid>.report-card{align-self:start}.pair-number{font-size:36px;letter-spacing:6px;color:var(--purple-dark);background:var(--lilac);padding:20px;text-align:center;border-radius:17px;font-variant-numeric:tabular-nums}.collection-heading{font-size:15px;margin:24px 0 10px}.content-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0ecf5}.content-item>span{font-size:26px}.content-item>div{flex:1;min-width:0}.content-item strong{display:block;font-size:13px;overflow-wrap:anywhere}.content-item small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:4px}.content-item .secondary{font-size:11px;padding:9px 12px;min-height:44px}.family-page .parent-form input,.family-page .parent-form select{font-size:16px}.family-page .parent-form label{font-size:13px;line-height:1.6}.family-page .parent-form .primary{font-size:14px}.family-page .form-error{font-size:13px}
@media(max-width:700px){.level-grid{grid-template-columns:1fr;gap:10px}.level-tile{padding:15px}.level-tile strong{font-size:14px}.level-tile small{font-size:12px}.greeting-row .subtitle{font-size:14px}.activity-card{min-height:240px}.activity-card h3{font-size:18px;line-height:1.35}.activity-card p{font-size:13px;line-height:1.6}.card-top{flex-wrap:wrap;align-items:flex-start;gap:10px}.card-category{font-size:9px;line-height:1.5;letter-spacing:.4px}.card-bottom{font-size:11px;gap:4px}.hero p{font-size:14px}.hero .primary{font-size:15px;min-height:52px}.side-panel h2{font-size:18px}.side-panel>p,.offline-card p{font-size:13px}.journey-item strong{font-size:13px}.journey-item small{font-size:12px}.offline-card h3{font-size:18px}.text-button{min-height:44px;font-size:13px}.question-description,.question-label{font-size:13px}.question-title{font-size:25px}.option{min-height:115px;font-size:18px}.audio-button{font-size:20px;min-height:88px}.feedback{font-size:15px}.question-title+.question-description{font-size:14px}.lesson-footer .primary{font-size:15px;min-height:52px;width:100%}.parent-form input,.parent-form select{font-size:16px}.parent-form label{font-size:14px}.modal-head h2{font-size:17px}.small-note{font-size:12px}.parent-heading{align-items:flex-start;gap:12px}.parent-heading h1{font-size:27px;line-height:1.2;max-width:240px}.parent-heading .secondary{font-size:11px;padding:10px;min-width:65px}.parent-heading .subtitle{font-size:13px;max-width:none}.family-tabs{width:100%;padding:5px;gap:3px;top:6px;margin:22px 0}.family-tabs button{flex:1;padding:12px 7px;font-size:12px;min-height:48px}.overview-summary{grid-template-columns:1fr 1fr;gap:10px}.overview-summary>div{padding:19px}.overview-summary>div:last-child{grid-column:1/-1}.overview-summary small{font-size:10px;letter-spacing:.4px}.overview-summary strong{font-size:30px}.parent-level-grid,.report-grid,.settings-grid,.content-editor-grid{grid-template-columns:1fr;gap:0}.parent-level-card{margin-bottom:15px;padding:24px}.parent-level-card .card-icon{float:right;width:52px;height:52px;margin:0}.parent-level-card .eyebrow{padding-top:6px}.parent-level-card h2{font-size:33px}.parent-level-card>p:not(.eyebrow){font-size:14px}.parent-level-card>strong{font-size:15px}.parent-level-card .small-note{font-size:12px!important}.report-card{padding:22px 20px}.report-card h2{font-size:20px}.history-list strong,.practice-row strong{font-size:15px}.history-list small,.practice-row small{font-size:12px}.practice-row>span{font-size:11px}.content-item strong{font-size:15px}.content-item small{font-size:12px}.content-item .secondary{font-size:12px}.login-card{margin:25px auto;padding:26px 23px}.login-card h1{font-size:27px}.login-card .subtitle{font-size:14px;max-width:none}.family-page main{padding-bottom:25px}.family-page .topbar{gap:10px}.family-page .topbar .parent-entry{font-size:10px}.family-page .note{font-size:13px}.family-page .primary,.family-page .secondary,.family-page .soft-button{min-height:48px}.pair-number{font-size:30px;letter-spacing:4px}.content-editor-grid>.report-card:first-child{scroll-margin-top:80px}.family-strip strong{font-size:13px}.family-strip p{font-size:12px}.settings-buttons{flex-direction:column}.settings-buttons>button{width:100%}.login-card .eyebrow{font-size:11px}.page-footer{font-size:10px}}
@media(max-width:360px){.activity-grid{grid-template-columns:1fr}.activity-card{min-height:215px}.card-top{flex-wrap:nowrap;align-items:center}.greeting-row{flex-wrap:wrap}.time-chip{margin-top:2px}.family-page .topbar .brand{font-size:15px}.family-page .topbar .brand small{font-size:7px}.family-tabs button{font-size:11px}.parent-heading{flex-wrap:wrap}}
/* V3: a playful mobile learning space, with a distinct family dashboard. */
:root{--ink:#302d49;--muted:#665f79;--purple:#7356bd;--purple-dark:#533994;--bg:#fbf9ff}
html{scroll-behavior:smooth}button{touch-action:manipulation}textarea{font:inherit}.large-emoji{display:block;font-size:76px}.section-space{margin-top:30px}.play-hero{position:relative;display:grid;grid-template-columns:1.1fr 1fr;background:linear-gradient(125deg,#e9e0ff,#f6e8ef 60%,#fff1cc);border:1px solid #e6d9f4;border-radius:32px;overflow:hidden;min-height:300px}.play-hero h2{font-size:42px;line-height:1.13;letter-spacing:-1.5px;margin:20px 0 15px}.play-hero h2 em{font-style:normal;color:var(--purple-dark)}.play-hero p{font-size:15px;line-height:1.7;max-width:370px}.play-hero .hero-copy{padding:30px 15px 30px 35px}.play-hero .hero-art{object-fit:contain;align-self:end;min-height:270px}.hero-listen{display:block;background:none;border:0;padding:15px 0;font-size:13px;color:var(--purple-dark);text-decoration:underline;min-height:44px}.sound-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e0d4f0;background:#fff;padding:15px 18px;border-radius:20px;margin:20px 0}.sound-bar strong{font-size:14px}.sound-bar small{display:block;margin:6px 0 0 23px;font-size:12px;color:var(--muted)}.sound-bar .soft-button{font-size:12px;padding:12px 15px;flex-shrink:0}.adventure-cards{grid-template-columns:repeat(3,1fr)}.activity-card{box-shadow:0 4px 0 #302d4908}.activity-card.science,.parent-level-card.science{background:#e0f2ee}.activity-card.social,.parent-level-card.social{background:#ffe8e6}.activity-card.jesus,.parent-level-card.jesus{background:#e7eeff}.activity-card p{color:#595267;font-size:13px}.activity-card .card-category{color:#595267;font-size:10px}.activity-card h3{font-size:20px}.card-icon{height:54px;width:54px;font-size:32px}.extra-games{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.extra-games>button{display:grid;grid-template-columns:50px 1fr;gap:5px 12px;align-items:center;padding:22px;background:#fff;border:1px solid var(--line);border-radius:22px;text-align:left}.extra-games>button>span{grid-row:1/3;font-size:38px}.extra-games strong{font-size:16px}.extra-games small{font-size:12px;color:var(--muted);line-height:1.6}.mood-card{background:#fff7e7;border:1px solid #eddfc4;border-radius:25px;padding:25px;margin:24px 0}.mood-card p{font-size:14px;line-height:1.7}.mood-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mood-options button{background:#fffdf7;border:2px solid #eee3cf;min-height:100px;border-radius:18px;font-size:13px;padding:12px 5px}.mood-options button span{display:block;font-size:36px;margin-bottom:7px}.mood-options button.selected{border-color:#9e7ac9;background:#f2ebff}.mood-help{min-height:45px;color:#62506c;margin-bottom:0}.icon-listen{border:1px solid #dacde7;background:#fff;border-radius:50%;height:44px;width:44px;flex:0 0 44px;font-size:20px}.together-card{display:flex;gap:20px;background:#eaf5e8;border:1px solid #d8e7d3;border-radius:26px;padding:28px;margin:25px 0}.together-card>span{font-size:46px}.together-card h2{margin:7px 0;font-size:23px}.together-card p{font-size:14px;line-height:1.8}.level-details{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin-top:25px}.level-details>summary{cursor:pointer;min-height:30px;font-size:15px;font-weight:bold;color:var(--purple-dark)}.level-grid{grid-template-columns:repeat(3,1fr)}.level-tile{min-width:0}.level-tile strong{overflow-wrap:anywhere}.audio-button.compact{min-height:58px;font-size:17px;margin:14px 0}.audio-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.audio-tools .text-button{font-size:14px}.scenario-illustration{text-align:center;font-size:76px;border-radius:23px;padding:18px;margin-top:10px;background:#e0f2ee;line-height:1.3}.scenario-illustration.social{background:#ffe8e6}.scenario-illustration.jesus{background:#e7eeff}.scenario-prompt{font-size:19px;font-weight:bold;text-align:center;line-height:1.65}.scenario-options .option{min-height:150px;width:100%;gap:10px;font-size:15px;line-height:1.5}.scenario-options .emoji{font-size:30px}.spoken-option{display:flex;flex-direction:column;min-width:0}.spoken-option>.option{flex:1}.option-listen{background:transparent;border:0;color:var(--purple-dark);min-height:44px;font-size:13px;padding:8px}.counting-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:20px 6px}.count-token{border:2px solid #e8d7b2;background:#fff7dc;border-radius:16px;width:51px;height:58px;font-size:30px;padding:4px;transition:transform .15s}.count-token.counted{transform:translateY(-5px);border-color:#7d5eb6;background:#eee4fc}.counting-tray:has(~.sound-hint){}.math-sum{font-size:32px}.syllable-options .option{min-height:80px;background:#fff1ee;font-size:25px;font-weight:bold}.number-options .option{min-height:75px;font-size:27px;font-weight:bold}.sequence-result{display:flex;flex-direction:column;gap:8px;padding:15px;min-height:90px;background:#eee8fa;border-radius:17px;line-height:1.6;font-size:15px;color:var(--purple-dark)}.sequence-result>span{display:flex;gap:12px;align-items:center}.sequence-result b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#fff}.sequence-tiles{display:grid;gap:10px;margin:20px 0}.sequence-tile{min-height:57px;background:white;border:2px solid #e0d5ef;border-radius:15px;padding:14px;font-size:16px;line-height:1.6;text-align:left}.sequence-tile:disabled{background:#f0eaf9;opacity:.45}.continue-actions{display:flex;flex-direction:column;gap:15px;margin-top:25px}.continue-actions .text-button{text-align:center}.celebration h3{margin:15px 0}.memory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.memory-card{border:2px solid #e2d6f0;border-radius:18px;background:#fff;min-height:115px;padding:14px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.memory-card>span{font-size:34px}.memory-card strong{font-size:16px}.memory-card.selected{border-color:var(--purple);background:#eee5fd}.memory-card.matched{border-color:#76a887;background:#e2f2e6;opacity:1}.memory-card.retry{border-color:#d8ae7c;background:#fff3e0}.routine-list{display:grid;gap:15px}.routine-child{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.routine-child>span{font-size:34px}.routine-child h3{font-size:18px;line-height:1.5;margin:12px 0}.routine-child p{font-size:15px;line-height:1.8}.routine-child>button{width:100%;font-size:14px}.lab-grid{display:grid;gap:13px;margin-top:15px}.lab-card{text-align:left;background:#e9f5ed;border:1px solid #cde2d5;border-radius:18px;padding:20px;display:grid;grid-template-columns:45px 1fr;gap:8px 15px}.lab-card>span{font-size:38px;grid-row:1/3}.lab-card>strong{font-size:17px}.lab-card>small{font-size:14px;line-height:1.6}.experiment-head{text-align:center}.experiment-head>span{font-size:68px}.experiment-head>p{font-size:20px;font-weight:bold;line-height:1.6}.discovery-note{padding:18px;background:#e5f2e8;border-radius:17px;font-size:15px;line-height:1.8}.discovery-note summary{font-weight:bold;cursor:pointer}.modal-body .mission-steps{font-size:16px;line-height:1.9}.feedback{padding:16px;background:#edf5ed;border-radius:17px;min-height:55px;color:#36573c;font-size:15px}.feedback.retry{background:#fff2e2;color:#76572c}.parent-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eae2fc;border:1px solid #d6c7ef;border-radius:24px;padding:25px;margin-bottom:25px}.parent-callout h2{font-size:22px;margin:0 0 9px}.parent-callout p{font-size:14px;line-height:1.7;margin:0;max-width:640px}.parent-callout .primary{flex-shrink:0}.parent-level-grid{grid-template-columns:repeat(3,1fr)}.parent-form textarea{width:100%;border:1px solid #d9d2e4;min-height:100px;border-radius:12px;padding:14px;resize:vertical;font-size:16px;color:var(--ink);line-height:1.6}.audio-test-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.audio-test-grid button{flex:1}.parent-routine{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:18px}.parent-routine h3{font-size:20px;margin:0 0 15px;line-height:1.6}.parent-routine p{font-size:14px;line-height:1.8}.parent-routine blockquote{border-left:3px solid #ab8ecf;margin:15px 0;padding:12px 16px;background:#f4effb;line-height:1.8;font-size:15px;border-radius:0 12px 12px 0}.routine-status{display:inline-block;background:#fff4da;color:#7a5c25;padding:8px 12px;border-radius:10px;font-size:12px}.routine-status.confirmed{background:#e1f1e4;color:#386444}.habit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.hint-box{padding:20px;border-radius:18px;background:#fff5de;font-size:14px;line-height:1.8;margin:20px 0}.collection-filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.collection-filters button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 13px;min-height:44px}.collection-filters button.active{background:var(--lilac);border-color:#bca5d8}.settings-grid select{max-width:100%}.sound-status{padding:13px;background:#f2ecfa;border-radius:13px;font-size:13px;line-height:1.7}.family-tabs{overflow-x:auto;width:100%}.family-tabs button{white-space:nowrap;flex:1}
@media(max-width:700px){.play-hero{grid-template-columns:1fr;border-radius:25px}.play-hero .hero-copy{padding:24px 23px 0}.play-hero h2{font-size:33px;margin-top:16px}.play-hero p{font-size:15px;max-width:100%}.play-hero .hero-art{max-height:180px;min-height:0;width:88%;margin-top:-15px}.play-hero .primary{width:100%;font-size:15px}.hero-listen{width:100%;text-align:center}.sound-bar{padding:13px;gap:8px}.sound-bar strong{font-size:12px}.sound-bar small{font-size:11px;line-height:1.5;margin-left:0}.sound-bar .soft-button{font-size:11px;padding:10px;max-width:112px;min-height:48px}.adventure-cards{grid-template-columns:1fr 1fr}.activity-card{min-height:225px;padding:18px 14px}.activity-card h3{font-size:18px;line-height:1.4}.activity-card p{font-size:13px;line-height:1.7}.activity-card .card-category{font-size:9px;line-height:1.5}.card-top{display:block;margin-bottom:12px}.card-top .card-icon{margin-bottom:13px}.card-bottom{font-size:10px;line-height:1.6}.activity-card.family{grid-column:1/-1;min-height:170px}.activity-card.family .card-top{display:flex;align-items:center}.activity-card.family .card-icon{margin-bottom:0}.extra-games{gap:10px}.extra-games>button{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px 14px;min-height:180px}.extra-games strong{font-size:16px;line-height:1.5}.extra-games small{font-size:12px;line-height:1.6}.mood-card{padding:21px 15px}.mood-card .section-head h2{font-size:18px}.mood-options{gap:4px}.mood-options button{font-size:10px;padding:10px 2px;min-height:85px;border-radius:13px}.mood-options button span{font-size:29px}.together-card{padding:22px 19px;gap:10px}.together-card>span{font-size:29px}.together-card h2{font-size:21px}.together-card .soft-button{width:100%;font-size:13px}.level-grid{grid-template-columns:1fr}.scenario-prompt{font-size:18px}.scenario-options{gap:10px}.scenario-options .option{font-size:14px;min-height:170px;padding:13px 8px;line-height:1.6}.scenario-illustration{font-size:62px;padding:14px}.modal-body{padding-left:17px;padding-right:17px}.modal-head h2{line-height:1.5;max-width:240px}.audio-button.compact{font-size:16px}.audio-tools{gap:8px}.audio-tools .secondary,.audio-tools .primary{font-size:13px;padding:12px}.parent-level-grid{grid-template-columns:1fr}.parent-callout{display:block;padding:22px}.parent-callout .primary{width:100%;margin-top:18px;font-size:14px}.family-tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:4px;position:static}.family-tabs button{font-size:13px;white-space:normal}.parent-routine{padding:22px 18px}.parent-routine h3{font-size:19px}.habit-actions>button{width:100%}.lab-card{padding:18px 14px;gap:7px 12px}.lab-card>strong{font-size:16px}.lab-card>small{font-size:13px}.level-details{padding:16px}.level-details summary{font-size:14px}.celebration{padding-left:0;padding-right:0}.celebration p{font-size:15px}.continue-actions .primary,.continue-actions .soft-button{font-size:15px;min-height:55px}.audio-test-grid{flex-direction:column}.parent-heading .subtitle{max-width:100%}.login-card .small-note{font-size:12px}.experiment-head>p{font-size:18px}}
@media(max-width:360px){main{margin-left:14px;margin-right:14px}.topbar{padding-left:14px;padding-right:14px}.adventure-cards,.all-activities{grid-template-columns:1fr 1fr}.activity-card h3{font-size:16px}.activity-card p{font-size:12px}.activity-card{padding:15px 12px}.mood-options button{font-size:9px}.mood-options button span{font-size:27px}.family-page main{margin-left:14px;margin-right:14px}.scenario-options .option{font-size:13px}.word-gap{font-size:26px}.brand{gap:6px}.parent-entry{padding:9px;font-size:10px}}

.count-token.removed{opacity:.35;filter:grayscale(1);text-decoration:line-through;transform:none;background:#eee;border-style:dashed}.count-token.removed:after{content:'×';position:absolute;color:#584c67;font-size:30px}

.option:disabled{opacity:1}.lesson-footer{position:sticky;bottom:-1px;background:var(--bg);padding:10px 0 4px}.lesson-footer:has(.invisible){padding:0}.modal-head{position:sticky;top:0;z-index:2;background:var(--bg)}
/* V4: a persistent journey with explicit, separate learning levels. */
.journey-map{background:linear-gradient(140deg,#eee5ff,#f7f1ff 60%,#e6f4ec);border:1px solid #d9caef;border-radius:27px;padding:26px;margin:22px 0;box-shadow:0 5px 0 #dcd0eb44}.map-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.map-heading h2{font-size:29px;letter-spacing:-.8px;margin:5px 0}.star-wallet{font-size:20px;background:#fff5cf;border:1px solid #e7d69d;border-radius:16px;padding:12px;white-space:nowrap}.map-steps{display:flex;gap:10px;margin:20px 0}.map-steps>span{display:grid;place-items:center;flex:1;min-height:34px;border-radius:13px;border:1px solid #d8c8eb;background:#fffdff;font-size:14px;color:#6f5c8b}.map-steps>span.current{background:#7356bd;color:white;border-color:#7356bd;box-shadow:0 3px 0 #51358d}.map-steps>span.done{background:#dceee1;border-color:#9fbda7;color:#356744}.map-intro{font-size:15px;line-height:1.8;color:#5f5373}.map-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.map-worlds button{background:#ffffffbd;border:2px solid #e1d7ed;padding:16px 10px;border-radius:20px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:125px}.map-worlds button>span{font-size:30px}.map-worlds strong{font-size:14px;line-height:1.5}.map-worlds small{font-size:12px;color:#6f647c}.map-worlds button.done{background:#e2f2e6;border-color:#8db59b}.journey-continue{width:100%;font-size:15px;line-height:1.6}.earned-stars{font-size:22px!important;color:#725122!important;font-weight:bold;background:#fff3c6;border-radius:16px;padding:12px}.finish-progress{background:#ede5fa;border:1px solid #dccdf0;border-radius:17px;padding:18px}.finish-progress strong{display:block;font-size:17px;line-height:1.6}.finish-progress small{display:block;margin-top:8px;color:#665675;line-height:1.7}.parent-map-summary{background:#eae2fb;padding:24px;border:1px solid #d9c9ee;border-radius:22px}.parent-map-summary>strong{font-size:23px;display:block}.parent-map-summary>span{font-size:16px;display:block;margin-top:12px}.parent-map-summary>p{font-size:14px;line-height:1.8}.continue-actions .primary{white-space:normal;line-height:1.6}#audio-status:not(:empty){padding:12px;background:#fff2d7;border-radius:12px}.audio-tools .text-button{line-height:1.6}
@media(max-width:700px){.journey-map{padding:21px 16px;margin:20px 0}.map-heading h2{font-size:26px}.map-heading .eyebrow{font-size:8px;letter-spacing:1px}.star-wallet{font-size:18px;padding:10px}.map-steps{gap:6px}.map-steps>span{font-size:12px;min-height:31px;border-radius:10px}.map-intro{font-size:14px}.map-worlds{gap:7px}.map-worlds button{padding:13px 5px;min-height:113px;border-radius:16px}.map-worlds strong{font-size:12px;text-align:center}.map-worlds small{font-size:10px}.map-worlds button>span{font-size:28px}.journey-continue{font-size:14px;padding:13px 12px;min-height:57px}.journey-map>.small-note{font-size:11px}.parent-map-summary{padding:22px 18px}.parent-map-summary>strong{font-size:21px}.continue-actions .primary{font-size:14px}}
/* V5: touch-first 3D campus. The ordinary activities remain available. */
.campus-entry{position:relative;display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center;background:linear-gradient(120deg,#e3efdf,#f4edda 55%,#eee3f9);border:1px solid #d5dfce;border-radius:28px;padding:28px;margin:24px 0;overflow:hidden}.campus-entry h2{font-size:27px;line-height:1.3;letter-spacing:-.8px;margin:8px 0 12px}.campus-entry p{font-size:15px;line-height:1.8;margin:10px 0 18px}.campus-entry small{display:block;margin-top:17px;color:#695977;font-size:12px}.campus-entry-art{position:relative;font-size:96px;text-align:center;background:#fcf8e7;border-radius:50%;width:175px;height:175px;display:grid;place-items:center;box-shadow:0 10px 0 #c5d3b9}.campus-entry-art span{position:absolute;font-size:58px;left:-15px;bottom:0}.campus-entry-art i{position:absolute;font-style:normal;font-size:51px;right:-10px;bottom:-9px}.campus-parent-report{margin:20px 0}.campus-parent-report>span{font-size:14px}
.campus-active{overflow:hidden}.campus-active>.topbar,.campus-active>main,.campus-active>.page-footer,.campus-active>.mobile-nav{visibility:hidden}#adventure-root{position:fixed;inset:0;z-index:50;background:#dcebd4;color:#37344b;font-family:"Trebuchet MS",system-ui,sans-serif;isolation:isolate}.campus-stage{position:absolute;inset:0;overflow:hidden}.campus-stage canvas{display:block;width:100%;height:100%;outline:none}.campus-stage.unavailable{background:radial-gradient(ellipse at 50% 40%,#eef4df,#b6d0ac)}.campus-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#e7f2dd55,transparent 25%,transparent 70%,#3c59402b);pointer-events:none}.campus-top{position:absolute;top:max(16px,env(safe-area-inset-top));left:20px;right:20px;display:flex;gap:12px;align-items:center;z-index:3}.campus-icon{display:grid;place-items:center;width:49px;height:49px;flex:0 0 49px;border-radius:17px;border:1px solid #ffffffba;background:#fffdf0f2;color:#514464;box-shadow:0 4px 0 #96a3863b;font-size:23px}.campus-brand{display:flex;flex-direction:column;padding:10px 18px;border:1px solid #fffdf0bd;background:#fffdf0ed;border-radius:17px;box-shadow:0 4px 0 #96a3863b}.campus-brand small{font-size:9px;color:#8a7ba0;letter-spacing:1.7px;margin-bottom:4px}.campus-brand strong{font-size:18px;letter-spacing:-.4px}.campus-progress{margin-left:auto;border:1px solid #fff0cf;background:#fff7dcf2;padding:13px 17px;border-radius:16px;font-size:15px;font-weight:bold;white-space:nowrap;box-shadow:0 4px 0 #a8a07a29}.campus-quest{position:absolute;left:25px;top:93px;width:340px;background:#fffdf2f2;border:1px solid #fff9df;border-radius:24px;padding:22px;box-shadow:0 7px 0 #9aaa8d36,0 12px 32px #3e54351a;z-index:2;backdrop-filter:blur(8px)}.quest-eyebrow,.campus-eyebrow{font-size:10px;letter-spacing:1.1px;color:#8a7b59;font-weight:bold}.campus-quest h1{font-size:23px;line-height:1.25;margin:11px 0;letter-spacing:-.7px}.campus-quest p{font-size:14px;line-height:1.8;color:#6e6757;margin:10px 0 15px}.campus-task-progress{height:8px;background:#e5e6d4;border-radius:9px;overflow:hidden;margin:10px 0}.campus-task-progress>span{display:block;height:100%;background:#87af91;border-radius:9px;transition:width .3s}.campus-quest>small{font-size:11px;color:#6e765f;line-height:1.7;display:block}.campus-note{position:absolute;left:50%;bottom:200px;transform:translateX(-50%);background:#fffdf0f0;border:1px solid #fff6df;box-shadow:0 3px 10px #3e543522;border-radius:16px;padding:12px 20px;max-width:500px;width:max-content;font-size:13px;line-height:1.7;text-align:center;z-index:2;pointer-events:none}.campus-controls{position:absolute;bottom:max(75px,calc(env(safe-area-inset-bottom) + 65px));left:40px;right:35px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none;z-index:3}.campus-stick{width:135px;height:135px;border-radius:50%;border:3px solid #fffde9bd;background:#fff9dd52;box-shadow:inset 0 0 20px #53644f19,0 5px 0 #667b5630;position:relative;touch-action:none;pointer-events:auto;user-select:none}.stick-cross{position:absolute;inset:0;display:grid;place-items:center;font-size:69px;color:#fffde8b0;pointer-events:none}.stick-knob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid #fffae4;background:#e6d4ad;width:58px;height:58px;border-radius:50%;box-shadow:0 5px 0 #ba9e794f;pointer-events:none}.campus-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;pointer-events:auto;width:270px}.campus-help{border:1px solid #ece0c7;background:#fff9e9;color:#6b587d;border-radius:15px;padding:12px 18px;min-height:47px;font-size:13px;font-weight:bold;line-height:1.6}.campus-interact{border:2px solid #bca4da;background:#775baf;color:white;border-radius:21px;box-shadow:0 6px 0 #51407b;padding:18px 20px;min-height:75px;max-width:100%;font-size:17px;font-weight:bold;line-height:1.4}.campus-interact:disabled{opacity:.85;background:#eee8d5;color:#817866;border-color:#ded5bd;box-shadow:0 5px 0 #aca89144;font-size:14px}.campus-tools{position:absolute;left:50%;transform:translateX(-50%);bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:9px;z-index:3}.campus-tools button{min-height:44px;white-space:nowrap;border:1px solid #fff7e2;background:#fffcebe8;color:#655c73;border-radius:14px;padding:10px 16px;font-size:12px;box-shadow:0 3px 0 #78866a26}.campus-sheet{position:absolute;inset:0;background:#35483c6e;z-index:5;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px)}.campus-sheet[hidden]{display:none}.campus-sheet-card{background:#fffdf3;color:#3b354b;border:1px solid #fff7dc;border-radius:28px;width:min(590px,100%);max-height:90dvh;overflow:auto;padding:24px;box-shadow:0 20px 70px #2030273d}.campus-sheet-card h2{font-size:27px;line-height:1.3;letter-spacing:-.8px;margin:15px 0}.sheet-close{float:right;position:sticky;top:0;width:44px;height:44px;border:1px solid #e9e1cc;background:#fff9e7;border-radius:50%;font-size:24px;color:#6b5a75;z-index:2}.sheet-subtitle{font-size:14px;line-height:1.9;color:#736a5c}.campus-mission-list{display:grid;gap:10px;margin:20px 0}.campus-mission-list>button{display:flex;align-items:center;gap:15px;border:1px solid #e8dfcb;background:white;padding:16px;border-radius:17px;text-align:left;min-height:77px}.campus-mission-list>button>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#ece4fa;color:#7b609f;font-size:16px;flex:0 0 35px}.campus-mission-list>button.current{border:2px solid #a18bbd;background:#f1eafc}.campus-mission-list>button.complete{background:#e9f3e7;border-color:#c9ddc4}.campus-mission-list strong{display:block;font-size:15px;line-height:1.6}.campus-mission-list small{display:block;font-size:12px;margin-top:5px;color:#766b80;line-height:1.7}.campus-mission-list .locked{opacity:.55}.campus-rewards{display:flex;flex-wrap:wrap;gap:10px}.campus-rewards>span{flex:1;min-width:120px;border:1px solid #e5ddce;border-radius:15px;background:#f4efe4;padding:15px;font-size:13px;line-height:1.7;filter:grayscale(1);opacity:.6}.campus-rewards small{display:block;font-size:11px;margin-top:8px}.campus-rewards .unlocked{filter:none;opacity:1;background:#e5f1e3}.campus-primary,.campus-secondary{display:block;width:100%;border:0;border-radius:16px;padding:15px 20px;min-height:53px;font-size:15px;font-weight:bold;line-height:1.6;margin-top:15px}.campus-primary{background:#785bb3;color:white;box-shadow:0 4px 0 #584080}.campus-secondary{background:#efe8da;color:#6f5d82;border:1px solid #e6dbc6}.campus-target-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.campus-target-cards button{border:2px solid #dfd3b9;background:white;padding:20px 12px;border-radius:20px;display:flex;flex-direction:column;gap:10px;align-items:center;min-height:145px}.campus-target-cards button>span{font-size:44px}.campus-target-cards strong{font-size:19px;line-height:1.4}.campus-target-cards small{font-size:11px;color:#786d5c;line-height:1.7}.campus-target-cards button:disabled{opacity:1;background:#e3efdf;border-color:#95b898}.campus-celebrate{text-align:center;padding:15px 0}.campus-celebrate>span{font-size:76px;display:block}.campus-celebrate>small{display:block;font-size:11px;color:#978559;letter-spacing:2px;margin-top:18px}.campus-celebrate>p{font-size:15px;line-height:1.9;color:#736779}.campus-reward{background:#f8edc3;border-radius:17px;padding:18px;font-size:17px;font-weight:bold;line-height:1.7}.avatar-swatches{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.avatar-swatches label{width:75px;position:relative;text-align:center;cursor:pointer}.avatar-swatches input{position:absolute;left:0;top:0;opacity:0}.avatar-swatches label>span{display:block;width:53px;height:53px;border-radius:50%;background:var(--swatch);border:4px solid #fff9e8;box-shadow:0 0 0 1px #dbcdb4;margin:auto}.avatar-swatches input:checked+span{box-shadow:0 0 0 3px #8d6eb6}.avatar-swatches input:focus-visible+span{outline:3px solid #7954ac;outline-offset:4px}.avatar-swatches small{display:block;font-size:11px;line-height:1.5;margin-top:9px;text-transform:capitalize}#campus-avatar-form fieldset{border:0;border-bottom:1px solid #eae1cc;padding:20px 0;margin:0}#campus-avatar-form legend{font-size:15px;font-weight:bold;float:left;width:100%;margin-bottom:14px}
@media(max-width:700px){.campus-entry{grid-template-columns:1fr;padding:24px 21px;gap:20px}.campus-entry-art{width:120px;height:120px;font-size:67px;justify-self:center}.campus-entry-art span{font-size:42px}.campus-entry-art i{font-size:36px}.campus-entry h2{font-size:25px}.campus-entry p{font-size:14px}.campus-entry .primary{width:100%;font-size:14px;line-height:1.6;padding:14px 12px}.campus-entry small{font-size:11px}.campus-top{top:max(12px,env(safe-area-inset-top));left:12px;right:12px;gap:7px}.campus-icon{width:42px;height:44px;flex:0 0 42px;border-radius:14px;font-size:20px}.campus-brand{padding:8px 10px;min-width:0;flex:1;border-radius:14px}.campus-brand small{font-size:7px;letter-spacing:1.1px}.campus-brand strong{font-size:13px;line-height:1.4}.campus-progress{font-size:11px;padding:12px 9px;border-radius:13px;margin-left:0}.campus-top>.campus-icon:last-child{display:none}.campus-quest{left:13px;top:78px;width:calc(100% - 26px);max-width:360px;padding:15px 17px;border-radius:20px}.quest-eyebrow{font-size:8px;letter-spacing:.8px}.campus-quest h1{font-size:20px;margin:8px 0}.campus-quest p{font-size:12px;line-height:1.7;max-height:82px;overflow:auto;margin:8px 0}.campus-quest>small{font-size:10px}.campus-task-progress{height:6px;margin:9px 0}.campus-note{bottom:226px;padding:10px 14px;font-size:11px;max-width:calc(100% - 30px);width:340px;line-height:1.7}.campus-controls{left:17px;right:17px;bottom:max(75px,calc(env(safe-area-inset-bottom) + 62px));gap:15px}.campus-stick{width:106px;height:106px;border-width:2px;flex:0 0 106px}.stick-cross{font-size:55px}.stick-knob{width:47px;height:47px}.campus-actions{width:180px;gap:10px}.campus-help{font-size:12px;padding:10px 11px;min-height:44px;border-radius:13px}.campus-interact{font-size:14px;padding:13px 10px;min-height:69px;border-radius:17px}.campus-interact:disabled{font-size:12px}.campus-tools{width:calc(100% - 24px);bottom:max(13px,env(safe-area-inset-bottom));gap:5px;justify-content:center}.campus-tools>button{font-size:10px;padding:10px 8px;min-height:44px;white-space:normal;flex:1;border-radius:12px}.campus-sheet{padding:14px}.campus-sheet-card{padding:21px 18px;border-radius:24px;max-height:calc(100dvh - 40px)}.campus-sheet-card h2{font-size:25px;padding-right:30px}.campus-mission-list>button{padding:14px 12px;gap:12px}.campus-mission-list strong{font-size:14px}.campus-mission-list small{font-size:11px}.campus-sheet-card .sheet-subtitle{font-size:13px}.campus-primary,.campus-secondary{font-size:14px;line-height:1.7;padding:14px 15px}.campus-target-cards{gap:10px}.campus-target-cards strong{font-size:17px}.campus-target-cards small{font-size:10px}.campus-target-cards button{padding:18px 10px}.campus-celebrate>p{font-size:14px}.campus-reward{font-size:15px}.avatar-swatches{gap:12px}.avatar-swatches label{width:57px}.avatar-swatches small{font-size:10px}.avatar-swatches label>span{width:45px;height:45px}}
@media(max-height:590px){.campus-quest{width:300px;top:77px;max-height:210px;overflow:auto}.campus-quest h1{font-size:18px}.campus-quest p{font-size:11px}.campus-controls{bottom:65px}.campus-stick{width:86px;height:86px;flex:0 0 86px}.campus-note{bottom:180px;left:auto;right:15px;transform:none;width:260px;font-size:10px}.campus-actions{width:230px}.campus-interact{min-height:58px;font-size:13px}.campus-tools{bottom:10px}.campus-top{gap:8px}.campus-brand strong{font-size:14px}}

.quest-fold{border:0;background:none;color:#7c6a91;min-height:30px;font-size:10px;padding:5px 0}.campus-quest.folded>p,.campus-quest.folded>.campus-task-progress,.campus-quest.folded>small{display:none}.campus-quest.folded{width:auto;max-width:320px}.campus-quest.folded h1{font-size:17px;margin-bottom:3px}

.quest-word{border:1px solid #dcd1b9;background:#f2ebdc;color:#655073;border-radius:12px;padding:10px 12px;font-size:12px;min-height:44px;margin:4px 0}.campus-quest.folded .quest-word{display:none}
/* Family studio: warm paper, clear controls and room for little hands. */
.family-banner{margin:26px 0;padding:30px;border-radius:28px;background:linear-gradient(120deg,#f9e6dd,#f0e6f7 55%,#dfeee8);border:1px solid #e5dce6;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.family-banner h2{font-size:26px;line-height:1.3;margin:10px 0;color:#42374c}.family-banner p:not(.eyebrow){font-size:14px;line-height:1.8;color:#766478}.family-banner-actions{display:grid;gap:9px;min-width:230px}.family-banner-actions button{min-height:48px;border:1px solid #dfd2e7;border-radius:15px;background:#fffdf5;color:#60496f;padding:12px 18px;text-align:left;font-weight:bold}.family-banner-actions button:hover{background:#f7f0ff}.family-play{border:0;border-radius:28px;padding:0;background:#fbf7ed;color:#3e3447;width:min(1080px,calc(100vw - 28px));max-width:none;height:calc(100dvh - 32px);max-height:none;overflow:auto;box-shadow:0 24px 100px #352c4652}.family-play::backdrop{background:#3430479c;backdrop-filter:blur(5px)}.fp-top{position:sticky;top:0;z-index:6;background:#fbf7edf5;border-bottom:1px solid #e7dfd3;display:flex;align-items:center;gap:15px;padding:18px 25px}.fp-top>button{border:1px solid #e2d8c6;border-radius:15px;background:white;width:46px;height:46px;font-size:22px;color:#665275;flex-shrink:0}.fp-top small{display:block;font-size:9px;letter-spacing:1.7px;color:#95826b;margin-bottom:5px}.fp-top strong{font-size:17px}.fp-top>span{margin-left:auto;background:#fff0c2;border:1px solid #edddad;border-radius:14px;padding:12px 16px;font-weight:bold;white-space:nowrap}#fp-status{font-size:12px;line-height:1.7;padding:12px 28px;margin:0;background:#edf1e5;border-bottom:1px solid #dfe6d6;color:#65725b;min-height:43px}#fp-body{padding:28px}.fp-intro{max-width:650px;margin:0 auto 30px;text-align:center}.fp-intro>span{font-size:42px}.fp-intro h1{font-size:31px;letter-spacing:-1px;line-height:1.3}.fp-intro p{font-size:15px;line-height:1.8;color:#7d7167}.fp-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fp-board-grid>button{background:#fffefa;border:1px solid #e5dacc;padding:12px;border-radius:22px;text-align:left;box-shadow:0 5px 0 #e9e1d5}.fp-mini-art{border:1px solid #eee5d6;border-radius:15px;overflow:hidden;background:white;margin-bottom:16px}.fp-mini-art svg{display:block;width:100%;height:auto}.fp-board-grid strong{display:block;font-size:16px;line-height:1.5;padding:0 7px}.fp-board-grid small{display:block;padding:8px 7px;color:#9474a8;font-size:12px;line-height:1.6}.fp-art-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.fp-art-heading h1{font-size:25px;line-height:1.4;margin:16px 0 0}.fp-art-save{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.fp-art-save button{font-size:12px;min-height:44px}.fp-art-save button:last-child{background:#7d63a8;color:white;border-color:#7d63a8}.fp-art-workspace{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:start}.fp-art-tools{background:#fffdf6;border:1px solid #e8decf;border-radius:20px;padding:16px;display:grid;gap:13px}.fp-tool-switch{display:grid;gap:8px}.fp-tool-switch button{font-size:12px;min-height:44px}.fp-tool-switch [aria-pressed=true]{background:#e6dced;border-color:#aa8bbd;color:#59426d}.fp-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.fp-palette button{width:42px;height:42px;border-radius:50%;border:3px solid white;background:var(--art-color);box-shadow:0 0 0 1px #dbd1c0;padding:0}.fp-palette button[aria-pressed=true]{box-shadow:0 0 0 3px #7f629e;transform:scale(1.07)}.fp-art-tools>.soft-button{font-size:12px;line-height:1.6}.fp-drawing{border:2px solid #e0d5c2;background:#fffdf8;border-radius:24px;overflow:hidden;box-shadow:0 10px 0 #e8dfcf;touch-action:none;user-select:none}.fp-drawing svg{display:block;width:100%;height:auto;touch-action:none}.fp-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fp-activity-grid>button{border:1px solid #e4d9c8;background:#fffdfa;border-radius:21px;padding:24px;text-align:left;min-height:190px;display:flex;flex-direction:column;gap:14px;box-shadow:0 5px 0 #e9e1d5}.fp-activity-grid button>span{font-size:20px;color:#8b6f9e}.fp-activity-grid button>small{font-size:11px;color:#8d7d70}.fp-activity-grid button>strong{font-size:20px;line-height:1.4}.fp-activity-grid button>em{font-size:12px;color:#8d7a9d;font-style:normal;margin-top:auto}.fp-explore{max-width:680px;margin:10px auto;text-align:center}.fp-explore h1{font-size:29px;margin:18px 0}.fp-explore h2{font-size:21px;font-weight:normal;line-height:1.7;color:#706271}.fp-visual{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:27px 0;padding:22px;background:#f3eadb;border-radius:22px}.fp-visual>span{font-size:42px;line-height:1.5}.fp-choices{display:grid;gap:12px;margin:22px 0}.fp-choices>button{border:2px solid #dfd3e5;background:#fffefd;min-height:65px;padding:17px;border-radius:18px;font-size:18px;color:#58475f;line-height:1.6}.fp-choices>button:hover{background:#f0e8f6}.fp-choices>button:disabled{opacity:.7;background:#eee6dc}.fp-choices>button>span{display:inline-grid;place-items:center;min-width:30px;margin-right:12px;color:#8c6fa2}.fp-order{background:#e7efdf;border-radius:18px;padding:1px 20px;text-align:left;line-height:1.9}.fp-feedback{min-height:50px;line-height:1.9;background:#eaf0df;border-radius:17px;padding:18px;color:#5e7257;font-size:16px}.fp-explore>.soft-button{margin:8px;min-height:45px}.fp-shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fp-shop{border:1px solid #e3d9ca;border-radius:23px;padding:25px;background:#fffdfa;text-align:center}.fp-shop>span{font-size:70px;display:grid;place-items:center;height:130px;background:#f1e8f7;border-radius:20px}.fp-shop.vasco>span{background:linear-gradient(140deg,#eeeeee 48%,#333 49%,#333 65%,#eeeeee 66%)}.fp-shop.chef>span{background:#fae3e3}.fp-shop.space>span{background:#e0e8f4}.fp-shop h2{font-size:20px;line-height:1.5}.fp-shop p{color:#967d56}.fp-shop button{width:100%;min-height:48px}.fp-real{background:#fffaf0;border:1px solid #e8ddc5;border-radius:22px;padding:26px;margin:28px 0;line-height:1.9}.fp-real>div{display:flex;gap:15px;align-items:center;flex-wrap:wrap;border-top:1px solid #e4dccf;padding:16px 0}.fp-real>div strong{margin-right:auto}.fp-real h2{font-size:23px}.fp-real p{color:#857364}.control-intro{background:linear-gradient(115deg,#f2e9f7,#e6eee1);border:1px solid #e3dbe4;border-radius:24px;padding:30px;margin:25px 0}.control-intro h2{font-size:28px;line-height:1.4;margin:13px 0}.control-intro p:last-child{font-size:15px;line-height:1.9;max-width:760px;color:#75687a}.control-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:20px 0}.control-actions #device-code{flex-basis:100%;font-size:13px;line-height:1.9}.control-actions .pair-number{display:inline-block;margin-right:18px}.control-selector{display:flex;gap:18px;margin:20px 0}.control-selector>label{display:grid;gap:9px;font-size:13px;flex:1}.control-selector select{padding:13px 15px;border:1px solid #ded5e5;border-radius:13px;background:white;color:#56445e;font:inherit;min-height:48px}.device-health{border:1px solid #d9e4d7;background:#f1f7ec;border-radius:21px;padding:24px;margin:24px 0}.device-health h3{font-size:19px;margin-top:0}.device-health p{font-size:13px;color:#7a856e;line-height:1.8}.health-tags{display:flex;flex-wrap:wrap;gap:10px}.health-tags span{font-size:12px;padding:9px 12px;border:1px solid #dce2d7;border-radius:12px;background:#f9fbf5}.health-tags .ok{background:#dfecd7;color:#597247}.health-tags .missing{background:#fff0d9;color:#9a7143}.control-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0}.control-totals article{padding:23px;border:1px solid #e5dce8;border-radius:21px;background:#fff}.control-totals span{font-size:26px;display:block;margin-bottom:14px}.control-totals small{display:block;font-size:12px;color:#8c7f93;margin-bottom:10px}.control-totals strong{font-size:27px;color:#5b456e}.control-usage-row{display:flex;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid #efe7f1}.control-usage-row>div{flex:1}.control-usage-row strong{display:block;font-size:15px}.control-usage-row small{display:block;font-size:10px;color:#95879c;word-break:break-all;margin:7px 0}.control-usage-row span{display:block;height:6px;border-radius:10px;background:#b59ec9}.control-usage-row>b{font-size:14px;white-space:nowrap;color:#725582}.control-times{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.control-times>label{display:grid;gap:9px;font-size:12px}.check-line{display:flex!important;align-items:center;gap:12px;font-size:14px!important;line-height:1.8}.check-line input{width:23px!important;min-height:23px!important}.policy-app{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #eee4f0}.policy-app>label:first-child{display:flex;align-items:center;gap:15px;font-size:13px;margin:0}.policy-app input[type=checkbox]{width:23px;min-height:23px;flex:0 0 23px}.policy-app strong{display:block;font-size:14px;word-break:break-word}.policy-app small{display:block;font-size:11px;margin-top:7px;color:#9887a1}.minutes-field{display:flex!important;gap:8px;align-items:center;white-space:nowrap;font-size:11px!important;margin:0!important}.minutes-field input{width:75px!important;min-height:44px;padding:10px!important}.redemption{display:flex;gap:15px;flex-wrap:wrap;align-items:center;padding:20px 0;border-top:1px solid #e9dfeb}.redemption strong{flex-basis:100%;font-size:16px}.redemption span{margin-right:auto;font-size:13px;color:#8f7c98}.family-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.family-gallery article{background:#fff9ee;border:1px solid #e6d9c3;border-radius:18px;padding:12px;overflow:hidden}.family-gallery svg{width:100%;height:auto;display:block}.family-gallery strong{font-size:13px;line-height:1.8;display:block;margin:12px 0 0}
@media(max-width:760px){.family-banner{grid-template-columns:1fr;padding:23px;gap:14px}.family-banner h2{font-size:24px}.family-banner-actions{min-width:0}.family-play{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:21px}.fp-top{gap:9px;padding:12px}.fp-top strong{font-size:13px}.fp-top small{font-size:7px;letter-spacing:1px}.fp-top>span{font-size:12px;padding:10px}.fp-top>button{width:40px;height:43px}.fp-top>div{min-width:0}#fp-status{padding:11px 17px;font-size:11px}#fp-body{padding:18px}.fp-intro h1{font-size:26px}.fp-intro p{font-size:13px}.fp-board-grid,.fp-activity-grid{grid-template-columns:1fr 1fr;gap:12px}.fp-board-grid>button{padding:8px;border-radius:17px}.fp-board-grid strong{font-size:13px;padding:0 4px}.fp-board-grid small{font-size:10px;padding:6px 4px}.fp-mini-art{margin-bottom:10px}.fp-art-heading{display:block}.fp-art-heading h1{font-size:21px;margin:12px 0}.fp-art-save{justify-content:flex-start;gap:6px}.fp-art-save button{font-size:11px;padding:10px 12px}.fp-art-workspace{grid-template-columns:1fr;gap:18px}.fp-art-tools{padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.fp-tool-switch{display:flex;flex:1}.fp-tool-switch button{font-size:10px;padding:10px 12px;flex:1}.fp-palette{display:flex;flex-wrap:wrap;gap:13px;flex-basis:100%;justify-content:center}.fp-palette button{width:33px;height:33px}.fp-art-tools>.small-note{display:none}.fp-art-tools>.soft-button{font-size:10px;padding:10px}.fp-drawing{border-radius:18px;box-shadow:0 5px 0 #e8dfcf}.fp-activity-grid>button{padding:18px 13px;min-height:180px;gap:12px}.fp-activity-grid button>strong{font-size:17px}.fp-activity-grid button>small{font-size:10px;line-height:1.6}.fp-activity-grid button>em{font-size:10px;line-height:1.7}.fp-explore h1{font-size:25px}.fp-explore h2{font-size:18px}.fp-visual{gap:8px;padding:15px}.fp-visual>span{font-size:29px}.fp-choices>button{font-size:16px;min-height:60px;padding:14px 10px}.fp-feedback{font-size:14px}.fp-shop-grid{grid-template-columns:1fr;gap:18px}.fp-shop{display:grid;grid-template-columns:100px 1fr;gap:5px 20px;text-align:left;padding:20px}.fp-shop>span{grid-row:span 3;height:110px;font-size:55px}.fp-shop h2{font-size:17px;margin:0}.fp-shop p{font-size:13px;margin:0}.fp-shop button{font-size:12px;margin:8px 0}.fp-real{padding:20px}.fp-real h2{font-size:22px}.fp-real p{font-size:13px}.control-intro{padding:23px}.control-intro h2{font-size:24px}.control-intro p:last-child{font-size:13px}.control-actions{gap:10px}.control-actions>button{font-size:12px;min-height:46px}.control-selector{gap:12px}.control-selector>label{font-size:11px;min-width:0}.control-selector select{min-width:0;font-size:12px;padding:12px 9px}.control-totals{grid-template-columns:1fr 1fr;gap:12px}.control-totals article{padding:19px}.control-totals strong{font-size:25px}.control-totals small{font-size:11px}.device-health{padding:20px}.health-tags{gap:7px}.health-tags span{font-size:10px;padding:8px}.control-times{grid-template-columns:1fr 1fr}.control-times>label:last-child{grid-column:span 2}.policy-app{gap:12px}.policy-app>label:first-child{gap:9px;min-width:0}.policy-app strong{font-size:12px}.policy-app small{font-size:10px}.minutes-field input{width:60px!important}.minutes-field{font-size:10px!important;gap:5px}.family-gallery{grid-template-columns:1fr 1fr}.redemption button{font-size:11px}.family-tabs{flex-wrap:wrap}}
@media(max-width:390px){.fp-board-grid,.fp-activity-grid{grid-template-columns:1fr}.fp-board-grid>button{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;align-items:center}.fp-mini-art{grid-row:span 2;margin:0}.fp-board-grid strong{align-self:end}.fp-board-grid small{align-self:start}.fp-top strong{font-size:12px}.fp-activity-grid>button{min-height:155px}.fp-shop{grid-template-columns:80px 1fr;gap:5px 14px}.fp-shop>span{font-size:46px}}
@media(max-width:760px){.fp-art-tools{position:sticky;top:75px;z-index:4;box-shadow:0 5px 14px #6b5c4312}.fp-tool-switch{flex-basis:100%;gap:8px}.fp-palette{display:grid;grid-template-columns:repeat(6,30px);gap:10px;justify-content:center}.fp-palette button{width:30px;height:30px}.fp-art-tools>.soft-button{flex:1 1 40%;min-width:0;min-height:38px;padding:9px 6px;font-size:10px}.fp-art-tools .fp-tool-switch button{min-height:40px}.fp-art-heading .fp-art-save{gap:6px}.fp-art-heading .fp-art-save button{min-height:40px;font-size:10px;padding:9px 10px}}

.campus-overview{position:relative;aspect-ratio:1;border:2px solid #d5dfbf;border-radius:25px;margin:22px 0;background:radial-gradient(ellipse at 80% 20%,#e9dcd7,transparent 28%),radial-gradient(ellipse at 15% 12%,#d2dce2,transparent 25%),linear-gradient(135deg,#d6e6c6,#c2d6b7);overflow:hidden}.overview-path{position:absolute;background:#f2e4c8;border:1px solid #d8caa9;border-radius:20px}.overview-path.vertical{width:9%;height:94%;left:46%;top:3%}.overview-path.horizontal{height:8%;width:94%;top:54%;left:3%}.overview-pond{position:absolute;left:43%;top:43%;height:14%;width:14%;border:5px solid #ece3d0;border-radius:50%;background:#8fbebd}.campus-overview button{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:3px;width:90px;background:transparent;border:0;padding:0;color:#514b59;z-index:2}.campus-overview button>span{display:grid;place-items:center;background:#fff9eb;border:1px solid #e2d5ba;box-shadow:0 3px 0 #718b5e30;width:39px;height:39px;border-radius:13px;font-size:22px}.campus-overview button>small{background:#fff9e9ed;border-radius:8px;padding:3px 5px;font-size:9px;font-weight:bold;line-height:1.5}.overview-player{position:absolute;transform:translate(-50%,-50%);font-size:19px;color:#9666a6;text-shadow:0 0 2px white;font-style:normal;z-index:3;pointer-events:none}@media(max-width:700px){.campus-overview button{width:66px}.campus-overview button>span{width:31px;height:31px;font-size:18px;border-radius:10px}.campus-overview button>small{font-size:7px;padding:2px 3px}.overview-player{font-size:15px}}

.campus-map-legend{display:none}@media(max-width:700px){.campus-overview button>small{display:none}.campus-map-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.campus-map-legend button{font-size:10px;line-height:1.6;padding:9px;border:1px solid #e1dcc7;border-radius:11px;background:#fffaf0;color:#686070;min-height:44px;text-align:left}}
/* V8: illustrated art, a dress-up room and animal trails. */
.fp-board-grid>button{overflow:hidden}.fp-mini-art{background:white}.fp-mini-art svg{display:block;width:100%;height:auto}.fp-board-grid>button>small{display:block;margin-top:6px}.fp-wardrobe{display:grid;grid-template-columns:minmax(180px,280px) 1fr;align-items:center;gap:32px;background:#f6eef4;border:1px solid #e4d6e6;border-radius:28px;padding:24px;margin:24px 0}.fp-mirror{border:8px solid #dbc6d6;border-radius:100px 100px 30px 30px;background:linear-gradient(145deg,#fff,#eae2f8);text-align:center;overflow:hidden}.fp-mirror svg{display:block;max-height:320px;width:100%}.fp-mirror>span{display:block;font-size:11px;letter-spacing:1px;padding:10px;background:#fff7}.fp-free-outfits{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.fp-free-outfits [aria-pressed=true]{outline:3px solid #7661ab}.fp-zoo-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:25px;border-radius:32px;background:linear-gradient(145deg,#eaf2de,#e3f0ed 55%,#e5ebd3);border:1px solid #ccd8bf}.fp-zoo-place{border:2px solid #fff;background:#fffdf5;border-radius:25px;padding:25px 15px;color:#353a30;text-align:center;box-shadow:0 7px 0 #c4d5b7}.fp-zoo-place>span{display:block;font-size:58px}.fp-zoo-place h2{font-size:20px}.fp-zoo-place small{display:block;color:#586b50}.fp-zoo-place i{font-style:normal;display:inline-grid;place-items:center;border-radius:50%;width:27px;height:27px;margin:3px;background:#eee8df}.fp-zoo-place i.done{background:#c9e4b9}.fp-zoo-place strong{display:block;margin-top:12px}.fp-zoo-hero{font-size:90px}.fp-fact{background:#edf4e4;border:1px solid #ccdbbf;border-radius:20px;padding:18px;margin:20px 0}.fp-zoo-phases{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.fp-zoo-phases button{background:#f5f0e8;border:1px solid #ded3c2;border-radius:12px;padding:12px;color:#484038}.fp-zoo-phases [aria-current=step]{outline:3px solid #8b739e}.fp-count-tokens{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.fp-count-tokens button{border:2px solid #ddd0b8;background:#fff9e6;border-radius:10px;min-width:42px;min-height:44px;font-size:24px;color:#8c789b}.fp-count-tokens [aria-pressed=true]{opacity:.45;background:#ded2ec;transform:scale(.9);text-decoration:line-through}.fp-zoo-task details{margin-top:25px;text-align:left;font-size:14px}.fp-zoo-task details a{color:#63518d}.fp-zoo-task button:disabled{opacity:.45}.fp-wardrobe h2{font-size:27px}.fp-shop .soft-button{margin:5px}
@media(max-width:650px){.fp-zoo-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px}.fp-zoo-place{padding:16px 7px}.fp-zoo-place h2{font-size:16px}.fp-zoo-place>span{font-size:43px}.fp-zoo-place small{font-size:11px}.fp-wardrobe{grid-template-columns:1fr;padding:16px;gap:18px}.fp-mirror{width:210px;margin:auto}.fp-mirror svg{height:255px}.fp-zoo-phases{display:grid;grid-template-columns:1fr}.fp-zoo-task h2{font-size:22px}}
.fp-drawing{overflow:auto;max-height:75vh;touch-action:auto}.fp-drawing>div>svg{display:block;width:100%;height:auto;max-height:none}.fp-tool-switch{flex-wrap:wrap}

.family-portrait{margin:25px 0 0;border:1px solid #e5dce6;border-radius:26px;overflow:hidden;background:#fff7ed}.family-portrait img{width:100%;max-height:460px;object-fit:contain;display:block}.family-portrait figcaption{text-align:center;padding:12px 18px;color:#665275;font-size:14px}@media(max-width:600px){.family-portrait{border-radius:18px}.family-portrait figcaption{font-size:12px}}
/* V9: learning stays anchored in the rendered world. */
.zoo-panel-open .campus-sheet{inset:90px 16px 130px auto;width:min(360px,42vw);background:transparent;padding:0;pointer-events:none;display:block}
.zoo-panel-open .campus-sheet-card{width:100%;max-height:100%;overflow:auto;pointer-events:auto;padding:20px;border-radius:24px;background:rgba(255,253,247,.96);box-shadow:0 14px 48px #29463b30}
.zoo-panel-open .campus-quest{display:none}.zoo-panel-open .campus-actions{visibility:hidden}
.zoo-mission h2{font-size:22px;margin:8px 0}.zoo-mission h3{font-size:17px;line-height:1.4}.zoo-fact{font-size:14px;line-height:1.5;padding:12px;background:#eaf2df;border-radius:14px}.zoo-phase{display:flex;align-items:center;gap:8px}.zoo-phase span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8e1d2}.zoo-phase .complete{background:#c3dfc7}.zoo-phase .available{background:#efcf82}.zoo-answers{display:grid;gap:8px;margin:12px 0}.zoo-answers button{background:white;border:2px solid #d8d0e5;padding:12px;border-radius:14px;text-align:left;color:#433557;font-weight:700}.zoo-answers button:disabled{opacity:.65}.zoo-feedback{color:#486e49;font-weight:700}.zoo-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.zoo-destinations button{display:grid;gap:7px;background:#f1f4e7;border:1px solid #dce6d1;border-radius:18px;padding:18px;color:#414539}.zoo-destinations span{font-size:32px}.zoo-destinations small{color:#66735b}
@media(max-width:600px){.zoo-panel-open .campus-sheet{inset:auto 8px 78px;width:calc(100% - 16px);height:43vh}.zoo-panel-open .campus-sheet-card{padding:16px;border-radius:20px}.zoo-panel-open .campus-controls{bottom:calc(43vh + 88px)}.zoo-panel-open .campus-stick{width:74px;height:74px}.zoo-panel-open .campus-note{display:none}.zoo-mission h2{font-size:19px}.zoo-fact{padding:8px}.campus-tools{flex-wrap:wrap}.zoo-destinations{gap:8px}.zoo-destinations button{padding:12px}}

.town-clothes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.town-clothes button{display:grid;justify-items:center;gap:.25rem}.town-clothes i{width:1.4rem;height:1.4rem;border-radius:50%}.town-clothes small{font-size:.75rem}
.campus-quest.town-active>:not(.town-objective){display:none}
.town-objective strong,.town-objective small{display:block}
.town-objective button{margin-top:.4rem}

.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem;margin:1rem 0}.case-grid button{text-align:left;min-height:52px}

.case-counter{margin:.7rem 0;padding:.7rem;border:1px solid #d9cdaa;border-radius:.8rem}.case-counter summary{cursor:pointer;font-weight:700}.coin-board{display:grid;grid-template-columns:repeat(5,minmax(36px,1fr));max-width:285px;gap:2px;margin:.25rem auto}.coin-board button{height:42px;background:transparent;border:0;display:grid;place-items:center}.coin-board button::before{content:"";width:25px;height:25px;border:2px dashed #a79069;border-radius:50%}.coin-board button[aria-pressed=true]::before{background:#f6ce64;border:2px solid #926129;box-shadow:inset 0 0 0 3px #fce4a2}.case-counter output{display:block;text-align:center}

.safari-areas{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.safari-areas button,.zoo-mission [data-zoo="reset"],.zoo-mission [data-zoo="check"]{border:1px solid #abbaa4;background:#fffaf0;border-radius:12px;padding:9px;color:#324b40;font:inherit;cursor:pointer}.safari-areas [aria-pressed="true"]{background:#315947;color:white}.fp-extra-colors summary{padding:9px;cursor:pointer}.fp-extra-colors .fp-palette{margin:6px auto}

.look-card,.town-mirror,.closet-mini{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 44%,#fffaf1 12%,#f3dfdf 82%);border-radius:18px}
.look-card svg,.town-mirror svg{height:165px;width:auto}.closet-mini svg{width:48px;height:62px}.fp-free-outfits [aria-pressed="true"]{background:#67538e;color:white}.fp-mirror svg{max-height:340px}
