:root{--ink:#252440;--muted:#74718a;--purple:#6655d9;--border:#e9e7f2;--bg:#f6f5fb}*{box-sizing:border-box}body{margin:0;font:15px 'Trebuchet MS',Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}button,a{touch-action:manipulation}a{color:var(--purple)}h1,h2,h3,.brand{font-family:'Trebuchet MS',Arial,sans-serif}h1{font-size:38px;line-height:1.15;letter-spacing:-1.4px;margin:12px 0}h2{font-size:23px;letter-spacing:-.6px;margin:0 0 10px}h3{margin:0;font-size:18px}p{color:var(--muted);line-height:1.6}header{height:82px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));gap:25px}.brand{text-decoration:none;color:var(--ink);font-size:23px;font-weight:700;white-space:nowrap;letter-spacing:-1px}.brand i{font-style:normal;background:var(--purple);color:white;border-radius:12px;padding:9px 11px;margin-right:9px}nav{display:flex;gap:7px}.nav{border:0;background:none;padding:11px 15px;color:var(--muted);border-radius:9px;font-size:14px}.nav.active{background:#eeebff;color:var(--purple);font-weight:700}.who{display:flex;align-items:center;gap:9px;font-size:13px}.avatar{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;background:#efe9ff;color:var(--purple);border-radius:12px;font-weight:800}.layout{max-width:1240px;margin:30px auto 60px;padding:0 24px;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:25px}.main{min-width:0}.hero{background:#6655d9;color:white;border-radius:23px;padding:32px;position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero p{color:#e3defb;max-width:480px;margin-bottom:0}.hero .eyebrow{color:#d7cffc}.heroArt{font-size:72px;transform:rotate(-10deg);filter:drop-shadow(3px 8px 0 #41369344);padding:10px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:var(--muted)}.stats{display:flex;gap:12px;margin:18px 0 30px}.stat{background:white;border:1px solid var(--border);border-radius:13px;padding:16px;flex:1;display:flex;align-items:center;gap:12px}.stat strong{font-family:'Trebuchet MS';font-size:25px;display:block}.stat small{color:var(--muted);font-size:11px}.stat .ico{font-size:22px}.sectionline{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px;gap:15px}.sectionline h2{margin:0}.pill{background:#efecfb;color:#73629f;border-radius:30px;padding:6px 10px;font-size:10px;font-weight:bold}.subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.subject{border:0;border-radius:17px;padding:20px 18px;text-align:left;position:relative;min-height:144px;color:#36304b;transition:transform .17s,box-shadow .17s}.subject:hover{transform:translateY(-4px);box-shadow:0 10px 20px #372b6014}.subject .emoji{font-size:29px;display:block;margin-bottom:13px}.subject b{display:block;font-size:15px;margin-bottom:7px}.subject small{font-size:10px;opacity:.7}.subject .arrow{position:absolute;right:17px;top:19px;opacity:.5}.panel{background:white;border:1px solid var(--border);border-radius:19px;padding:23px;margin-bottom:20px}.side .panel h2{font-size:18px}.clubpeople{display:flex;gap:10px;margin-top:16px}.person{text-align:center;flex:1;font-size:10px;color:var(--muted)}.person .avatar{display:flex;margin:0 auto 9px;width:46px;height:46px;border-radius:16px;font-size:17px}.Olivia{background:#ffebf2;color:#c45c80}.Karina{background:#e4f3ff;color:#397eaa}.Armaan{background:#fff0cc;color:#aa7b24}.board select{width:100%;border:1px solid var(--border);background:#f9f8fc;border-radius:9px;padding:10px;margin:8px 0 15px;font-size:11px;color:var(--ink)}.boardrow{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f0eef7}.boardrow:last-child{border:0}.boardrow strong{font-size:12px}.boardrow small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.boardrow .score{margin-left:auto;font-size:17px;font-weight:700}.rank{width:19px;font-weight:800;color:#a49aad}.board .note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:13px}.empty{padding:25px;text-align:center;background:#f8f7fc;border:1px dashed #dcd6f1;border-radius:13px;color:var(--muted);font-size:13px;line-height:1.8}.tip{background:#fff5d9;border-color:#f2e5bb}.tip p{font-size:12px;margin-bottom:0;color:#897544}.assign{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.assign:last-child{border-bottom:0}.assign .bubble{border-radius:12px;background:#eeeafd;font-size:24px;padding:13px}.assign h3{font-family:'DM Sans';font-size:14px}.assign p{font-size:11px;margin:5px 0}.assign .action{margin-left:auto}.action,.primary{border:0;background:var(--purple);color:white;padding:11px 16px;border-radius:10px;font-size:12px;font-weight:700;white-space:nowrap}.primary{font-size:14px;padding:14px 22px}.secondary{border:1px solid var(--border);background:white;color:var(--ink);padding:11px 15px;border-radius:10px;font-size:12px}.back{background:none;border:0;color:var(--purple);padding:0;margin:0 0 20px;font-size:13px}.search{padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:white;width:100%;margin-bottom:10px}.full{max-width:1080px;margin:35px auto;padding:0 24px}.loginwrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 15% 10%,#e8e2ff,transparent 60%),radial-gradient(ellipse at 100% 90%,#ffe7ef,transparent 60%),#f6f5fb}.login{max-width:480px;width:100%;background:white;padding:38px;border:1px solid white;border-radius:25px;box-shadow:0 20px 80px #51427c12}.login h1{font-size:34px}.login label{display:block;font-weight:600;font-size:12px;margin:20px 0 9px}.login input,.login select{width:100%;border:1px solid #dcd7ea;background:#faf9fd;padding:14px;border-radius:10px}.login .primary{width:100%;margin-top:22px}.login small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:20px}.error{color:#a92a50;font-size:12px}.testhead{display:flex;justify-content:space-between;align-items:center;gap:20px}.progressbar{height:7px;border-radius:30px;background:#e5dff5;overflow:hidden;margin:20px 0}.progressbar span{display:block;height:100%;background:var(--purple)}.quizlayout{display:grid;grid-template-columns:1fr 230px;gap:20px}.qcard{padding:32px}.qtext{font-size:21px;color:var(--ink);line-height:1.6;margin:20px 0}.options{display:grid;gap:12px}.option{display:flex;gap:12px;align-items:center;width:100%;padding:17px;border:1px solid #e0dcea;border-radius:12px;background:white;text-align:left;line-height:1.5;color:var(--ink)}.option[aria-pressed=true]{border:2px solid var(--purple);background:#f3f0ff;padding:16px}.letter{border-radius:7px;background:#f1eff8;padding:5px 9px;color:#8a7aa3;font-size:12px}.answerinput{font-size:22px;border:2px solid #ddd5f3;border-radius:12px;padding:17px;width:100%}.qnav{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.qgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.qgrid button{padding:8px 0;border:1px solid var(--border);border-radius:7px;background:white;font-size:10px}.qgrid button.answered{background:#e7f4eb;color:#388055}.qgrid button.current{outline:2px solid var(--purple)}.saveinfo{font-size:11px;color:var(--muted);min-height:20px}.resulttop{text-align:center;background:#efeaff;padding:30px;border-radius:20px;margin-bottom:25px}.bigscore{font-family:'Trebuchet MS';font-size:70px;color:var(--purple);font-weight:700}.resulttop h1{font-size:28px}.review{border-left:4px solid #65aa81}.review.wrong{border-left-color:#e79866}.review p{font-size:13px}.review .rightanswer{color:#357d59;font-weight:700}.review .explanation{color:var(--ink);line-height:1.8;font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap}.loading{padding:50px;color:var(--muted);text-align:center}.help p,.help li{font-size:14px;line-height:1.8;color:var(--muted)}.help h2{margin-top:28px}.foot{font-size:10px;color:#9691a8;text-align:center;margin:30px 0}.testdialog{border:1px solid var(--border);border-radius:20px;max-width:430px;padding:30px;box-shadow:0 20px 100px #0002}.testdialog::backdrop{background:#24203966}.testdialog p{font-size:14px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 22px;border-radius:12px;font-size:13px;z-index:10;max-width:90%}[hidden]{display:none!important}:focus-visible{outline:3px solid #e8b948;outline-offset:4px}@media(max-width:1000px){header{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.heroArt{display:none}.subject{padding:17px 13px}.who span.name{display:none}.stats .stat{padding:12px}.stats .ico{display:none}}@media(max-width:760px){header{height:auto;padding:18px;flex-wrap:wrap;gap:17px}.brand{font-size:20px}nav{order:3;justify-content:center;width:100%;border-top:1px solid var(--border);padding-top:12px}.nav{padding:8px 13px}.who{margin-left:auto}.layout{grid-template-columns:1fr;padding:0 18px;margin-top:20px}.side{display:grid;grid-template-columns:1fr}.hero{padding:25px}h1{font-size:30px}.subjects{gap:9px}.subject{min-height:135px}.subject b{font-size:12px}.subject small{font-size:9px}.stat{gap:5px}.stat strong{font-size:22px}.stat small{font-size:9px}.panel{padding:20px}.assign{gap:10px}.assign .bubble{padding:9px;font-size:20px}.assign h3{font-size:12px}.assign p{font-size:10px}.action{padding:10px}.quizlayout{grid-template-columns:1fr}.quizlayout aside{order:2}.qcard{padding:22px}.qtext{font-size:18px}.full{padding:0 18px;margin-top:22px}.testhead h1{font-size:25px}.qgrid{grid-template-columns:repeat(10,1fr)}.login{padding:28px}.login h1{font-size:30px}}@media print{header,.actions,.qnav,.back,.side,#toast,.testdialog{display:none!important}body{background:white}.full{max-width:none}.review{break-inside:avoid}.panel{border:1px solid #ccc;box-shadow:none}.bigscore{font-size:40px}}
/* A brighter, playful study club. */
:root{--ink:#29204f;--muted:#71668e;--purple:#7351ee;--border:#e8defc;--bg:#fffaf3}body{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;background-color:#fffaf3;background-image:radial-gradient(#eadff7 1px,transparent 1px);background-size:20px 20px}h1,h2,h3,.brand{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif}header{border-bottom:3px solid #ede2ff;background:#fff}.brand i{background:#ff8267;border:2px solid #ffb39a;box-shadow:0 4px 0 #ffded0;color:white}.nav{font-weight:700}.nav.active{background:#ffe282;color:#63472a;border:1px solid #ffd25b}.avatar{border:2px solid white;box-shadow:0 3px 0 #e6def7}.hero{background:#ffdc66;color:#39275c;border:2px solid #ffcb43;box-shadow:0 7px 0 #ffeab0;border-radius:28px}.hero .eyebrow{color:#81581c}.hero p{color:#765936}.hero h1{font-size:42px;font-weight:800}.heroArt{font-size:86px;filter:drop-shadow(3px 7px 0 #b66b2033)}.hero:after{content:'✦';position:absolute;right:190px;top:21px;font-size:30px;color:#fff4ba;transform:rotate(20deg)}.hero:before{content:'✧';position:absolute;right:27px;bottom:16px;font-size:45px;color:#a37ceb}.stats{margin-top:24px}.stat{border:2px solid #efe5ff;border-radius:18px;box-shadow:0 4px 0 #eee4fa}.stat:first-child{background:#effbf7;border-color:#ccf0e4}.stat:nth-child(2){background:#fff0f4;border-color:#ffd4e1}.stat:nth-child(3){background:#edf5ff;border-color:#d1e4ff}.stat .ico{background:#fff;border-radius:12px;padding:8px}.subject{border:2px solid #fff;border-radius:23px;box-shadow:0 5px 0 #41316918;padding:20px;min-height:164px}.subject:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 11px 0 #41316916}.subject .emoji{display:grid;place-items:center;width:55px;height:55px;font-size:33px;background:#ffffffb5;border-radius:19px;box-shadow:0 3px 0 #ffffff5c;transform:rotate(-5deg);margin-bottom:15px}.subject b{font-size:17px;font-weight:800}.subject small{font-size:10px;color:#44345e;opacity:.85}.subject .arrow{background:#fff9;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;color:#44345e;opacity:1}.panel{border:2px solid #eae1fa;border-radius:23px;box-shadow:0 5px 0 #ede5f533}.side .panel:first-child{background:#efe9ff;border-color:#ded0ff}.clubpeople .avatar{width:52px;height:52px;border-radius:19px;font-size:22px}.person{font-weight:700;font-size:11px}.Olivia{background:#ffcee1;color:#a13267}.Karina{background:#bce7ff;color:#266691}.Armaan{background:#ffe597;color:#88621f}.board{background:#fff;border-color:#e2d7fc}.board h2{font-size:21px!important}.board select{background:#f6f0ff;border:1px solid #dfd0f9;padding:12px;border-radius:13px}.score{color:#7b4ad3}.rank{color:#c29327}.tip{background:#e2f8ef;border-color:#b5e9d5}.tip p{color:#447962}.pill{background:#eee3ff;color:#8055b6;font-weight:800;padding:7px 12px}.assign .bubble{background:#ffe3f0;color:#b6477d;border:1px solid #ffcde1}.action,.primary{background:#7954ee;box-shadow:0 4px 0 #5433b9;border-radius:13px;padding:12px 18px;transition:transform .15s}.action:hover,.primary:hover{background:#6942dc;transform:translateY(-2px)}.action:active,.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #5433b9}.secondary{border:2px solid #e8def6;border-radius:12px;background:#fff}.resulttop{background:#e5f9ef;border:2px solid #b7ead4;box-shadow:0 7px 0 #d2f2e3}.bigscore{color:#328562}.resulttop .eyebrow{color:#31815e}.review{border-left:6px solid #65bb92}.review.wrong{border-left-color:#ffad76}.option{border:2px solid #eae2f6;border-radius:16px;padding:17px}.option[aria-pressed=true]{background:#eee6ff;padding:17px;border-color:#8657ef}.letter{background:#f1e6fc;border-radius:9px;font-weight:800}.option[aria-pressed=true] .letter{background:#8b5be8;color:white}.answerinput{background:#fffefa;border-radius:16px;border-color:#daccf7}.loginwrap{background:radial-gradient(ellipse at 10% 10%,#ffe5ad,transparent 50%),radial-gradient(ellipse at 100% 90%,#e1caff,transparent 50%),#fff6e8}.login{border:3px solid white;border-radius:32px;box-shadow:0 14px 0 #e6d7f455}.login .brand{font-size:25px}.login .eyebrow{color:#bd7b2e}.login h1{color:#6149b1}.qcard{background:#fff;border-color:#e0d1fc}.testhead .pill{background:#ffdf82;color:#795b20}.qgrid button.answered{background:#c9f2dd;color:#2b7351}.search{border:2px solid #e6daf9;border-radius:15px}.empty{background:#f7f1ff;border:2px dashed #d7bef9;padding:35px 20px}.foot{color:#a28eb2}.testdialog{border:3px solid #e8d8ff;border-radius:25px}button:focus-visible,a:focus-visible{outline:3px solid #ffb337;outline-offset:4px}@media(max-width:760px){.hero h1{font-size:33px}.hero{border-radius:23px}.hero:after{right:25px;top:16px;font-size:24px}.hero:before{display:none}.subject{padding:14px 11px;min-height:154px;border-radius:19px}.subject .emoji{width:45px;height:45px;font-size:27px;margin-bottom:14px;border-radius:15px}.subject b{font-size:13px}.subject small{font-size:9px}.subject .arrow{right:8px;top:10px;width:19px;height:19px;font-size:12px}.stats{gap:8px}.stat{padding:12px 9px}.stat strong{font-size:22px}.brand{font-size:19px}.heroArt{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Printable study shelf */
.librarybanner{display:flex;align-items:center;gap:18px;padding:24px;margin:24px 0;background:#fff1b8;border:2px solid #dbc376;border-radius:24px;flex-wrap:wrap}.librarybanner>span{font-size:38px}.librarybanner>div{flex:1;min-width:180px}.librarybanner h2{margin:0 0 7px;font-size:21px}.librarybanner p{margin:0;font-size:13px}.libraryhero{background:#ddcaff!important;color:#352d50!important}.libraryhero p{color:#51446c!important}.librarycount{text-align:center;font-size:56px;font-weight:900;padding:0 28px;line-height:1}.librarycount small{font-size:12px}.librarytools{margin:26px 0 12px}.chapterfilters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.chapterfilters [aria-pressed=true]{background:#6345b8;color:white;border-color:#6345b8}.librarynote{background:#e6f7f0;border-radius:16px;padding:16px;font-size:13px;line-height:1.7}.materialgroup .sectionline p{font-size:13px;margin:7px 0}.materialgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.materialcard{background:white;border:2px solid #e8dff8;border-radius:22px;padding:23px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 5px 0 #eee8f8}.materialgroup[data-group="4"] .materialcard{border-top:7px solid #ffb988}.materialgroup[data-group="5"] .materialcard{border-top:7px solid #b6a0f0}.materialgroup[data-group="extra"] .materialcard{border-top:7px solid #8cdab4}.materialcard h3{font-size:18px;line-height:1.4;margin:16px 0 5px}.materialcard p{font-size:13px;line-height:1.7;flex:1}.materialcard small{color:#74667e;font-size:12px}.materialactions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.materialactions a{text-decoration:none;font-size:12px;display:inline-flex;align-items:center}.materialcard[hidden],.materialgroup[hidden]{display:none}@media(max-width:1000px){.materialgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.materialgrid{grid-template-columns:1fr}.librarycount{display:none}.librarybanner .primary{width:100%}.studyLibrary .hero h1{font-size:30px}.chapterfilters .secondary{font-size:12px;padding:10px}.materialcard{padding:20px}} 

.materialgroup[data-group=review] .materialcard{border-top:7px solid #8cdab4}.materialgroup[data-group=tests] .materialcard{border-top:7px solid #ffb988}.materialgroup[data-group=food] .materialcard{border-top:7px solid #8acfe9}

.materialgroup[data-group=global] .materialcard,.materialgroup[data-group=week6] .materialcard{border-top:7px solid #8acfe9}.materialgroup[data-group=lesson4] .materialcard{border-top:7px solid #8cdab4}.materialgroup[data-group=identity] .materialcard{border-top:7px solid #ffb988}

.printlink{text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.assign .printlink{margin-left:auto;font-size:12px}.assign .printlink+.action{margin-left:0}@media(max-width:600px){.assign{flex-wrap:wrap}.assign .printlink{margin-left:0}.testhead{flex-wrap:wrap;gap:12px}}
.dueDateBadge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;flex:0 0 58px;width:58px;min-height:62px;padding:5px;border:2px solid #e3d9ff;border-radius:13px;background:#fff9e9;color:#513c93;text-align:center;font-variant-numeric:tabular-nums}
.dueDateBadge span{font-size:10px;line-height:1.2;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.dueDateBadge strong{font-size:25px;line-height:1.15;font-weight:900}

.login .brand{font-size:clamp(20px,5vw,27px);letter-spacing:-.8px}@media(max-width:760px){header .brand{font-size:17px;letter-spacing:-.6px}header .brand i{padding:7px;margin-right:6px}}

.login label.rememberDevice{display:flex;align-items:center;gap:10px;margin:18px 0 6px;font-size:13px;cursor:pointer}.login .rememberDevice input{width:18px;height:18px;margin:0;accent-color:#7954ee;flex-shrink:0}.login .rememberHint{display:block;font-size:11px;line-height:1.5;color:#746b84;margin:0 0 10px}

.materialtopic{margin-top:12px!important;font-weight:bold}.materialdate{font-size:11px;color:#776d87;margin-top:5px}.materialcard[data-mchapter]{border-top:7px solid #b6a0f0}

.noticebadge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:2px 5px;background:#e84d83;color:white;border-radius:20px;font-size:10px;margin-left:3px}.noticebadge[hidden]{display:none}.noticeitem{display:flex;align-items:center;gap:15px;padding:20px 12px;border-bottom:1px solid #eae1fa}.noticeitem:last-child{border:0}.noticeitem>div{flex:1}.noticeitem h2{font-size:17px;margin:5px 0}.noticeitem small{font-size:11px;color:#746881}.noticeitem.unread{background:#f6f0ff;border-radius:12px}.noticeDot{width:9px;height:9px;border-radius:50%;background:transparent;flex-shrink:0}.unread .noticeDot{background:#8b57e9}header{gap:12px}nav{gap:2px}.nav{padding:11px 9px}@media(max-width:760px){.noticeitem{flex-wrap:wrap}.noticeitem .secondary{margin-left:24px}.updates h1{font-size:30px}}

/* Updates: keep the clear-unread action visible and tappable on phones. */
.updates-toolbar{align-items:center;flex-wrap:wrap;gap:16px}.updates-read-all{border:2px solid #d79b18;border-radius:16px;background:#ffdc61;color:#3d2b0b;font-weight:900;font-size:15px;line-height:1.2;min-height:52px;padding:14px 22px;box-shadow:0 4px 0 #c28f21;white-space:normal;transition:background .15s,transform .15s}.updates-read-all:hover:not(:disabled){background:#ffcb37;transform:translateY(-1px)}.updates-read-all:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #c28f21}.updates-read-all:focus-visible{outline:3px solid #7551ec;outline-offset:4px}.updates-read-all:disabled{background:#fff1bb;border-color:#e5d292;color:#6d602f;box-shadow:none;opacity:1;cursor:default}.updates-unread-count{display:inline-block;background:#f0e8ff;color:#59369e;border-radius:30px;font-size:12px;font-weight:800;padding:7px 12px}@media(max-width:760px){.updates-toolbar{align-items:stretch;flex-direction:column}.updates-read-all{width:100%;font-size:16px}}

/* Compact yellow read-all marker, aligned directly beside What's new? */
.updates-title-line{display:flex;align-items:center;flex-wrap:wrap;column-gap:13px;row-gap:7px;margin:7px 0}.updates-title-line h1{margin:0}.updates-title-line .updates-read-all{font-size:12px;font-weight:800;min-height:34px;padding:7px 11px;border:1px solid #e5b443;border-radius:999px;background:#ffe58d;box-shadow:none}.updates-title-line .updates-read-all:hover:not(:disabled){background:#ffd967;transform:none}.updates-title-line .updates-read-all:active:not(:disabled){background:#f7cc55;transform:none}.updates-title-line .updates-read-all:disabled{background:#fff2c5;border-color:#e9d7a7;color:#6d602f}.updates-toolbar{align-items:flex-start}.updates-unread-count{font-size:11px;padding:4px 9px}@media(max-width:760px){.updates-title-line{flex-direction:row;align-items:center;gap:8px}.updates-title-line .updates-read-all{width:auto;font-size:11px;padding:7px 10px;min-height:32px}.updates-title-line h1{font-size:27px}}

/* Final medium control: clearly tappable, but still secondary to the heading. */
.updates-title-line .updates-read-all{font-size:14px;min-height:42px;padding:10px 16px;background:#ffdc68;border-color:#dbab35}.updates-title-line .updates-read-all:disabled{background:#fff0b8;border-color:#e9d7a7}@media(max-width:760px){.updates-title-line .updates-read-all{font-size:13px;min-height:40px;padding:9px 13px}}

/* Soft dashboard, compact enough for five or more independent challenges. */
.dash-soft-focus{background:#f0e7ff;border:2px solid #e0cdfb;border-radius:25px;padding:21px;margin:18px 0;box-shadow:0 5px 0 #e9def7}.dash-soft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dash-soft-head h2{font-size:clamp(21px,3vw,27px);margin:6px 0;color:#483474}.dash-soft-head p{font-size:13px;color:#715c87;margin:0 0 12px}.dash-soft-count{background:#fff;border-radius:999px;padding:7px 12px;color:#7254a3;font-size:12px;font-weight:900;white-space:nowrap}.dash-soft-list{display:grid;gap:9px}.dash-soft-challenge{display:flex;align-items:center;width:100%;gap:13px;min-height:80px;padding:11px 14px;border-radius:17px;border:1px solid #eadff7;background:#fff;text-align:left;color:#47355d;box-shadow:0 2px 0 #e5daf5}.dash-soft-challenge:hover{border-color:#ae8de0;background:#fffdfb}.dash-soft-challenge:focus-visible{outline:3px solid #7e59d6;outline-offset:2px}.dash-soft-challenge:nth-child(3n + 2){background:#f5fffb}.dash-soft-challenge:nth-child(3n){background:#fff8ef}.dash-soft-egg{flex:none;width:44px;height:50px;display:grid;place-items:center}.dash-soft-egg img{display:block;width:42px;height:50px;object-fit:contain}.dash-soft-challenge-copy{flex:1;min-width:0;display:grid;gap:4px}.dash-soft-challenge-copy strong{font-size:14px;line-height:1.32}.dash-soft-challenge-copy small{font-size:11px;color:#81718e;line-height:1.3}.dash-soft-arrow{font-size:24px;font-weight:900;color:#8861c7}.dash-soft-done{padding:15px;background:white;border-radius:14px;color:#665385}.dash-soft-due{background:#fff5df!important;border-color:#f1ddb8!important}.dash-soft-bottom{display:grid;gap:13px;margin:27px 0}.dash-soft-bar{display:flex;width:100%;align-items:center;text-align:left;gap:15px;padding:20px;border-radius:22px;border:2px solid #e1d4f7;color:#49386d;background:#eee5ff}.dash-soft-bar.more{background:#fff1c7;border-color:#f0dc9b;color:#67512c}.dash-soft-bar>span:first-child{font-size:30px}.dash-soft-bar>span:nth-child(2){flex:1;display:grid;gap:4px}.dash-soft-bar strong{font-size:18px}.dash-soft-bar small{color:#7c6f86;font-size:12px}.dash-soft-bar>span:last-child{font-size:23px}.dash-subpage{max-width:940px}.dash-progress-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;background:#f3edff;border-radius:18px;padding:19px;margin:20px 0}.dash-progress-summary strong{font-size:25px;color:#6e4cba}.dash-progress-summary span{font-size:12px;color:#78698e}.dash-hub-links,.dash-more-groups{display:grid;gap:11px}.dash-hub-link{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:2px solid #e6ddf4;border-radius:17px;padding:18px;font-size:19px;color:#564176}.dash-hub-link span{flex:1;display:grid;gap:4px}.dash-hub-link b{font-size:16px}.dash-hub-link small{font-size:12px;color:#81768e}.dash-more-group{background:#fff;border:2px solid #e9def9;border-radius:17px;padding:8px 14px}.dash-more-group>summary{cursor:pointer;padding:13px 5px;font-weight:900;color:#513c78}.dash-more-group>summary span{float:right;color:#8b7e9b;font-size:12px}.dash-more-group>div{display:grid;gap:7px;padding:5px 0 12px}.dash-more-group>div>button{border:1px solid #e6dff0;border-radius:11px;background:#faf8ff;padding:12px;text-align:left;color:#504264;display:flex;gap:8px;justify-content:space-between}.dash-more-group>div>button span{font-size:11px;color:#7354ac;white-space:nowrap}.dash-more-group>div>button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:700px){.dash-soft-focus{padding:16px;border-radius:20px}.dash-soft-head{align-items:flex-start}.dash-soft-head h2{font-size:22px}.dash-soft-challenge{padding:10px;min-height:74px}.dash-soft-challenge-copy strong{font-size:13px}.dash-soft-egg{width:35px;height:43px}.dash-soft-egg img{width:34px;height:42px}.dash-soft-bar{padding:15px}.dash-soft-bar strong{font-size:16px}.dash-progress-summary{grid-template-columns:auto 1fr}.dash-more-group>summary span{float:none;margin-left:8px}}

/* Distinct math resource areas */
.materialsections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 20px}.sectionchoice{display:flex;flex-direction:column;gap:10px;text-align:left;border:2px solid #e2d5f7;border-radius:20px;padding:20px;background:#fff;color:#352d50;min-width:0}.sectionchoice strong{font-size:17px;line-height:1.4}.sectionchoice span{font-size:13px;line-height:1.6;color:#625574;flex:1}.sectionchoice small{font-weight:bold;color:#665082}.sectionchoice[aria-pressed=true]{background:#eee5ff;border-color:#7954ee;box-shadow:0 4px 0 #d8c7f8}.sectionchoice[data-section=answers][aria-pressed=true]{background:#e2f8ef;border-color:#378763;box-shadow:0 4px 0 #bfe8d3}.sectionchoice[data-section=combined][aria-pressed=true]{background:#fff2ce;border-color:#b98a22;box-shadow:0 4px 0 #f5dfa4}@media(max-width:600px){.materialsections{grid-template-columns:1fr;gap:10px}.sectionchoice{padding:16px}.sectionchoice span{font-size:12px}.librarybanner .secondary{width:100%}}

.pushpanel{margin:24px 0;background:#f2ecff}.pushpanel h2{margin-top:10px}.pushpanel details{margin:20px 0;padding:16px;background:#fff;border-radius:14px}.pushpanel summary{cursor:pointer;font-weight:bold;line-height:1.5}.pushpanel li{line-height:1.8;margin:8px 0}.pushpanel>small{display:block;color:#625574;line-height:1.7}.pushstatus{font-weight:bold;color:#40345c}.pushpanel .actions{flex-wrap:wrap;justify-content:flex-start}.pushpanel button{min-height:44px}
:root .achievement{background:linear-gradient(150deg,#fffdf5,#fff 65%);border-color:#f0e5be}
.achievement h2{font-size:18px;margin:8px 0 12px}
.achievementrow{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee9d8}
.achievementrow:last-child{border-bottom:0}
.achievementrow .avatar{flex-shrink:0;width:30px;height:30px;border-radius:10px}
.achievementplace{width:22px;text-align:center;font-size:17px}
.achievementname{min-width:0;flex:1}
.achievementname strong{display:block;font-size:12px}
.achievementname small,.achievementscore small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.4}
.achievementname .earned{display:block;font-size:12px;margin-top:4px;color:#8c7938}
.achievementscore{font-weight:800;font-size:17px;color:#6553a8;text-align:right;white-space:nowrap}
.achievement .note{font-size:10px;line-height:1.5;margin:13px 0 0}
.achievement{background:linear-gradient(145deg,#fff8e1 0%,#fff 50%,#faf6ff 100%);border:1px solid #eadcc8;box-shadow:0 8px 24px #6353b310}
.achievement h2{color:#443268;font-size:19px;letter-spacing:-.5px}
.achieveintro{font-size:11px;margin:0 0 14px;color:#74698b}
.achievementrow{display:block;padding:12px;margin:0 0 11px;border:1px solid #ece6f6;background:#fff;border-radius:15px;box-shadow:0 4px 10px #3c2e5d09}
.achievementrow:last-child{border:1px solid #ece6f6;margin-bottom:0}
.championhead{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.championhead .avatar{width:36px;height:36px;font-size:13px;border-radius:12px}
.championhead .achievementplace{font-size:19px;width:23px}
.championhead .achievementname strong{font-size:14px}
.championhead .achievementname small{font-size:10px;color:#8875a7}
.championstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.championstats>div{background:#f7f3ff;border-radius:10px;padding:8px 5px;text-align:center;min-width:0}
.championstats>div:nth-child(2){background:#fff7e4}
.championstats>div:nth-child(3){background:#e9f9f5}
.championstats small{display:block;font-size:9px;color:#79728d;line-height:1.3;min-height:23px}
.championstats strong{display:block;color:#473767;font-size:20px;margin-top:3px}
.championstats .statmax{font-size:11px;color:#9b90ad}
.trophyshelf{display:flex;gap:9px;align-items:center;justify-content:center;margin:11px 0 8px}
.achievementtrophy{font-size:23px;line-height:1;padding:5px 10px;background:#fff9e8;border-radius:12px}
.achievementtrophy.locked{filter:grayscale(1);opacity:.3;background:#f0eff4}
.milestoneshelf{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 10px}
.milestone-chip{appearance:none;display:flex;align-items:center;gap:5px;flex:1 1 90px;min-width:0;padding:8px 7px;border:1px solid #d9d1ea;border-radius:11px;background:#f8f5ff;color:#493a63;cursor:pointer;text-align:left;font:inherit;font-size:10px;font-weight:800;line-height:1.25;transition:background .15s,border-color .15s}
.milestone-chip>span:first-child{font-size:19px;flex-shrink:0}
.milestone-chip small{display:block;font-size:9px;font-weight:600;color:#756b87;margin-top:3px}
.milestone-chip.locked{background:#f5f4f6;color:#747080;border-color:#e6e4e9}
.milestone-chip.locked>span:first-child{filter:grayscale(1);opacity:.55}
.milestone-chip[aria-expanded="true"]{background:#eee8ff;border-color:#8266e8;box-shadow:0 0 0 2px #8266e81e}
.milestone-chip:focus-visible{outline:3px solid #8765ed;outline-offset:2px}
.milestone-detail{padding:10px 12px;margin:0 0 11px;background:#f3efff;border-left:3px solid #8365ff;border-radius:8px;color:#51416d;font-size:11px;line-height:1.5}
.milestone-detail[hidden]{display:none}
.missionprogress{display:flex;justify-content:space-between;align-items:center;gap:5px;color:#82729f;font-weight:700;font-size:10px;margin-bottom:5px}
.missiontrack{height:7px;border-radius:12px;background:#e8e2f2;overflow:hidden}
.missiontrack>span{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,#8365ff,#efab54);transition:width .3s}
.placepill{display:inline-block;margin:4px 0 2px;padding:4px 7px;border-radius:12px;background:#fff0cd;color:#80602c;font-size:10px;font-weight:800}
.achievementrow:first-child{border-color:#e6d2a9;box-shadow:0 5px 15px #ddbb6920}
.achievementrow:nth-child(2){border-color:#d9e8fc}
.achievementrow:nth-child(3){border-color:#f3ddcf}
.full .achievement #achievementRows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.main .achievement #achievementRows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.full .achievement .achievementrow{margin:0}
.main .achievement .achievementrow{margin:0}
@media(max-width:800px){.main .achievement #achievementRows{grid-template-columns:1fr}}
@media(max-width:650px){.full .achievement #achievementRows{grid-template-columns:1fr}}
.quest-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f7e8ee;flex-shrink:0;overflow:hidden}.quest-avatar img{width:100%;height:100%;object-fit:contain}.quest-avatar.special{background:linear-gradient(135deg,#fff5ba,#f7bc4d);border:2px solid #e2a53d;box-shadow:0 0 0 2px #fff6d7}.quest-mission{display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;min-height:215px;margin:18px 0 22px;padding:22px 24px;border:2px solid #f4d6ec;border-radius:26px;background:linear-gradient(110deg,#fff3fc,#fff6de 74%);box-shadow:0 10px 25px #483a7920}.quest-mission-copy{flex:1;min-width:0}.quest-kicker{font-size:11px;font-weight:850;letter-spacing:.11em;color:#a03b7d}.quest-mission h2{font-size:clamp(21px,3vw,28px);margin:7px 0}.quest-mission p{max-width:520px;font-size:13px;line-height:1.65;margin:0 0 12px;color:#584d69}.quest-actions{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:11px}.quest-reward-status{font-size:12px;font-weight:800;color:#8b4385}.quest-feature-art{object-fit:contain;width:min(34%,200px);height:188px;filter:drop-shadow(0 6px 6px #52336216)}.quest-tip{padding:14px 17px!important;margin-top:12px}.quest-tip strong{font-size:14px}.quest-tip p{font-size:12px;line-height:1.4;margin:4px 0 0}.crewcompact{padding:16px!important}.crewcompact .clubpeople{margin-top:10px}.quest-standings{margin-top:26px;background:#fff;border:1px solid #e9e2f2;border-radius:18px;overflow:hidden}.quest-standings summary{padding:17px 20px;cursor:pointer;font-weight:850;list-style:none;display:flex;gap:10px;align-items:center;justify-content:space-between}.quest-standings summary::-webkit-details-marker{display:none}.quest-standings summary span{font-size:12px;color:#806b92;font-weight:600}.quest-standings[open]{padding-bottom:14px}.quest-standings>.panel{margin:12px 16px}.quest-collection{max-width:1100px}.quest-collection>p{max-width:800px;line-height:1.6}.quest-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.quest-pet{background:#fff;border:1px solid #e9e0ee;border-radius:24px;overflow:hidden}.quest-pet-art{height:265px;background:radial-gradient(ellipse at 50% 48%,#fff8e8,#fce7f4);display:grid;place-items:center}.quest-pet-art img{max-height:92%;max-width:92%;object-fit:contain}.quest-pet.locked .quest-pet-art img{filter:grayscale(1);opacity:.43}.quest-pet-copy{padding:19px 21px}.quest-pet h2{margin:4px 0}.quest-pet p{font-size:13px;color:#6b617b}.quest-variants{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.quest-variants>div{border-radius:14px;background:#f9f4fd;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.quest-variants strong{font-size:13px}.quest-variants span{font-size:11px;color:#796c89}.quest-variants button{font-size:11px;padding:8px 10px}.quest-variant-locked{opacity:.6}.quest-earned{display:flex;align-items:center;gap:16px;background:#fff2e5;border:2px solid #efc9a3;padding:15px 22px;border-radius:22px;margin:18px auto;max-width:570px}.quest-earned img{width:100px;height:115px;object-fit:contain}.quest-earned h2{font-size:20px}.quest-earned p{margin:6px 0 12px}@media(max-width:700px){.quest-mission{padding:17px;min-height:185px}.quest-feature-art{width:32%;height:145px}.quest-mission h2{font-size:20px}.quest-mission p{font-size:12px}.quest-actions .primary,.quest-actions .secondary{font-size:11px;padding:9px 10px}.quest-collection-grid{grid-template-columns:1fr}.quest-pet-art{height:245px}.quest-standings summary{padding:15px;font-size:13px}.quest-standings summary span{font-size:11px}}
.quest-mystery{width:144px;height:144px;border:3px dashed #c8a6c9;background:radial-gradient(circle at 38% 30%,#ffffffb6,#ead3ee);border-radius:40% 55% 42% 50%;display:grid;place-items:center;color:#9a73ae;font-size:78px;font-weight:900;transform:rotate(-8deg);box-shadow:0 12px 35px #684c8017}.quest-mission .quest-mystery{flex-shrink:0;margin:0 24px}.quest-pet .quest-mystery{width:145px;height:145px}.quest-pet-copy>.action{margin-top:14px}.quest-collection h1 .pill{vertical-align:middle;font-size:13px}.quest-pet.locked .quest-pet-art{background:linear-gradient(125deg,#f2edf9,#fff1ee)}@media(max-width:700px){.quest-mission .quest-mystery{width:86px;height:104px;font-size:55px;margin:0 4px}.quest-pet .quest-mystery{width:120px;height:120px;font-size:65px}}

/* Two independent daily missions, readable on phones and tablets. */
.mission-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0 24px}
.today-challenges{margin:20px 0 26px}
.today-challenges-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
.today-challenges-heading h2{margin:5px 0;font-size:clamp(22px,3vw,30px)}
.today-challenges-heading p{margin:0;color:#655b74;font-size:13px}
.today-challenges-heading>.pill{white-space:nowrap;background:#eaf7eb;color:#267353;font-weight:850}
.device-alert-optin{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:10px 14px;background:#f7f4ff;border:1px solid #e6dcfa;border-radius:13px;color:#554779;font-size:12px}
.device-alert-optin button{font-size:11px;padding:7px 10px}
.device-alert-optin small{color:#a23d58}
.today-challenges .mission-pair{margin:14px 0 0}
.mission-pair .quest-mission{min-width:0;height:100%;margin:0;padding:18px;align-items:center}
.mission-pair .quest-mission h2{font-size:clamp(19px,2vw,24px)}
.mission-pair .quest-mystery{width:78px;height:90px;font-size:43px;margin:0 4px}
.mission-pair .quest-feature-art{width:110px;height:130px}
.science-mission{background:linear-gradient(110deg,#e4f8ed,#eaf6ff 82%)!important;border-color:#a9dfc8!important}
.science-mission .quest-kicker,.science-mission .quest-reward-status{color:#267c60}
.science-mission-art{display:flex;flex-direction:column;gap:6px;align-items:center;color:#378b69;font-size:45px;flex-shrink:0}
.science-mission-art span{font-size:17px;white-space:nowrap}
@media(max-width:1100px){.mission-pair{grid-template-columns:1fr}}
@media(max-width:480px){.science-mission-art{font-size:31px}.science-mission-art span{font-size:13px}}
@media(max-width:480px){.today-challenges-heading{align-items:flex-start;flex-direction:column;gap:8px}}
.quest-pet-art{position:relative;overflow:hidden;height:185px!important;min-height:0;display:flex;align-items:center;justify-content:center}.quest-pet-art img{position:relative;display:block;width:auto!important;height:155px!important;max-width:86%!important;max-height:155px!important;object-fit:contain;flex:0 1 auto;filter:none}.quest-pet-copy{position:relative;z-index:1;background:#fff;padding:15px 18px!important}.quest-pet-copy h2{font-size:21px;line-height:1.15;margin:5px 0 7px}.quest-pet-copy p{margin:6px 0;font-size:12px;line-height:1.45}.quest-pet .quest-mystery{width:100px;height:100px;font-size:54px}.quest-collection-grid{gap:14px}.quest-pet-copy>.action,.quest-pet-copy>.secondary{margin-top:10px}@media(max-width:700px){.quest-pet-art{height:155px!important}.quest-pet-art img{height:130px!important;max-height:130px!important}.quest-pet-copy{padding:13px 15px!important}}
.quest-trading{margin:24px 0;padding:22px}.quest-trading h2{margin:8px 0}.quest-trading p{font-size:13px;line-height:1.6}.trade-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:18px 0}.trade-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#5c4b76}.trade-form select{width:100%;padding:11px 10px;border:1px solid #d9cbe5;border-radius:12px;background:white;font:inherit;color:#423650}.trade-form>button{grid-column:1/-1;justify-self:start}.trade-inbox h3{font-size:16px}.trade-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid #eee6f1;padding:13px 0}.trade-line>div{flex:1;min-width:160px}.trade-line strong{display:block;font-size:13px}.trade-line small{display:block;color:#756684;margin-top:4px}.trade-line .primary,.trade-line .secondary{font-size:12px}@media(max-width:700px){.trade-form{grid-template-columns:1fr}.trade-form>button{width:100%}.quest-trading{padding:16px}}

/* Compact phone layout for navigation and assignment deadlines. */
@media(max-width:760px){
  html,body,#app{max-width:100%;overflow-x:hidden}
  header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 8px;padding:12px 14px 0;height:auto}
  header .brand{min-width:0;font-size:clamp(15px,4.3vw,19px);letter-spacing:-.7px;overflow:hidden;text-overflow:ellipsis}
  header .brand i{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;margin-right:7px;font-size:16px;vertical-align:middle}
  header .who{grid-column:2;grid-row:1;margin:0;gap:5px}
  header .who .avatar{width:30px;height:30px}
  header #switch{padding:8px 10px;font-size:12px;border-radius:11px;box-shadow:none}
  header nav{grid-column:1/-1;grid-row:2;order:initial;display:flex;justify-content:flex-start;flex-wrap:nowrap;width:calc(100% + 28px);margin:0 -14px;padding:8px 12px 10px;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border-top:1px solid var(--border);-webkit-overflow-scrolling:touch}
  header nav::-webkit-scrollbar{display:none}
  header nav .nav{flex:0 0 auto;white-space:nowrap;line-height:1.2;font-size:12px;padding:10px 11px;border-radius:12px;background:#f8f4ff;min-height:39px}
  header nav .nav.active{background:#ffe58d}
  .full{margin:20px auto 40px;padding:0 15px}
  .full>h1{font-size:clamp(25px,7vw,32px);letter-spacing:-.7px;line-height:1.15;margin:4px 0 8px}
  .full>p{font-size:13px;line-height:1.5;margin:0 0 18px}
  #dueList{padding:4px 15px 5px;border-radius:19px}
  #dueList .assign{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:12px;padding:17px 0}
  #dueList .assign>div:nth-child(2){min-width:0!important;flex:initial!important}
  #dueList .dueDateBadge{width:52px;min-height:58px;flex-basis:52px;padding:5px;border-radius:13px}
  #dueList .dueDateBadge strong{font-size:23px}
  #dueList .dueDateBadge span{font-size:9px}
  #dueList .pill{display:inline-block;font-size:10px;padding:4px 9px}
  #dueList .assign h3{font-size:15px;line-height:1.32;margin:7px 0 4px;font-family:inherit}
  #dueList .assign p{font-size:12px;line-height:1.5;margin:5px 0}
  #dueList .assign>a{grid-column:2;justify-self:start;margin:0;font-size:11px}
}

/* Shared assignment calendar: compact enough for phones and tablets. */
.ios-share-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.ios-share-icon{display:block;flex:none}
.materialcard{min-width:0;width:100%}.materialcard h3{max-width:100%;overflow-wrap:anywhere}.materialactions.compact-pdf-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%;margin-top:17px}.compact-pdf-actions .compact-open-pdf{font-size:12px;padding:10px 13px;white-space:nowrap;box-shadow:none}.compact-icon-action,.compact-pdf-actions .compact-icon-action{display:inline-flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;padding:0;border-radius:11px;box-shadow:none;flex:none}.compact-icon-action .ios-share-icon{width:19px;height:19px}.assign .compact-icon-action{min-width:40px;width:40px;margin-left:auto}.assign .compact-icon-action+.printlink{margin-left:0}
/* Screen width controls layout; touch capability controls tap size. */
.study-assign{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:19px 0}
.study-assign .assignment-main{display:flex;align-items:flex-start;gap:12px;min-width:0;width:100%}
.study-assign .assignment-copy{flex:1;min-width:0}
.study-assign .assignment-copy h3{font-family:inherit;font-size:15px;line-height:1.35}
.study-assign .assignment-copy p{margin:4px 0 10px;font-size:12px;line-height:1.45}
.study-assign .bubble{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:0}
.study-assign .assignment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;min-width:0;flex-wrap:nowrap}
.study-assign .assignment-actions .compact-icon-action{margin-left:0}
.study-assign .assignment-actions .action{white-space:nowrap;margin-left:0}
.study-assign .assignment-actions .printlink{margin-left:0}
.study-assign .assignment-status.is-complete{background:#dff5e8;color:#226744;font-weight:800}
.study-assign.completed .bubble{background:#e5f8ee;border:1px solid #9bdbb4;color:#27754c}
@media(max-width:410px){.study-assign .assignment-actions{gap:6px}.study-assign .assignment-actions .action{padding:11px 13px}}
@media(pointer:coarse){.compact-icon-action,.compact-pdf-actions .compact-icon-action{min-width:44px;width:44px;height:44px}.compact-pdf-actions .compact-open-pdf{min-height:44px}.assign .compact-icon-action{min-width:44px;width:44px}}
@media(max-width:420px){.materialcard{padding:15px}.materialactions.compact-pdf-actions{gap:6px}.compact-pdf-actions .compact-open-pdf{padding:9px 11px;font-size:11px}.materialcard h3{font-size:16px}}
@media(max-width:340px){.materialactions.compact-pdf-actions{flex-wrap:wrap}.compact-pdf-actions .compact-open-pdf{flex:1}}
@media(min-width:700px) and (pointer:coarse){.materialgrid{gap:15px}.materialcard{padding:19px}}
.live-calendar-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:23px;height:24px;margin-right:3px;padding-top:5px;border:1.5px solid #dbb8bc;border-radius:5px;background:linear-gradient(#e87783 0 25%,#fff 25%);color:#39314c;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1}
.calendar-page{max-width:1050px}
.calendar-panel{padding:22px;overflow:hidden}
.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.calendar-header h2{margin:4px 0 0;font-size:clamp(21px,3vw,29px);letter-spacing:-.7px}
.calendar-controls{display:flex;gap:7px;align-items:center}
.calendar-controls .secondary{min-width:37px;padding:9px 12px;box-shadow:none}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.calendar-weekdays{margin-bottom:6px}
.calendar-weekdays span{text-align:center;font-size:11px;font-weight:800;color:#736b8d;padding:7px 0}
.calendar-day,.calendar-empty{min-width:0;min-height:91px;border-radius:13px}
.calendar-day{position:relative;border:1px solid #ece6f5;background:#faf9ff;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;color:#3b3156;cursor:pointer;text-align:left;box-shadow:none}
.calendar-day strong{font-size:14px}
.calendar-day.today{border-color:#9a8bcf;background:#f4f0ff}
.calendar-day.selected{border:2px solid #7056d9;background:#eee8ff;padding:9px}
.calendar-day:hover{background:#f1edff}
.calendar-day small{position:absolute;bottom:8px;right:9px;border-radius:999px;background:#e9e1fc;color:#6045ae;padding:2px 6px;font-size:10px;font-weight:800}
.calendar-dots{display:flex;gap:4px;flex-wrap:wrap}
.calendar-dots i{display:block;width:9px;height:9px;border-radius:50%;border:1px solid #837b9945}
.calendar-selected{margin-top:21px;border-top:1px solid #eee9f6;padding-top:16px}
.calendar-selected>h3{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:17px;margin:0 0 12px}
.calendar-detail{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #f0edf6}
.calendar-detail:last-child{border-bottom:0}
.calendar-subject-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;margin-top:6px;border:1px solid #807b8550}
.calendar-detail>div{min-width:0;flex:1}
.calendar-detail h3{font-size:16px;margin:7px 0 5px}
.calendar-detail p{font-size:13px;margin:5px 0;line-height:1.5}
.calendar-detail small{display:block;color:#665b83;margin:6px 0 10px}
.calendar-detail a{display:inline-flex;font-size:12px}
.calendar-none{font-size:13px;color:#766b8a;margin:0}
.calendar-footnote{font-size:12px;line-height:1.6;color:#756b87;margin:14px 0 30px}
@media(max-width:600px){.calendar-panel{padding:13px}.calendar-header{align-items:flex-start}.calendar-controls{gap:4px}.calendar-controls .secondary{padding:8px;min-width:30px;font-size:11px}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-weekdays span{font-size:10px}.calendar-day,.calendar-empty{min-height:58px;border-radius:9px}.calendar-day{padding:6px;gap:5px}.calendar-day.selected{padding:5px}.calendar-day strong{font-size:12px}.calendar-day small{font-size:9px;bottom:3px;right:4px;padding:1px 4px}.calendar-dots{gap:2px}.calendar-dots i{width:6px;height:6px}.calendar-header h2{font-size:20px}}
/* Editorial, art-studio inspired sign-in. Keep the existing profile/code workflow. */
.loginwrap.studio-login{min-height:100dvh;padding:24px;background:#f3f0eb;display:grid;place-items:center}
.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);width:min(100%,1050px);min-height:620px;background:#fffefb;border:1px solid #ded8d4;border-radius:24px;overflow:hidden;box-shadow:0 20px 70px #27204117}
.studio-login .login-art{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#e6c9ff;padding:27px 31px;color:#29213d}
.art-edition,.art-signature{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;font-weight:900;letter-spacing:2.2px;position:relative;z-index:1}
.art-signature{border-top:2px solid #29213d;padding-top:18px}
.art-signature span:last-child{font-size:27px;line-height:1}
.studio-artwork{width:min(100%,560px);height:auto;max-height:490px;align-self:center;filter:drop-shadow(0 17px 9px #4e267317)}
.studio-login .studio-form{max-width:none;width:100%;border:0;border-radius:0;box-shadow:none;background:#fffefb;padding:clamp(28px,5vw,65px);display:flex;flex-direction:column;justify-content:center}
.studio-login-brand{display:flex;align-items:center;gap:11px;font-size:19px;letter-spacing:-.7px;color:#29213d;font-weight:800}
.studio-login-brand strong{font-weight:900}
.studio-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#2d2649;color:white;font-size:27px}
.studio-login-heading{margin:52px 0 18px}
.studio-mini-label{color:#736389;font-size:10px;font-weight:900;letter-spacing:2.4px}
.studio-login .studio-login-heading h1{font-family:inherit;font-size:clamp(48px,6vw,73px);color:#241f37;letter-spacing:-3.8px;line-height:1;margin:14px 0 10px}
.studio-dot{color:#fc806f}
.studio-login-heading p{margin:0;color:#706981;font-size:14px}
.studio-login .studio-form label:not(.rememberDevice){font-size:12px;margin:15px 0 8px;color:#37314b;font-weight:800}
.studio-login .studio-form select,.studio-login .studio-form input[type=password]{width:100%;height:52px;border:1.5px solid #dcd5e4;background:#faf8fc;border-radius:11px;padding:12px 15px;font-size:15px;color:#2b2640;outline-offset:2px}
.studio-login .studio-form select:focus,.studio-login .studio-form input[type=password]:focus{border-color:#7a5add;outline:3px solid #7a5add26}
.studio-login .studio-form .rememberDevice{margin-top:18px;font-weight:600;color:#514b60}
.studio-login .studio-form .rememberHint{font-size:10px;margin:0 0 10px}
.studio-login .studio-enter{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:11px;background:#2c2549;box-shadow:none;color:white;font-size:14px;font-weight:800;margin-top:12px;padding:16px 19px;min-height:54px}
.studio-login .studio-enter:hover{background:#483771}
.studio-login-foot{border-top:1px solid #ece8ec;margin:35px 0 0;padding-top:18px;font-size:11px;line-height:1.5;color:#868091}
.help-guide{max-width:1070px}
.help-guide .help-lead{font-size:15px;margin:0 0 20px}
.help-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0}
.help-shortcuts button{font-size:12px;padding:10px 14px}
.help-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.help-guide-card{margin:0;min-width:0;padding:23px}
.help-guide-emoji{display:inline-grid;place-items:center;font-size:27px;background:#f2ecff;border-radius:14px;width:48px;height:48px;margin-bottom:15px}
.help-guide-card h2{font-size:19px;margin:0 0 8px}
.help-guide-card p{font-size:13px;line-height:1.62;margin:0}
.help-parent-note{margin-top:20px;background:#faf7ff}
.help-parent-note h2{margin-top:9px}
.help-parent-note p{font-size:13px}
@media(max-width:760px){.loginwrap.studio-login{padding:14px;align-items:start}.login-shell{grid-template-columns:1fr;max-width:520px;min-height:0}.studio-login .login-art{min-height:195px;padding:17px 22px}.studio-artwork{height:152px;max-width:330px;position:absolute;left:50%;top:27px;transform:translateX(-50%)}.art-edition,.art-signature{font-size:9px;letter-spacing:1.6px}.art-signature{margin-top:118px;padding-top:10px}.studio-login .studio-form{padding:27px 26px 31px}.studio-login-heading{margin:27px 0 12px}.studio-login .studio-login-heading h1{font-size:50px;letter-spacing:-2.5px}.studio-login-foot{margin-top:22px}.help-guide-grid{grid-template-columns:1fr}.help-guide-card{padding:20px}}
/* Colourful, compact sign-in artwork with a deliberately restrained editorial form. */
.loginwrap.studio-login{background:linear-gradient(135deg,#f4dcff 0%,#d4eaff 49%,#fff1ce 100%)}
.login-shell{max-width:920px;min-height:540px;grid-template-columns:1fr 1fr;border:2px solid #fff;box-shadow:0 22px 65px #46328725}
.studio-login .login-art{background:#bdadff;color:#2a1b59;padding:27px 30px}
.login-art-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;font-weight:900;position:relative;z-index:2}
.login-art-bottom{font-size:clamp(30px,3.5vw,50px);font-weight:950;letter-spacing:-2px;line-height:1.05;position:relative;z-index:2}
.login-art-composition{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 78% 15%,#ffd26a 0 16%,transparent 16.2%),radial-gradient(circle at 17% 71%,#ff8c9c 0 18%,transparent 18.2%)}
.composition-arch{position:absolute;width:66%;height:63%;left:17%;top:19%;border-radius:52% 52% 8% 8%;background:#754fea;transform:rotate(-20deg)}
.composition-orbit{position:absolute;width:46%;aspect-ratio:1;left:37%;top:28%;border:10px solid #b2f1cc;border-radius:50%;box-shadow:0 0 0 24px #ffdb73 inset}
.composition-line{position:absolute;width:150%;height:5px;background:#241d51;top:58%;left:-20%;transform:rotate(-24deg)}
.composition-dot{position:absolute;width:50px;height:50px;right:10%;top:56%;background:#ff7c79;border-radius:50%}
.studio-login .studio-form{background:#fffdfa;padding:clamp(26px,4vw,48px)}
.studio-login-heading{margin:34px 0 12px}
.studio-login .studio-login-heading h1{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.8px;line-height:1.1;margin:0 0 9px}
.studio-login .studio-enter{background:#6550d7}
.studio-login .studio-enter:hover{background:#4631ad}
.studio-login .studio-form .rememberDevice{margin-top:13px}
.materialsections{grid-template-columns:repeat(4,minmax(0,1fr))}
.sectionchoice[data-section=visual][aria-pressed=true]{background:#e8e5ff;border-color:#6750db;box-shadow:0 4px 0 #d5cbff}
@media(max-width:760px){
 .loginwrap.studio-login{padding:11px;display:flex;align-items:flex-start;justify-content:center}
 .login-shell{grid-template-columns:1fr;max-width:470px;border-radius:19px;min-height:0}
 .studio-login .login-art{min-height:125px;padding:15px 20px}
 .login-art-top{font-size:9px;letter-spacing:1.3px}
 .login-art-bottom{font-size:24px;letter-spacing:-1px}
 .composition-arch{width:34%;height:170%;left:49%;top:-48%}
 .composition-orbit{width:100px;top:-10%;left:55%;border-width:5px;box-shadow:0 0 0 11px #ffdb73 inset}
 .composition-line{top:49%}
 .composition-dot{width:29px;height:29px;right:8%;top:55%}
 .studio-login .studio-form{padding:22px 23px 24px}
 .studio-login-brand{font-size:17px}.studio-mark{width:32px;height:32px;font-size:22px}
 .studio-login-heading{margin:20px 0 8px}
 .studio-login .studio-login-heading h1{font-size:32px;letter-spacing:-1px}
 .studio-login .studio-form label:not(.rememberDevice){margin:11px 0 6px}
 .studio-login .studio-form select,.studio-login .studio-form input[type=password]{height:46px}
 .studio-login .studio-enter{min-height:48px;margin-top:8px}
 .materialsections{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .sectionchoice{padding:12px;gap:7px;border-radius:13px}.sectionchoice strong{font-size:14px}.sectionchoice span{font-size:11px}
}
@media(max-width:370px){.materialsections{grid-template-columns:1fr}}
/* Scalable study guide and practice quiz shelves. */
.compact-study-hero{padding:23px 28px!important;min-height:0!important;display:flex;align-items:center;gap:18px;border-radius:20px!important}
.compact-study-hero .eyebrow{font-size:10px!important;letter-spacing:1px!important}
.compact-study-hero h1{font-size:clamp(24px,3vw,34px)!important;line-height:1.15!important;margin:7px 0!important}
.compact-study-hero p{font-size:13px!important;line-height:1.45!important;margin:0!important}
.compact-study-hero .librarycount{font-size:17px!important;padding:10px!important;min-width:72px!important}
.compact-math-sections{display:flex;overflow-x:auto;gap:9px;margin:16px 0!important;padding:2px 2px 11px;scroll-snap-type:x proximity;scrollbar-width:thin}
.compact-math-sections .sectionchoice{flex:0 0 auto;width:auto;min-width:145px;min-height:0;border-radius:13px;padding:12px 14px;gap:4px;scroll-snap-align:start;box-shadow:none!important}
.compact-math-sections .sectionchoice strong{font-size:13px;line-height:1.3;white-space:nowrap}
.compact-math-sections .sectionchoice small{font-size:10px;font-weight:650}
.subject-compact-hero{min-height:0!important;padding:24px 29px!important}
.subject-compact-hero h1{font-size:clamp(27px,4vw,42px)!important;margin:8px 0!important}
.subject-compact-hero p{font-size:13px!important;margin:0!important}
.subject-assignment-heading{margin-top:30px!important}
.subject-show-more{display:block;margin:13px auto 24px;font-size:12px}
.material-related{border-top:1px solid #ece6f2;padding-top:11px;margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.material-related>small{width:100%;font-weight:800;color:#746b81;font-size:10px}
.exact-answer-link{display:inline-flex;align-items:center;gap:6px;align-self:stretch;margin-top:14px;padding:11px 13px;border:1.5px solid #70c7a3;border-radius:12px;background:#e6f8f0;color:#175e49;font-size:13px;font-weight:850;line-height:1.35;text-decoration:none}
.exact-answer-link:hover,.exact-answer-link:focus-visible{background:#d5f1e3;border-color:#369e72;text-decoration:underline}
.trade-crew{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.trade-person{display:flex;align-items:center;justify-content:space-between;gap:12px;border:2px solid #e0d4ec;background:#fff;border-radius:15px;padding:13px 16px;font:inherit;font-weight:800;color:#513767;cursor:pointer;flex:1;min-width:190px}.trade-person span{font-size:12px;color:#9674a6}.trade-person[aria-expanded=true]{background:#fff0f8;border-color:#ca77b2}.trade-pal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:12px 0 22px}.trade-pal{border:2px solid #e9dff0;border-radius:17px;background:#fff;padding:8px;color:#463651;cursor:pointer;min-width:0;text-align:center}.trade-pal.selected,.trade-pal[aria-pressed=true]{border-color:#a65e9c;background:#fff2fb;box-shadow:0 0 0 3px #edc9e8}.trade-pal-art{height:118px;display:flex;align-items:center;justify-content:center}.trade-pal-art img{max-width:100%;max-height:112px;object-fit:contain;animation:palBreathe 3.2s ease-in-out infinite}.trade-pal strong{display:block;font-size:12px;margin:7px 0 4px}.trade-pal small{font-size:10px;color:#75697e;display:block}.quest-trading h3{font-size:17px;margin:20px 0 6px}.trade-visual-form{display:flex;align-items:center;flex-wrap:wrap}.trade-visual-form .note{margin:0}.trade-visual-form>button{grid-column:auto}
@keyframes palBreathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@media(prefers-reduced-motion:reduce){.trade-pal-art img{animation:none}}
.quest-pet.unlocked .quest-pet-art{background:transparent}.quest-pet.unlocked .quest-pet-art img,.quest-feature-art,.quest-earned img{animation:palBreathe 3.5s ease-in-out infinite}.quest-pet.unlocked .quest-pet-art img{object-fit:contain}.quest-avatar{background:transparent;overflow:visible}.quest-avatar img{object-fit:contain}.quest-avatar.pal-size-small{width:30px;height:30px}.quest-avatar.pal-size-medium{width:40px;height:40px}.quest-avatar.pal-size-large{width:53px;height:53px}.pal-avatar-settings{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff7f0;border:1px solid #edd6ba;border-radius:15px;padding:14px 17px;margin:12px 0}.pal-avatar-settings strong{font-size:13px}.pal-avatar-settings span{font-size:12px;color:#735c78}.pal-avatar-settings>div{display:flex;gap:6px;flex-wrap:wrap}.pal-avatar-settings button{font-size:11px;padding:7px 11px}.pal-avatar-settings button[aria-pressed=true]{background:#6743a8;color:#fff}.pal-play-actions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}.pal-play-actions .secondary{font-size:11px;padding:8px 10px}.quest-pet-art{position:relative}.pal-food-bubble{position:absolute;top:12px;right:10px;color:#a43d7a;font-size:15px;font-weight:900;background:white;border-radius:100px;padding:7px 12px;box-shadow:0 4px 10px #7b538030;animation:palFoodFloat 1.7s ease-out both;pointer-events:none}@keyframes palFoodFloat{0%{transform:translateY(15px);opacity:0}25%{opacity:1}100%{transform:translateY(-32px);opacity:0}}@keyframes palDance{0%,100%{transform:rotate(0deg) translateY(0)}20%{transform:rotate(-10deg) translateY(-12px)}40%{transform:rotate(9deg) translateY(0)}60%{transform:rotate(-8deg) translateY(-14px)}80%{transform:rotate(7deg) translateY(0)}}.quest-pet .quest-pet-art img.pal-dancing{animation:palDance .55s ease-in-out 4!important}@media(prefers-reduced-motion:reduce){.quest-pet.unlocked .quest-pet-art img,.quest-feature-art,.quest-earned img,.quest-pet .quest-pet-art img.pal-dancing,.pal-food-bubble{animation:none!important}}
.related-link{border:1px solid #d6c8f6;background:#faf7ff;border-radius:9px;color:#5b3fc1;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}
.related-link:hover{background:#eee6ff}
@media(max-width:760px){
 .compact-study-hero{padding:17px 19px!important;gap:10px}
 .compact-study-hero h1{font-size:24px!important}
 .compact-study-hero p{font-size:11px!important}
 .compact-study-hero .librarycount{display:none}
 .compact-math-sections .sectionchoice{min-width:138px;padding:10px 12px}
 .subject-compact-hero{padding:19px!important}
 .subject-compact-hero .heroArt{display:none}
}
/* Final login direction: sunshine yellow, small colour details, no illustration. */
.loginwrap.studio-login{background:#ffdf64;min-height:100dvh;padding:24px;place-items:center}
.loginwrap.studio-login::before,.loginwrap.studio-login::after{content:none}
.login-shell{display:block;width:min(100%,430px);min-height:0;border:0;border-radius:22px;box-shadow:0 14px 45px #66501620;background:#fffefb}
.studio-login .studio-form{padding:36px 35px 33px;background:#fffefb;min-height:0}
.studio-login-brand{font-size:20px;gap:12px}
.studio-mark{background:#ff846f;color:#fff;border-radius:12px;width:42px;height:42px;font-size:27px;box-shadow:4px 4px 0 #ffd2bb}
.studio-login-heading{margin:35px 0 17px}
.studio-login .studio-login-heading h1{font-size:34px;line-height:1.2;letter-spacing:-1.3px;margin:0;color:#2b244a}
.studio-login .studio-form select,.studio-login .studio-form input[type=password]{background:#fff;border-color:#dcd5e4}
.studio-login .studio-enter{background:#6245d5;border-radius:12px}
.studio-login .studio-enter:hover{background:#4a32b0}
.studio-login .rememberDevice input{accent-color:#6245d5}
@media(max-width:760px){
 .loginwrap.studio-login{padding:20px 16px;align-items:center}
 .login-shell{max-width:410px;border-radius:19px}
 .studio-login .studio-form{padding:28px 25px 26px}
 .studio-login-brand{font-size:18px}
 .studio-login-heading{margin:29px 0 15px}
 .studio-login .studio-login-heading h1{font-size:30px}
}
/* Math: select the lesson topic before narrowing by document type. */
.math-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.math-topic{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:148px;padding:18px;background:#fff;border:2px solid #e6dcf6;border-radius:18px;text-align:left;color:#302747;box-shadow:0 4px 0 #eee8f5;cursor:pointer}
.math-topic:hover{border-color:#ad93ec}.math-topic[aria-pressed=true]{border-color:#7051d8;background:#f0eaff;box-shadow:0 4px 0 #d9ccf8}
.math-topic-icon{font-size:25px;line-height:1.2}.math-topic strong{font-size:16px;line-height:1.25}.math-topic small{font-size:12px;line-height:1.5;color:#6a5d78;flex:1}.math-topic-count{font-size:11px;color:#6844bf;font-weight:850}
.math-type-filter{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 17px}.math-type-filter .sectionchoice{padding:12px 10px;border-radius:13px;gap:3px}.math-type-filter .sectionchoice strong{font-size:13px}.math-type-filter .sectionchoice small{font-size:10px}
.math-await-topic .math-type-filter,.math-await-topic .librarytools,.math-await-topic .librarynote,.math-await-topic .materialgroup,.math-await-topic #materialHeading,.math-await-topic #materialCount{display:none!important}
@media(max-width:850px){.math-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.math-type-filter{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.math-topic-grid{gap:9px}.math-topic{padding:13px;min-height:143px}.math-topic strong{font-size:14px}.math-topic small{font-size:11px}.math-type-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
.subject-topic-library .librarycount{display:none}
.subject-topic-library .subject-type-filter .sectionchoice[hidden]{display:none}
.subject-topic-library .subject-topic-grid .empty{grid-column:1/-1}
.language-bookshelf .subject-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.language-bookshelf .math-topic{min-height:174px;border-color:#dce5ed;box-shadow:0 4px 0 #edf1f5;transition:transform .15s ease,box-shadow .15s ease}
.language-bookshelf .math-topic:hover{transform:translateY(-2px);box-shadow:0 6px 0 #e5e9f0}
.language-bookshelf .language-shelf-communication-skills-7{background:#e9efff;border-color:#bbcdf7}
.language-bookshelf .language-shelf-restart{background:#fce9f0;border-color:#f5c1d6}
.language-bookshelf .language-shelf-lightning-thief{background:#e7f6ec;border-color:#b5ddc3}
.language-bookshelf .math-topic[aria-pressed="true"]{outline:3px solid #6750a4;outline-offset:2px}
@media(max-width:700px){.language-bookshelf .subject-topic-grid{grid-template-columns:1fr}.language-bookshelf .math-topic{min-height:125px}}
.lightning-open{width:100%;margin:12px 0 8px}
.lightning-reader{max-width:860px!important}
.lightning-reader-hero{background:linear-gradient(125deg,#e7f6ec,#dfeaff);border:2px solid #c9ddd8;border-radius:22px;padding:27px;margin:16px 0;color:#253755}
.lightning-reader-hero h1{font-size:clamp(23px,4vw,35px);margin:10px 0}
.lightning-reader-hero p{font-size:15px;line-height:1.6;max-width:650px}
.lightning-progress{font-size:12px;font-weight:800;color:#407159}
.lightning-page-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}
.lightning-page-tabs button{background:#fff;color:#35455d;border:1px solid #cbd9e5;border-radius:11px;min-width:42px;min-height:42px;font-weight:800;cursor:pointer}
.lightning-page-tabs button[aria-current="page"]{background:#4d7561;color:white;border-color:#4d7561}
.lightning-paper{background:#fff;border:1px solid #e1e7ee;border-radius:20px;padding:clamp(20px,5vw,40px);box-shadow:0 8px 20px #263d5610;line-height:1.7;color:#263752}
.lightning-paper h2{font-size:18px;margin:10px 0 13px}
.lightning-paper p{font-size:15px;line-height:1.8}
.lightning-paper li{padding:5px 0;font-size:15px}
.lightning-think{background:#fceaf1;border-radius:17px;padding:16px 24px;margin-top:24px}
.lightning-page-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:19px 0}
.lightning-page-controls button{min-height:45px}
.lightning-page-controls span{font-weight:800;color:#59706a}
.lightning-download{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 34px}
.lightning-book-link{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff9e7;border:1px solid #ebdcae;border-radius:16px;padding:15px 18px;margin:0 0 20px}
.lightning-book-link strong{display:block;color:#453d30;margin-bottom:5px}
.lightning-book-link p{font-size:12px;line-height:1.5;color:#6a604c;margin:0}
.lightning-book-link a{flex-shrink:0}
@media(max-width:580px){.lightning-book-link{flex-direction:column;align-items:stretch}.lightning-book-link a{text-align:center}}
@media(max-width:560px){.lightning-page-controls button{font-size:12px;padding:10px}.lightning-reader-hero{padding:18px}.lightning-think{padding:12px 17px}}
.subject-library-entry{display:flex;align-items:center;gap:13px;background:#fff;border:2px solid #e6dcf6;border-radius:18px;padding:15px 18px;margin:18px 0}
.subject-library-entry>span{font-size:25px}.subject-library-entry>div{display:flex;flex-direction:column;gap:5px;flex:1}.subject-library-entry strong{font-size:16px}.subject-library-entry small{font-size:12px;color:#6a5d78}
@media(max-width:500px){.subject-library-entry{flex-wrap:wrap;padding:14px}.subject-library-entry button{width:100%}}
.reasoning-answer{width:100%;min-height:135px;line-height:1.55;resize:vertical;font:inherit;padding:14px}
.reflection-review{border-left-color:#6c77d5!important;background:#f7f6ff}
.reflection-review .eyebrow{color:#5e53a6}
.first-alert-overlay{position:fixed;inset:0;z-index:10000;background:rgba(30,37,70,.55);display:grid;place-items:center;padding:18px;backdrop-filter:blur(4px)}
.first-alert-card{width:min(100%,440px);background:#fff;border-radius:26px;padding:28px 25px;box-shadow:0 22px 70px #17184942;text-align:center;color:#302c51}
.first-alert-art{font-size:44px;background:#f0eaff;border-radius:22px;padding:14px;margin:0 auto 15px;width:130px}
.first-alert-card h2{font-size:clamp(23px,5vw,29px);line-height:1.2;margin:8px 0 12px}
.first-alert-card p{font-size:15px;line-height:1.55;color:#605876}
.first-alert-help{background:#f3f0ff;border-radius:13px;padding:13px;text-align:left}
.first-alert-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.first-alert-actions button{width:100%;min-height:46px;justify-content:center}
.first-alert-message{min-height:1.4em;color:#a33f52!important;font-size:13px!important}
@media(max-width:480px){.first-alert-card{padding:23px 19px;border-radius:22px}}
/* Keep Home Screen app content clear of the iPhone's system status bar. */
@supports (padding-top:env(safe-area-inset-top)){
 body{padding-top:env(safe-area-inset-top)}
 body::before{content:"";position:fixed;z-index:9999;top:0;left:0;right:0;height:env(safe-area-inset-top);background:#f7f5fb;pointer-events:none}
}
/* A true CSS mystery silhouette never depends on a character image loading. */
.today-challenges .quest-mystery{aspect-ratio:1;min-width:84px;width:96px;height:96px;border:3px dashed #bea5d3;border-radius:50%;background:radial-gradient(circle at 38% 28%,#fff,#ead8fb);color:#765aa1;font:900 54px/1 'Trebuchet MS',Arial,sans-serif;transform:rotate(-7deg);box-shadow:0 6px 14px #63538020}
@media(max-width:600px){.today-challenges .quest-mystery{min-width:66px;width:72px;height:72px;font-size:42px;margin:0 2px}}
.today-challenges .challenge-mystery-capsule{display:block;flex:0 0 auto;width:96px;height:112px;object-fit:contain;margin:0 2px;filter:drop-shadow(0 7px 8px #70529a28)}
@media(max-width:600px){.today-challenges .challenge-mystery-capsule{width:72px;height:86px;margin:0 2px}}
.final-review-hint{margin:12px 0 18px;padding:12px 15px;border:1px solid #b6d9c2;border-radius:15px;background:#eefaf0;color:#295d47;font-size:14px}
.final-review-hint summary{cursor:pointer;font-weight:800;list-style-position:inside}
.final-review-hint p{margin:10px 0 0;line-height:1.6}
/* Focused Canada & the World learning space */
.canada-active>.libraryhero,.canada-active>.subject-topic-grid,.canada-active>.subject-type-filter,.canada-active>.librarytools,.canada-active>.librarynote,.canada-active>.sectionline,.canada-active>#materialGroups,.canada-active>#noMaterials{display:none!important}
#canadaExplorer{margin:12px auto 32px;color:#233d46;max-width:1100px}#canadaExplorer [hidden]{display:none!important}.cw-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;margin:12px 0 22px}.cw-breadcrumb button{border:0;background:none;color:#466353;text-decoration:underline;padding:8px 0;cursor:pointer}.cw-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;padding:36px;border-radius:24px;background:#e8f5ee;border:1px solid #cce2d4}.cw-kicker{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#346652}.cw-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.12;margin:14px 0}.cw-hero p{line-height:1.6;max-width:570px;margin-bottom:22px}.cw-world{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:110px}.cw-world span{font-size:12px;font-weight:700;margin-top:12px}.cw-route{display:flex;gap:20px;justify-content:space-between;padding:23px 4px;flex-wrap:wrap;font-size:13px}.cw-route b{display:inline-grid;place-items:center;background:#e8e3fc;border-radius:50%;width:26px;height:26px;margin-right:6px}.cw-search-label{display:block;font-size:13px;font-weight:700;margin:6px 0 8px}.cw-group{margin:26px 0}.cw-group h2{font-size:18px;margin-bottom:12px}.cw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cw-tile{border:1px solid #dce5e1;border-radius:18px;background:#fff;text-align:left;padding:22px;display:flex;flex-direction:column;gap:8px;color:#233d46;cursor:pointer;box-shadow:0 3px 9px #243e4610;transition:transform .15s,border-color .15s;min-width:0}.cw-tile:hover{transform:translateY(-3px);border-color:#588873}.cw-icon{font-size:32px;display:block}.cw-type{font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#526c60}.cw-tile strong{font-size:21px}.cw-tile>span:not(.cw-icon):not(.cw-type){font-size:13px;line-height:1.5}.cw-tile small{margin-top:auto;padding-top:14px;font-size:11px;color:#506a5f;display:flex;justify-content:space-between}.cw-downloads{margin-top:30px;border-top:1px solid #dce5e1;padding:22px 0;line-height:1.6}.cw-downloads summary{cursor:pointer;font-weight:700}.cw-reader{max-width:780px;margin:auto;border:1px solid #dae5df;border-radius:24px;background:white;padding:32px}.cw-lesson-header{padding-bottom:22px;border-bottom:1px solid #e3ece7}.cw-lesson-header h1{font-size:clamp(30px,5vw,42px);line-height:1.15;margin:12px 0}.cw-lesson-header p{color:#526c60;font-size:17px;line-height:1.5}.cw-lesson-header .actions{flex-wrap:wrap;margin-top:20px}.cw-intro{font-size:19px;line-height:1.65;background:#edf6f0;border-radius:14px;padding:22px;margin:24px 0}.cw-lesson-section{margin:28px 0}.cw-lesson-section h2,.cw-check h2{font-size:20px;line-height:1.4;color:#1f6556}.cw-lesson-section p,.cw-lesson-section li,.cw-answer p{font-size:16px;line-height:1.75}.cw-lesson-section ul{padding-left:22px}.cw-lesson-section li{margin:12px 0}.cw-memory{background:#fff4d8;border:1px solid #f2dfad;padding:22px;border-radius:16px;line-height:1.6;margin:28px 0}.cw-memory p{font-size:18px;margin:8px 0 0}.cw-check{background:#f2effb;padding:24px;border-radius:18px;margin:24px 0;line-height:1.65}.cw-check small{display:block;font-size:12px;margin-top:16px;color:#5c5572}.cw-answer{border:1px solid #dcdde8;background:white;border-radius:12px;padding:16px;margin:14px 0}.cw-answer summary{cursor:pointer;font-weight:700;line-height:1.5}.cw-answer p{margin-bottom:0}.cw-lesson-nav{border-top:1px solid #e3ece7;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:32px;padding-top:24px}.cw-writing-prompt{font-size:12px;color:#586b63}.cw-links{display:flex;gap:10px;flex-wrap:wrap}#canadaExplorer button:focus-visible,#canadaExplorer a:focus-visible,#canadaExplorer summary:focus-visible{outline:3px solid #6253bc;outline-offset:4px}
@media(max-width:700px){.cw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-hero{grid-template-columns:1fr;padding:24px}.cw-world{display:none}.cw-reader{padding:21px}.cw-route{gap:10px}.cw-route span{font-size:12px}.cw-tile{padding:17px}.cw-tile strong{font-size:18px}}
/* Geography Week 6: quiet classification tags for quick NGO/IGO recognition. */
.cw-tile .cw-type{align-self:flex-start;display:inline-block;background:#edf4f0;border:1px solid #d8e6dd;border-radius:999px;padding:4px 9px;color:#426554;font-size:10px;letter-spacing:.035em;line-height:1.2}
#canadaExplorer .cw-downloads{margin-top:34px;border:2px solid #d9d2fa;border-radius:20px;padding:18px;background:#f6f4ff;box-shadow:0 5px 16px #4c319717}
#canadaExplorer .cw-downloads summary{display:block;list-style:none;background:#e4e9ff;border:1px solid #c8d2ff;border-radius:14px;padding:14px 18px;color:#35246c;font-size:17px;font-weight:850}
#canadaExplorer .cw-downloads summary::-webkit-details-marker{display:none}
#canadaExplorer .cw-downloads summary::after{content:'⌄';float:right;font-size:21px;line-height:1}
#canadaExplorer .cw-downloads[open] summary::after{content:'⌃'}
#canadaExplorer .cw-downloads .actions{display:flex;gap:12px;flex-wrap:wrap}
#canadaExplorer .cw-downloads .actions a[href*="Canada_World_Complete_Learning_Guide"],#canadaExplorer .cw-downloads .actions a[href*="Grade_7_Geography_Week_6_Study_Guide"]{display:inline-flex;align-items:center;justify-content:center;min-height:52px;background:#7150dd;color:#fff;border:2px solid #6240cc;border-radius:14px;box-shadow:0 4px 0 #4e32a9;padding:12px 18px;font-size:15px;font-weight:850;text-decoration:none;white-space:normal}
#canadaExplorer .cw-downloads .actions a[href*="Canada_World_Complete_Learning_Guide"]:hover,#canadaExplorer .cw-downloads .actions a[href*="Grade_7_Geography_Week_6_Study_Guide"]:hover{background:#5f3cca;color:#fff}
@media(max-width:420px){.cw-grid{grid-template-columns:1fr}.cw-reader{padding:17px}.cw-intro{padding:17px;font-size:17px}.cw-lesson-nav>button{width:100%}.cw-hero h1{font-size:34px}.cw-lesson-header .actions>*{flex:1;text-align:center}}
/* Lesson content must never inherit the app navigation header layout. */
#canadaExplorer .cw-lesson-header{display:block;position:static;width:100%;height:auto;min-height:0;padding:0 0 22px;margin:0;border-radius:0;box-shadow:none;background:transparent}
#canadaExplorer .cw-lesson-header h1{display:block;width:100%;max-width:none;font-size:clamp(27px,5vw,38px);line-height:1.18;overflow-wrap:normal;letter-spacing:-.7px}
#canadaExplorer .cw-lesson-header .actions{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap;width:100%;margin-top:18px}
#canadaExplorer .cw-lesson-header .actions>*{flex:0 1 auto;min-width:90px;min-height:44px;white-space:normal;text-align:center;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
#canadaExplorer .cw-kicker{display:block;margin-top:10px;line-height:1.5}
/* Geography follows the same visible, reversible shelf navigation as Math. */
#canadaExplorer .cw-breadcrumb{gap:8px;margin:12px 0 18px}
#canadaExplorer .cw-breadcrumb button{background:#e6f3ec;border:1px solid #b8dac8;border-radius:11px;padding:10px 13px;min-height:42px;font-weight:750;text-decoration:none;color:#245c47}
#canadaExplorer .cw-breadcrumb button:first-child{background:#336c58;color:white;border-color:#336c58}
#canadaExplorer .cw-breadcrumb strong{font-size:13px;color:#315a48}
#canadaExplorer .cw-breadcrumb button:hover{filter:brightness(.96)}
.cw-test-intro{max-width:710px;margin:0 auto;background:#fff;border:1px solid #dce5e1;border-radius:22px;padding:32px}.cw-test-intro h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:12px 0 6px}.cw-test-subtitle{font-size:19px;margin:0 0 20px;color:#356552}.cw-test-facts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.cw-test-facts span{font-size:12px;background:#edf5f0;color:#315c4c;border-radius:20px;padding:8px 12px}.cw-test-intro>p{font-size:16px;line-height:1.7}.cw-start-test{width:100%;min-height:52px;margin:15px 0}.cw-test-intro>small{display:block;line-height:1.6;color:#615d75}.cw-test-intro .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.cw-test-intro .actions a{min-height:44px;text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:600px){.cw-test-intro{padding:22px 18px}.cw-breadcrumb{font-size:12px;gap:7px}.cw-reader{padding:20px 17px;border-radius:18px}.cw-intro{font-size:16px;line-height:1.65}.cw-lesson-section p,.cw-lesson-section li{font-size:16px}.cw-lesson-header .actions{justify-content:flex-start}#canadaExplorer .cw-lesson-header .actions>*{flex:1 1 95px}.cw-test-intro .cw-downloads{margin-top:20px;padding-bottom:0}}
/* Geography bookshelf: long lesson rows, alternating gentle colour, and vocabulary pages. */
#canadaExplorer .cw-hero h1{font-size:clamp(25px,3.2vw,35px);line-height:1.17}
#canadaExplorer .cw-grid{grid-template-columns:minmax(0,1fr);gap:12px}
#canadaExplorer .cw-tile{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;column-gap:15px;row-gap:5px;min-height:98px;padding:17px 21px;border-radius:19px}
#canadaExplorer .cw-tile:nth-child(4n+1){background:#f4edff;border-color:#dcd0fb}
#canadaExplorer .cw-tile:nth-child(4n+2){background:#eaf8f3;border-color:#c8e7db}
#canadaExplorer .cw-tile:nth-child(4n+3){background:#fff2e8;border-color:#f4dacb}
#canadaExplorer .cw-tile:nth-child(4n){background:#edf5ff;border-color:#d1e4fa}
#canadaExplorer .cw-tile .cw-icon{grid-column:1;grid-row:1/4;font-size:31px;text-align:center}
#canadaExplorer .cw-tile .cw-type{grid-column:2;grid-row:1;justify-self:start}
#canadaExplorer .cw-tile strong{grid-column:2;grid-row:2;font-size:20px}
#canadaExplorer .cw-tile>span:not(.cw-icon):not(.cw-type){grid-column:2;grid-row:3}
#canadaExplorer .cw-tile small{grid-column:3;grid-row:1/4;white-space:nowrap;align-self:center}
#canadaExplorer .cw-vocabulary-page li{list-style:none;margin:0;padding:14px 0;border-bottom:1px solid #e7e2f0}
#canadaExplorer .cw-vocabulary-page li:last-child{border-bottom:0}
#canadaExplorer .cw-vocabulary-page ul{padding-left:0;margin:0}
#canadaExplorer .cw-vocabulary-term{display:block;font-size:20px;line-height:1.35;color:#34265a;margin-bottom:5px}
#canadaExplorer .cw-vocabulary-meaning{display:block;font-size:16px;line-height:1.65;font-weight:400;color:#605b70}
#canadaExplorer .cw-vocabulary-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0;padding:12px 0;border-top:1px solid #e6e0ee;border-bottom:1px solid #e6e0ee}
#canadaExplorer .cw-vocabulary-pager span{font-size:14px;font-weight:700;color:#5b4886;text-align:center}
#canadaExplorer .cw-vocabulary-pager button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:600px){#canadaExplorer .cw-tile{grid-template-columns:41px minmax(0,1fr);column-gap:10px;padding:14px}#canadaExplorer .cw-tile small{grid-column:2;grid-row:4;white-space:normal}#canadaExplorer .cw-tile strong{font-size:18px}#canadaExplorer .cw-vocabulary-pager button{flex:1}#canadaExplorer .cw-vocabulary-pager span{order:-1;flex:1 0 100%}}
/* Classroom categories belong in section headings, not on every topic card. */
#canadaExplorer .cw-tile .cw-type{display:none!important}
#canadaExplorer .cw-tile strong{grid-row:1}
#canadaExplorer .cw-tile>span:not(.cw-icon):not(.cw-type){grid-row:2}
#canadaExplorer .cw-tile small{grid-row:1/3}
@media(max-width:600px){#canadaExplorer .cw-tile small{grid-row:3}}
/* Geography has one chapter: feature it as a full-width destination, not a lone grid square. */
.subject-topic-library[data-subject="geography"] .subject-topic-grid{grid-template-columns:minmax(0,1fr);max-width:none;width:100%;margin:24px 0 32px}
.subject-topic-library[data-subject="geography"] .geography-feature-chapter{width:100%;min-height:172px;display:grid;grid-template-columns:100px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:20px;row-gap:8px;align-items:center;background:linear-gradient(115deg,#eae5ff 0%,#edf7ff 58%,#f1fffa 100%);border:2px solid #d3c9f7;border-radius:28px;padding:26px 32px;box-shadow:0 8px 0 #e9e2fb;text-align:left}
/* Compact Geography book introduction; leave other subjects' books intact. */
#canadaExplorer .cw-hero-compact{display:block;padding:16px 20px;margin:12px 0 22px;min-height:0}
#canadaExplorer .cw-hero-compact h1{font-size:clamp(19px,4.2vw,28px);margin:4px 0 0;line-height:1.3}
#canadaExplorer .cw-hero-compact .cw-kicker{font-size:11px}
#canadaExplorer .cw-reader-vocabulary{padding-top:18px}
#canadaExplorer .cw-vocabulary-header{padding-bottom:10px}
#canadaExplorer .cw-vocabulary-header h1{font-size:clamp(23px,5vw,31px);margin:0 0 4px}
#canadaExplorer .cw-vocabulary-header p{font-size:14px;line-height:1.45;margin:2px 0 8px}
#canadaExplorer .cw-vocabulary-downloads{font-size:13px;margin:6px 0 0;color:#60567c}
#canadaExplorer .cw-vocabulary-downloads summary{cursor:pointer;width:max-content;padding:7px 0;font-weight:650}
#canadaExplorer .cw-vocabulary-downloads .actions{display:flex;gap:8px;margin:8px 0}
#canadaExplorer .cw-vocabulary-downloads .actions a{font-size:13px;min-height:36px;padding:7px 12px}
#canadaExplorer .cw-reader-vocabulary>.cw-lesson-section{margin:8px 0 0}
#canadaExplorer .cw-reader-vocabulary>.cw-lesson-section h2{font-size:21px;margin:4px 0 9px}
#canadaExplorer .cw-reader-vocabulary .cw-vocabulary-pager{margin:20px 0 8px}
/* Global PWA refresh indicator, independent of subject layouts. */
#studyPullRefresh{position:fixed;z-index:9999;top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-130%);min-width:188px;max-width:88vw;padding:11px 18px;border-radius:999px;background:#f4efff;border:1px solid #c9bafa;color:#38275d;box-shadow:0 5px 18px #32265c22;font-size:14px;font-weight:750;text-align:center;pointer-events:none;opacity:0;transition:opacity .14s,transform .14s}
#studyPullRefresh.visible{opacity:1;transform:translate(-50%,0)}
#studyPullRefresh.refreshing{background:#e9fff4;border-color:#9ddab9;color:#205d45}
/* Share and Print/Open belong to one visually aligned action row. */
.study-share-pair{display:inline-flex;align-items:stretch;gap:8px;max-width:100%;min-width:0;vertical-align:middle}
.study-share-pair>a{display:inline-flex;align-items:center;justify-content:center;min-width:0;flex:1 1 auto;text-align:center;text-decoration:none}
.study-share-pair>.study-resource-share{display:inline-flex;flex:0 0 46px;width:46px;min-width:46px;height:auto;min-height:44px;padding:0;border:2px solid #ded1f7;border-radius:13px;background:#fff;color:#36265b;box-shadow:none;align-items:center;justify-content:center}
.study-share-pair>.study-resource-share svg{width:21px;height:21px}
.lightning-lesson-actions>.study-share-pair{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap}
.lightning-lesson-actions>.study-share-pair>a{font-size:clamp(13px,3vw,18px);white-space:normal;padding:10px;min-height:56px}
.lightning-lesson-actions>.study-share-pair>.study-resource-share{flex:0 0 56px;width:56px;min-width:56px}
@media(max-width:600px){.study-share-pair{display:flex;width:100%;gap:8px}.study-share-pair>a{white-space:normal}.study-share-pair>.study-resource-share{flex-basis:48px;width:48px;min-width:48px}}

/* One consistent action row, visually separate from page navigation. */
.study-document-action-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin:10px 0;align-items:stretch}
.study-purple-document-action{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:48px;padding:11px 16px!important;border:0!important;border-radius:14px!important;background:#7048d8!important;color:#fff!important;font-weight:800!important;font-size:15px!important;text-decoration:none!important;box-shadow:0 4px 0 #5133aa!important;cursor:pointer;white-space:nowrap}
.study-purple-document-action svg{width:20px;height:20px;flex:none}
.study-purple-document-action:focus-visible{outline:3px solid #e8c0ff;outline-offset:3px}
.study-purple-document-action:disabled{opacity:.6;cursor:wait}
.study-reader-document-actions{margin:12px 0 20px}
.study-document-open-link{display:inline-flex!important;font-size:13px!important;padding:7px 10px!important;min-height:0!important;background:transparent!important;box-shadow:none!important;border:0!important;color:#6547b8!important}
.assignment-actions.study-document-action-row{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
.assignment-actions.study-document-action-row>.action{grid-column:1/-1}
@media(max-width:600px){.study-document-action-row{gap:8px}.study-purple-document-action{min-height:46px;padding:10px!important;font-size:14px!important}}
.subject-topic-library[data-subject="geography"] .geography-feature-chapter .math-topic-icon{grid-column:1;grid-row:1/3;align-self:center;justify-self:center;font-size:64px;line-height:1.2}
.subject-topic-library[data-subject="geography"] .geography-feature-chapter strong{grid-column:2;grid-row:1;font-size:clamp(25px,3vw,35px);line-height:1.18}
.subject-topic-library[data-subject="geography"] .geography-feature-chapter small{grid-column:2;grid-row:2;font-size:16px;line-height:1.45;max-width:560px}
.subject-topic-library[data-subject="geography"] .geography-feature-chapter .math-topic-count{grid-column:3;grid-row:1/3;justify-self:end;align-self:center;display:inline-flex;padding:15px 20px;border-radius:17px;background:#7152d9;color:#fff;font-size:15px;font-weight:800;box-shadow:0 4px 0 #4b32a4;white-space:nowrap}
@media(max-width:700px){.subject-topic-library[data-subject="geography"] .geography-feature-chapter{grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto auto;padding:21px 18px;gap:9px;min-height:0;border-radius:22px}.subject-topic-library[data-subject="geography"] .geography-feature-chapter .math-topic-icon{grid-column:1;grid-row:1/3;font-size:43px}.subject-topic-library[data-subject="geography"] .geography-feature-chapter strong{grid-column:2;grid-row:1;font-size:25px}.subject-topic-library[data-subject="geography"] .geography-feature-chapter small{grid-column:2;grid-row:2;font-size:14px}.subject-topic-library[data-subject="geography"] .geography-feature-chapter .math-topic-count{grid-column:1/3;grid-row:3;justify-self:stretch;justify-content:center;margin-top:7px;padding:13px;font-size:14px}}
.chat-page{max-width:920px;margin:auto;padding-top:20px}
.chat-shell{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e1e4e9;border-radius:24px;box-shadow:0 14px 50px #27304c12;height:min(78dvh,760px);min-height:470px}
.chat-room-head{display:flex;align-items:center;gap:14px;padding:16px 22px;background:#fff;border-bottom:1px solid #e9e9ee}
.chat-room-icon{width:54px;height:54px;display:grid;place-items:center;background:#e9f7ed;border-radius:50%;font-size:25px;flex-shrink:0}
.chat-room-title h1{font-size:24px;line-height:1.15;margin:2px 0 4px}.chat-room-title p{font-size:13px;margin:0;color:#697184}.chat-room-title .eyebrow{font-size:10px;margin:0;color:#28734b}
.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;background-color:#f4f6f2;background-image:radial-gradient(#d6e4d8 0.7px,transparent 0.7px);background-size:20px 20px}
.chat-message{display:flex;margin:0 0 13px;justify-content:flex-start}.chat-own{justify-content:flex-end}
.chat-bubble{max-width:min(78%,550px);min-width:120px;background:#fff;border:1px solid #e6e9e8;border-radius:7px 17px 17px 17px;padding:10px 13px 7px;box-shadow:0 2px 5px #26352a0b}
.chat-own .chat-bubble{background:#dcf7e4;border-color:#c6edd1;border-radius:17px 7px 17px 17px}
.chat-author{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13px;color:#216b4b}
.chat-own .chat-author{color:#215b45}.chat-author .avatar,.chat-author .quest-avatar{width:25px;height:25px;min-width:25px}
.chat-topic{font-size:11px;font-weight:600;color:#6d7782;background:#f0f3f5;padding:2px 7px;border-radius:10px}.chat-own .chat-topic{background:#c9eeda}
.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;font-size:15px;line-height:1.45;color:#26313a}
.chat-message blockquote{margin:8px 0;padding:7px 10px;background:#00000008;border-left:3px solid #8fbda3;border-radius:5px;font-size:12px;overflow-wrap:anywhere}
.chat-meta{display:flex;justify-content:flex-end;align-items:center;gap:13px;color:#75818a;font-size:10px}
.chat-meta button{background:none;border:0;color:#42765b;font-size:11px;padding:4px;cursor:pointer;min-height:28px}
.chat-meta button:hover{text-decoration:underline}.chat-status{font-size:12px;color:#985132;margin:0;padding:0 18px}.chat-status:empty{display:none}
.chat-composer{padding:12px 16px;background:#fff;border-top:1px solid #e4e9e6}
.chat-compose-row{display:flex;align-items:center;gap:9px}
.chat-page .chat-compose-row select{flex:0 0 135px;min-width:0;width:135px}
.chat-page .chat-compose-row textarea{flex:1;min-width:0;min-height:44px;max-height:140px;resize:vertical}
.chat-page .chat-compose-row textarea,.chat-page .chat-compose-row select{box-sizing:border-box;margin:0;border:1px solid #d8e0db;border-radius:16px;background:#f7f9f8;padding:11px 12px;font:inherit}
.chat-page .chat-compose-row textarea:focus,.chat-page .chat-compose-row select:focus{outline:2px solid #8accaa;outline-offset:1px}
.chat-send-button{align-self:stretch;white-space:nowrap;border-radius:14px!important;padding:8px 18px!important;min-width:86px}
#chatReply:not(:empty){padding:0 3px 8px;font-size:12px}#chatReply p{margin:0;background:#f1f8f3;border-left:3px solid #58ab76;border-radius:5px;padding:7px}
#chatReply button{border:0;background:none;color:#277348;text-decoration:underline;cursor:pointer}
.chat-empty{text-align:center;margin:auto;color:#697b70;padding:60px 10px}.chat-empty>div{font-size:42px}.chat-empty h2{font-size:20px;margin:8px 0}
.chat-unread-dot{display:inline-block;vertical-align:middle;width:9px;height:9px;margin-left:4px;background:#ec4b68;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #ec4b6828}
.chat-unread-dot[hidden]{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.chat-page{padding:8px 8px 16px}.chat-shell{height:calc(100dvh - 170px);min-height:440px;border-radius:17px}.chat-room-head{padding:12px}.chat-room-icon{width:42px;height:42px;font-size:21px}.chat-room-title h1{font-size:20px}.chat-room-title p{font-size:11px}.chat-messages{padding:15px 10px}.chat-bubble{max-width:88%;padding:9px 11px}.chat-composer{padding:10px 8px}.chat-compose-row{gap:5px}.chat-page .chat-compose-row select{flex-basis:88px;width:88px;padding:10px 5px;font-size:12px}.chat-page .chat-compose-row textarea{font-size:14px;padding:11px 9px}.chat-send-button{min-width:44px;padding:8px 11px!important}.chat-send-button span{display:none}}
.arcade-feature{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0;padding:30px;border-radius:28px;color:#fff;background:radial-gradient(circle at 95% 5%,#f472b6 0,transparent 38%),linear-gradient(130deg,#352078,#7540b2 55%,#d04e9f);box-shadow:0 16px 40px #6534a633;overflow:hidden}
.arcade-feature h2{font-size:clamp(24px,4vw,35px);margin:9px 0}.arcade-feature p{max-width:520px;line-height:1.6;color:#f8edff}.arcade-feature button{background:#ffe580;color:#352078;border:0;margin-top:10px;font-weight:900}.arcade-eyebrow{font-size:11px;font-weight:900;letter-spacing:1.5px;color:#ffe580}.arcade-feature-art{font-size:clamp(52px,8vw,100px);white-space:nowrap;filter:drop-shadow(0 8px 12px #2c165a55);animation:arcadeFloat 3s ease-in-out infinite}.arcade-feature-art span{font-size:36px}
.arcade-page{max-width:950px;margin:22px auto 70px;padding:0 18px}.arcade-page>.back{margin-bottom:18px}.arcade-title{text-align:center;padding:32px 24px;color:#fff;border-radius:24px;background:radial-gradient(circle at 80% 10%,#f472b6,transparent 48%),linear-gradient(125deg,#362076,#6545ad)}.arcade-title span{font-size:12px;font-weight:900;letter-spacing:2px;color:#ffe580}.arcade-title h1{font-size:clamp(35px,6vw,54px);margin:12px 0}.arcade-title p{color:#f9efff;max-width:570px;margin:0 auto;line-height:1.55}.arcade-map{display:grid;grid-template-columns:repeat(8,1fr);gap:9px;margin:22px 0}.arcade-map-stop{background:#eceaf3;border:2px solid transparent;border-radius:17px;padding:12px 4px;text-align:center;filter:grayscale(1);opacity:.52}.arcade-map-stop span{display:block;font-size:clamp(22px,4vw,38px)}.arcade-map-stop small{display:block;font-size:10px;font-weight:900;margin-top:4px}.arcade-map-stop.current{filter:none;opacity:1;background:#fff0c6;border-color:#fac64f;box-shadow:0 0 0 3px #ffe59b55}.arcade-map-stop.lit{filter:none;opacity:1;background:#e7ffe9;border-color:#88d89e}.arcade-machine{border-radius:28px;background:white;border:1px solid #e7dcf5;box-shadow:0 15px 35px #47327a16;padding:clamp(22px,5vw,42px)}.arcade-machine-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eee8f3;padding-bottom:18px}.arcade-machine-head small{color:#8c65a6;font-weight:900;letter-spacing:1px}.arcade-machine-head h2{font-size:32px;margin:8px 0}.arcade-machine-icon{font-size:65px}.arcade-scene{font-size:clamp(20px,3vw,25px);font-weight:650;line-height:1.5;max-width:650px;margin:26px 0}.arcade-question{background:#f8f5ff;border-radius:20px;padding:22px}.arcade-question label{font-weight:850;display:block;margin-bottom:12px}.arcade-answer-row{display:flex;gap:10px}.arcade-answer-row input{flex:1;min-width:0;font-size:23px;border:2px solid #d9c8f4;border-radius:13px;padding:12px 16px}.arcade-answer-row button{white-space:nowrap}.arcade-feedback{margin-top:15px;color:#665779;line-height:1.5}.arcade-feedback.success{color:#177944;font-weight:750}.arcade-feedback.error-state{color:#a64358}.arcade-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px}.arcade-win{text-align:center;background:#fff;border-radius:26px;padding:40px 24px;box-shadow:0 14px 35px #493c8a22}.arcade-trophy{font-size:90px;animation:arcadeFloat 3s ease-in-out infinite}.arcade-win h2{font-size:35px;color:#6b3caa}.arcade-win .arcade-controls{justify-content:center}.arcade-footer{text-align:center;font-size:12px;color:#72687e;margin-top:20px}@keyframes arcadeFloat{50%{transform:translateY(-11px)}}@media(max-width:650px){.arcade-feature{padding:24px}.arcade-feature-art{display:none}.arcade-map{gap:4px}.arcade-map-stop{padding:9px 1px;border-radius:9px}.arcade-map-stop small{font-size:8px}.arcade-answer-row{flex-direction:column}.arcade-machine-head h2{font-size:26px}.arcade-machine-icon{font-size:44px}}
@media(prefers-reduced-motion:reduce){.arcade-feature-art,.arcade-trophy{animation:none}}
.mp-page{max-width:1190px;margin:20px auto 80px;padding:0 18px}.mp-page>.back{margin-bottom:16px}.mp-hero{border-radius:27px;padding:28px 32px;text-align:center;color:white;background:radial-gradient(ellipse at 75% 0%,#fa90d4,transparent 45%),linear-gradient(130deg,#352077,#7345ad 65%,#9e52a4);box-shadow:0 15px 38px #4a279033}.mp-hero h1{font-size:clamp(33px,5vw,51px);margin:7px 0}.mp-hero p{font-size:15px;color:#fff7ff;line-height:1.5}.mp-kicker{color:#ffe37c;letter-spacing:2px;font-size:12px;font-weight:900}.mp-choice{text-align:center;background:white;border:1px solid #e9dbf5;border-radius:24px;padding:32px 20px;margin-top:22px}.mp-choice h2{font-size:26px}.mp-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:700px;margin:22px auto}.mp-mode-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:25px 14px;text-align:center;background:#faf6ff;border:2px solid #e0cef4;border-radius:22px;color:#4b307b;cursor:pointer;transition:transform .18s,box-shadow .18s}.mp-mode-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #8060b833}.mp-mode-card span{font-size:68px}.mp-mode-card b{font-size:22px}.mp-mode-card small{font-size:13px;line-height:1.5;max-width:230px}.mp-prize-preview{display:flex;align-items:center;justify-content:center;gap:12px}.mp-prize-preview img{height:125px;filter:drop-shadow(0 5px 12px #9c62dc)}.mp-prize-preview span{font-weight:800;color:#794ac0}.mp-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:22px 0 15px}.mp-toolbar>div:first-child{display:flex;flex-direction:column;gap:5px}.mp-mode-label{font-size:12px;font-weight:900;color:#8151a9;letter-spacing:1px}.mp-toolbar-actions{display:flex;gap:8px}.mp-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.8fr);gap:22px;align-items:start}.mp-board-panel,.mp-task{background:#fff;border:1px solid #e6d9f4;border-radius:25px;padding:20px;box-shadow:0 11px 30px #4c378015}.mp-board-head{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap}.mp-board-head h2{font-size:18px;margin:0 0 15px}.mp-board-head span{font-size:11px;color:#8460a0}.mp-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(6,minmax(75px,1fr));gap:7px;padding:12px;border-radius:20px;background:linear-gradient(135deg,#f3edff,#e6f9fc,#fff0e9);min-height:525px}.mp-cell{position:relative;min-width:0;min-height:73px;border-radius:13px;background:#fff9ef;border:2px solid #f3dcd2;box-shadow:0 2px 0 #dbbfd222;overflow:visible}.mp-cell:nth-child(4n+2){background:#e8f5ff;border-color:#cde8ff}.mp-cell:nth-child(4n+3){background:#fce7f5;border-color:#f2c9e6}.mp-cell:nth-child(4n){background:#e8ffe9;border-color:#c7e9ce}.mp-cell.mp-start{background:#c0f2d9;border-color:#6ac79c}.mp-cell.mp-finish{background:linear-gradient(130deg,#f9e7a0,#ffcbe5);border-color:#f0c35d;box-shadow:0 0 0 3px #ffe47a55}.mp-space-no{font-size:10px;font-weight:950;color:#856097;position:absolute;top:6px;left:7px}.mp-decoration{position:absolute;font-size:20px;right:5px;top:5px;opacity:.75}.mp-tokens{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;flex-wrap:wrap;padding-top:16px}.mp-token{width:31px;height:31px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:3px solid white;box-shadow:0 3px 7px #472c7e55;color:white;font-weight:900;font-size:14px;animation:mpPop .2s ease-out}.mp-olivia{background:linear-gradient(145deg,#f26db7,#b53487)}.mp-karina{background:linear-gradient(145deg,#867cff,#5143bf)}.mp-armaan{background:linear-gradient(145deg,#42c6c6,#167c9d)}.mp-crew{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:15px}.mp-crew>span{display:flex;align-items:center;gap:5px;font-size:12px}.mp-crew .mp-token{width:24px;height:24px;font-size:11px;font-style:normal}.mp-crew small{color:#7c6889}.mp-task{position:sticky;top:15px;min-height:370px;padding:26px}.mp-task h2{font-size:27px;line-height:1.2;color:#4d277d}.mp-task>p{line-height:1.55;color:#655b70}.mp-task-icon{font-size:65px;text-align:center;margin-bottom:14px}.mp-task .primary{width:100%;margin-top:12px}.mp-turn-number{color:#8658aa;font-size:12px;font-weight:900;letter-spacing:2px}.mp-question{font-size:20px!important;font-weight:650;color:#2a2842!important}.mp-task label{display:block;font-size:12px;font-weight:900;color:#655275;margin:19px 0 7px}.mp-task input{width:100%;padding:13px;font-size:21px;border:2px solid #d9c4ea;border-radius:12px}.mp-once{font-size:12px!important;color:#836c8e!important}.mp-prize-tease{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7edff;border-radius:14px;padding:9px 12px;font-size:12px;color:#673d9c;font-weight:900;margin-top:25px}.mp-prize-tease img{height:65px}.mp-win-pal{width:min(100%,250px);display:block;margin:0 auto;filter:drop-shadow(0 5px 18px #c776e6)}.mp-task h3{text-align:center;color:#b23dba}.mp-move-result{font-size:30px;font-weight:950;color:#9856d2!important}.mp-small-note{text-align:center;font-size:11px;color:#897a98;margin-top:20px}.quest-pet:has(img[src*="nova-titan"]){border:3px solid #ebba58;background:linear-gradient(160deg,#fff2cb,#fff,#f3e1ff)}.quest-pet:has(img[src*="nova-titan"]) .quest-kicker{color:#ac54be;font-weight:950}@keyframes mpPop{0%{transform:scale(.5)}60%{transform:scale(1.22)}100%{transform:scale(1)}}@media(max-width:850px){.mp-layout{grid-template-columns:1fr}.mp-task{position:static;min-height:0}.mp-board{min-height:430px;grid-template-rows:repeat(6,minmax(60px,1fr))}.mp-cell{min-height:58px}}@media(max-width:520px){.mp-hero{padding:22px 14px}.mp-mode-grid{grid-template-columns:1fr}.mp-board-panel{padding:10px}.mp-board{gap:3px;padding:5px;min-height:355px;grid-template-rows:repeat(6,minmax(49px,1fr))}.mp-cell{border-radius:8px;min-height:47px;border-width:1px}.mp-space-no{top:3px;left:3px;font-size:8px}.mp-decoration{font-size:13px}.mp-token{width:22px;height:22px;border-width:2px;font-size:10px}.mp-tokens{padding-top:10px}.mp-task{padding:22px}.mp-crew{justify-content:center;gap:10px}.mp-crew>span{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.mp-token,.mp-mode-card{animation:none;transition:none}}

/* MATHPLOSION / Season 1: cinematic game map instead of classroom-like tiles. */
.mp-page{max-width:1170px;color:#27314c}
.mp-page>.back{margin-bottom:10px}
header.mp-hero{position:relative!important;display:block!important;height:auto!important;min-height:0!important;max-width:none!important;padding:15px 22px!important;text-align:left!important;margin:0!important;border-radius:18px!important;background:linear-gradient(110deg,#1a1e4d 0%,#392b70 55%,#59418a 100%)!important;box-shadow:0 8px 26px #13153b26!important;inset:auto!important}
.mp-hero .mp-kicker{font-size:10px;letter-spacing:1.6px;color:#8cefff}
.mp-hero h1{font-size:clamp(23px,3vw,30px)!important;line-height:1.15;margin:5px 0!important;letter-spacing:-.6px;color:white}
.mp-hero p{font-size:12px!important;line-height:1.45!important;margin:0!important;max-width:850px;color:#e4ddff!important}
.mp-toolbar{margin:13px 0 10px}.mp-toolbar-actions .secondary{padding:9px 12px;font-size:12px}.mp-toolbar>div:first-child{gap:2px}.mp-mode-label{font-size:11px}.mp-toolbar strong{font-size:13px}
.mp-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:15px}
.mp-board-panel{background:#161b42;padding:12px;border:1px solid #373a76;box-shadow:0 15px 35px #161f4933;border-radius:20px}
.mp-board-head{color:#f1f0ff;margin:1px 5px 9px}.mp-board-head h2{font-size:15px;margin:0;color:#f6f2ff}.mp-board-head span{color:#8fd7ed;font-size:10px}
.mp-board.mp-world{display:block;position:relative;min-height:0;aspect-ratio:1.32 / 1;grid-template-columns:none;grid-template-rows:none;gap:0;padding:0;background:#111c4c url('/mathplosion-world.webp') center center / cover no-repeat;border-radius:14px;overflow:hidden;isolation:isolate;border:2px solid #6c5ca6;box-shadow:inset 0 0 60px #040e43dd}
.mp-world-shade{position:absolute;inset:0;background:linear-gradient(180deg,#14144b29,#110d3a11 45%,#17104a55),radial-gradient(ellipse at center,#14114610 25%,#11124645 100%);z-index:0;pointer-events:none}
.mp-world-route{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible;pointer-events:none}.mp-route-halo{fill:none;stroke:#140e39cc;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mp-route-core{fill:none;stroke:#fbdc95;stroke-width:2.7;stroke-dasharray:3.5 1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px #ffe7bc);vector-effect:non-scaling-stroke}
.mp-node.mp-cell{position:absolute;display:flex;align-items:center;justify-content:center;width:clamp(26px,3vw,34px);height:clamp(26px,3vw,34px);min-height:0;border:2px solid #d4cafd;border-radius:50%;background:radial-gradient(circle at 28% 23%,#f6f1ff,#8173c4 72%,#312956);box-shadow:0 2px 0 #201850,0 0 0 3px #0a0a2eaa,0 0 12px #cab8ff77;transform:translate(-50%,-50%);z-index:2;overflow:visible}
.mp-node.mp-cell:nth-child(n){background:radial-gradient(circle at 28% 23%,#f6f1ff,#8173c4 72%,#312956);border-color:#d4cafd}.mp-node.mp-start{background:radial-gradient(circle at 30% 25%,#e4fff5,#2bd5ae 68%,#137a84)!important;border-color:#adffe7!important}.mp-node.mp-finish{background:radial-gradient(circle at 30% 25%,#fffce1,#ffc65a 62%,#d77928)!important;border:3px solid #ffec94!important;box-shadow:0 0 0 4px #301353,0 0 25px #ffe193,0 0 60px #ffdd7299!important}
.mp-node .mp-space-no{position:static;font-size:11px;font-weight:950;color:#1c1947;text-shadow:0 1px #ffffff85;line-height:1}.mp-node.mp-start .mp-space-no{font-size:8px}.mp-node.mp-finish .mp-space-no{font-size:15px}.mp-node .mp-tokens{position:absolute;top:-18px;left:50%;right:auto;bottom:auto;inset:auto;display:flex;justify-content:center;align-items:center;transform:translateX(-50%);padding:0;gap:0;flex-wrap:nowrap;z-index:8}.mp-node .mp-token{width:27px;height:27px;flex:none;outline:2px solid #191438;box-shadow:0 3px 6px #080823a8,0 0 11px #fff7bd;font-size:12px}.mp-node .mp-token+.mp-token{margin-left:-11px}
.mp-map-label{position:absolute;z-index:1;font-size:9px;font-weight:900;letter-spacing:1.7px;color:#fbf5ff;text-shadow:0 2px 7px #130b45,0 0 5px #130b45;pointer-events:none}.mp-map-label-left{bottom:3%;left:4%}.mp-map-label-right{top:3%;right:3%}
.mp-crew{border:1px solid #423b81;background:#242853;border-radius:12px;padding:8px 10px;margin-top:10px}.mp-crew>span{color:#eef4ff}.mp-crew small{color:#b2c5e7}.mp-crew .mp-token{outline:1px solid #fff}
.mp-task{border-radius:19px;border:1px solid #ddd8f3;background:#fff;padding:18px;min-height:0;box-shadow:0 8px 22px #1c18421a}.mp-task h2{font-size:clamp(18px,2.2vw,22px);margin:4px 0 9px;line-height:1.25}.mp-task>p{font-size:13px;line-height:1.4;margin:8px 0}.mp-task-icon{font-size:39px;margin:0 0 5px}.mp-turn-number{font-size:10px}.mp-question{font-size:17px!important;line-height:1.38!important;margin:9px 0 12px!important}.mp-task label{margin:9px 0 5px}.mp-task input{padding:10px 12px;font-size:18px}.mp-task .primary{margin-top:8px;padding:11px 12px}.mp-once{font-size:10px!important;margin:7px 0!important}.mp-prize-tease{padding:6px 9px;margin-top:11px;background:#f0eaff;font-size:10px;min-height:44px}.mp-prize-tease img{height:34px}.mp-move-result{font-size:24px}.mp-small-note{margin-top:12px}
@media(max-width:850px){.mp-layout{grid-template-columns:1fr}.mp-board.mp-world{aspect-ratio:1.2/1;min-height:0}.mp-task{position:static}.mp-task h2{font-size:21px}.mp-task .primary{margin-top:7px}.mp-hero p{font-size:11px!important}}
@media(max-width:520px){.mp-page{padding:0 12px}.mp-page>.back{font-size:12px;margin-bottom:8px}.mp-board-panel{padding:8px;border-radius:15px}.mp-board-head{margin:4px 6px 9px}.mp-board-head h2{font-size:14px}.mp-board-head span{font-size:9px}.mp-board.mp-world{aspect-ratio:.94/1;min-height:0}.mp-node.mp-cell{width:27px;height:27px;min-height:0}.mp-node .mp-space-no{font-size:10px}.mp-node .mp-tokens{top:-16px}.mp-node .mp-token{width:21px;height:21px;font-size:9px;outline-width:1px}.mp-map-label{font-size:7px}.mp-crew{gap:5px;padding:7px}.mp-crew>span{font-size:10px}.mp-crew small{font-size:9px}header.mp-hero{padding:12px 15px!important}.mp-hero h1{font-size:23px!important}.mp-hero .mp-kicker{font-size:9px}.mp-hero p{font-size:11px!important}.mp-task{padding:14px 16px}.mp-task h2{font-size:19px}.mp-question{font-size:16px!important}.mp-toolbar-actions .secondary{padding:7px 9px;font-size:11px}}

/* Floating-island party board: physical tiles and characters, not infographic markers. */
.mp-board-panel{background:linear-gradient(160deg,#ffffff,#e6f7ff);border:1px solid #b3dfe9;box-shadow:0 10px 26px #2a8ea62a}
.mp-board-head,.mp-board-head h2{color:#253e62}.mp-board-head span{color:#4d849d}
.mp-board.mp-party-world{position:relative;display:block;aspect-ratio:1.32/1;min-height:0;padding:0;background:#75c7ed url('/mathplosion-party-world.webp') center center / cover no-repeat;border:3px solid #fff6d0;box-shadow:inset 0 0 25px #04557a44,0 5px 15px #185c8388;border-radius:16px;overflow:hidden;isolation:isolate}
.mp-party-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#d8f8ff12,#91ffdc10 45%,#29405e20);pointer-events:none;z-index:0}
.mp-party-path{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}.mp-party-shadow{fill:none;stroke:#334b3994;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transform:translateY(1.3px)}.mp-party-stone{fill:none;stroke:#d8c5a4;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(1px 3px 2px #27453a77)}.mp-party-shine{fill:none;stroke:#ffefcf;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:4 3;opacity:.7}
.mp-party-pad.mp-cell{position:absolute;width:clamp(30px,3.9vw,48px);height:clamp(25px,3.3vw,40px);min-height:0;display:flex;align-items:center;justify-content:center;padding:0;border:2px solid #f5e4ac;border-radius:45% 43% 48% 48%;background:linear-gradient(155deg,#ffefc3 0%,#e6c98b 48%,#c68d50 100%);box-shadow:0 5px 0 #806646,0 8px 0 #4f6748,0 12px 12px #35573988,inset 0 4px 7px #fff9e7;transform:translate(-50%,-50%) perspective(150px) rotateX(20deg);z-index:2;overflow:visible}
.mp-party-pad.mp-cell:nth-child(n){background:linear-gradient(155deg,#ffefc3 0%,#e6c98b 48%,#c68d50 100%);border-color:#f5e4ac}
.mp-party-pad.mp-special{background:linear-gradient(145deg,#ffd1f0,#f58cc8 58%,#bb4c94)!important;border-color:#ffe5f5!important;box-shadow:0 5px 0 #9f3c79,0 8px 0 #77456d,0 11px 14px #6843619c,inset 0 3px 7px #fff1fb!important}
.mp-party-pad.mp-start{background:linear-gradient(145deg,#b5ffe5,#42df9d 55%,#169b81)!important;border-color:#e6ffde!important;box-shadow:0 5px 0 #13775c,0 8px 0 #276f55,0 12px 12px #226f6580,inset 0 4px 7px #f4fff4!important}
.mp-party-pad.mp-finish{background:linear-gradient(140deg,#fff8ad,#ffc852 55%,#f5a831)!important;border:3px solid #fff7d7!important;box-shadow:0 5px 0 #bf7e28,0 9px 0 #855c2b,0 12px 18px #8f653b99,0 0 24px #fff5b6!important}
.mp-party-pad .mp-space-no{position:static;color:#62462b;font-size:12px;font-weight:1000;text-shadow:0 1px #fff6d5;letter-spacing:-.2px}.mp-party-pad.mp-start .mp-space-no{font-size:9px;color:#145b48}.mp-party-pad.mp-finish .mp-space-no{font-size:18px}
.mp-party-pad .mp-tokens{position:absolute;left:50%;top:auto;bottom:55%;right:auto;inset:auto auto 55% 50%;display:flex;justify-content:center;align-items:flex-end;gap:0;transform:translateX(-50%) rotateX(-20deg);padding:0;z-index:6;min-width:40px;overflow:visible}
.mp-character{height:clamp(38px,5.2vw,58px);width:auto;max-width:60px;object-fit:contain;filter:drop-shadow(0 6px 3px #23391d9c);transform-origin:50% 100%;animation:mpCharacterHop .55s cubic-bezier(.2,.6,.25,1) both}.mp-character+.mp-character{margin-left:-20px}.mp-character.mp-olivia{filter:drop-shadow(0 4px 3px #b6397688)}.mp-character.mp-karina{filter:drop-shadow(0 4px 3px #5946a5a0)}.mp-character.mp-armaan{filter:drop-shadow(0 4px 3px #15647ca0)}
.mp-party-landmark{position:absolute;z-index:1;pointer-events:none;font-size:clamp(8px,.9vw,11px);letter-spacing:.8px;font-weight:1000;color:#fff8d7;text-shadow:0 2px 6px #234d57,0 0 3px #143755}.mp-party-landmark-start{bottom:3%;left:4%}.mp-party-landmark-end{top:2%;right:2%}
.mp-task{border:1px solid #d4e6e3;background:linear-gradient(180deg,#fff,#fcfffc);box-shadow:0 9px 20px #32858b18}.mp-task .primary{background:linear-gradient(135deg,#6d46d5,#9454d6);box-shadow:0 4px 0 #4a2e9d}.mp-prize-tease{background:#eaf4ff}
@keyframes mpCharacterHop{0%{transform:translateY(-3px) scale(.9);opacity:.75}42%{transform:translateY(-17px) scale(1.07);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
@media(max-width:850px){.mp-board.mp-party-world{aspect-ratio:1.16/1}.mp-party-pad.mp-cell{width:38px;height:32px}.mp-character{height:45px}}
@media(max-width:520px){.mp-board.mp-party-world{aspect-ratio:.94/1;border-width:2px}.mp-party-pad.mp-cell{width:29px;height:24px;min-height:0;border-width:2px;box-shadow:0 3px 0 #806646,0 5px 0 #4f6748,0 7px 7px #35573988,inset 0 2px 4px #fff9e7}.mp-party-pad .mp-space-no{font-size:10px}.mp-party-pad.mp-start .mp-space-no{font-size:8px}.mp-party-pad.mp-finish .mp-space-no{font-size:13px}.mp-character{height:34px;max-width:40px}.mp-character+.mp-character{margin-left:-17px}.mp-party-landmark{font-size:7px}.mp-party-pad .mp-tokens{bottom:54%}.mp-task .mp-task-icon{display:none}.mp-task h2{margin:2px 0 5px}.mp-task .mp-question{margin:5px 0 8px!important}.mp-task .mp-prize-tease{margin-top:7px;min-height:29px}.mp-task .mp-prize-tease img{height:25px}.mp-task #mpForm{display:flex;align-items:center;gap:8px}.mp-task #mpForm input{flex:1;min-width:0;font-size:16px}.mp-task #mpForm button{width:auto;min-width:126px;font-size:12px;padding:11px 8px;margin:0}.mp-task .mp-once{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.mp-character{animation:none}}

/* Mathplosion illustrated trail: the stone and bridge surfaces belong to the artwork. */
.mp-board.mp-party-world{aspect-ratio:4/3;background-position:center;background-size:100% 100%;border:0;border-radius:18px;box-shadow:0 9px 24px #205c7280}
.mp-board.mp-region-0{background-image:url('/mathplosion-party-world.webp')}
.mp-board.mp-region-1{background-image:url('/mathplosion-bridges.webp')}
.mp-board.mp-region-2{background-image:url('/mathplosion-water.webp')}
.mp-embedded-space.mp-cell{position:absolute;width:6.3%;height:7.3%;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent!important;box-shadow:none!important;display:flex;justify-content:center;align-items:center;z-index:2;pointer-events:none}
.mp-embedded-space .mp-space-no{font-size:clamp(7px,.9vw,11px);font-weight:950;color:#594a2a;text-shadow:0 1px 2px #fff9e9,0 0 3px #fff9e9;opacity:.72;line-height:1;position:absolute;bottom:4%;left:50%;transform:translateX(-50%);white-space:nowrap}
.mp-embedded-space.mp-guardian .mp-space-no{font-size:clamp(14px,1.7vw,21px);opacity:1;filter:drop-shadow(0 2px 3px #423316)}
.mp-embedded-space.mp-start .mp-space-no,.mp-embedded-space.mp-finish .mp-space-no{font-size:clamp(8px,1.2vw,14px);opacity:1;color:#56360a}
.mp-embedded-space .mp-tokens{position:absolute;left:50%;bottom:28%;right:auto;top:auto;inset:auto auto 28% 50%;display:flex;transform:translateX(-50%);justify-content:center;align-items:flex-end;min-width:46px;z-index:5;overflow:visible}
.mp-region-banner{position:absolute;top:12px;left:12px;z-index:10;display:flex;align-items:center;gap:8px;padding:7px 10px;background:#142b40b8;color:#fff;border:1px solid #ffffff60;border-radius:11px;box-shadow:0 3px 9px #153b4766;backdrop-filter:blur(6px)}
.mp-region-banner strong{font-size:11px;letter-spacing:.3px}.mp-region-banner small{font-size:10px;color:#d9f7ff}
.mp-embedded-space .mp-character{height:clamp(35px,4.5vw,65px);max-width:65px;object-fit:contain;filter:drop-shadow(0 7px 3px #172f3480);transform-origin:center bottom}
.mp-board.mp-party-world .mp-party-path,.mp-board.mp-party-world .mp-party-pad{display:none}
/* Follow-the-light trail: the route sits underneath the scenery's stepping stones. */
.mp-embedded-trail{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.mp-trail-segment{fill:none;stroke:#e7f5e5b3;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.5;filter:drop-shadow(0 0 1px #213a35);transition:stroke .18s ease,stroke-width .18s ease,filter .18s ease}
.mp-trail-segment.mp-trail-next{stroke:#fff5b9;stroke-width:1.5;stroke-dasharray:1.7 .75;filter:drop-shadow(0 0 1.5px #ffeb8a)}
.mp-trail-segment.mp-trail-lit{stroke:#ffcf4e;stroke-width:2;stroke-dasharray:none;filter:drop-shadow(0 0 2px #fff4b6) drop-shadow(0 0 3px #ffae20)}
.mp-embedded-space.mp-cell{z-index:3}
.mp-embedded-space.mp-cell::before{content:'';position:absolute;inset:4%;border-radius:50%;border:1.5px solid #ffffffa0;background:#1c354b50;box-shadow:0 1px 4px #132e4260;transition:background .2s,border-color .2s,box-shadow .2s;z-index:0}
.mp-embedded-space.mp-trail-next::before{border:2px solid #fff3b7;background:#f4e7a15e;box-shadow:0 0 7px #fff9c9,0 0 2px #ffe48d,inset 0 0 4px #fff8dc}
.mp-embedded-space.mp-trail-visited::before{border:2px solid #ffe69d;background:#ffd46a8a;box-shadow:0 0 8px #fff2ae,0 0 14px #ffc84988,inset 0 0 4px #fff7cc}
.mp-embedded-space.mp-trail-current::before{border:3px solid #fffef3;background:#ffd357bd;box-shadow:0 0 0 2px #ffb338,0 0 14px 4px #ffe98f,0 0 23px #fff4c6;animation:mpTrailPulse 1.8s ease-in-out infinite}
.mp-embedded-space .mp-space-no{z-index:2;color:#172332;opacity:1;text-shadow:0 1px 2px #fff9e7,0 0 5px #fff9e7;font-size:clamp(9px,1.05vw,13px)}
.mp-embedded-space.mp-trail-current .mp-space-no{color:#2f2016;font-weight:1000}
@keyframes mpTrailPulse{50%{box-shadow:0 0 0 3px #ffbd3d,0 0 17px 6px #fff3aa,0 0 28px #fff9da}}
@media(max-width:850px){.mp-board.mp-party-world{aspect-ratio:4/3}.mp-embedded-space .mp-character{height:clamp(24px,5.4vw,44px)}.mp-embedded-space.mp-cell{width:7%;height:8%}}
@media(max-width:520px){.mp-board.mp-party-world{aspect-ratio:4/3}.mp-embedded-space .mp-space-no{font-size:7px}.mp-embedded-space.mp-guardian .mp-space-no{font-size:13px}.mp-embedded-space .mp-character{height:clamp(24px,6vw,32px)}.mp-embedded-space .mp-tokens{min-width:22px;bottom:26%}.mp-region-banner{top:6px;left:6px;padding:5px 7px;gap:5px}.mp-region-banner strong,.mp-region-banner small{font-size:9px}}
@media(max-width:520px){.mp-embedded-space .mp-space-no{font-size:9px}.mp-embedded-space.mp-cell::before{inset:-4%}.mp-embedded-space.mp-trail-current::before{border-width:2px}}
@media(prefers-reduced-motion:reduce){.mp-embedded-space.mp-trail-current::before{animation:none}}
/* The stepping stones are etched into the scene, not extra raised UI buttons. */
.mp-embedded-space.mp-cell::before{inset:10% 5%;border:0;border-radius:43% 57% 52% 48% / 55% 44% 56% 45%;background:radial-gradient(ellipse at 42% 36%,#efe2b5b0,#94846765 67%,#554b3b3d);box-shadow:inset 0 1px 2px #fff2bf7a,inset 0 -1px 2px #273d3c55;transform:rotate(-8deg);mix-blend-mode:soft-light}
.mp-embedded-space.mp-trail-next::before{background:radial-gradient(ellipse,#fff2b8d0,#f4db7f70 75%,#87764c35);box-shadow:0 0 6px 2px #fff3a37c,inset 0 0 5px #ffebb0}
.mp-embedded-space.mp-trail-visited::before{background:radial-gradient(ellipse,#fff5bc,#ffce5a9c 68%,#ad8a3965);box-shadow:0 0 8px 3px #ffe07aa6,inset 0 0 5px #fff6c9;mix-blend-mode:normal}
.mp-embedded-space.mp-trail-current::before{background:radial-gradient(ellipse,#fff7d3,#ffd35bd9 72%,#b98d3988);box-shadow:0 0 13px 5px #ffeb97d4,inset 0 0 6px #fffbe1;mix-blend-mode:normal}
.mp-embedded-space .mp-space-no{font-size:clamp(7px,.85vw,10px);opacity:.8;color:#4e482f;text-shadow:0 1px #fff4c6}
.mp-embedded-space.mp-trail-visited .mp-space-no,.mp-embedded-space.mp-trail-current .mp-space-no{opacity:1}
.mp-learning-tools{display:grid;gap:8px;margin:10px 0 12px;padding:12px;background:#f4f9ff;border:1px solid #d1e3fc;border-radius:14px}
.mp-guide-title{font-size:13px;font-weight:900;color:#305986}
.mp-learning-tools details{background:#fff;border:1px solid #dce6f5;border-radius:10px;padding:9px 11px;font-size:13px;color:#30475e}
.mp-learning-tools summary{cursor:pointer;font-weight:850;color:#5a46a0}
.mp-learning-tools p{margin:8px 0;line-height:1.5}.mp-learning-tools small{color:#697a89}
.mp-guide-answer{font-weight:900;color:#267b56}
.mp-fireworks{position:absolute;inset:0;z-index:30;pointer-events:none;overflow:hidden}
.mp-fireworks-message{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);font-size:clamp(18px,3vw,34px);font-weight:1000;color:#fff7b8;text-shadow:0 3px 8px #56337c,0 0 16px #faad2d;animation:mpCongrats 1.1s ease both;white-space:nowrap}
.mp-firework-burst{position:absolute;width:0;height:0;animation:mpBurst 1s ease-out both}
.mp-firework-burst i{position:absolute;left:-2px;top:-2px;width:4px;height:16px;border-radius:90%;background:hsl(var(--hue) 100% 73%);box-shadow:0 0 8px 2px hsl(var(--hue) 100% 65%);transform:rotate(var(--angle)) translateY(-48px);transform-origin:center center;animation:mpSpark 1s ease-out both}
@keyframes mpBurst{0%{opacity:0;transform:scale(.12)}20%{opacity:1}75%{opacity:1}100%{opacity:0;transform:scale(1.15)}}
@keyframes mpSpark{0%{transform:rotate(var(--angle)) translateY(0) scale(.2)}40%{opacity:1}100%{transform:rotate(var(--angle)) translateY(-52px) scale(.6);opacity:0}}
@keyframes mpCongrats{0%{opacity:0;transform:translate(-50%,-42%) scale(.7)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}75%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.mp-firework-burst,.mp-firework-burst i,.mp-fireworks-message{animation-duration:.25s}}
/* Embedded map markers: small inlaid medallions, never floating hoops. */
.mp-embedded-space.mp-cell{width:4.3%;height:5.2%;min-height:0;isolation:isolate}
.mp-embedded-space.mp-cell::before{inset:0;border:1px solid #f9e9b5c9;border-radius:50%;background:#5745297a;box-shadow:0 1px 2px #28382480,inset 0 1px 2px #fff9d388}
.mp-embedded-space .mp-space-no{bottom:auto;top:50%;transform:translate(-50%,-50%);font-size:clamp(8px,.95vw,12px);font-weight:900;color:#fff9dc;text-shadow:0 1px 2px #302917,0 0 3px #302917}
.mp-embedded-space.mp-trail-next::before{border:1.5px solid #fff0ac;background:#a9873670;box-shadow:0 0 5px #fff5ad90,inset 0 1px 3px #fff7cd8a}
.mp-embedded-space.mp-trail-visited::before{border:1.5px solid #fff4bb;background:#e9b83ba8;box-shadow:0 0 7px #fff4ab,0 0 12px #ffc63d88,inset 0 1px 3px #fff6ca}
.mp-embedded-space.mp-trail-current::before{border:2px solid #fffef0;background:#ffc63bd9;box-shadow:0 0 0 2px #ffaa3488,0 0 11px 4px #ffe27e,0 0 20px #fff0b0;animation:mpInlaidPulse 1.8s ease-in-out infinite}
.mp-embedded-space.mp-trail-current .mp-space-no,.mp-embedded-space.mp-trail-visited .mp-space-no{color:#36260c;text-shadow:0 1px #fff2be}
.mp-trail-segment{stroke:#fff1b968;stroke-width:.48;stroke-dasharray:1 1.5;filter:none}
.mp-trail-segment.mp-trail-next{stroke:#ffeb9d9c;stroke-width:.7;stroke-dasharray:1.3 1.2;filter:drop-shadow(0 0 1px #fff6ba)}
.mp-trail-segment.mp-trail-lit{stroke:#ffd34acf;stroke-width:.95;stroke-dasharray:none;filter:drop-shadow(0 0 2px #ffdd68)}
.mp-embedded-space .mp-tokens{bottom:74%;min-width:26px}
.mp-embedded-space .mp-character{width:clamp(28px,4.1vw,46px);height:clamp(28px,4.1vw,46px);max-width:none;object-fit:contain;background:radial-gradient(circle at 38% 28%,#fffef1,#e7d9ff 72%);border:2px solid #fff9d8;border-radius:50%;padding:2px;box-shadow:0 2px 0 #805bb8,0 3px 8px #162c5077;filter:none}
.mp-embedded-space .mp-character+.mp-character{margin-left:-9px}
@keyframes mpInlaidPulse{50%{box-shadow:0 0 0 2px #ffb23c88,0 0 15px 5px #ffe58b,0 0 24px #fff4c3}}
@media(max-width:850px){.mp-embedded-space.mp-cell{width:4.8%;height:5.8%}}
@media(max-width:520px){.mp-embedded-space.mp-cell{width:5%;height:6%}.mp-embedded-space.mp-cell::before{inset:0}.mp-embedded-space .mp-space-no{font-size:8px}.mp-embedded-space .mp-tokens{bottom:78%;min-width:23px}.mp-embedded-space .mp-character{width:27px;height:27px;padding:1px}}
@media(prefers-reduced-motion:reduce){.mp-embedded-space.mp-trail-current::before{animation:none}}
.mp-power-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0;margin:12px 0 7px;min-width:0}.mp-power-choice legend{font-size:11px;font-weight:800;color:#536780;margin-bottom:6px}.mp-power-choice label{display:flex;align-items:center;gap:6px;min-width:0;padding:8px;border:1px solid #cfdbea;border-radius:10px;background:#f4f8ff;cursor:pointer;font-size:12px;font-weight:800;color:#253c6c;margin:0}.mp-power-choice label:has(input:checked){background:#eee7ff;border-color:#9279d3;box-shadow:inset 0 0 0 1px #9279d3}.mp-power-choice input{width:14px;min-width:14px;margin:0;accent-color:#8056d2}.mp-power-choice small{display:block;font-size:9px;font-weight:600;color:#68758d;margin-top:2px;white-space:nowrap}
@media(max-width:520px){.mp-task #mpForm{display:grid;grid-template-columns:1fr auto}.mp-task #mpForm .mp-power-choice{grid-column:1/-1;grid-row:2;margin:2px 0 3px}.mp-task #mpForm button{grid-column:2;grid-row:1}.mp-task #mpForm input#mpAnswer{grid-column:1;grid-row:1}.mp-power-choice label{padding:6px 7px;font-size:11px}}
/* Final inlaid-stone treatment wins over the former circular medallion design. */
.mp-embedded-space.mp-cell::before{inset:10% 5%;border:0;border-radius:43% 57% 52% 48% / 55% 44% 56% 45%;background:radial-gradient(ellipse at 42% 36%,#efe2b5b0,#94846765 67%,#554b3b3d);box-shadow:inset 0 1px 2px #fff2bf7a,inset 0 -1px 2px #273d3c55;transform:rotate(-8deg);mix-blend-mode:soft-light;animation:none}
.mp-embedded-space.mp-trail-next::before{border:0;background:radial-gradient(ellipse,#fff2b8d0,#f4db7f70 75%,#87764c35);box-shadow:0 0 6px 2px #fff3a37c,inset 0 0 5px #ffebb0}
.mp-embedded-space.mp-trail-visited::before{border:0;background:radial-gradient(ellipse,#fff5bc,#ffce5a9c 68%,#ad8a3965);box-shadow:0 0 8px 3px #ffe07aa6,inset 0 0 5px #fff6c9;mix-blend-mode:normal}
.mp-embedded-space.mp-trail-current::before{border:0;background:radial-gradient(ellipse,#fff7d3,#ffd35bd9 72%,#b98d3988);box-shadow:0 0 13px 5px #ffeb97d4,inset 0 0 6px #fffbe1;mix-blend-mode:normal}
.mp-embedded-space .mp-space-no{font-size:clamp(7px,.85vw,10px);color:#4e482f;text-shadow:0 1px #fff4c6}
/* Number overlays align with the painted stone surfaces; only the stone glows. */
.mp-embedded-trail,.mp-trail-segment{display:none!important}
.mp-embedded-space.mp-cell{width:7.4%;height:6.9%;transform:translate(-50%,-50%);background:none!important;box-shadow:none!important;border:0!important}
.mp-embedded-space.mp-cell::before{inset:0;border:0!important;border-radius:44% 56% 48% 52% / 48% 51% 49% 52%;background:transparent!important;box-shadow:none!important;mix-blend-mode:screen;transform:none;filter:none}
.mp-embedded-space.mp-trail-next::before{background:radial-gradient(ellipse,#fffbb14d 5%,#fff0a725 53%,transparent 76%)!important;box-shadow:inset 0 0 8px #fff5bc90!important}
.mp-embedded-space.mp-trail-visited::before{background:radial-gradient(ellipse,#fff5b6cf 2%,#ffd94f75 50%,transparent 79%)!important;box-shadow:0 0 12px 4px #fff0a68a,inset 0 0 8px #fff8c6!important;filter:blur(1px)}
.mp-embedded-space.mp-trail-current::before{background:radial-gradient(ellipse,#fffcd7f2 5%,#ffcf5eaf 55%,transparent 82%)!important;box-shadow:0 0 15px 5px #ffdf83b3,inset 0 0 10px #fff7b7!important;filter:blur(1px)}
.mp-embedded-space .mp-space-no{top:46%;left:50%;bottom:auto;font-size:clamp(8px,1.1vw,14px);font-weight:950;color:#51401e;text-shadow:0 1px 2px #fff5c4,0 0 4px #fff7d8;opacity:.9}
.mp-embedded-space.mp-trail-visited .mp-space-no,.mp-embedded-space.mp-trail-current .mp-space-no{color:#3c2c14}
.mp-embedded-space .mp-tokens{bottom:58%}
/* Question-first study panel: answer, compact power choice, submit, then help. */
.mp-task{padding:clamp(17px,2vw,28px);display:flex;flex-direction:column;gap:0}
.mp-task .mp-turn-number{text-align:center;font-size:11px;letter-spacing:1.4px;color:#7b5ac3;font-weight:950}
.mp-task h2{text-align:center;font-size:clamp(19px,2.1vw,27px);margin:5px 0 12px}
.mp-task .mp-question{font-size:clamp(19px,2.2vw,28px)!important;line-height:1.32!important;font-weight:900;text-align:center;color:#272447;margin:12px 0 18px!important}
.mp-task label[for="mpAnswer"]{text-align:center;margin:0 0 6px;font-weight:800;font-size:12px;color:#6b6384}
.mp-task #mpForm{display:flex!important;flex-direction:column;align-items:stretch;gap:9px;width:100%;margin:0}
.mp-task #mpForm input#mpAnswer{display:block;width:100%;min-width:0;height:61px;padding:12px 15px;font-size:22px;text-align:center;order:0;box-sizing:border-box}
.mp-task #mpForm .mp-power-choice{order:1;display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%;margin:5px 0 1px}
.mp-power-choice legend{font-size:10px;margin-bottom:5px;color:#8a819a}
.mp-power-choice label{padding:6px 8px;font-size:11px;min-height:39px;justify-content:center;border-radius:9px}
.mp-power-choice label small{font-size:9px;margin-top:1px}
.mp-power-choice input{width:12px;min-width:12px;height:12px}
.mp-task #mpForm button#mpSubmit{order:2;display:block;width:100%;min-width:0;min-height:48px;padding:11px 14px;font-size:14px;margin:3px 0 0;grid-column:auto;grid-row:auto}
.mp-task .mp-once{font-size:10px!important;text-align:center;margin:7px 0 0!important;color:#7f7790}
.mp-task .mp-learning-tools{order:unset;margin:17px 0 5px;padding:10px;gap:6px;background:#f8faff;border-color:#e1e6f0}
.mp-task .mp-learning-tools details{padding:8px 10px;font-size:12px}
.mp-task .mp-learning-tools .mp-guide-title{font-size:11px;color:#64718d}
.mp-work-steps{margin:10px 0 12px;padding-left:22px;display:grid;gap:9px;line-height:1.5;color:#283c57}
.mp-work-steps li::marker{font-weight:900;color:#6950bb}
.mp-work-label{font-size:12px;font-weight:850;color:#536581;margin:8px 0 6px}
.mp-work-equation{margin:0 0 10px;padding:13px 10px;border:1px solid #b7d1fc;border-radius:12px;background:linear-gradient(125deg,#eaf3ff,#f6edff);color:#263b65;font-size:clamp(16px,3.8vw,22px);font-weight:900;text-align:center;overflow-wrap:anywhere;line-height:1.45}
.mp-work-equation strong{display:inline-block;color:#6943c4;font-size:1.32em;white-space:nowrap}
.mp-work-intro{font-weight:750;color:#405575}
.mp-work-say{font-size:13px;line-height:1.45;font-weight:750;color:#293b57;margin-bottom:5px}
.mp-work-steps .mp-work-equation{margin-bottom:1px;padding:10px;font-size:clamp(16px,3.6vw,20px)}
.mp-work-steps .mp-work-final{border:2px solid #927be5;background:linear-gradient(115deg,#edf6ff,#eee5ff);box-shadow:0 2px 10px #7051c017}
.mp-task .mp-prize-tease{margin-top:15px}
/* Castle-launched celebration stays inside the illustrated world. */
.mp-firework-rocket{position:absolute;z-index:1;width:4px;height:17px;border-radius:90%;background:linear-gradient(#fff,#ffdb65,transparent);box-shadow:0 0 10px 2px #fff4b0;animation:mpRocket .62s ease-out both}
.mp-firework-burst{z-index:2}.mp-fireworks-message{z-index:3;font-size:clamp(13px,2.3vw,27px);text-shadow:0 2px 4px #50367f,0 0 14px #ffe57b;animation-delay:.45s}
@keyframes mpRocket{0%{left:var(--origin-x);top:var(--origin-y);opacity:0;transform:scale(.4)}20%{opacity:1}95%{opacity:1}100%{left:var(--end-x);top:var(--end-y);opacity:0;transform:scale(1.2)}}
@media(max-width:520px){.mp-embedded-space.mp-cell{width:8.8%;height:8.2%}.mp-embedded-space .mp-space-no{font-size:10px}.mp-task #mpForm{display:flex!important}.mp-task #mpForm input#mpAnswer{width:100%;height:53px;font-size:19px}.mp-task #mpForm .mp-power-choice{grid-column:auto;grid-row:auto}.mp-task #mpForm button#mpSubmit{width:100%;min-width:0;font-size:13px}.mp-task .mp-question{font-size:21px!important}}
/* Answer first, generous learning tools, compact move options at the foot. */
.mp-task #mpForm button#mpSubmit{width:auto;min-width:0;min-height:40px;align-self:flex-start;padding:9px 18px;font-size:14px;margin-top:10px}
.mp-task .mp-learning-tools summary{min-height:50px;padding:14px 16px;font-size:16px;cursor:pointer}
.mp-learning-tools .mp-work-steps{display:grid;gap:14px;padding-left:26px}
.mp-learning-tools .mp-work-steps li{padding:12px 14px;border:1px solid #d5dff4;background:#fff;border-radius:12px}
.mp-learning-tools .mp-work-say{font-size:15px;font-weight:750;line-height:1.45;color:#263d61}
.mp-learning-tools .mp-work-equation{font-size:21px;line-height:1.8;font-weight:800;color:#213a78;overflow-wrap:anywhere;margin-top:8px}
.mp-fraction{display:inline-flex;vertical-align:middle;flex-direction:column;align-items:center;justify-content:center;min-width:1.35em;line-height:1.1;margin:0 .16em;font-variant-numeric:tabular-nums}
.mp-fraction>span:first-child{display:block;text-align:center;border-bottom:2px solid currentColor;padding:0 .2em .14em}
.mp-fraction>span:last-child{display:block;text-align:center;padding:.14em .2em 0}
.mp-answer-explanation{background:#f0f7ff;border:1px solid #bed6f6;border-radius:14px;padding:16px;line-height:1.7;font-size:18px;font-weight:650}
.mp-task>.mp-power-choice{margin-top:16px;margin-bottom:0;padding:8px;gap:8px}
.mp-task>.mp-power-choice legend{font-size:11px}
.mp-task>.mp-power-choice label{padding:7px 9px;min-height:40px;font-size:12px}
.mp-task>.mp-power-choice label span{font-size:12px}
.mp-task>.mp-power-choice small{font-size:10px}
.mp-task>.mp-power-choice input{width:16px;height:16px;min-height:0}
.quest-pet.mega-pocket-pal .quest-pet-art{min-height:310px}
.quest-pet.mega-pocket-pal .quest-pet-art img{width:100%;height:300px;max-height:none;object-fit:contain}
.quest-pet.mega-pocket-pal .quest-pet-art:has(img[src*="strawberry-fairy-cat-cutout"]){min-height:325px}
.quest-pet.mega-pocket-pal .quest-pet-art img[src*="strawberry-fairy-cat-cutout"]{height:315px;max-height:none;filter:none}
.mp-win-pal[src*="strawberry-fairy-cat-cutout"]{width:min(100%,285px);filter:none}
@media(max-width:700px){.quest-pet.mega-pocket-pal .quest-pet-art img[src*="strawberry-fairy-cat-cutout"]{height:150px!important;max-height:150px!important}}
.subject-simplified .hero{padding:24px 26px;min-height:0;margin-bottom:14px;border-radius:22px}
.subject-simplified .hero h1{font-size:clamp(26px,5vw,38px);margin:8px 0}
.subject-simplified .hero p{font-size:15px;margin:0}
.subject-study-tabs{display:flex;gap:6px;background:#f3ecfb;padding:6px;border-radius:16px;margin:16px 0 18px}
.subject-study-tabs button{flex:1;min-width:0;border:0;background:transparent;border-radius:12px;padding:14px 10px;font-weight:850;font-size:15px;color:#554a6f;cursor:pointer}
.subject-study-tabs button.active{background:#7250d6;color:#fff;box-shadow:0 3px 0 #5135aa}
.subject-study-library{margin:0 0 18px;padding:24px;border-radius:18px}
.subject-study-library h2{margin:8px 0 5px;font-size:24px}
.subject-study-library p{line-height:1.5;color:#6a607e;margin:7px 0 18px}
.subject-study-library .primary{width:100%;max-width:420px}
.subject-simplified .subject-study-library[hidden],.subject-simplified .sectionline[hidden],.subject-simplified #testSearch[hidden],.subject-simplified #assignments[hidden],.subject-simplified .subject-show-more[hidden],.subject-simplified .panel[hidden]{display:none!important}
@media(max-width:600px){.subject-simplified .hero{padding:20px 18px}.subject-study-tabs button{font-size:13px;padding:12px 6px}.subject-study-library{padding:19px}}

/* Compact featured challenges: three readable cards across desktop, with the
   same mystery-egg presentation for Math, games, and Language Arts. */
.today-challenges .mission-pair{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.today-challenges .quest-mission{min-height:205px;padding:15px 14px;border-radius:20px;gap:8px}
.today-challenges .quest-mission h2{font-size:clamp(17px,1.65vw,21px);line-height:1.18;margin:5px 0 7px}
.today-challenges .quest-mission p{font-size:12px;line-height:1.45;margin-bottom:10px}
.today-challenges .quest-kicker{font-size:10px;letter-spacing:.065em}
.today-challenges .quest-actions{gap:6px;margin-bottom:9px}
.today-challenges .quest-actions button{font-size:11px;padding:9px 10px}
.today-challenges .quest-reward-status{font-size:11px;line-height:1.35}
.today-challenges .challenge-mystery-capsule{width:68px;height:82px}
@media(max-width:1080px){.today-challenges .mission-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.today-challenges .mission-pair{grid-template-columns:1fr;gap:10px}.today-challenges .quest-mission{min-height:0;padding:13px 14px}.today-challenges .quest-mission p{font-size:12px}.today-challenges .challenge-mystery-capsule{width:64px;height:76px}}
.math-formula-feature{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 13px;margin:12px 0 16px;border-radius:15px;color:#fff;background:linear-gradient(117deg,#51309d,#7b57cb 68%,#9380db);box-shadow:0 5px 12px rgba(78,48,150,.12);border:1px solid #8067c7}
.math-formula-feature-icon{width:32px;height:32px;flex:0 0 32px;border-radius:9px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:17px;font-weight:800;color:#fff}
.math-formula-feature h2{color:#fff;font-size:15px;line-height:1.25;margin:0;flex:1 1 180px;min-width:0}
.math-formula-feature-actions{display:flex;gap:7px;align-items:center;margin-left:auto}.math-formula-feature-actions button,.math-formula-feature-actions a{font:inherit;font-size:12px;font-weight:750;text-decoration:none;cursor:pointer;border-radius:9px;border:1px solid rgba(255,255,255,.7);padding:8px 11px;min-height:36px;background:#fff;color:#51309d;white-space:nowrap}.math-formula-feature-actions a{background:transparent;color:#fff}.math-formula-feature-actions button:hover{background:#f4efff}.math-formula-feature-actions a:hover{background:rgba(255,255,255,.15)}
.math-formula-feature-actions [data-share-kind]{background:transparent;color:#fff;padding-inline:9px}.math-formula-feature-actions [data-share-kind]:hover{background:rgba(255,255,255,.15)}
@media(max-width:580px){.math-formula-feature{gap:8px;padding:9px 10px}.math-formula-feature-icon{width:28px;height:28px;flex-basis:28px;font-size:15px}.math-formula-feature h2{font-size:13px;flex-basis:calc(100% - 40px)}.math-formula-feature-actions{width:100%;justify-content:flex-start;margin-left:36px}.math-formula-feature-actions button,.math-formula-feature-actions a{font-size:12px;min-height:34px;padding:7px 10px}}

/* Resilient chapter navigation. Keep the core Math cards styled even if the
   optional Math stylesheet is delayed or retained stale by iOS Home Screen. */
.math-shelf.math-study{box-sizing:border-box;max-width:960px;width:100%;min-width:0;padding-left:16px;padding-right:16px;overflow-x:clip}
.math-shelf .math-study-grid,.math-shelf .math-study-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.math-shelf .math-study-grid>.math-study-tile{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;min-width:0;min-height:158px;gap:12px;padding:21px 22px;border:2px solid #e6dcf5;border-top:6px solid #9879eb;border-radius:19px;background:#fff;color:#33254e;text-align:left;box-shadow:0 4px 0 #e9e0f5;white-space:normal;font:inherit;cursor:pointer}
.math-shelf .math-study-grid>.math-study-tile:nth-child(3n+2){border-top-color:#efbc65}
.math-shelf .math-study-grid>.math-study-tile:nth-child(3n){border-top-color:#78c5b1}
.math-shelf .math-study-tile .math-study-kicker{display:block;color:#6748b3;font-size:12px;font-weight:850;letter-spacing:.1em;line-height:1.3}
.math-shelf .math-study-tile strong{display:block;color:#33244e;font-size:21px;line-height:1.25;overflow-wrap:anywhere}
.math-shelf .math-study-tile .math-study-tile-link{display:block;margin-top:auto;color:#6649b9;font-size:14px;font-weight:800;line-height:1.3}
.math-shelf .math-study-lessons>.math-study-lesson{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;width:100%;min-width:0;padding:19px;border:2px solid #e8def4;border-radius:17px;background:#fff;color:#37294f;text-align:left;white-space:normal;font:inherit}
.math-shelf .math-study-lesson .math-study-lesson-number{grid-column:1/-1;color:#6b4bb9;font-weight:850;font-size:12px;letter-spacing:.1em}
.math-shelf .math-study-lesson strong{font-size:18px;line-height:1.3}
@media(max-width:650px){.math-shelf .math-study-grid,.math-shelf .math-study-lessons{grid-template-columns:minmax(0,1fr);gap:13px}.math-shelf .math-study-grid>.math-study-tile{min-height:123px;padding:17px 19px;gap:9px}.math-shelf .math-study-tile strong{font-size:20px}.math-shelf .math-study-lessons>.math-study-lesson{padding:17px}}
.calendar-assignment-card{position:relative;align-items:flex-start;gap:12px;padding-right:12px}
.calendar-assignment-copy{flex:1;min-width:0}
.assignment-check{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border:2px solid #a9b6ac;border-radius:12px;background:#fff;color:transparent;font-size:25px;font-weight:800;cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s}
.assignment-check:hover,.assignment-check:focus-visible{border-color:#267d4f;color:#267d4f;outline-offset:3px}
.assignment-check.is-done{background:#def5e6;border-color:#25814d;color:#187344}
.assignment-check:disabled{opacity:.55;cursor:wait}
.calendar-assignment-card.assignment-done{background:#f1fbf3;border-color:#b9e1c4}
.assignment-done-label{display:inline-flex;margin:8px 0;color:#187344;font-size:.85rem;font-weight:800}
.calendar-deadline{color:#6452a7;font-weight:750}
.calendar-day-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.calendar-day-summary h3{margin:0 0 4px}
.calendar-day-summary small{color:#7b6b91;font-weight:650}
.calendar-all-done-pill{background:#e2f5e7!important;color:#197b47!important}
.calendar-success-message{padding:12px 14px;margin-bottom:12px;background:#effaf1;border:1px solid #c0e5ca;border-radius:12px;color:#237b4b;font-weight:750}
.calendar-completed-group{margin-top:12px;border:1px solid #c6e6ce;border-radius:15px;background:#f1faf3;overflow:hidden}
.calendar-completed-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:15px;border:0;background:transparent;text-align:left;color:#237b4b;cursor:pointer;min-height:62px}
.calendar-completed-toggle>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1}
.calendar-completed-toggle small{color:#59886a;font-size:.82rem}
.calendar-completed-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d8f0df;font-weight:900;font-size:21px}
.calendar-completed-chevron{font-size:25px;line-height:1}
.calendar-completed-list{padding:0 13px 12px;border-top:1px solid #cbe7d2}
.calendar-compact-completed{display:flex;align-items:center;gap:10px;padding:10px 2px;border-bottom:1px solid #d9e9dd}
.calendar-compact-completed:last-child{border-bottom:0}
.calendar-compact-completed .calendar-assignment-copy{display:flex;flex-direction:column;gap:4px}
.calendar-compact-completed strong{font-size:.95rem;color:#325d42}
.calendar-compact-completed small{color:#6c8874}
.calendar-compact-completed .assignment-check{width:38px;height:38px;flex-basis:38px}
.french-lesson{margin:18px 0;padding:22px;border:1px solid #c8d8dc;background:#f9fdfd;border-radius:22px}
.french-lesson[hidden]{display:none!important}
.french-lesson h2{margin:5px 0 8px;color:#273b56;font-size:clamp(25px,4vw,34px)}
.french-lesson h3{color:#344975;margin:5px 0 12px;font-size:19px}
.french-lesson p{line-height:1.58;color:#40536d}
.french-lesson-links{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 22px}
.french-lesson-links a{display:inline-flex;padding:11px 14px;border-radius:12px;text-decoration:none;font-weight:750;align-items:center}
.french-lesson-links a.primary{background:#6755cf;color:white}
.french-lesson-links a.secondary{background:#eaf0ff;color:#344976;border:1px solid #cbd8f2}
.french-lesson-block{border:1px solid #dfebf0;border-radius:17px;background:white;padding:18px;margin:14px 0}
.french-translation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef1f5}
.french-translation-row>span:first-child{font-weight:750;color:#202c43;line-height:1.5}
.french-translation-row button{padding:8px 12px;min-height:36px;white-space:nowrap;font-size:12px}
.french-translation-row .french-english{grid-column:1/-1;background:#ecf8f1;color:#185c42;padding:9px 12px;border-radius:10px;font-weight:650}
.french-video{background:#edf4ff;border-radius:16px;padding:17px;margin-top:18px}
.french-video h4{font-size:17px;margin:0 0 12px;color:#243963}
.french-video iframe{border:0;width:100%;aspect-ratio:16/9;margin-top:12px;border-radius:12px;background:#dce3ef}
@media(max-width:600px){.french-lesson{padding:13px}.french-lesson-block{padding:13px}.french-lesson-links a{width:100%;justify-content:center}}
/* French page-turning reader and interactive practice */
.french-page-dialog{width:min(920px,96vw);max-width:96vw;max-height:96dvh;border:0;border-radius:22px;padding:0;background:#f8f7ff;color:#30294b;box-shadow:0 24px 90px #1d174e77;overflow:hidden}
.french-page-dialog::backdrop{background:#17122baf}
.french-reader-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px;background:#fff;border-bottom:1px solid #e9e4f7}
.french-reader-head h2{font-size:clamp(18px,2.5vw,25px);margin:4px 0}
.french-reader-head small{color:#6955ac}
.french-reader-controls,.french-reader-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:#fff;flex-wrap:wrap}
.french-reader-controls span{font-weight:700}
.french-page-stage{max-height:calc(96dvh - 205px);overflow:auto;display:flex;justify-content:center;padding:14px;background:#eae7f4}
.french-page-stage img{width:min(100%,800px);height:auto;object-fit:contain;align-self:flex-start;box-shadow:0 5px 25px #29244328;background:#fff}
.french-vocabulary{margin:18px 0}.french-vocabulary .french-translation-row{margin:8px 0}
.french-quiz-content{padding:18px 25px;max-height:55dvh;overflow:auto}
.french-quiz-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.french-quiz-choices button{padding:15px;text-align:left;white-space:normal}
.french-quiz-choices button[aria-pressed="true"]{background:#e2d9ff;border-color:#7861d1;color:#302354}
.french-quiz-feedback{padding:12px;background:#fff;border-radius:12px}
@media(max-width:600px){.french-reader-head{padding:12px}.french-reader-controls,.french-reader-footer{padding:10px}.french-reader-controls button{font-size:13px}.french-page-stage{padding:5px;max-height:calc(96dvh - 215px)}.french-quiz-choices{grid-template-columns:1fr}}
.french-lesson-tools{margin:20px 0!important;padding:22px!important;border-radius:22px!important;box-shadow:0 6px 24px #35205f0c}
.french-lesson-tool-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.french-lesson-tool-buttons button{min-height:54px;text-align:center;white-space:normal;border-radius:14px}
.subject-topic-library[data-subject="french"] .subject-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.subject-topic-library[data-subject="french"] .subject-topic-grid .math-topic{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:205px;text-align:left;padding:22px;border-radius:22px}
.subject-topic-library[data-subject="french"] .subject-topic-grid .math-topic strong{font-size:clamp(19px,2.3vw,24px);line-height:1.3}
.subject-topic-library[data-subject="french"] .subject-topic-grid .math-topic small{line-height:1.55}
.french-flip-lesson{max-width:850px;margin:22px auto!important;padding:22px!important}
.french-flip-lesson>.french-lesson-block{margin:14px 0 0!important;min-height:310px;padding:24px!important}
.french-flip-lesson>.french-lesson-block[hidden],.french-vocabulary .french-translation-row[hidden],.french-lesson-links[hidden]{display:none!important}
.french-card-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;scroll-margin-top:100px}
.french-card-pager strong{font-size:14px;color:#58478c;white-space:nowrap}
.french-card-pager button{min-height:44px;border-radius:12px}
.french-vocabulary{max-width:800px;margin:22px auto!important;padding:24px!important;border-radius:22px!important}
.french-vocabulary .french-translation-row{min-height:64px}
@media(max-width:620px){.subject-topic-library[data-subject="french"] .subject-topic-grid{grid-template-columns:1fr;gap:14px}.subject-topic-library[data-subject="french"] .subject-topic-grid .math-topic{min-height:0;padding:20px}.french-lesson-tool-buttons{grid-template-columns:1fr 1fr;gap:9px}.french-lesson-tools{padding:16px!important}.french-flip-lesson{padding:14px!important}.french-flip-lesson>.french-lesson-block{padding:16px!important}.french-card-pager button{font-size:12px;padding:9px 10px}}
/* Full-screen reading surface: page fills the available space, tools stay compact. */
.french-document-reader{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;display:flex;flex-direction:column;background:#f1eff8}
.french-document-reader:not([open]){display:none}
.french-document-reader .french-reader-head{flex:0 0 auto;padding:9px 15px;min-height:58px;align-items:center}
.french-document-reader .french-reader-head h2{font-size:clamp(15px,2.6vw,19px);line-height:1.2;margin:2px 0;max-width:75vw}
.french-document-reader .french-reader-close{border-radius:50%;width:36px;height:36px;min-height:36px;padding:0;font-size:22px;display:grid;place-items:center;flex-shrink:0}
.french-document-reader .french-reader-controls{flex:0 0 auto;padding:7px 12px;min-height:52px;flex-wrap:nowrap}
.french-document-reader .french-reader-controls button{padding:8px 12px;min-height:38px;font-size:14px;white-space:nowrap}
.french-document-reader .french-page-stage{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;display:block;padding:0;background:#e8e5ed;overscroll-behavior:contain}
.french-document-reader .french-page-stage img{display:block;max-width:none;height:auto;object-fit:initial;box-shadow:none;margin:0 auto}
.french-document-reader .french-page-stage.is-zoomed img{margin:0}
.french-document-reader .french-reader-footer{flex:0 0 auto;min-height:54px;padding:6px 12px;flex-wrap:nowrap;justify-content:space-between;gap:6px;padding-bottom:max(7px,env(safe-area-inset-bottom))}
.french-document-reader .french-reader-footer a{white-space:nowrap;padding:7px 10px;font-size:13px;text-decoration:none}
.french-zoom-controls{display:flex;align-items:center;gap:4px}.french-zoom-controls button{padding:5px 9px;min-height:32px}.french-zoom-controls span{min-width:42px;text-align:center;font-size:12px;font-weight:750}
@media(max-width:450px){.french-document-reader .french-reader-head{padding:7px 10px}.french-document-reader .french-reader-head h2{font-size:15px}.french-document-reader .french-reader-controls{padding:5px 8px}.french-document-reader .french-reader-controls button{font-size:12px;padding:7px 10px}.french-document-reader .french-reader-footer{padding-left:6px;padding-right:6px}.french-document-reader .french-download{display:none}.french-zoom-controls button{padding:5px 8px}}
/* Touchable Chapter 6 integer line: one evenly spaced stop per integer. */
.integer-line-challenge{padding:16px 0 22px;max-width:100%;overflow:hidden}
.integer-line-instruction{font-size:15px;color:#4e416c;line-height:1.5;margin:0 0 22px}
.integer-line-track{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));position:relative;padding:8px 0 25px;gap:0;isolation:isolate}
.integer-line-track:before{content:"";position:absolute;left:4.5%;right:4.5%;height:4px;top:23px;background:#7c5be6;border-radius:4px;z-index:-1}
.integer-tick{display:flex;flex-direction:column;align-items:center;gap:9px;border:0;background:transparent;color:#372a56;font:inherit;font-size:clamp(10px,1.6vw,14px);font-weight:750;cursor:pointer;padding:3px 0;min-width:0;min-height:55px;touch-action:manipulation}
.integer-dot{display:block;width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:4px solid #7c5be6;background:#fff;box-shadow:0 1px 0 #fff}
.integer-tick[aria-pressed="true"] .integer-dot{background:#6542dd;border-color:#fff;box-shadow:0 0 0 4px #6542dd,0 0 0 8px #e5daff}
.integer-tick[aria-pressed="true"] .integer-value{color:#5432c3;font-weight:900}
.integer-tick:disabled{cursor:default;opacity:1}
.integer-tick:focus-visible{outline:3px solid #392389;outline-offset:3px;border-radius:10px}
.integer-line-result{padding:13px 15px;border-radius:13px;background:#f1ecff;color:#453187;font-weight:750;min-height:48px}
.integer-line-window{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;border:1px solid #e4dbf7;border-radius:15px;padding:12px 8px 0;background:#fcfbff;-webkit-overflow-scrolling:touch}
.integer-line-window .integer-line-track{width:max-content;padding:8px 0 18px}
.integer-line-window .integer-line-track:before{left:24px;right:24px}
.integer-line-window .integer-tick{width:48px}
.integer-line-scroll-note{font-size:12px;color:#665b87;margin:8px 0 14px;text-align:center}
@media(max-width:600px){.integer-line-challenge{padding-top:8px}.integer-line-instruction{font-size:14px}.integer-dot{width:20px;height:20px;flex-basis:20px;border-width:3px}.integer-line-track:before{top:21px}.integer-value{font-size:10px}}
/* Keep the entire quiz inside the phone viewport. Only the number line pans sideways. */
.quizlayout{grid-template-columns:minmax(0,1fr) 230px;min-width:0}
.quizlayout>.panel{min-width:0}
.integer-line-challenge{width:100%;min-width:0}
.integer-line-window{display:block;width:100%;min-width:0;max-width:100%;contain:inline-size}
.integer-line-instruction,.integer-line-result{overflow-wrap:break-word}
@media(max-width:760px){
 .quizlayout{grid-template-columns:minmax(0,1fr)}
 .qcard{min-width:0;overflow:hidden}
 .integer-line-window{width:100%}
 .integer-line-window .integer-line-track{width:max-content;max-width:none}
 .qtext{overflow-wrap:anywhere}
}
/* A smaller, softer personalized welcome leaves the first challenge above the fold. */
.dash-compact-welcome{background:#ffe695;border-color:#f6d375;padding:23px 28px;min-height:0;align-items:center}
.dash-compact-welcome h1{font-size:clamp(25px,3.2vw,35px);line-height:1.16;margin:7px 0 10px}
.dash-compact-welcome p{font-size:14px;line-height:1.45;margin:0;max-width:520px}
.dash-compact-welcome .heroArt{font-size:46px;padding:0}
.dash-compact-welcome:after{right:25px;top:14px;font-size:18px}
@media(max-width:760px){
 .dash-compact-welcome{padding:18px 20px;border-radius:22px;gap:0}
 .dash-compact-welcome h1{font-size:26px;line-height:1.18;margin:5px 0 9px;max-width:430px;padding-right:12px}
 .dash-compact-welcome p{font-size:13px;line-height:1.4}
 .dash-compact-welcome .eyebrow{font-size:9px;letter-spacing:1.5px}
}
/* Shared tablet sizing: the subject shelf must not be squeezed beside a sidebar. */
@media(min-width:761px) and (max-width:1180px){
 header{height:auto;min-height:75px;padding:14px 22px;flex-wrap:wrap;gap:12px}
 header nav{display:flex;flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;min-width:0}
 header .nav{padding:10px 12px}
 .layout{grid-template-columns:minmax(0,1fr);max-width:950px;padding:0 24px;gap:18px}
 .layout>.main,.layout>.side{min-width:0}
 .side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .side>.panel{min-width:0;margin-bottom:0}
 .full{max-width:950px;padding:0 24px}
 .quizlayout{grid-template-columns:minmax(0,1fr)}
 .quizlayout aside{order:2}
 .qgrid{grid-template-columns:repeat(10,minmax(0,1fr))}
 .materialgrid,.subject-topic-grid,.math-topic-grid,.language-bookshelf .subject-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .materialcard,.math-topic,.study-assign{min-width:0}
}
/* Every subject's cards and buttons use the available screen width. */
.layout,.main,.side,.full,.panel,.assign,.study-assign,.materialcard,.materialactions,.assignment-main,.assignment-copy{min-width:0}
.assignment-copy h3,.assignment-copy p,.materialcard h3{overflow-wrap:anywhere}
.assignment-actions.study-document-action-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%;gap:10px}
.assignment-actions.study-document-action-row>.action{grid-column:1/-1;width:100%;min-width:0;white-space:normal}
.assignment-actions.study-document-action-row>.study-purple-document-action{width:100%;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.assignment-actions.study-document-action-row>.study-purple-document-action span{min-width:0;overflow-wrap:anywhere}
.study-document-action-row>*{min-width:0;max-width:100%}
@media(max-width:760px){
 .layout,.full{max-width:100%;min-width:0}
 .study-assign .assignment-actions.study-document-action-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .study-assign .assignment-actions.study-document-action-row>.study-purple-document-action{padding:10px 8px!important;font-size:clamp(12px,3.4vw,15px)!important}
 .study-assign .assignment-copy h3{font-size:clamp(14px,3.7vw,17px)}
 .materialgrid,.materialsections,.subject-topic-grid{min-width:0}
}
/* Quiet bookshelf utilities: lesson titles and resources remain the visual focus. */
.study-assign .assignment-actions.study-document-action-row{
 display:flex!important;flex-wrap:wrap;justify-content:flex-start;align-items:center;
 gap:8px;width:100%;margin:5px 0 0;
}
.study-assign .assignment-actions.study-document-action-row>.action{
 order:-1;flex:0 1 auto;grid-column:auto;width:auto;min-height:39px;
 padding:9px 16px;border-radius:11px;font-size:13px;box-shadow:none;
}
.study-assign.completed .assignment-actions.study-document-action-row>.action{
 background:#f2edfc;color:#644c99;border:1px solid #dfd3f4;
}
.study-assign.completed .assignment-actions.study-document-action-row>.action:hover{
 background:#e8defa;color:#49347d;transform:none;
}
.study-assign .assignment-actions.study-document-action-row>.study-purple-document-action{
 flex:0 1 auto;width:auto;max-width:100%;min-height:39px;
 padding:8px 13px!important;border:1px solid #ded7ea!important;
 border-radius:11px!important;background:#fff!important;color:#645778!important;
 font-size:12px!important;font-weight:700!important;box-shadow:none!important;
}
.study-assign .assignment-actions.study-document-action-row>.study-purple-document-action:hover{
 background:#f7f4fb!important;border-color:#c6b8df!important;
}
.study-assign .assignment-actions.study-document-action-row>.study-purple-document-action svg{width:16px;height:16px}
@media(max-width:760px){
 .study-assign .assignment-actions.study-document-action-row{gap:7px}
 .study-assign .assignment-actions.study-document-action-row>.action{padding:9px 12px;font-size:12px}
 .study-assign .assignment-actions.study-document-action-row>.study-purple-document-action{min-height:38px;padding:8px 11px!important;font-size:12px!important}
}
/* PDF utility buttons in lesson resources, reading, and every subject shelf. */
.study-document-action-row:not(.assignment-actions){
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;
 justify-content:flex-start!important;gap:8px!important;width:100%;margin:8px 0 12px;
}
.study-document-action-row:not(.assignment-actions)>.study-purple-document-action{
 display:inline-flex!important;flex:0 0 auto!important;width:auto!important;
 min-width:0!important;min-height:36px!important;
 padding:7px 12px!important;border:1px solid #dcd5e8!important;
 border-radius:10px!important;background:#fff!important;color:#655a76!important;
 box-shadow:none!important;font-size:12px!important;font-weight:700!important;
 white-space:nowrap;
}
.study-document-action-row:not(.assignment-actions)>.study-purple-document-action:hover{
 background:#f7f5fb!important;border-color:#c9bddc!important;
}
.study-document-action-row:not(.assignment-actions)>.study-purple-document-action svg{
 width:16px!important;height:16px!important;
}
/* Consistent soft butter-yellow Print and Share utilities in all subjects. */
.study-document-action-row>.study-purple-document-action,
.study-assign .assignment-actions.study-document-action-row>.study-purple-document-action,
.materialactions .printlink,.materialactions .ios-share-button,
.compact-pdf-actions .compact-icon-action,
.study-share-pair>.study-resource-share,
.study-share-pair>.printlink{
 background:#fff8dc!important;color:#66572f!important;
 border:1px solid #e8d9a5!important;box-shadow:none!important;
}
.study-document-action-row>.study-purple-document-action:hover,
.study-assign .assignment-actions.study-document-action-row>.study-purple-document-action:hover,
.materialactions .printlink:hover,.materialactions .ios-share-button:hover,
.compact-pdf-actions .compact-icon-action:hover,
.study-share-pair>.study-resource-share:hover{
 background:#fff0bf!important;border-color:#dbc58b!important;
}
.materialactions .printlink,.materialactions .ios-share-button{
 min-height:36px;padding:7px 12px;border-radius:10px;font-size:12px;
}
.study-share-pair>.study-resource-share{min-height:36px;border-radius:10px}
/* Geography topic pages: reading first, a single print/share strip at the end. */
#canadaExplorer .cw-bottom-document-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;border-top:1px solid #dce5e1;margin:28px 0 18px;padding-top:18px}
#canadaExplorer .cw-all-reviews-print{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border:1px solid #d9ccef;border-radius:16px;background:#f5f0ff;margin:16px 0 24px;flex-wrap:wrap}
#canadaExplorer .cw-all-reviews-print strong{font-size:17px;color:#4a358f}
#canadaExplorer .cw-all-reviews-print p{font-size:13px;color:#5d5576;line-height:1.5;margin:5px 0 0;max-width:550px}
#canadaExplorer .cw-all-reviews-print .actions{gap:8px;display:flex;flex-wrap:wrap}
#canadaExplorer .cw-all-reviews-print a{font-size:12px;padding:9px 12px;box-shadow:none}
#canadaExplorer .cw-bottom-document-actions>.secondary{font-size:13px;padding:9px 13px;min-height:40px;border:1px solid #d9ccef;border-radius:10px;background:#fff;color:#5e479f;box-shadow:none}
#canadaExplorer .cw-important-fact{position:relative;background:#eaf7ee;border-left:4px solid #4e9e77;border-radius:8px;padding:9px 10px 9px 32px;margin-left:-23px;font-weight:700}
#canadaExplorer .cw-important-fact::before{content:attr(data-important);position:absolute;left:8px;top:10px;font-size:15px}
@media(max-width:460px){#canadaExplorer .cw-bottom-document-actions{gap:6px}#canadaExplorer .cw-bottom-document-actions>.secondary{padding:9px 11px;font-size:12px}}
.cw-new-support .cw-grid{display:grid;grid-template-columns:1fr;gap:16px}
.cw-new-support .cw-tile{width:100%;text-align:left}
.cw-new-support .cw-support-guide{background:#eff8f3;border-color:#bedfd0}
.cw-new-support .cw-support-tests{background:#fff0e5;border-color:#f5d7c6}
.cw-new-support .cw-support-quiz{background:#f6f0ff;border-color:#dfcff7}
.cw-new-support .cw-support-master{background:#fff0e5;border-color:#f5d7c6}
.cw-new-support .cw-support-sources{background:#ecf4ff;border-color:#c9dffe}
.cw-support-reader .cw-lesson-header{margin-top:22px}
.cw-support-reader .cw-support-preview{margin:22px 0;border:1px solid #e1ddec;border-radius:20px;overflow:hidden;background:#fff;min-height:540px}
.cw-support-reader .cw-support-preview iframe{display:block;width:100%;height:min(75vh,880px);border:0}
.cw-support-reader .cw-paged-guide{min-height:0;padding:12px;max-width:100%;}
.cw-guide-canvas-wrap{width:100%;overflow:hidden;text-align:center;}
.cw-guide-canvas-wrap canvas{display:block;max-width:100%;height:auto;margin:0 auto;}
.cw-guide-status{padding:20px;color:#596c65;text-align:center;}
.cw-guide-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0 4px;flex-wrap:nowrap;}
.cw-guide-pager span{font-weight:700;font-size:13px;white-space:nowrap;}
.cw-guide-pager button{padding:9px 12px;font-size:12px;}
.cw-test-choice-list{display:grid;grid-template-columns:1fr;gap:14px;margin-top:22px;}
.cw-test-choice-list .cw-tile{width:100%;text-align:left;}
.cw-test-choice-list .cw-choice-0{background:#eaf6ef;border-color:#c6e4d2;}
.cw-test-choice-list .cw-choice-1{background:#fff1e8;border-color:#f4d9c8;}
.cw-test-choice-list .cw-choice-2{background:#eaf3ff;border-color:#cfe2fc;}
.cw-test-choice-list .cw-choice-3{background:#f2edff;border-color:#ded1f8;}
.cw-support-reader .cw-bottom-document-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin-top:24px}
.cw-support-reader .cw-share-file{display:inline-flex;align-items:center;gap:7px}
.cw-support-launch{margin:25px 0 12px}
@media(max-width:640px){.cw-support-reader .cw-support-preview{min-height:360px}.cw-support-reader .cw-support-preview iframe{height:58vh}}
