:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang TC','Microsoft JhengHei',sans-serif;color:#243541;background:#fbf4e7;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 95% 0%,#fff0c3 0,transparent 37%),radial-gradient(circle at 0% 70%,#e2f5ed 0,transparent 34%),#fbf4e7}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #186f66;outline-offset:4px}.hidden{display:none!important}.app-shell{width:min(100%,1100px);min-height:100vh;margin:auto;padding:0 32px;display:flex;flex-direction:column}.topbar{height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#243541;font-size:21px;font-weight:900;letter-spacing:-.035em;line-height:1.1}.brand small{display:block;font-size:10px;letter-spacing:.19em;color:#708187;font-weight:800;margin-top:5px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#ffdb77;color:#58482e;font-size:33px;line-height:1}.icon-button{border:1.5px solid #d1ded8;background:#fffaf0;border-radius:999px;color:#345852;padding:10px 14px;font-size:17px;font-weight:800;white-space:nowrap}.icon-button span{font-size:12px;margin-left:4px}.screen{flex:1}.home-screen{padding-top:48px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.19em;color:#367b70;text-transform:uppercase}.hero-copy{text-align:center}.hero-copy h1{font-size:clamp(46px,6.2vw,78px);letter-spacing:-.07em;line-height:1.12;margin:17px 0 22px;font-weight:900}.hero-copy h1 em{font-style:normal;color:#ed8c64}.lead,.section-lead{font-size:18px;line-height:1.8;color:#5f7177;margin:0}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin:54px 0 31px}.mode-card{text-align:left;min-height:258px;border:2px solid transparent;border-radius:30px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;position:relative;color:#273942;box-shadow:0 12px 25px rgba(44,54,51,.055);transition:transform .18s ease,box-shadow .18s ease}.mode-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px rgba(44,54,51,.1)}.mode-add{background:#ccefe1}.mode-sub{background:#ffdfca}.mode-mul{background:#dce3fa}.mode-symbol{display:grid;place-items:center;width:95px;height:95px;border-radius:26px;font-size:64px;font-weight:800;line-height:1;background:rgba(255,255,255,.62)}.mode-text{display:flex;flex-direction:column;gap:8px;margin-top:auto}.mode-text strong{font-size:26px;font-weight:900;letter-spacing:-.05em}.mode-text small{font-size:14px;color:#617078;font-weight:600}.mode-arrow{position:absolute;bottom:27px;right:27px;font-size:26px}.home-footer{display:flex;align-items:center;justify-content:space-between;padding:0 4px;margin-bottom:45px}.point-chip{background:#fffaf3;border:1px solid #f1e7d6;border-radius:100px;padding:13px 19px;color:#607077;font-size:14px;font-weight:700}.point-chip span{color:#e2a23a;margin-right:5px}.point-chip strong{font-size:20px;color:#263943;margin-left:5px}.text-button{border:0;background:none;color:#286f68;font-weight:900;font-size:14px;padding:10px}.site-footer{text-align:center;color:#9aaca9;font-size:11px;font-weight:700;letter-spacing:.11em;padding:25px 0 28px}.back-button{border:0;background:transparent;color:#597572;font-size:15px;font-weight:800;padding:10px 0}.setup-screen,.results-screen,.parent-screen{max-width:730px;margin:0 auto;padding:16px 0 60px;width:100%}.setup-screen h2,.results-screen h2,.parent-screen h2{font-size:clamp(40px,6vw,60px);font-weight:900;letter-spacing:-.065em;line-height:1.16;margin:13px 0 18px}.setup-options{display:flex;flex-wrap:wrap;gap:12px;margin:35px 0 44px}.option-button{background:#fffaf3;border:2px solid #e5e5da;border-radius:18px;padding:16px 24px;font-size:19px;font-weight:900;color:#2a3b43;min-width:105px;min-height:64px}.option-button[aria-pressed=true]{border-color:#35927d;background:#dff3e8;color:#216b5b;box-shadow:0 4px 0 #9acebc}.setup-action p{color:#85948c;font-size:13px;margin:13px 0}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:230px;min-height:66px;padding:16px 26px;border:0;border-radius:19px;background:#24836f;color:white;font-size:19px;font-weight:900;box-shadow:0 7px 0 #176453;transition:transform .12s,box-shadow .12s}.primary-button:hover{background:#1d765f}.primary-button:active{transform:translateY(5px);box-shadow:0 2px 0 #176453}.game-screen{max-width:730px;width:100%;margin:0 auto;padding:9px 0 56px}.game-top{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px}.round-label{font-size:15px;color:#537872;font-weight:900}.progress-track{height:12px;background:#e8e9d8;border-radius:10px;overflow:hidden}.progress-fill{width:0;height:100%;background:#69bb9d;border-radius:10px;transition:width .3s}.question-card{background:#fffaf3;border:2px solid #f2e9d8;border-radius:34px;min-height:286px;margin-top:28px;padding:24px 32px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;box-shadow:0 18px 40px rgba(74,56,29,.055)}.question-card .eyebrow{margin:0;color:#7f8a78}.question-card h2{font-size:clamp(48px,9vw,85px);line-height:1.2;letter-spacing:.005em;font-weight:900;margin:20px 0 13px;color:#273943;font-variant-numeric:tabular-nums}.hint-button{border:0;background:#f7ecd5;color:#786d52;border-radius:100px;padding:9px 16px;font-size:14px;font-weight:800;margin:9px 0}.visual-hint{font-size:17px;line-height:1.7;background:#eaf4ee;border-radius:16px;padding:13px 17px;max-width:100%;overflow-wrap:anywhere;margin:4px 0}.dot-line{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:3px 0}.dot{width:13px;height:13px;border-radius:50%;background:#ed8c64;display:inline-block}.dot.removed{background:#d4dcd4;position:relative}.dot.removed:after{content:'';position:absolute;width:18px;height:2px;background:#acb7ae;transform:rotate(-45deg);top:5px;left:-2px}.hint-groups{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.hint-group{padding:7px;border:1px dashed #99bca9;border-radius:12px}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:23px 0 0}.answer-button{min-height:91px;border:2px solid #e1e9e1;background:#fff;border-radius:24px;font-size:35px;font-weight:900;color:#263941;box-shadow:0 6px 0 #d7e1d8;transition:transform .12s,box-shadow .12s}.answer-button:active{transform:translateY(4px);box-shadow:0 2px 0 #d7e1d8}.answer-button.wrong{background:#f9e1d8;border-color:#edb29d;color:#995d50;box-shadow:0 6px 0 #e9b9a7}.answer-button.correct{background:#d5f2db;border-color:#8bc59c;color:#23724b;box-shadow:0 6px 0 #add7b5}.answer-button:disabled{cursor:default}.feedback{min-height:32px;margin:22px 0 9px;text-align:center;font-size:19px;font-weight:900;color:#53736a}.feedback.try-again{color:#b36b55}.next-button{width:100%;margin-top:5px}.results-screen{text-align:center;padding-top:35px}.result-star{width:115px;height:115px;display:grid;place-items:center;background:#ffe1a6;color:#d69642;border-radius:35px;font-size:80px;transform:rotate(-10deg);margin:0 auto 28px}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:34px 0 20px}.results-grid div{background:#fffaf3;border-radius:20px;padding:22px 8px;display:flex;flex-direction:column;gap:5px}.results-grid strong{font-size:35px;font-weight:900;color:#24836f}.results-grid span{font-size:13px;color:#768579;font-weight:700}.result-note{font-size:13px;line-height:1.7;color:#6b7b75;max-width:500px;margin:20px auto 30px}.result-actions{display:flex;justify-content:center;align-items:center;gap:12px}.secondary-button{border:2px solid #dfebe3;border-radius:19px;background:#fffaf3;min-height:65px;padding:15px 22px;color:#376e5d;font-weight:900;font-size:16px}.parent-screen{padding-top:18px}.parent-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:33px 0 20px}.parent-summary div{background:#fffaf3;border-radius:20px;padding:20px 15px;display:flex;flex-direction:column;gap:7px}.parent-summary small{font-size:12px;color:#7c8881;font-weight:700}.parent-summary strong{font-size:33px;font-weight:900;color:#2b7d69}.parent-panel{background:#fffaf3;border-radius:24px;padding:22px 27px;margin-top:16px}.parent-panel h3{font-size:18px;margin:0 0 8px}.parent-panel p{color:#667a74;font-size:14px;line-height:1.75;margin:0 0 12px}.parent-note p:last-child{margin-bottom:0}.table-map{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.table-map span{background:#f0f5e8;border-radius:11px;padding:12px 6px;text-align:center;font-size:12px;font-weight:800;color:#47705d}.table-map strong{display:block;font-size:17px;color:#266b56}
@media(max-width:700px){.app-shell{padding:0 19px}.topbar{height:78px}.brand{font-size:18px}.brand-mark{width:39px;height:39px;font-size:28px}.home-screen{padding-top:23px}.hero-copy h1{font-size:clamp(42px,12vw,61px);margin:14px 0 16px}.lead,.section-lead{font-size:15px}.mode-grid{grid-template-columns:1fr;gap:13px;margin:34px 0 22px}.mode-card{min-height:118px;border-radius:22px;padding:19px 20px;flex-direction:row;align-items:center;gap:17px}.mode-symbol{width:72px;height:72px;flex:none;border-radius:19px;font-size:50px}.mode-text{margin:0}.mode-text strong{font-size:21px}.mode-text small{font-size:12px}.mode-arrow{bottom:42px;right:17px;font-size:20px}.home-footer{margin-bottom:25px}.setup-screen,.parent-screen{padding-top:3px}.game-screen{padding-top:0}.question-card{min-height:250px;padding:20px 14px;margin-top:20px}.question-card h2{font-size:clamp(49px,13vw,74px)}.answer-grid{gap:12px;margin-top:17px}.answer-button{min-height:85px}.results-grid strong,.parent-summary strong{font-size:29px}.parent-summary{gap:7px}.parent-summary div{padding:14px 9px}.parent-summary small{font-size:10px}.parent-panel{padding:19px 17px}.result-actions{flex-direction:column}.result-actions button{width:100%}.icon-button span{display:none}}@media(max-width:390px){.mode-symbol{width:63px;height:63px;font-size:44px}.mode-card{gap:12px}.mode-text strong{font-size:18px}.mode-arrow{right:12px}.table-map{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The learning path makes a small family test feel like one coherent product. */
.daily-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin:48px 0 60px;padding:26px 30px;border-radius:30px;color:#fffaf0;background:linear-gradient(115deg,#265a58,#377d6b);box-shadow:0 18px 35px rgba(34,86,77,.18)}
.daily-card .eyebrow{margin:0 0 8px;color:#ccebd2}.daily-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:#f9d982;color:#316b5d;font-size:50px}.daily-copy h2{font-size:31px;letter-spacing:-.045em;margin:0 0 7px}.daily-copy p:last-child{font-size:14px;line-height:1.6;margin:0;color:#deeee4}.daily-button{border:0;border-radius:17px;background:#ffdb84;color:#274b46;min-height:58px;padding:13px 21px;font-weight:900;font-size:16px;white-space:nowrap;box-shadow:0 5px 0 #c7ac69}.daily-button span{margin-left:10px}.daily-button:hover{background:#ffe49d}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin:0 0 22px}.section-heading .eyebrow{margin:0 0 7px}.section-heading h2{font-size:32px;letter-spacing:-.05em;margin:0}.section-heading>p{max-width:345px;color:#71827c;font-size:13px;line-height:1.65;margin:0}.journey-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.journey-tile{display:flex;flex-direction:column;align-items:flex-start;min-height:148px;padding:17px;border:2px solid #ebe5d5;border-radius:21px;background:#fffaf2;text-align:left;color:#32433e;transition:transform .18s,box-shadow .18s}.journey-tile:hover{transform:translateY(-3px);box-shadow:0 11px 24px rgba(64,68,50,.10)}.journey-number{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:#e7eee2;color:#487363;font-size:24px;font-weight:900;margin-bottom:11px}.journey-name{font-weight:900;font-size:15px}.journey-tile small{margin-top:5px;color:#798982;font-size:11px;font-weight:700}.journey-started{border-color:#a6d3bb;background:#eef7ec}.journey-started .journey-number{background:#d0ead2;color:#286f4c}.journey-complete{border-color:#e9c369;background:#fff2ce}.journey-complete .journey-number{background:#f7d375;color:#66512a}.practice-heading{margin:58px 0 0}.practice-heading+.mode-grid{margin-top:21px}.result-next-step{max-width:480px;margin:0 auto 23px;border-radius:16px;background:#eaf4ec;padding:15px 18px;color:#3b7157;font-size:14px;line-height:1.6;font-weight:800}
@media(max-width:700px){.daily-card{grid-template-columns:auto 1fr;gap:14px;margin:31px 0 47px;padding:19px;border-radius:23px}.daily-icon{width:57px;height:57px;border-radius:17px;font-size:36px}.daily-copy h2{font-size:23px}.daily-copy p:last-child{font-size:12px}.daily-button{grid-column:1/-1;width:100%}.section-heading{display:block}.section-heading h2{font-size:25px}.section-heading>p{margin-top:8px}.journey-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-tile{min-height:129px;padding:13px}.journey-name{font-size:13px}.practice-heading{margin-top:44px}}

/* Brand icon: keep the same vector mark on every screen size. */
.brand .brand-mark{display:block;width:48px;height:48px;flex:none;border-radius:0;background:transparent;object-fit:contain}
@media(max-width:700px){.brand .brand-mark{width:42px;height:42px}}
