.tutorial-catalog-page{background:var(--cream)}
.catalog-hero{display:grid;gap:44px;padding:50px 0 78px}
.catalog-hero h1{font:700 clamp(43px,10vw,72px)/1.04 'Fredoka';letter-spacing:-.03em;margin:12px 0 22px}
.catalog-hero h1 em{color:var(--purple);font-style:normal}
.catalog-hero>div:first-child>p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:17px}
.subject-orbit{position:relative;display:grid;place-items:center;min-height:330px;border-radius:32px;background:#ebe8ff;overflow:hidden}
.subject-orbit:before,.subject-orbit:after{content:'';position:absolute;border:2px dashed rgba(91,75,219,.24);border-radius:50%}
.subject-orbit:before{width:240px;height:240px}.subject-orbit:after{width:380px;height:380px}
.subject-orbit>strong{position:relative;z-index:2;display:grid;place-items:center;width:112px;height:112px;border-radius:35px;background:var(--purple);color:#fff;font:700 72px 'Fredoka';box-shadow:0 20px 38px rgba(91,75,219,.28);transform:rotate(4deg)}
.subject-orbit>small{position:absolute;left:50%;bottom:25px;z-index:3;transform:translateX(-50%);width:max-content;max-width:86%;font-weight:700;color:#4c4580}
.orbit-card{position:absolute;z-index:2;display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(43,35,104,.17);font:700 24px 'Fredoka'}
.orbit-card.math{left:12%;top:16%;color:var(--purple);transform:rotate(-8deg)}.orbit-card.force{right:12%;top:14%;background:var(--yellow);transform:rotate(10deg)}.orbit-card.apple{right:15%;bottom:19%;font-size:29px;transform:rotate(-7deg)}
.catalog-section{padding:76px 0 100px;scroll-margin-top:40px}.catalog-heading{display:grid;gap:10px;margin-bottom:34px}.catalog-heading h2,.note-panel h2{font:700 clamp(32px,7vw,48px)/1.12 'Fredoka';margin:6px 0}.catalog-heading>p{color:var(--muted);max-width:520px}
.tutorial-grid{display:grid;gap:22px}.tutorial-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 17px 40px rgba(43,35,104,.08);transition:transform .2s,box-shadow .2s}.tutorial-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card-visual{position:relative;display:grid;place-items:center;min-height:210px;background:#e9e6ff;overflow:hidden}.card-visual b{position:relative;z-index:2;font:700 50px 'Fredoka';color:var(--purple)}.parabola{position:absolute;width:210px;height:210px;border:8px solid var(--purple);border-top:0;border-radius:0 0 50% 50%;transform:translateY(-96px);opacity:.16}
.unit-visual{grid-template-columns:auto auto;align-content:center;gap:13px 20px;background:#dff5ef}.unit-visual b{font-size:39px;color:#146856}.unit-visual>span{position:relative;z-index:2;padding:7px 10px;border-radius:10px;background:#fff;color:#146856;font:700 18px 'Fredoka'}.mini-ruler{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-around;width:210px;height:45px;padding:7px 8px;border-radius:7px 7px 12px 12px;background:var(--yellow)}.mini-ruler:before,.mini-ruler:after,.mini-ruler i{content:'';width:3px;height:22px;background:#7d6400}.mini-ruler i:nth-child(even){height:13px}.unit-card-catalog .card-meta span{background:#dff5ef;color:#146856}
.fraction-visual{grid-template-columns:auto auto;gap:25px;background:#fff0d6}.fraction-visual b{font-size:41px;color:#bf4d3a}.mini-fraction-pieces{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:104px;height:104px;transform:rotate(-5deg)}.mini-fraction-pieces span,.mini-fraction-pieces i{border:3px solid #fff;border-radius:14px 5px 5px 5px;background:var(--coral)}.mini-fraction-pieces span:nth-child(2){border-radius:5px 14px 5px 5px}.mini-fraction-pieces span:nth-child(3){border-radius:5px 5px 5px 14px}.mini-fraction-pieces i{border-radius:5px 5px 14px 5px;background:#fff;border-color:#efd9b6}.fraction-card-catalog .card-meta span{background:#ffebe6;color:#a83e2e}
.properties-visual{grid-template-columns:auto auto auto;align-content:center;gap:10px;background:#e3f6e9;padding:24px}.properties-visual span{position:relative;z-index:2;padding:12px 14px;border-radius:15px;background:#fff;box-shadow:0 10px 20px rgba(40,93,61,.1);font:700 20px 'Fredoka';color:#275f3d}.properties-visual i{position:relative;z-index:2;font:700 28px 'Fredoka';font-style:normal;color:#34885e}.properties-visual b{grid-column:1/-1;font-size:31px;color:#226b47}.property-card-catalog .card-meta span{background:#e3f6e9;color:#236b45}
.trig-visual{background:#ece9ff}.trig-visual .mini-triangle{position:absolute;left:50%;top:50%;width:0;height:0;border-left:0 solid transparent;border-right:118px solid transparent;border-bottom:92px solid rgba(91,75,219,.18);transform:translate(-58%,-47%)}.trig-visual .mini-triangle:before{content:'';position:absolute;left:0;top:88px;width:118px;height:4px;background:#5b4bdb;transform-origin:left center}.trig-visual .mini-triangle:after{content:'';position:absolute;left:113px;top:0;width:4px;height:92px;background:#5b4bdb}.trig-visual b{transform:translate(-42px,-18px);font-size:34px}.trig-visual i{position:absolute;right:21%;bottom:35px;padding:7px 9px;border-radius:10px;background:#fff;color:#5b4bdb;font:700 16px 'Fredoka';font-style:normal;box-shadow:0 8px 18px rgba(57,45,125,.13)}.trig-card-catalog .card-meta span{background:#ece9ff;color:#5140b4}
.motion-visual{background:#dff2ff}.motion-visual span{position:absolute;left:16%;bottom:34px;z-index:2;font-size:47px}.motion-visual i{position:absolute;left:8%;right:8%;bottom:32px;height:5px;background:repeating-linear-gradient(90deg,#4b6071 0 35px,transparent 35px 58px)}.motion-visual b{font-size:34px;color:#1767ae;transform:translate(28px,-23px)}.motion-visual small{position:absolute;right:14%;bottom:33px;padding:6px 9px;border-radius:10px;background:#fff;color:#1767ae;font-weight:700}.motion-card-catalog .card-meta span{background:#dff2ff;color:#1767ae}
.electric-visual{background:#fff0c7}.electric-visual span{position:absolute;left:14%;bottom:34px;z-index:2;font-size:45px}.electric-visual i{position:absolute;left:21%;right:17%;bottom:55px;height:5px;border-radius:5px;background:#d98200}.electric-visual b{font-size:33px;color:#a76100;transform:translate(14px,-27px)}.electric-visual small{position:absolute;right:11%;bottom:27px;z-index:2;font-size:44px;filter:drop-shadow(0 0 11px #ffd84d)}.electric-card-catalog .card-meta span{background:#fff0c7;color:#985d00}
.newton-visual{background:#fff2c5}.newton-visual b{font-size:36px;color:#6b5200}.newton-visual i{position:absolute;right:15%;bottom:30px;color:var(--coral);font-style:normal;font-size:42px}.motion-line{position:absolute;right:19%;bottom:50px;width:48%;height:4px;background:repeating-linear-gradient(90deg,#b79416 0 15px,transparent 15px 24px)}
.card-body{padding:25px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-meta span{padding:5px 10px;border-radius:20px;background:#ebe8ff;color:var(--purple);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.science-card .card-meta span{background:#fff3c6;color:#826000}.card-meta small{color:var(--muted)}.card-body h3{font:700 31px 'Fredoka';margin:15px 0 8px}.card-body p{color:var(--muted);min-height:78px}.card-body .button{margin-top:10px}
.catalog-note{padding:72px 0;background:var(--purple)}.note-panel{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;color:#fff}.note-panel>span{display:grid;place-items:center;width:68px;height:68px;border-radius:22px;background:var(--yellow);font-size:33px}.note-panel .eyebrow{color:#d6d1ff}.note-panel p:last-child{color:#dedaff;max-width:680px}
.food-visual{display:flex;gap:10px;background:#dff5ef}.food-visual span{position:relative;z-index:2;font-size:42px}.food-visual i{position:relative;z-index:2;color:#16816e;font:700 25px 'Fredoka';font-style:normal}.food-card-catalog .card-meta span{background:#dff5ef;color:#146856}
.economy-visual{background:#ebe8ff}.economy-visual:before,.economy-visual:after{content:'';position:absolute;left:18%;width:64%;height:5px;border-radius:5px;transform-origin:center}.economy-visual:before{top:49%;background:#5b4bdb;transform:rotate(-27deg)}.economy-visual:after{top:49%;background:#ff806c;transform:rotate(27deg)}.economy-visual span{position:absolute;z-index:2;font:700 20px 'Fredoka'}.mini-demand{right:13%;bottom:17%;color:#5b4bdb}.mini-supply{right:13%;top:15%;color:#c34c3a}.economy-visual b{font-size:36px}.economy-card-catalog .card-meta span{background:#ebe8ff;color:#5140b4}
.ai-visual{display:flex;gap:10px;background:#e7e4ff}.ai-visual span{position:relative;z-index:2;font-size:35px}.ai-visual i{position:relative;z-index:2;color:#5140b4;font:700 22px 'Fredoka';font-style:normal}.ai-visual b{font-size:32px;color:#5140b4}.ai-card-catalog .card-meta span{background:#e7e4ff;color:#5140b4}
.digestion-visual{display:flex;gap:9px;background:#ffe9df}.digestion-visual span{position:relative;z-index:2;font-size:39px}.digestion-visual i{position:relative;z-index:2;color:#e96954;font:700 23px 'Fredoka';font-style:normal;transform:rotate(-90deg)}.digestion-card-catalog .card-meta span{background:#ffe9df;color:#a94432}
.schedule-visual{grid-template-columns:auto 1fr auto;align-content:center;gap:11px 15px;padding:28px;background:#e2f7ee}.schedule-visual:before{content:'';position:absolute;inset:25px 12%;border-radius:20px;background:#fff;box-shadow:0 14px 30px rgba(34,107,76,.12)}.schedule-visual span,.schedule-visual b,.schedule-visual small,.schedule-visual i{position:relative;z-index:2}.schedule-visual span{display:grid;place-items:center;width:48px;height:42px;border-radius:12px;background:#ddf4e9;color:#206a4d;font:700 13px 'Fredoka'}.schedule-visual b{font-size:21px;color:#275f49}.schedule-visual small{color:#275f49;font-weight:700}.schedule-visual i{grid-column:1/-1;justify-self:end;margin-right:5px;color:#fff;background:#42ad7c;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-style:normal}.schedule-card-catalog .card-meta span{background:#ddf4e9;color:#206a4d}
.attendance-visual{grid-template-columns:auto 1fr auto;align-content:center;gap:10px 13px;padding:28px;background:#dff5ef}.attendance-visual:before{content:'';position:absolute;inset:25px 12%;border-radius:20px;background:#fff;box-shadow:0 14px 30px rgba(28,98,74,.12)}.attendance-visual span,.attendance-visual b,.attendance-visual small,.attendance-visual i{position:relative;z-index:2}.attendance-visual span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#e9e6ff;color:#5b4bdb;font:700 12px 'Fredoka'}.attendance-visual b{font-size:19px;color:#275f49}.attendance-visual small{color:#128064;font-weight:700}.attendance-visual i{grid-column:1/-1;justify-self:end;display:grid;place-items:center;width:29px;height:29px;margin-right:5px;border-radius:50%;background:#128064;color:#fff;font-style:normal}.attendance-card-catalog .card-meta span{background:#dff5ef;color:#146856}
.calculus-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#eeeaff,#fff4c9)}
.calculus-visual:before{content:'';position:absolute;left:38px;right:38px;top:50%;height:2px;background:#443b70;box-shadow:-1px -62px 0 -0.5px #443b70;transform:rotate(0)}
.calculus-visual span{position:absolute;left:44px;bottom:42px;width:175px;height:105px;border:7px solid #5b4bdb;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-24deg)}
.calculus-visual i{position:absolute;left:52px;top:61px;width:175px;height:6px;background:#ff7062;border-radius:9px;transform:rotate(-25deg)}
.calculus-visual b{position:absolute;right:63px;top:38px;color:#278267;font:700 62px 'Fredoka'}
.calculus-visual small{position:absolute;right:38px;bottom:38px;padding:7px 10px;background:#fff;border-radius:10px;color:#5b4bdb;font:700 18px 'Fredoka'}
.calculus-card-catalog .card-meta span{background:#eeeaff;color:#4b3fc0}
@media(min-width:760px){.catalog-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:75px 0 105px}.tutorial-grid{grid-template-columns:1fr 1fr}.catalog-heading{grid-template-columns:1fr auto;align-items:end}.card-body{padding:29px}}
@media(min-width:1120px){.tutorial-grid{grid-template-columns:repeat(2,1fr)}.card-body h3{font-size:30px}}
@media(max-width:560px){.subject-orbit{min-height:290px}.subject-orbit:after{width:330px;height:330px}.subject-orbit>strong{width:94px;height:94px;font-size:60px}.orbit-card{width:54px;height:54px}.catalog-section{padding:62px 0 75px}.card-meta{align-items:flex-start;flex-direction:column}.card-body p{min-height:0}.note-panel{grid-template-columns:1fr}.note-panel>span{width:58px;height:58px}.properties-visual{gap:7px}.properties-visual span{font-size:17px;padding:10px}.properties-visual i{font-size:24px}.trig-visual b{font-size:30px;transform:translate(-30px,-18px)}.fraction-visual{gap:17px}.mini-fraction-pieces{width:90px;height:90px}}

.anatomy-visual{background:radial-gradient(circle at 50% 20%,#416f59,#163e3a)!important;color:#dbe8cb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.anatomy-visual span{font-size:80px;line-height:1}.anatomy-visual b{color:#dbe8cb;font-size:17px;letter-spacing:3px}.anatomy-visual small{font-size:10px;letter-spacing:2px;color:#b3c8aa}
/* Grouped lessons and progressively enhanced discovery controls. */
.catalog-filters{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:32px}.filter-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.filter-fields label{font-size:12px;font-weight:700;color:#514776}.filter-fields input,.filter-fields select{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;margin-top:7px;font:inherit;font-size:14px;color:var(--ink);background:#fbfafc;border:1px solid #d4cee5;border-radius:9px}.filter-fields input::placeholder{color:#858092}.filter-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px}.filter-summary p{font-size:13px;color:var(--muted);margin:0}.filter-summary button{font:inherit;font-size:12px;min-height:44px;padding:8px 12px;color:var(--purple);background:#f2efff;border:1px solid #dcd4f8;border-radius:9px;cursor:pointer}.level-note{font-size:11px;color:var(--muted);margin:12px 0 0}.ipa-topics{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.ipa-topics button{font:inherit;font-size:12px;border:1px solid #d6cfea;border-radius:22px;padding:9px 15px;min-height:44px;background:white;color:#60527f;cursor:pointer}.ipa-topics button[aria-pressed=true]{background:#5b4bdb;border-color:#5b4bdb;color:white}.catalog-group{margin:36px 0 55px}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;padding-bottom:13px;border-bottom:1px solid var(--line)}.group-heading h2{font:700 29px 'Fredoka';margin:0}.group-heading span{font-size:12px;color:var(--muted)}.catalog-filters[hidden],.catalog-group[hidden],.tutorial-card[hidden],.ipa-topics[hidden],.empty-results[hidden]{display:none}.empty-results{padding:35px;text-align:center;background:#f0edff;border-radius:16px}.empty-results h3{font:700 25px 'Fredoka';margin-top:0}.empty-results p{color:var(--muted);font-size:14px}.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px;border:1px solid #dcd5f1;border-radius:20px;background:#f0edff;margin-bottom:50px}.catalog-tools h2{font:700 25px 'Fredoka';margin:0 0 8px}.catalog-tools p{font-size:14px;color:var(--muted);margin:0}.catalog-tools .button{flex:none;font-size:13px}.tutorial-catalog-page :is(input,select,button,a):focus-visible{outline:3px solid #c58c27;outline-offset:3px}.catalog-hero{padding-bottom:35px!important}.catalog-section{padding-top:35px;padding-bottom:20px}.subject-orbit{max-height:320px}.catalog-tools[hidden]{display:none}
@media(max-width:760px){.filter-fields{grid-template-columns:1fr 1fr;gap:12px}.search-field{grid-column:1/-1}.catalog-filters{padding:20px}.catalog-tools{display:block;padding:24px}.catalog-tools .button{margin-top:20px}.catalog-heading h2{font-size:32px}.catalog-hero{display:block;padding-top:30px!important}.catalog-hero .subject-orbit{display:none}.catalog-group{margin-bottom:38px}}
@media(max-width:400px){.catalog-filters{padding:16px}.filter-fields input,.filter-fields select{font-size:12px;padding:10px 8px}.filter-summary p{font-size:11px}.ipa-topics button{font-size:11px;padding:9px 11px}.catalog-tools .button{width:100%;font-size:12px}}
