.learning-hub{max-width:1160px;margin:0 auto;color:var(--ink,var(--kt-25382f))}
.learning-hub *{box-sizing:border-box}
.hub-heading{margin-bottom:26px}
.hub-eyebrow{margin:0 0 8px;color:var(--kt-587065);font-size:11px;font-weight:750;letter-spacing:1.1px;line-height:1.5}
.hub-heading h1{font-size:clamp(29px,3.3vw,39px);letter-spacing:-1.15px;margin:0 0 10px;line-height:1.15}
.hub-heading>p:last-child{font-size:15px;line-height:1.65;color:var(--kt-607168);margin:0;max-width:720px}
.hub-icon{display:inline-block;width:22px;height:22px;flex:0 0 auto;vertical-align:middle}
.hub-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(170px,.65fr);align-items:center;gap:20px;background:var(--ks-e5f2e9);border:1px solid var(--ks-d3e7da);border-radius:25px;padding:32px 36px;margin-bottom:36px;overflow:hidden;position:relative}
.hub-hero-copy{position:relative;z-index:1;min-width:0}
.hub-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:30px;background:var(--ks-fff9);color:var(--kt-365e48);font-weight:700;font-size:11px;line-height:1.5}
.hub-pill .hub-icon{width:15px;height:15px}
.hub-hero h2{font-size:clamp(28px,3.4vw,39px);letter-spacing:-1.1px;line-height:1.15;margin:16px 0 14px;font-weight:800}
.hub-hero-copy p{font-size:14px;line-height:1.7;max-width:530px;color:var(--kt-496353);margin:0 0 20px}
.learning-hub .button{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:12px 17px;min-height:45px;border-radius:12px;line-height:1.35;font-size:13px}
.learning-hub .button .hub-icon{width:18px;height:18px}
.hub-hero-art{display:grid;place-items:center;min-height:205px;position:relative}
.hub-art-orbit{position:absolute;width:205px;height:205px;border:1px dashed var(--ks-b7d4c1);border-radius:50%;transform:rotate(-20deg)}
.hub-art-orbit:before{content:"";position:absolute;inset:21px;border:1px solid var(--ks-cce2d3);border-radius:50%}
.hub-art-medallion{display:grid;place-items:center;width:124px;height:138px;border:7px solid var(--ksk-fff);border-radius:28px;background:var(--ksk-b9d8c2);transform:rotate(-9deg);box-shadow:8px 10px 0 var(--ksk-bedac8);z-index:1;color:var(--ktk-356746)}
.hub-art-medallion>.hub-icon{width:67px;height:67px;stroke-width:1.35}
.hub-art-spark{position:absolute;display:grid;place-items:center;background:var(--ks-fff);border-radius:13px;color:var(--kt-bc6851);box-shadow:0 4px 0 var(--ks-d5e6d9);width:43px;height:43px;z-index:2}
.hub-art-spark.one{top:2px;right:18px;transform:rotate(12deg)}
.hub-art-spark.two{bottom:10px;left:10px;width:34px;height:34px;transform:rotate(-12deg)}
.hub-art-spark.two .hub-icon{width:17px;height:17px}
.hub-art-note{position:absolute;bottom:4px;right:-3px;background:var(--ks-fff8e6);color:var(--kt-6e6037);padding:8px 14px;border-radius:9px;transform:rotate(6deg);font-size:12px;font-weight:700;z-index:3}
.hub-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.hub-section-heading h2{margin:0;font-size:20px;letter-spacing:-.45px;line-height:1.3}
.hub-section-heading>span{font-size:12px;color:var(--kt-6c7b70)}
.hub-section-heading>a{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;font-size:12px;color:var(--kt-37674f);font-weight:700}
.hub-section-heading>a .hub-icon{width:16px;height:16px}
.hub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:36px}
.hub-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--ks-fff);border:1px solid var(--ks-e1e7df);border-radius:18px;padding:24px;min-width:0;box-shadow:0 3px 0 var(--ks-edf0e9)}
.hub-card-icon{display:grid;place-items:center;background:var(--ks-e9f3ec);color:var(--kt-397056);width:44px;height:44px;border-radius:13px;margin-bottom:17px}
.hub-card.hub-coral .hub-card-icon{background:var(--ks-ffebe5);color:var(--kt-b16c54)}
.hub-card.hub-sand .hub-card-icon{background:var(--ks-fbf1d6);color:var(--kt-987839)}
.hub-card h3{font-size:17px;letter-spacing:-.3px;line-height:1.4;margin:0 0 8px}
.hub-card p{font-size:13px;color:var(--kt-68766a);line-height:1.7;margin:0 0 20px}
.hub-card .hub-card-status{font-size:11px;font-weight:650;color:var(--kt-58705f);padding:8px 0 0;border-top:1px solid var(--ks-eef1ec);width:100%;margin:0 0 18px}
.hub-card-link{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;margin-top:auto;color:var(--kt-34694c);font-size:12px;font-weight:750;text-decoration:none;line-height:1.5}
.hub-card-link .hub-icon{width:18px;height:18px}
.hub-card-link:hover{text-decoration:underline;text-underline-offset:4px}
.hub-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.hub-chapter{background:var(--ks-fff);border:1px solid var(--ks-e1e7df);border-radius:14px;min-width:0;overflow:hidden}
.hub-chapter summary{display:flex;align-items:center;gap:12px;padding:17px;list-style:none;cursor:pointer;min-height:86px}
.hub-chapter summary::-webkit-details-marker{display:none}
.hub-chapter summary:hover{background:var(--ks-f5f9f5)}
.hub-chapter-number{display:grid;place-items:center;width:34px;height:38px;flex:0 0 34px;background:var(--ks-f0f4ed);color:var(--kt-67816c);border-radius:9px;font-size:11px;font-weight:750}
.hub-chapter-name{font-size:13px;line-height:1.5;font-weight:650;min-width:0;flex:1}
.hub-chapter-name small{display:block;font-size:11px;font-weight:400;color:var(--kt-7b887e);margin-top:2px}
.hub-chapter-toggle{font-size:22px;color:var(--kt-72937a);width:16px;flex:0 0 16px;text-align:center}
.hub-chapter[open] .hub-chapter-toggle{transform:rotate(45deg)}
.hub-chapter ul{padding:0 17px;margin:0;list-style:none;border-top:1px solid var(--ks-e9eee7)}
.hub-chapter li+li{border-top:1px solid var(--ks-edf0e9)}
.hub-chapter li a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--kt-344e3e);text-decoration:none;padding:13px 0;font-size:12px;line-height:1.5}
.hub-chapter li a:hover{text-decoration:underline;text-underline-offset:3px}
.hub-chapter li a small{display:block;color:var(--kt-7c877e);font-size:10px;margin-top:3px}
.hub-chapter li .hub-icon{width:16px;height:16px}
.hub-chapter-course{display:flex;align-items:center;gap:8px;background:var(--ks-f6f8f3);padding:12px 17px;color:var(--kt-647d65);font-size:11px;font-weight:650;text-decoration:none}
.hub-chapter-course .hub-icon{width:16px;height:16px}
.hub-revision-hero{background:var(--ks-edf3e9);border-color:var(--ks-e0e9da)}
.hub-hero-copy .hub-secondary-link{margin:12px 0 0;font-size:12px}
.hub-secondary-link a{color:var(--kt-4b735a);text-underline-offset:3px}
.hub-tip{display:flex;align-items:center;gap:17px;padding:23px;background:var(--ks-fff);border:1px solid var(--ks-e1e7df);border-radius:17px}
.hub-tip>.hub-icon{width:29px;height:29px;color:var(--kt-749175)}
.hub-tip>div{flex:1;min-width:0}
.hub-tip h2{font-size:15px;letter-spacing:-.2px;margin:0 0 5px}
.hub-tip p{font-size:12px;line-height:1.65;color:var(--kt-748070);margin:0;max-width:580px}
.hub-tip>a{display:flex;align-items:center;gap:7px;color:var(--kt-3e7052);font-size:12px;font-weight:700;flex:0 0 auto}
.hub-tip>a .hub-icon{width:16px;height:16px}
.hub-notice{padding:15px 18px;background:var(--ks-fff1e8);border:1px solid var(--ks-efd7c4);border-radius:12px;color:var(--kt-80573e);font-size:13px;line-height:1.7}
.hub-retry{background:transparent;border:0;padding:7px 4px;color:var(--kt-39694d);text-decoration:underline;cursor:pointer;font:inherit;font-weight:700}
.learning-hub a:focus-visible,.learning-hub summary:focus-visible,.learning-hub button:focus-visible{outline:3px solid var(--ks-467857);outline-offset:4px}
@media(min-width:1000px){.hub-hero-art{margin:0 20px}}
@media(max-width:1050px){.hub-card{padding:20px}.hub-card-grid{gap:12px}.hub-card h3{font-size:15px}.hub-card-link{font-size:11px}.hub-hero{padding:28px}.hub-tip{flex-wrap:wrap}.hub-tip>a{margin-left:46px}}
@media(max-width:850px){.hub-card-grid{grid-template-columns:1fr}.hub-card{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:15px;padding:20px}.hub-card-icon{grid-column:1;grid-row:1/4;width:42px;height:42px;margin:0}.hub-card h3,.hub-card p,.hub-card-link{grid-column:2}.hub-card p{margin-bottom:12px}.hub-card h3{font-size:17px}.hub-card-link{justify-content:flex-start;font-size:12px}.hub-hero{grid-template-columns:minmax(0,1fr) 160px;gap:8px;padding:26px}.hub-art-orbit{width:170px;height:170px}.hub-art-medallion{width:102px;height:120px}.hub-art-medallion>.hub-icon{width:55px;height:55px}.hub-art-spark.one{right:0;top:9px}.hub-art-spark.two{left:0}.hub-chapters{grid-template-columns:1fr}}
@media(max-width:560px){.hub-heading{margin-bottom:20px}.hub-heading h1{font-size:31px}.hub-heading>p:last-child{font-size:13px}.hub-eyebrow{font-size:9px;letter-spacing:.8px}.hub-hero{grid-template-columns:1fr;padding:24px 21px;border-radius:21px;margin-bottom:27px}.hub-hero-art{display:none}.hub-hero h2{font-size:31px;line-height:1.17}.hub-hero-copy p{font-size:13px}.learning-hub .button{font-size:12px;max-width:100%;gap:8px}.hub-section-heading{align-items:flex-start;flex-wrap:wrap;gap:6px}.hub-section-heading h2{font-size:19px}.hub-section-heading>span{display:none}.hub-card-grid{margin-bottom:28px}.hub-card{padding:20px 16px;column-gap:13px}.hub-card h3{font-size:16px}.hub-card p{font-size:12px}.hub-chapter summary{gap:10px;padding:14px;min-height:80px}.hub-chapter-name{font-size:12px}.hub-tip{padding:20px 17px;gap:13px}.hub-tip>div{flex-basis:calc(100% - 46px)}.hub-tip>a{margin-left:42px}.hub-chapter li a{font-size:11px}}

/* The same subject choices stay visible across challenges and memory cards. */
.curriculum-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.curriculum-tabs a { display:inline-flex; align-items:center; min-height:42px; padding:10px 17px; border:1px solid var(--ks-d9e3d5); border-radius:14px; background:var(--ks-fff); color:var(--kt-4b6144); font-size:12px; font-weight:650; text-decoration:none; }
.curriculum-tabs a[aria-current="page"] { color:var(--kt-fff); background:var(--ks-3d6546); border-color:var(--ks-3d6546); box-shadow:0 3px 0 var(--ks-294d31); }
.curriculum-tabs a:hover { border-color:var(--ks-7b9979); }
.curriculum-tabs a:focus-visible { outline:3px solid var(--ks-467857); outline-offset:4px; }
@media(max-width:560px) { .curriculum-tabs { gap:7px; } .curriculum-tabs a { padding:10px 12px; font-size:11px; } }
