/* Teacher-led Virtual Classroom — soft glass + oversized iPad touch targets */
.caa2-cl-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 26px;padding:26px 28px;border:2px solid #fff9;border-radius:32px;background:linear-gradient(125deg,#fffefdE8,#d6effdea);box-shadow:0 16px 40px #42648c22;overflow:hidden}
.caa2-cl-top h1{font-family:'Poppins',sans-serif;font-size:clamp(28px,4vw,44px);line-height:1.12;color:#0e2363;margin:5px 0}.caa2-cl-top small{font-size:12px;letter-spacing:1.7px;font-weight:900;color:#3760a0}.caa2-cl-top p{margin:0;color:#405780;font-weight:700}.caa2-cl-top img{width:125px;max-height:145px;object-fit:contain;flex-shrink:0}
.caa2-cl-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:120px}.caa2-cl-card{min-width:0;background:linear-gradient(145deg,#ffffffec,#eaf4ffea);border:2px solid #fff;border-radius:29px;padding:22px;box-shadow:0 12px 30px #203d671c;color:#142964}.caa2-cl-card h3{font-family:'Poppins',sans-serif;font-size:23px;line-height:1.2;margin:0 0 5px}.caa2-cl-card p{color:#4a5f80;font-weight:650;font-size:14px;line-height:1.5;margin:5px 0 14px}.caa2-cl-card h4{font-size:16px;margin:12px 0 8px}.caa2-cl-card[data-widget="letter"],.caa2-cl-card[data-widget="teacher_lessons"],.caa2-cl-card[data-widget="calendar"]{grid-column:span 2}
.caa2-cl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.caa2-cl-drop{min-height:84px;border-radius:18px;border:2px dashed #8db6f2;background:#fff9;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:12px;gap:5px;text-align:center;cursor:pointer;transition:background .15s,transform .15s}.caa2-cl-drop:focus-visible,.caa2-cl-tile:focus-visible{outline:3px solid #1768df;outline-offset:3px}.caa2-cl-drop small{font-size:10px;color:#667ba6;font-weight:900;letter-spacing:1px}.caa2-cl-drop strong{font-size:clamp(16px,2.2vw,23px);color:#102a73;line-height:1.15}.caa2-cl-tray{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 2px}.caa2-cl-tile{touch-action:none;min-height:44px;min-width:44px;border:1px solid #bfd7f9;background:#fff;border-radius:13px;padding:10px 12px;box-shadow:0 3px 0 #ccdcf4;color:#183e8c;font:800 14px 'Poppins',sans-serif;cursor:grab;user-select:none;-webkit-user-select:none}.caa2-cl-tile:active{transform:scale(.96);background:#dbeaff}.caa2-cl-tile.picked{outline:3px solid #3689f6}.caa2-cl-current{min-height:110px;background:#e7f4ff}.caa2-cl-pictures .caa2-cl-picture{font-size:15px;display:flex;align-items:center;flex-direction:column;gap:4px;flex:1 1 110px;max-width:150px}.caa2-cl-picture span:first-child{font-size:31px}.caa2-cl-calendar{border:1px solid #cadcf3;border-radius:15px;overflow:hidden;background:white;padding:9px}.caa2-cl-weekdays,.caa2-cl-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.caa2-cl-weekdays b{text-align:center;font-size:11px;color:#647aa0}.caa2-cl-dates button{min-width:0;aspect-ratio:1;border:1px solid #e4ebf9;background:#f8fbff;border-radius:7px;font-weight:850;color:#304c87;min-height:38px}.caa2-cl-dates .chosen{background:#317bdf;color:#fff;border-color:#266cd4}
.caa2-cl-letter-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.caa2-cl-letter-header h3 span{color:#e69c2d}.caa2-cl-letter-header small{color:#637fa5;font-weight:900;letter-spacing:2px}.caa2-cl-letter-header>button{white-space:nowrap;min-height:50px;border:0;border-radius:16px;background:#dcf0ff;color:#13459b;font-weight:900;padding:9px 16px}.caa2-cl-letters,.caa2-cl-sounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0}.caa2-cl-lettertarget{min-height:110px}.caa2-cl-bigletters .caa2-cl-tile{font-family:'Poppins',sans-serif;font-size:32px;min-width:74px;min-height:62px}.caa2-cl-soundbox{margin:12px 0;padding:18px;border-radius:22px;background:linear-gradient(120deg,#fff5db,#fff2fc)}.caa2-cl-sounds .caa2-cl-drop{min-height:115px}.caa2-cl-sounds .caa2-cl-drop>span{font-size:13px;font-weight:750;line-height:1.4}.caa2-cl-write{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:14px}.caa2-cl-write>button{grid-column:span 2}.caa2-cl-canvas-wrap{position:relative;min-width:0;overflow:hidden;border:1px solid #bdd2ee;border-radius:15px;background:repeating-linear-gradient(#fff 0,#fff 57px,#b9cde9 59px,#fff 60px)}.caa2-cl-canvas-wrap>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:clamp(64px,12vw,110px);font-family:'Poppins',sans-serif;letter-spacing:35px;color:#d8e2ef}.caa2-cl-canvas{position:relative;width:100%;height:168px;touch-action:none;cursor:crosshair}.caa2-cl-write button,.caa2-cl-assessment button,.caa2-cl-card[data-widget="agenda"] button,.caa2-cl-card[data-widget="goals"] button,.caa2-cl-card[data-widget="morning"] button{padding:10px 15px;background:#e7edff;border:0;border-radius:12px;color:#123078;font-weight:850}.caa2-cl-score{background:#e3f6e9;padding:12px;border-radius:15px;color:#246040;font-weight:850;margin-top:12px}.caa2-cl-hands-on{margin:12px 0;padding:14px 18px;border-radius:16px;background:#fdf6e5}.caa2-cl-hands-on p{margin:6px 0 0}.caa2-cl-primary{border:0;border-radius:20px;background:linear-gradient(100deg,#03bce7,#2882f5);box-shadow:0 6px 0 #337dc9;color:#fff;font:900 17px 'Poppins',sans-serif;padding:15px 24px;min-height:55px;cursor:pointer}
.caa2-cl-count{display:flex;align-items:center;gap:14px}.caa2-cl-count strong{font:900 64px 'Poppins',sans-serif;color:#237ce1}.caa2-cl-count>div{word-break:break-word;line-height:1.5}.caa2-cl-lessons details{background:#fffaf5;border:1px solid #e6ddec;margin:8px 0;border-radius:16px;padding:10px 15px}.caa2-cl-lessons summary{cursor:pointer;list-style:revert;display:list-item;padding:7px;font-size:15px;color:#193a83}.caa2-cl-lessons summary small{display:block;color:#61769d;margin-top:3px}.caa2-cl-guide{padding:8px}.caa2-cl-guide ol,.caa2-cl-guide ul{padding-left:23px}.caa2-cl-guide li{margin:7px 0;font-size:14px;line-height:1.55;color:#263b69}.caa2-cl-card textarea{width:100%;border:1px solid #b5c5e0;border-radius:12px;padding:10px;resize:vertical;font:650 14px 'Poppins',sans-serif}.caa2-cl-dragghost{position:fixed!important;transform:translate(-50%,-50%);z-index:99999;pointer-events:none;box-shadow:0 10px 36px #42629d55;background:#fff8ef!important}.caa2-cl-teacher{margin:18px 0!important;scroll-margin-top:50px}.caa2-cl-teacher-title{display:flex;align-items:center;gap:20px}.caa2-cl-teacher-title>div{flex:1}.caa2-cl-teacher-title img{width:105px;height:105px;object-fit:contain}.caa2-cl-teacher-title small{color:#5675ad;font-weight:900;letter-spacing:1.3px}.caa2-cl-teacher-title h2{margin:2px 0;color:#112c73}.caa2-cl-teacher-title p{color:#567}.caa2-cl-student-picker{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-weight:850;margin:20px 0}.caa2-cl-teacher select{border:1px solid #c0d0eb;border-radius:12px;padding:10px;color:#17357f;background:#fff;max-width:100%;min-height:45px}.caa2-cl-widget-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.caa2-cl-widget-row{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px;border:1px solid #d7e1f5;border-radius:13px;background:#fafbff}.caa2-cl-widget-row.enabled{background:#e7f4ff}.caa2-cl-widget-row label{display:flex;align-items:center;gap:8px;color:#273e71;font-size:14px;font-weight:850;min-width:0;flex:1}.caa2-cl-widget-row input{width:20px;height:20px;flex-shrink:0;accent-color:#1772ea}.caa2-cl-widget-row button{min-width:38px;min-height:38px;border:0;border-radius:9px;background:#fff;color:#2853a7;font-weight:900;margin-left:3px}.caa2-cl-teacher>.caa2-cl-primary{margin-top:15px}.caa2-cl-teacher-field{display:flex;flex-wrap:wrap;align-items:center;gap:15px;background:#f1f7ff;border-radius:17px;padding:14px;margin-top:17px}.caa2-cl-teacher-field p{font-size:13px;flex:1;margin:0}.caa2-cl-teacher-field label{font-weight:850}.caa2-cl-parent-demo{margin-top:20px}.caa2-cl-parent-demo>.caa2-cl-card{border:1px solid #d8e4f5;box-shadow:none}.caa2-cl-assessment{display:grid;gap:8px;padding:15px;margin-top:12px;background:#e9f6ef;border-radius:12px}.caa2-cl-assessment label{display:grid;gap:6px;font-weight:850}.caa2-cl-note{display:block;margin-top:20px;color:#667b94}
#caa2-cl-notice{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:200000;border-radius:14px;padding:12px 20px;background:#0f327d;color:#fff;box-shadow:0 10px 35px #1b399555;font:800 15px 'Poppins',sans-serif;max-width:90vw;text-align:center}#caa2-cl-notice[hidden]{display:none}
.caa2-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}.caa2-nav button{min-width:0!important}
@media(max-width:870px){.caa2-cl-board{grid-template-columns:1fr;gap:15px}.caa2-cl-card[data-widget]{grid-column:span 1}.caa2-cl-widget-editor{grid-template-columns:1fr}.caa2-cl-write{grid-template-columns:1fr}.caa2-cl-write>button{grid-column:span 1}}
@media(max-width:500px){.caa2-cl-top{padding:18px;min-height:130px}.caa2-cl-top h1{font-size:29px}.caa2-cl-top img{width:88px}.caa2-cl-card{padding:15px;border-radius:23px}.caa2-cl-card h3{font-size:21px}.caa2-cl-grid{gap:4px}.caa2-cl-grid .caa2-cl-drop{padding:5px;min-height:74px}.caa2-cl-grid .caa2-cl-drop strong{font-size:16px}.caa2-cl-tile{font-size:12px;padding:8px}.caa2-cl-sounds{gap:7px}.caa2-cl-sounds .caa2-cl-drop{padding:6px}.caa2-cl-letter-header{align-items:flex-start}.caa2-cl-letter-header>button{font-size:12px;padding:8px}.caa2-cl-canvas-wrap>span{font-size:78px}.caa2-nav button{padding-inline:1px!important;font-size:10px!important}.caa2-cl-teacher-title img{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){.caa2-cl-drop,.caa2-cl-tile{transition:none!important}}
@media print{.caa2-cl-teacher,.caa2-cl-nav,.caa2-nav,.caa2-parent-bottom-nav{display:none!important}.caa2-cl-card{break-inside:avoid}.caa2-cl-board{display:block}}

#caa2-root .caa2-world-shell{overflow-x:clip}
.caa2-cl-parent-letter-preview{margin:20px 0;border:1px solid #bfd7f9;background:#f8fbff;padding:13px;border-radius:18px}.caa2-cl-parent-letter-preview>summary{font-weight:900;font-size:15px;padding:10px;cursor:pointer;color:#143d85}.caa2-cl-parent-letter-preview .caa2-cl-card{margin-top:15px}.caa2-cl-nav-extra{min-width:0}
html:has(#caa2-root),body:has(#caa2-root){overflow-x:clip!important;max-width:100vw}
#caa2-root{overflow-x:clip}

/* Batch 12 colorful shape/number tactile boards */
.caa2-cl-shape-studio{background:linear-gradient(145deg,#e7f0ff,#ffeffa 56%,#fff1d5)!important}
.caa2-cl-widget-art,.caa2-cl-count-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.caa2-cl-widget-art img,.caa2-cl-count-heading img{width:100px;max-width:28%;max-height:110px;object-fit:contain}
.caa2-cl-widget-art h3,.caa2-cl-count-heading h3{margin:3px 0!important}
.caa2-cl-shape-hero{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:#ffffffbb;border-radius:22px;border:2px solid #fff;margin:12px 0;padding:10px;text-transform:capitalize}
.caa2-cl-shape-hero span{font-size:96px;line-height:1.1;color:#277bc1;text-shadow:0 4px 0 #a2d0f7}
.caa2-cl-shape-hero strong{font-size:23px;color:#163e7c}
.caa2-cl-shape-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.caa2-cl-shape-options button{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:78px;padding:6px;border:2px solid white;border-radius:16px;background:linear-gradient(155deg,#c7e8ff,#f7e7ff);color:#113d72;font-family:Poppins,sans-serif;font-weight:750;text-transform:capitalize}
.caa2-cl-shape-options button:nth-child(3n+2){background:linear-gradient(155deg,#ffe3ba,#fff8d8)}
.caa2-cl-shape-options button:nth-child(3n){background:linear-gradient(155deg,#cef7df,#e3f5ff)}
.caa2-cl-shape-options button[aria-pressed=true]{border-color:#1355a3;box-shadow:inset 0 0 0 2px #ffffffbb}
.caa2-cl-shape-options button span{font-size:27px}
.caa2-cl-shape-options button b{font-size:11px}
.caa2-cl-shape-challenge{margin:13px 0 0;padding:14px;border-radius:16px;background:#fff8e9;color:#194378;font-size:13px;line-height:1.5}
.caa2-cl-number-grid{display:grid!important;grid-template-columns:repeat(5,1fr);gap:7px;justify-items:center;margin:10px auto;max-width:300px}
.caa2-cl-number-grid .caa2-cl-count-gem{font-size:26px;line-height:1.2;color:#f6ad34;text-shadow:0 2px 0 #bf7f15}
@media(max-width:420px){.caa2-cl-shape-options{grid-template-columns:repeat(4,minmax(0,1fr))}.caa2-cl-shape-options button{min-height:66px}.caa2-cl-shape-hero span{font-size:75px}}
