/* Picture-backed banners and clear teacher action cards on every screen size. */
.tn-dashboard .tn-hero{min-height:365px;margin-top:0;margin-bottom:17px}
.tn-dashboard .tn-hero picture{position:absolute;inset:0;height:100%;margin:0}
.tn-dashboard .tn-hero img{width:100%;height:100%;object-fit:cover;object-position:center}
.tn-dashboard .tn-hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,#f0f6fef5 0%,#f0f6fecc 42%,#f0f6fe00 67%)}
.tn-dashboard .tn-hero-copy{z-index:1;width:57%;padding:29px 34px;background:none;position:relative}
.tn-dashboard .tn-hero h1{font-size:clamp(21px,2vw,29px);line-height:1.8;margin:12px 0 0;color:#172d50;overflow-wrap:anywhere}
.tn-hero-subject{color:#637792;display:block;font-size:12px;line-height:1.8;margin:0 0 10px}
.tn-dashboard .tn-hero h2{font-size:clamp(28px,2.9vw,41px);margin:9px 0 11px;line-height:1.45}
.tn-dashboard .ac-utilities{margin:0 0 17px;display:flex;justify-content:flex-end}
.tn-dashboard .ac-utilities button{min-height:39px;font-size:11px;padding:8px 14px}
.tn-teacher-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:21px 0}
.tn-tool-card{display:flex;align-items:center;gap:13px;text-align:right;padding:21px 18px;background:#fff;border:1px solid #e1eaf6;border-radius:19px;min-width:0;min-height:126px;font-family:inherit;color:#1c3458;box-shadow:0 4px 16px #15284c05;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.tn-tool-icon{display:grid;place-items:center;width:51px;height:51px;flex-shrink:0;border-radius:16px;background:#eaf3ff;color:#0866ed}
.tn-tool-icon .p1-icon{width:29px;height:29px}.tn-tool-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}.tn-tool-copy b{font-size:14px;line-height:1.8}.tn-tool-copy small{color:#75859e;font-size:10px;line-height:1.9}
.tn-tool-card>.p1-icon{width:17px;color:#94a6c0}.tn-tool-card.review .tn-tool-icon{color:#b87b14;background:#fff5df}.tn-tool-card.video .tn-tool-icon{color:#058d7b;background:#e6f8f1}.tn-tool-card.tasks .tn-tool-icon{color:#7547c9;background:#f1eafe}.tn-tool-card.classes .tn-tool-icon{color:#087b9d;background:#e6f6fa}.tn-tool-card.check .tn-tool-icon{color:#cb6a37;background:#fff0e7}
.tn-tool-card:focus-visible{outline:3px solid #65a8ff;outline-offset:3px}
.ac-welcome-art,.ac-welcome-art.custom{min-height:455px;display:block;position:relative;background:#fffdf8}
.ac-welcome-art>img,.ac-welcome-art.custom>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-height:none;object-fit:cover;object-position:left center}
.ac-welcome-art:after,.ac-welcome-art.custom:after{display:block;background:linear-gradient(90deg,transparent 28%,#fffdf870 43%,#fffdf8ef 57%,#fffdf8 100%);z-index:-1}
.ac-welcome-art .ac-welcome-art-caption,.ac-welcome-art.custom .ac-welcome-art-caption{position:relative;right:auto;top:auto;bottom:auto;display:flex;width:53%;margin-right:0;margin-left:auto;min-height:455px;padding:27px 23px;gap:0;background:none;text-align:center}
.ac-welcome-art .ac-welcome-kicker{font-size:11px;padding:5px 12px;background:#ffffffb8;margin-bottom:13px}
.ac-welcome-art .ac-hero-name{font-size:53px;line-height:1.25}
.ac-welcome-art .ac-hero-slogan{font-size:43px;line-height:1.6;margin:1px 0 12px;white-space:normal;color:#091a50;letter-spacing:-1px}
.ac-welcome-art .ac-hero-promise{font-size:11px;padding:6px 14px;max-width:100%}
.ac-welcome-art .ac-banner-intro{font-size:12px;line-height:1.9;margin:15px 0;color:#5d6f87}
.ac-welcome-art .ac-welcome-actions{width:100%;flex-direction:row;gap:10px}
body .ac-welcome-art .ac-welcome-actions :is(.primary-btn,.secondary-btn){width:auto;min-height:46px;padding:10px 17px;font-size:12px;flex:1}
.ac-welcome-art .ac-welcome-hint{font-size:10px;margin-top:13px;color:#607089}
.ac-welcome-art .ac-hero-plane{right:2%;top:5%;bottom:auto;width:34px;height:40px}
.ac-welcome-art.custom .ac-hero-doodle{display:block}
.px-welcome-dialog{width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dfe8f6;border-radius:26px;background:#fff;color:#1c3458;padding:29px 30px 25px;text-align:center;box-shadow:0 20px 80px #0a245733;font-family:'Cairo',Tahoma,sans-serif}
.px-welcome-dialog::backdrop{background:#14264362;backdrop-filter:blur(4px)}
.px-welcome-close{position:absolute;left:15px;top:14px;border:0;border-radius:10px;width:35px;height:35px;background:#f0f4fb;color:#6d7b92;font-size:24px;cursor:pointer;font-family:inherit}
.px-welcome-art{position:relative;display:grid;place-items:center;margin:8px auto 16px;width:120px;height:115px;color:#0866ed;background:radial-gradient(ellipse,#eaf3ff 10%,#f5f9ff 61%,transparent 62%)}
.px-welcome-art svg{width:66px;height:66px;rotate:-7deg;position:relative;z-index:1}.px-welcome-star{position:absolute;top:4px;left:10px;color:#e3ad32;font-size:32px;rotate:12deg}.px-welcome-star.small{top:auto;bottom:5px;left:auto;right:12px;font-size:20px;color:#13a184}.px-welcome-orbit{position:absolute;inset:7px;border:1px dashed #baceeb;border-radius:50%;rotate:12deg}
.px-welcome-brand{font-size:11px;color:#0866ed;font-weight:800}.px-welcome-dialog h2{font-size:24px;line-height:1.75;margin:8px 0;color:#152d54;overflow-wrap:anywhere}.px-welcome-tagline{font-size:14px;color:#087c71;display:block;line-height:1.9}.px-welcome-dialog p{font-size:12px;color:#697b96;line-height:2;margin:12px 0 22px}.px-welcome-start{width:100%;justify-content:center;min-height:47px;font-size:13px;gap:14px}.px-welcome-support{display:inline-block;color:#667e96;text-decoration:none;font-size:10px;margin-top:16px;line-height:1.9}.px-welcome-support:hover{color:#0866ed}
.px-support-card{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e1eaf5;padding:21px 23px;border-radius:20px;margin:23px 0;min-width:0}.px-support-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:#e6f8ef;color:#087d69;font-size:26px;font-weight:800}.px-support-card>div{flex:1;min-width:0}.px-support-card h2{font-size:17px;margin:0 0 4px;color:#1c3458}.px-support-card p{font-size:11px;line-height:1.9;margin:0;color:#6a7d97}.px-support-card a{text-decoration:none;white-space:nowrap}.px-menu-support{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:15px;padding:9px 14px;border-radius:12px;background:#e7f8ef;color:#087d69;text-decoration:none;font-size:12px;font-weight:800}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.tn-tool-card:hover{transform:translateY(-4px);border-color:#b5cffa;box-shadow:0 12px 26px #15284c12}}
@media(prefers-reduced-motion:no-preference){.px-welcome-dialog[open]{animation:pxWelcomeIn .3s ease-out}.px-welcome-art svg{animation:pxBookIn .5s ease-out}}
@keyframes pxWelcomeIn{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes pxBookIn{from{scale:.8;rotate:-14deg}to{scale:1;rotate:-7deg}}
@media(max-width:1050px){.tn-dashboard .tn-hero-copy{width:62%;padding:27px}.tn-tool-card{padding:17px 14px;gap:10px}.tn-tool-icon{width:43px;height:43px;border-radius:13px}.tn-tool-copy b{font-size:12px}.tn-tool-card>.p1-icon{display:none}.ac-welcome-art .ac-hero-name{font-size:44px}.ac-welcome-art .ac-hero-slogan{font-size:36px}.ac-welcome-art .ac-welcome-art-caption{width:56%}}
@media(max-width:600px){
 .tn-dashboard .tn-hero{display:block;min-height:358px;border-radius:21px;margin-bottom:16px}
 .tn-dashboard .tn-hero picture{position:absolute;inset:0;height:100%;order:initial;margin:0}
 .tn-dashboard .tn-hero img{height:100%;object-fit:cover;object-position:25% center}
 .tn-dashboard .tn-hero:after{background:linear-gradient(270deg,#f0f6fef0 0%,#f0f6fee8 38%,#f0f6fe9c 68%,#f0f6fe35 100%)}
 .tn-dashboard .tn-hero-copy{width:100%;min-height:358px;padding:23px 21px;background:none;order:initial;text-shadow:0 1px 2px #fff9}
 .tn-dashboard .tn-hero h1{font-size:23px;line-height:1.65;margin-top:12px}.tn-hero-subject{font-size:10px;margin-bottom:8px}.tn-dashboard .tn-hero h2{font-size:29px;line-height:1.35;margin:10px 0}.tn-dashboard .tn-hero-copy p{font-size:11px;line-height:1.9;margin:0 0 17px;color:#3f5675}
 .tn-dashboard .tn-hero-actions{gap:8px;text-shadow:none}.tn-dashboard .tn-hero-actions button{font-size:11px;padding:10px 11px;min-height:43px;flex:1}
 .tn-teacher-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
 .tn-tool-card{flex-direction:column;align-items:flex-start;gap:11px;padding:17px 13px;min-height:151px;border-radius:16px}.tn-tool-copy{gap:5px;flex:1}.tn-tool-copy b{font-size:12px;line-height:1.9}.tn-tool-copy small{font-size:9px;line-height:1.8}.tn-tool-icon{width:43px;height:43px}.tn-tool-icon .p1-icon{width:25px;height:25px}
 .tn-dashboard .ac-utilities{margin:0 0 13px}.tn-dashboard .ac-utilities button{font-size:10px;padding:7px 10px}
 .ac-welcome-art,.ac-welcome-art.custom{min-height:423px;display:block;border-radius:21px}
 .ac-welcome-art>img,.ac-welcome-art.custom>img{position:absolute;inset:0;height:100%;width:100%;max-height:none;object-fit:cover;object-position:24% center;opacity:.86}
 .ac-welcome-art:after,.ac-welcome-art.custom:after{display:block;background:linear-gradient(270deg,#fffdf8f0 0%,#fffdf8df 40%,#fffdf8a8 70%,#fffdf860 100%)}
 .ac-welcome-art .ac-welcome-art-caption,.ac-welcome-art.custom .ac-welcome-art-caption{position:relative;inset:auto;min-height:423px;width:100%;padding:27px 20px;background:none}
 .ac-welcome-art .ac-welcome-kicker{font-size:10px;margin-bottom:16px}.ac-welcome-art .ac-hero-name{font-size:42px;line-height:1.3}.ac-welcome-art .ac-hero-slogan{font-size:30px;line-height:1.7;margin:2px 0 14px;letter-spacing:-.8px}.ac-welcome-art .ac-hero-promise{font-size:9px;padding:5px 10px;line-height:2}.ac-welcome-art .ac-banner-intro{font-size:11px;margin:17px 0}.ac-welcome-art .ac-welcome-actions{gap:9px;flex-direction:column}.ac-welcome-art .ac-welcome-hint{font-size:9px;margin-top:13px;color:#4d627c}
 body .ac-welcome-art .ac-welcome-actions :is(.primary-btn,.secondary-btn){width:100%;flex:auto;font-size:12px;min-height:45px;padding:10px 13px}.ac-welcome-art .ac-hero-plane{width:27px;height:32px;right:5%;top:6%;bottom:auto}.ac-welcome-art .ac-hero-bulb{width:31px;height:40px;top:7%;left:5%}
 .px-welcome-dialog{padding:27px 22px 23px;border-radius:22px}.px-welcome-dialog h2{font-size:22px}.px-welcome-dialog p{font-size:11px}.px-welcome-art{height:103px;margin-bottom:10px}.px-welcome-tagline{font-size:13px}
 .px-support-card{padding:18px 17px;flex-wrap:wrap;gap:11px}.px-support-card h2{font-size:15px}.px-support-card a{margin-right:55px;font-size:12px;min-height:43px}.px-menu-support{font-size:11px}
}
body.dark .tn-tool-card{background:#1a2d45;border-color:#334963;color:#e8f1ff}body.dark .tn-tool-copy small{color:#afc0d7}body.dark .px-welcome-dialog{background:#14243b;border-color:#334963;color:#e8f1ff}body.dark .px-welcome-dialog h2{color:#e8f1ff}body.dark .px-welcome-dialog p{color:#b9c8dc}body.dark .px-welcome-close{background:#213854;color:#c3d1e3}body.dark .ac-welcome-art .ac-hero-slogan{color:#091a50}body.dark .ac-welcome-art :is(.ac-banner-intro,.ac-welcome-hint){color:#4d627c}
body.dark .px-support-card{background:#1a2d45;border-color:#334963}body.dark .px-support-card h2{color:#e8f1ff}body.dark .px-support-card p{color:#b9c8dc}
@media(prefers-reduced-motion:reduce){.tn-tool-card,.px-welcome-dialog,.px-welcome-art svg{animation:none!important;transition:none!important}}
