/* v7.6: functional student kingdom dashboard + parent-owned daily lesson planner */
#caa2-root .caa76-shell{--ink:#06265f;--blue:#0277ed;--gold:#fcb928;--mist:#e9f3ff;display:grid;grid-template-columns:204px minmax(0,1fr);width:100%;max-width:none;min-height:100dvh;background:linear-gradient(150deg,#b8d9ff 0%,#f1f8ff 42%,#dbe6ff 100%);color:var(--ink);font-family:inherit}
#caa2-root .caa76-shell *{box-sizing:border-box}
#caa2-root .caa76-shell button{font:inherit;cursor:pointer;transition:filter .2s,transform .2s;border:0}
#caa2-root .caa76-shell button:hover{filter:brightness(1.05)}
#caa2-root .caa76-shell button:focus-visible,#caa2-root .caa76-planner button:focus-visible{outline:3px solid #f5b626;outline-offset:3px}
#caa2-root .caa76-sidebar{background:linear-gradient(170deg,#040d31,#031d58 67%,#092d68);color:#fff;display:flex;flex-direction:column;gap:12px;padding:16px 10px 20px;min-height:100dvh;box-shadow:5px 0 15px #00113920;z-index:3}
#caa2-root .caa76-brand{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.015em;white-space:nowrap}
#caa2-root .caa76-brand img{height:39px;width:39px;object-fit:contain}
#caa2-root .caa76-brand small{display:block;color:#ffc84d;letter-spacing:.35em;font-size:10px;margin-top:1px}
#caa2-root .caa76-sidebar nav{display:flex;flex-direction:column;gap:5px}
#caa2-root .caa76-sidebar nav button{color:#f5f9ff;background:transparent;border:1px solid transparent;border-radius:11px;display:flex;gap:12px;align-items:center;text-align:left;padding:11px 10px;font-weight:750;font-size:12px;min-height:45px}
#caa2-root .caa76-sidebar nav button span{font-size:20px;width:25px;text-align:center;color:#8dd5ff}
#caa2-root .caa76-sidebar nav button.is-active{background:linear-gradient(110deg,#0064ec,#229dff);border-color:#92efff;box-shadow:0 2px 11px #3fd7ff8c}
#caa2-root .caa76-sidebar nav button.is-active span{color:white}
#caa2-root .caa76-side-mascot{margin-top:auto;display:flex;justify-content:center;max-height:145px}
#caa2-root .caa76-side-mascot img{height:140px;width:auto;object-fit:contain}
#caa2-root .caa76-sidemotto{font-size:10px;text-align:center;color:#bedfff;border-top:1px solid #7396cc4f;padding-top:12px}
#caa2-root .caa76-main{min-width:0;overflow:hidden}
#caa2-root .caa76-header{position:relative;display:flex;align-items:center;gap:22px;min-height:153px;padding:15px 24px 15px 26px;background:linear-gradient(107deg,#dceeffb5,#80c0ff 44%,#bfe4ff 83%,#f5e3b3);overflow:hidden}
#caa2-root .caa76-student-hello{display:flex;align-items:center;gap:15px;z-index:1;flex:1;min-width:320px}
#caa2-root .caa76-profile{width:104px;height:104px;flex:none;border:4px solid white;border-radius:50%;overflow:hidden;box-shadow:0 3px 12px #07275965;background:#fff}
#caa2-root .caa76-profile img{width:100%;height:100%;object-fit:cover}
#caa2-root .caa76-student-hello small{font-size:13px;font-weight:800;color:#00205c}
#caa2-root .caa76-student-hello h1{font-size:40px;line-height:1;margin:2px 0;font-weight:950;color:#061856;letter-spacing:-.035em}
#caa2-root .caa76-student-hello h1 span{font-size:25px}
#caa2-root .caa76-student-hello p{font-size:13px;margin:1px 0 7px;color:#001d54;font-weight:650}
#caa2-root .caa76-day-meter{padding:7px 10px;border-radius:40px;background:#fffdeeea;min-width:260px;display:flex;align-items:center;gap:10px;box-shadow:0 3px 9px #09346b40;font-size:10px;font-weight:800}
#caa2-root .caa76-day-meter i{display:block;height:8px;border:1px solid #9ec5f1;background:#dce9ff;border-radius:20px;flex:1;overflow:hidden}
#caa2-root .caa76-day-meter b{display:block;height:100%;background:linear-gradient(90deg,#2ab88b,#99db4b)}
#caa2-root .caa76-bubble{border:2px solid #5394e5;border-radius:20px;background:#ffffffeb;box-shadow:0 4px 13px #1739a136;padding:13px 18px;line-height:1.28;font-size:13px;font-weight:850;text-align:center;max-width:265px;z-index:1}
#caa2-root .caa76-lion{z-index:1;align-self:end;max-height:120px;min-width:90px}
#caa2-root .caa76-lion img{height:135px;max-width:120px;object-fit:contain;object-position:bottom}
#caa2-root .caa76-top-tools{align-self:flex-start;display:flex;gap:8px;z-index:1}
#caa2-root .caa76-top-tools button{color:#fff;border:1px solid #83c1ff;border-radius:40px;background:#06235b;white-space:nowrap;padding:7px 12px;font-weight:800;box-shadow:0 3px 8px #00245748}
#caa2-root .caa76-content{padding:12px 16px 24px;border-radius:24px 24px 0 0;background:linear-gradient(160deg,#f4fafff5,#eef6fff7 66%,#dbe7fbfa);min-height:calc(100dvh - 153px)}
#caa2-root .caa76-feature-row{display:grid;grid-template-columns:minmax(0,3.3fr) minmax(220px,1fr);gap:12px}
#caa2-root .caa76-feature{min-height:155px;position:relative;display:flex;gap:18px;align-items:center;text-align:left;color:#fff;border-radius:16px;padding:18px;background:linear-gradient(112deg,#06215f 3%,#0738a7 43%,#0b85b1 100%);box-shadow:0 3px 9px #173e9850;overflow:hidden}
#caa2-root .caa76-feature-icon{border-radius:17px;background:linear-gradient(140deg,#9cdd27,#30931a);box-shadow:0 2px 8px #071b3d55;border:2px solid #fff;display:grid;place-items:center;font-size:39px;min-width:80px;height:80px}
#caa2-root .caa76-feature-copy{display:flex;flex-direction:column;gap:6px;position:relative;z-index:1;flex:1;min-width:0}
#caa2-root .caa76-feature-copy small{font-size:11px;color:#cbe8ff;font-weight:900}
#caa2-root .caa76-feature-copy strong{font-size:25px;line-height:1.1;color:#fff;font-weight:900}
#caa2-root .caa76-feature-copy>span{font-size:12px;line-height:1.35;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#caa2-root .caa76-feature-copy em{font-style:normal;border-radius:20px;align-self:flex-start;background:#084ba8cc;border:1px solid #75b4ff;padding:3px 10px;font-size:11px;font-weight:750}
#caa2-root .caa76-feature-image{width:27%;align-self:stretch;max-height:120px;border-radius:13px;background:#ffffffcf;overflow:hidden;flex:none;border:1px solid #a2dcff}
#caa2-root .caa76-feature-image img{width:100%;height:100%;object-fit:cover}
#caa2-root .caa76-character-panel{border-radius:16px;position:relative;min-height:155px;overflow:hidden;color:#fff;border:1.5px solid #f7c13e;background:radial-gradient(ellipse at 77% 70%,#2a8beb 0%,transparent 45%),linear-gradient(130deg,#061340,#0b3f96);padding:12px 14px}
#caa2-root .caa76-character-panel h3{font-size:12px;color:#fff;margin:0 0 9px}
#caa2-root .caa76-character-panel>b{font-size:13px;display:block;position:relative;z-index:1}
#caa2-root .caa76-character-panel .caa76-xp{width:58%;height:12px;border-radius:20px;border:1px solid #8bbde6;background:#052c6a;position:relative;z-index:1;overflow:hidden;margin:7px 0 23px}
#caa2-root .caa76-character-panel .caa76-xp i{background:linear-gradient(#ffe677,#f6a928);height:100%;display:block;border-radius:20px}
#caa2-root .caa76-character-panel img{position:absolute;right:-8px;bottom:0;width:62%;height:145px;object-fit:contain;object-position:bottom}
#caa2-root .caa76-character-panel button{position:relative;z-index:1;border-radius:12px;background:linear-gradient(#0784f2,#0061dd);border:1px solid #89caff;color:#fff;box-shadow:0 3px 11px #38aafca6;padding:9px 12px;font-size:11px;font-weight:800}
#caa2-root .caa76-steps-heading{margin:14px 0 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}
#caa2-root .caa76-steps-heading h2{font-size:19px;margin:0;color:#092d73;font-weight:900}
#caa2-root .caa76-steps-heading p{margin:3px 0 0;color:#4b628d;font-size:12px}
#caa2-root .caa76-steps-heading .caa2-save-state{max-width:230px;border-radius:15px;background:#ffffffe8;border:1px solid #c5dbf7;color:#23528c;padding:6px 9px;font-size:11px}
#caa2-root .caa76-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:11px}
#caa2-root .caa76-step{border-radius:16px;overflow:hidden;background:#fffffff0;min-width:0;border:1px solid #d6e5fa;box-shadow:0 2px 10px #1d4a8820;display:flex;flex-direction:column}
#caa2-root .caa76-step-top{display:flex;align-items:center;gap:9px;background:linear-gradient(120deg,#068df7,#30adfa);color:#fff;padding:10px;min-height:67px}
#caa2-root .caa76-tone-green .caa76-step-top{background:linear-gradient(120deg,#39b744,#7ed444)}
#caa2-root .caa76-tone-gold .caa76-step-top{background:linear-gradient(120deg,#f9b411,#ffc943)}
#caa2-root .caa76-tone-coral .caa76-step-top{background:linear-gradient(120deg,#f95262,#ff7981)}
#caa2-root .caa76-tone-violet .caa76-step-top{background:linear-gradient(120deg,#8a44ef,#b15bf6)}
#caa2-root .caa76-step-num{width:33px;height:33px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;color:#107bd7;font-size:17px;font-weight:950}
#caa2-root .caa76-step-top span:last-child{min-width:0}
#caa2-root .caa76-step-top small{font-size:10px;display:block;font-weight:750;color:#fff}
#caa2-root .caa76-step-top b{display:block;font-size:12px;line-height:1.2;color:#fff}
#caa2-root .caa76-step-content{padding:10px 10px 5px;flex:1}
#caa2-root .caa76-step-picture{border-radius:13px;background:linear-gradient(145deg,#fff,#d9edff);display:grid;place-items:center;height:94px;margin-bottom:8px}
#caa2-root .caa76-step-picture span{font-size:55px}
#caa2-root .caa76-step-content strong{font-size:12px;color:#0a2f6b;line-height:1.3;display:block}
#caa2-root .caa76-step-content p{font-size:11px;line-height:1.45;color:#314b78;margin:6px 0}
#caa2-root .caa76-step-action{background:#fff;color:#087443;margin:6px 9px 9px;border:1px solid #17ba79!important;border-radius:9px;padding:8px 4px;font-size:11px!important;font-weight:800!important}
#caa2-root .caa76-step-action:disabled{cursor:default;color:#2e794b;background:#e8fbf0;opacity:1}
#caa2-root .caa76-step.is-current{outline:2px solid #399ff0}
#caa2-root .caa76-extras{margin:12px 0}
#caa2-root .caa76-extras h3{font-size:15px;margin:0 0 8px;color:#0d3174}
#caa2-root .caa76-extras>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#caa2-root .caa76-extras button{border-radius:12px;box-shadow:0 3px 8px #19428b1b;background:#fffffff0;border:1px solid #d1e4fa;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;color:#003e9d;text-align:left;font-size:20px}
#caa2-root .caa76-extras button span{font-size:12px;font-weight:900;flex:1}
#caa2-root .caa76-extras small{display:block;color:#4c6294;font-weight:500;font-size:10px}
#caa2-root .caa76-adventures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#caa2-root .caa76-adventures button{min-height:155px;text-align:left;border-radius:14px;display:flex;flex-direction:column;gap:7px;justify-content:flex-end;padding:13px;color:#fff;border:1px solid #6385e5;overflow:hidden;box-shadow:0 4px 12px #041b6648;position:relative}
#caa2-root .caa76-adventures strong{font-size:17px;text-shadow:1px 2px 3px #001c66}
#caa2-root .caa76-adventures span{font-size:11px;color:#fff}
#caa2-root .caa76-adventures b{font-size:12px;border-radius:30px;text-align:center;background:#008af7;border:1px solid #92daff;padding:8px}
#caa2-root .caa76-arcade{background:radial-gradient(at 35% 15%,#78dbff,#004eaa 45%,#012569)}
#caa2-root .caa76-store{background:radial-gradient(at 35% 15%,#fbc753,#6e2905 56%,#25102c)}
#caa2-root .caa76-store b{background:#ffbd16;color:#36180c}
#caa2-root .caa76-characters{background:radial-gradient(at 35% 20%,#ba84fc,#322da0 55%,#12195d)}
#caa2-root .caa76-characters .caa2-hero-art{position:absolute;right:0;top:6px;height:90px;width:90px;object-fit:contain;opacity:.95;pointer-events:none}
#caa2-root .caa76-characters strong,#caa2-root .caa76-characters span,#caa2-root .caa76-characters b{z-index:1}
#caa2-root .caa76-characters b{background:#9047f3}
#caa2-root .caa76-battle{background:radial-gradient(at 65% 20%,#e76b39,#571b31 58%,#1b123f)}
#caa2-root .caa76-battle b{background:#bf181d;border-color:#fb9a99}
#caa2-root .caa76-footer{text-align:center;padding:19px 8px 5px;color:#2e669d;font-size:12px;font-weight:800}
#caa2-root .caa76-no-lessons{grid-column:1/-1;padding:20px;background:#fff;border-radius:12px;color:#304e7c}
#caa2-root .caa76-mobile-nav{display:none}
/* Parent curriculum/date editor */
#caa2-root .caa76-planner{padding:clamp(18px,3vw,30px);margin:0 0 26px;background:linear-gradient(145deg,#ffffffed,#e1eeffdd)!important;border:1px solid #bbd6f9;border-radius:22px;box-shadow:0 10px 28px #1a4d8824;color:#123c75}
#caa2-root .caa76-planner-head>span{color:#006add;font-weight:850;letter-spacing:.15em;font-size:11px}
#caa2-root .caa76-planner-head h2{font-size:clamp(23px,3vw,31px);color:#082d72;margin:6px 0}
#caa2-root .caa76-planner-head p{color:#3c5c83;font-size:14px;margin:4px 0 20px;max-width:730px}
#caa2-root .caa76-planner label{display:block;font-size:13px;font-weight:750;color:#123e7e}
#caa2-root .caa76-planner select,#caa2-root .caa76-planner input,#caa2-root .caa76-planner textarea{width:100%;padding:11px 12px;background:#fff!important;color:#183b64!important;border-radius:11px;border:1px solid #9dbce4;max-width:none;font:inherit;font-size:14px;margin-top:6px;box-shadow:none}
#caa2-root .caa76-planner-pickers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#caa2-root .caa76-planner-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:17px 0 12px;padding:11px 14px;border-radius:13px;background:#d6e8ff;border:1px solid #b0d1fc;font-size:13px}
#caa2-root .caa76-planner-row{background:#ffffffdd;border:1px solid #c6dfff;border-radius:16px;padding:15px;margin:11px 0;box-shadow:0 3px 14px #19488a16}
#caa2-root .caa76-planner-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
#caa2-root .caa76-planner-row-head b{color:#173b71;font-size:16px}
#caa2-root .caa76-planner-row-head b span{display:inline-grid;place-items:center;border-radius:12px;background:#1674d7;color:#fff;width:30px;height:30px;margin-right:6px}
#caa2-root .caa76-planner-controls{display:flex;gap:6px}
#caa2-root .caa76-planner-controls button{border-radius:8px;background:#e4f0ff;color:#174c92;border:1px solid #b2d0f6;padding:7px 12px;font-weight:750}
#caa2-root .caa76-planner-controls button:last-child{color:#a72d44;background:#fff0f3;border-color:#fac1ca}
#caa2-root .caa76-planner-controls button:disabled{opacity:.4;cursor:default}
#caa2-root .caa76-planner-row label+label{margin-top:12px}
#caa2-root .caa76-planner-add{display:flex;align-items:end;gap:10px;max-width:600px;margin:15px 0}
#caa2-root .caa76-planner-add label{flex:1}
#caa2-root .caa76-planner-add button,#caa2-root .caa76-planner-actions button{border-radius:12px;padding:12px 18px;background:#0067d6;color:#fff;font-weight:850;border:1px solid #2a9bff;min-height:45px}
#caa2-root .caa76-planner-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
#caa2-root .caa76-planner-actions button:first-child{background:linear-gradient(130deg,#0063d4,#058cf7);font-size:15px}
#caa2-root .caa76-planner-actions button:nth-child(2){background:#e9f3ff;color:#15518d}
#caa2-root .caa76-planner-actions button:disabled{opacity:.45;cursor:default}
#caa2-root .caa76-planner-warning{background:#fff0cd;color:#75461c;padding:12px;border-radius:11px;font-size:13px}
#caa2-root .caa76-already-complete{display:block;color:#257950;margin-top:8px}
#caa2-root .caa76-planner-empty{padding:18px;background:#eef6ff;border:1px dashed #93b9ec;border-radius:12px}
#caa2-root .caa76-planner-shortcut{background:#1277e9!important;color:white!important;border-radius:9px}
@media(max-width:1200px){#caa2-root .caa76-header{gap:12px;padding:14px}#caa2-root .caa76-bubble{max-width:210px}#caa2-root .caa76-lion{display:none}#caa2-root .caa76-top-tools{position:absolute;right:15px;top:12px}#caa2-root .caa76-student-hello{padding-right:96px}#caa2-root .caa76-feature-icon{min-width:59px;height:59px;font-size:29px}#caa2-root .caa76-feature-copy strong{font-size:22px}#caa2-root .caa76-sidebar{padding-inline:7px}}
@media(max-width:920px){#caa2-root .caa76-shell{grid-template-columns:1fr}#caa2-root .caa76-sidebar{display:none}#caa2-root .caa76-header{padding:15px 14px;min-height:155px}#caa2-root .caa76-bubble{display:none}#caa2-root .caa76-student-hello{padding-right:80px}#caa2-root .caa76-content{padding-bottom:88px}#caa2-root .caa76-mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;background:#04194de8;backdrop-filter:blur(18px);padding:7px 5px max(8px,env(safe-area-inset-bottom));border-top:1px solid #81baff}#caa2-root .caa76-mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;color:#fff;font-size:21px}#caa2-root .caa76-mobile-nav small{font-size:11px;color:#d5eaff}#caa2-root .caa76-feature-row{grid-template-columns:1.9fr 1fr}}
@media(max-width:620px){#caa2-root .caa76-header{min-height:138px}#caa2-root .caa76-student-hello{min-width:0;gap:11px}#caa2-root .caa76-profile{width:72px;height:72px}#caa2-root .caa76-student-hello h1{font-size:30px}#caa2-root .caa76-student-hello p{font-size:11px}#caa2-root .caa76-day-meter{min-width:0;width:100%;max-width:260px;font-size:9px}#caa2-root .caa76-top-tools{right:8px;top:7px}#caa2-root .caa76-top-tools button{font-size:11px;padding:4px 8px}#caa2-root .caa76-student-hello{padding-right:25px}#caa2-root .caa76-content{border-radius:18px 18px 0 0;padding:12px 10px 95px}#caa2-root .caa76-feature-row{grid-template-columns:1fr}#caa2-root .caa76-feature{min-height:139px;gap:10px;padding:11px}#caa2-root .caa76-feature-icon{min-width:52px;width:52px;height:58px;font-size:25px}#caa2-root .caa76-feature-copy small{font-size:10px}#caa2-root .caa76-feature-copy strong{font-size:19px}#caa2-root .caa76-feature-image{display:none}#caa2-root .caa76-character-panel{min-height:125px}#caa2-root .caa76-character-panel img{height:130px;width:39%}#caa2-root .caa76-steps-heading{align-items:flex-start;flex-direction:column}#caa2-root .caa76-steps{grid-template-columns:repeat(2,minmax(0,1fr))}#caa2-root .caa76-step-picture{height:66px}#caa2-root .caa76-step-picture span{font-size:36px}#caa2-root .caa76-step-content strong{font-size:12px}#caa2-root .caa76-step-content p{font-size:11px}#caa2-root .caa76-extras>div{grid-template-columns:1fr}#caa2-root .caa76-adventures{grid-template-columns:repeat(2,minmax(0,1fr))}#caa2-root .caa76-adventures button{min-height:130px}#caa2-root .caa76-adventures strong{font-size:15px}#caa2-root .caa76-planner-pickers{grid-template-columns:1fr}#caa2-root .caa76-planner-row-head{align-items:flex-start;flex-direction:column}#caa2-root .caa76-planner-add{flex-direction:column;align-items:stretch}#caa2-root .caa76-planner-summary{align-items:flex-start;flex-direction:column}}
/* Featured lesson presents the five teaching steps; below is the true parent-assigned daily schedule. */
#caa2-root .caa76-todays-assignments{margin:15px 0;padding:12px;background:#e0ecff9a;border:1px solid #c9defb;border-radius:15px}
#caa2-root .caa76-todays-assignments h3{margin:0 0 10px;color:#0a3272;font-size:15px;font-weight:900}
#caa2-root .caa76-todays-assignments h3 small{float:right;color:#4774ad;font-weight:700}
#caa2-root .caa76-assignment-grid{display:flex;flex-wrap:wrap;gap:9px}
#caa2-root .caa76-assignment-grid .caa76-step{width:min(100%,205px);box-shadow:none;background:#fff;min-height:0;flex:none}
#caa2-root .caa76-assignment-grid .caa76-step-top{min-height:45px;padding:7px}
#caa2-root .caa76-assignment-grid .caa76-step-num{height:28px;width:28px;font-size:14px}
#caa2-root .caa76-assignment-grid .caa76-step-picture{display:none}
#caa2-root .caa76-assignment-grid .caa76-step-content{padding:8px;max-height:95px;overflow-y:auto}
#caa2-root .caa76-assignment-grid .caa76-step-content p{margin:3px 0}
#caa2-root .caa76-assignment-grid .caa76-step-action{margin-top:auto}
#caa2-root .caa76-shell{font-family:"Poppins","Montserrat",ui-sans-serif,system-ui,sans-serif}
@media(max-width:620px){#caa2-root .caa76-assignment-grid .caa76-step{width:calc(50% - 5px)}#caa2-root .caa76-todays-assignments{padding:9px}}
#caa2-root .caa76-student-instructions{padding:14px 18px;margin:10px 0;background:#e3f1ffe8;color:#12356e;border:1px solid #add1ff;border-radius:15px}
#caa2-root .caa76-student-instructions strong{color:#104c9b;font-size:14px}
#caa2-root .caa76-student-instructions p{margin:8px 0 0;line-height:1.5;white-space:pre-wrap}
#caa2-root .caa76-planner-shortcuts{margin:5px 0 18px}
#caa2-root .caa76-planner-shortcuts button{padding:8px 12px;background:#fff;border:1px solid #a9ccec;border-radius:11px;color:#174c97;cursor:pointer;font-weight:750}
