:root{--plum:#6044a6;--dark:#30234b;--lav:#ebe5fb;--mint:#dcf7ed;--mintdark:#168363;--peach:#fff0d6;--pink:#ffe4ef;--paper:#fffefd;--line:#ddd8ed;--shadow:0 14px 40px rgba(49,38,92,.1)}
*{box-sizing:border-box}html{height:100%;-webkit-tap-highlight-color:transparent}body{margin:0;background:radial-gradient(circle at 15% 7%,#fff2d9 0,transparent 31%),radial-gradient(circle at 90% 80%,#e5f4ff 0,transparent 30%),#f8f5ff;font:500 17px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--dark)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #00a7b5;outline-offset:2px}button:active:not(:disabled){transform:scale(.985)}[hidden]{display:none!important}
#shell{min-height:100dvh;display:flex;flex-direction:column}.header{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:10px clamp(12px,2.3vw,28px);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.88));border-bottom:2px solid #eee7fd;gap:14px;position:relative;z-index:10;overflow:hidden}.banner-wrap{position:relative;min-width:0}.brand-banner{position:relative;z-index:2;display:block;border:0;background:none;padding:0;width:100%;max-width:none}.brand-banner img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover;border-radius:26px;filter:drop-shadow(0 12px 22px rgba(73,57,121,.10))}.banner-fall{position:absolute;inset:-8px 0 -8px 0;overflow:hidden;pointer-events:none;border-radius:28px;z-index:3}.float-item{position:absolute;top:-20%;font-weight:900;opacity:.38;animation-name:fallDrift;animation-timing-function:linear;animation-iteration-count:infinite;user-select:none;text-shadow:0 2px 0 rgba(255,255,255,.28)}.i1{left:3%;font-size:24px;color:#7a54bf;animation-duration:17s;animation-delay:-2s}.i2{left:11%;font-size:21px;color:#28a79b;animation-duration:14s;animation-delay:-9s}.i3{left:18%;font-size:18px;color:#9d8ac9;animation-duration:19s;animation-delay:-5s}.i4{left:28%;font-size:25px;color:#28a79b;animation-duration:16s;animation-delay:-11s}.i5{left:37%;font-size:19px;color:#7a54bf;animation-duration:15s;animation-delay:-4s}.i6{left:47%;font-size:17px;color:#a3d8d0;animation-duration:18s;animation-delay:-13s}.i7{left:57%;font-size:26px;color:#7a54bf;animation-duration:14.5s;animation-delay:-7s}.i8{left:66%;font-size:18px;color:#28a79b;animation-duration:17.5s;animation-delay:-1s}.i9{left:74%;font-size:17px;color:#9d8ac9;animation-duration:13.5s;animation-delay:-8s}.i10{left:82%;font-size:23px;color:#28a79b;animation-duration:16.5s;animation-delay:-6s}.i11{left:90%;font-size:20px;color:#7a54bf;animation-duration:15.5s;animation-delay:-10s}.i12{left:95%;font-size:17px;color:#a3d8d0;animation-duration:18.5s;animation-delay:-3s}.header-right{display:flex;align-items:center;gap:10px;justify-self:end;align-self:start;position:absolute;top:18px;right:clamp(12px,2.3vw,28px);z-index:5}.who{font-size:14px;font-weight:800;color:#766a96}.icon-button,.quiet-button{background:#f1ecfc;border:2px solid transparent;border-radius:15px;min-height:47px;padding:8px 14px;color:var(--plum);font-weight:800}.icon-button{font-size:23px}.quiet-button{font-size:15px}main{flex:1;width:min(1180px,100%);margin:0 auto;padding:22px clamp(16px,4vw,42px) 30px}footer{width:100%;margin-top:auto;text-align:center;color:#fff;font-size:16px;padding:20px 18px;background:radial-gradient(circle at 15% 0,#8d69d9 0,transparent 30%),radial-gradient(circle at 85% 20%,#4fbab1 0,transparent 28%),linear-gradient(180deg,#7451c6 0%,#5c3ea8 100%);position:relative;overflow:hidden}footer:before,footer:after{content:"";position:absolute;left:-5%;right:-5%;height:58px;border-radius:50%;background:rgba(255,255,255,.08)}footer:before{bottom:-34px}footer:after{bottom:-50px;background:rgba(34,18,76,.18)}footer strong{position:relative;z-index:1;color:#fff;font-size:16px;letter-spacing:.2px}@keyframes fallDrift{0%{transform:translateY(-18%) translateX(0) rotate(0deg)}25%{transform:translateY(25%) translateX(10px) rotate(8deg)}50%{transform:translateY(55%) translateX(-8px) rotate(-6deg)}75%{transform:translateY(82%) translateX(12px) rotate(7deg)}100%{transform:translateY(125%) translateX(-4px) rotate(-8deg)}}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4.5vw,49px);line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(22px,2.7vw,32px);line-height:1.1}h3{font-size:20px}.sub{color:#817699;font-size:clamp(15px,1.8vw,18px);margin-top:9px}.tiny{color:#958aac;font-size:13px}.center{text-align:center}.hero{margin-bottom:23px}.hero.center{max-width:850px;margin-inline:auto;margin-bottom:22px}.page-inner{max-width:920px;margin:auto}.panel{background:rgba(255,255,255,.94);border:2px solid #ece7fa;border-radius:28px;box-shadow:var(--shadow);padding:clamp(20px,3vw,32px)}.login{max-width:675px;margin:0 auto}.login-card{padding:clamp(22px,4vw,42px);display:grid;gap:18px}.field{display:grid;gap:8px;text-align:left}.field label{font-weight:900;font-size:17px}.field select,.field input{border-radius:15px;border:2px solid #ddd4f3;background:#fff;width:100%;padding:15px 18px;min-height:58px;color:var(--dark)}.field select:disabled,.field input:disabled{background:#f7f5fc}.controls-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.primary,.secondary,.soft{border:0;border-radius:18px;min-height:60px;padding:14px 22px;font-weight:900;box-shadow:0 4px 0 rgba(0,0,0,.06);font-size:18px}.primary{background:var(--plum);color:#fff}.secondary{background:#2c9f94;color:#fff}.soft{background:#efebfb;color:var(--plum)}.full{width:100%}.outline{border:2px solid var(--line);border-radius:14px;background:#fff;padding:12px 16px;color:#60547d;font-weight:800}.link-button{border:0;background:transparent;color:var(--plum);font-weight:800;text-decoration:underline;padding:8px}.login-foot{display:flex;align-items:center;justify-content:center;gap:15px;padding-top:8px}.stack{display:grid;gap:16px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.game-card{border:3px solid transparent;border-radius:26px;background:white;padding:25px 23px;min-height:185px;display:flex;align-items:center;gap:20px;text-align:left;color:var(--dark);box-shadow:var(--shadow);transition:transform .16s}.game-card:hover{transform:translateY(-2px)}.game-card:nth-child(4n+1){background:#fff5dc}.game-card:nth-child(4n+2){background:#e7f7f1}.game-card:nth-child(4n+3){background:#efe8ff}.game-card:nth-child(4n+4){background:#ffe9f1}.game-symbol{font-size:clamp(50px,6vw,77px);min-width:100px;text-align:center}.game-card h3{font-size:clamp(21px,2.9vw,29px)}.game-card p{margin-top:8px;color:#726887;font-size:16px}.pill{display:inline-block;border-radius:100px;background:#f2edf9;color:var(--plum);padding:6px 12px;font-weight:800;font-size:13px}.home-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.home-emoji{font-size:90px}.options{display:flex;flex-wrap:wrap;gap:8px}.options button{border:2px solid #ddd5ef;background:#fff;color:#645188;border-radius:14px;padding:9px 16px;font-weight:800}.options button.selected{background:var(--plum);color:#fff;border-color:var(--plum)}.game-top{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}.progress-track{height:14px;background:#e6e0f4;border-radius:100px;overflow:hidden;max-width:100%;margin-top:8px}.progress-fill{height:100%;background:#31a58f;border-radius:100px}.prompt-card{background:#fff;border:3px solid #e8e2f8;border-radius:25px;padding:18px;display:grid;gap:9px;text-align:center;box-shadow:var(--shadow)}.prompt-head{display:flex;justify-content:center;align-items:center;gap:16px}.prompt-main{font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1.2}.replay{border:0;border-radius:16px;color:var(--plum);background:#f1edfc;min-width:70px;min-height:65px;font-size:30px}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px auto;max-width:950px}.answer-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.answer-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.answer{background:white;border:4px solid #e0d9f2;border-radius:25px;min-height:clamp(135px,22vh,245px);padding:16px 10px;color:var(--dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:0 7px 0 #e9e3f5}.answer:hover{border-color:#b4a3e3}.answer:disabled{opacity:1}.answer.right{border-color:#3cba91;background:#e1fff1}.answer.wrong{border-color:#f19b9b;background:#fff0f0}.tile-main{font-weight:900;font-size:clamp(49px,8vw,93px);line-height:1;text-shadow:0 2px 0 #ffffff20}.tile-label{font-size:17px;font-weight:900}.color-disc{border-radius:50%;width:clamp(70px,11vw,120px);height:clamp(70px,11vw,120px);border:5px solid #00000013;box-shadow:0 5px 12px #00000014}.shape-svg{width:clamp(78px,11vw,135px);height:clamp(78px,11vw,135px)}.feedback{text-align:center;font-size:clamp(19px,2.4vw,28px);font-weight:900;min-height:32px;color:#39957d}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.stat{border-radius:20px;background:#f3f0fc;padding:18px;text-align:center}.stat b{display:block;font-size:32px}.stat span{font-size:13px;color:#75698a}.bar{height:12px;border-radius:22px;background:#ece7fa;overflow:hidden}.bar>span{display:block;height:100%;background:#27a689;border-radius:22px}.skill-row{display:grid;grid-template-columns:120px 1fr 70px;gap:12px;align-items:center;margin:15px 0}.history-list{display:grid;gap:10px;max-height:350px;overflow:auto}.history-item{border:2px solid #f1edfa;border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:17px}.teacher-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.roster{display:grid;gap:10px}.roster-entry{border-radius:14px;padding:12px;background:#f8f6ff;display:flex;gap:9px;align-items:center;justify-content:space-between}.muted{opacity:.7}.note{background:#fff9e6;border:2px solid #fae9b6;border-radius:15px;padding:14px;font-size:14px;color:#65552e}.badge-demo{font-size:13px;font-weight:900;letter-spacing:1.2px;color:#8a6a25;background:#fff2ca;padding:7px 12px;border-radius:100px}.overlay{position:fixed;inset:0;background:#251c3a80;z-index:100;display:grid;place-items:center;padding:20px}.sound-panel{background:#fff;max-width:530px;width:100%;border-radius:26px;padding:25px;box-shadow:var(--shadow);display:grid;gap:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sound-row{display:grid;gap:9px;border-bottom:1px solid #eeeaf7;padding:7px 0 14px}.sound-row label{display:flex;align-items:center;gap:10px;justify-content:space-between;font-weight:800}.sound-row input[type=range]{width:100%;accent-color:var(--plum)}input[type=checkbox]{accent-color:var(--plum);width:22px;height:22px}.fine{font-size:13px;color:#7b7193;line-height:1.5}.spaced{margin:16px 0}.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.empty{color:#716784;font-size:15px;margin:20px 0}.topline{display:flex;align-items:center;gap:14px;justify-content:space-between}.admin-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.admin-row .field{flex:1;min-width:150px}.divider{height:2px;background:#f1eefa;margin:19px 0}.emoji-title{font-size:44px;margin-bottom:8px}
@media(max-width:720px){.header{padding:8px 13px}.who{display:none}.brand{font-size:20px}.brand small{letter-spacing:1px;font-size:8px}.header-right{gap:4px}.icon-button,.quiet-button{min-height:44px;padding:7px 10px}main{padding:18px 13px}.panel{border-radius:21px}.card-grid{gap:12px}.game-card{padding:18px;min-height:140px;gap:10px;display:block;text-align:center}.game-symbol{min-width:0;font-size:52px}.game-card p{font-size:13px}.answer-grid.cols-4{grid-template-columns:repeat(2,1fr)}.answer-grid.cols-3{grid-template-columns:repeat(2,1fr)}.answer{min-height:125px}.two-col{grid-template-columns:1fr}.home-emoji{display:none}.skill-row{grid-template-columns:85px 1fr 54px;font-size:14px}.stat-grid{gap:6px}.stat{padding:12px 4px}.stat b{font-size:25px}}
@media(max-height:690px) and (min-width:700px){main{padding-top:12px}.hero{margin-bottom:13px}.game-card{min-height:135px;padding:17px}.answer{min-height:clamp(110px,28vh,180px)}.prompt-card{padding:12px}.answer-grid{margin:11px auto}.home-top{margin-bottom:13px}}

@media (max-width:900px){.header{grid-template-columns:1fr}.header-right{justify-self:start;align-self:center}.brand-banner{max-width:100%}}
@media (prefers-reduced-motion:reduce){.float-item{animation:none;opacity:.18}}


/* V0.2.5 landing refresh */
.landing-page{max-width:1220px;margin:0 auto;display:grid;gap:22px}.landing-intro{text-align:center;padding-top:6px}.landing-intro h1{font-size:clamp(28px,4vw,46px);margin-bottom:8px}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.choice-card{background:rgba(255,255,255,.94);border:2px solid #ebe6f8;border-radius:28px;box-shadow:var(--shadow);padding:24px 22px;display:grid;gap:12px;text-align:center;align-content:start}.choice-card.kids{background:linear-gradient(180deg,#fff 0%,#faf6ff 100%)}.choice-card.teacher{background:linear-gradient(180deg,#f6ffff 0%,#edfdf9 100%)}.choice-card.classplay{background:linear-gradient(180deg,#f6fbff 0%,#edf5ff 100%)}.choice-icon{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:46px;margin:0 auto 4px;background:#efe6ff;box-shadow:inset 0 0 0 10px rgba(255,255,255,.5)}.teacher .choice-icon{background:#dcfaf4}.classplay .choice-icon{background:#dfebff}.choice-card h3{font-size:clamp(24px,2.6vw,36px);margin:2px 0}.choice-card p{margin:0;color:#655a80;font-size:17px;line-height:1.45;min-height:74px}.choice-card .primary,.choice-card .secondary{margin-top:auto}.student-panel{max-width:780px;margin:0 auto}.student-panel .login-card{gap:16px}.student-panel .field label{font-size:18px}.student-panel .primary{font-size:20px}.class-summary{display:grid;gap:12px}.recent-class-list{display:grid;gap:9px}.recent-class-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:2px solid #f0eaf8;background:#fcfbff;border-radius:15px;padding:10px 12px}.recent-class-item .tiny{display:block}.mini-note{font-size:14px;color:#7b7193}.teacher-side-grid{display:grid;gap:17px}.header.login-mode .brand-banner img{max-height:315px}.header.login-mode{padding-top:12px;padding-bottom:12px}.header.login-mode .banner-wrap{width:100%}.landing-admin{text-align:center;padding-top:4px}.landing-admin .link-button{font-size:15px}@media(max-width:980px){.landing-grid{grid-template-columns:1fr}.header-right{position:static;justify-self:start}.header.login-mode .brand-banner img{max-height:none}}@media(max-width:720px){.landing-page{gap:16px}.choice-card p{min-height:0;font-size:15px}.choice-icon{width:78px;height:78px;font-size:38px}.student-panel .login-card{padding:18px}}

/* Comfortable sound control on touchscreens / iPad landscape */
#sound-toggle{min-height:66px;min-width:66px;padding:15px 18px;border-radius:19px;background:rgba(255,255,255,.96);border:2px solid #e2d6f7;box-shadow:0 5px 18px rgba(58,35,115,.15);display:grid;place-items:center;line-height:1;font-size:26px}
#sound-toggle:hover{background:#f5efff}
@media(max-width:720px){#sound-toggle{min-width:56px;min-height:56px;padding:12px 14px}}
/* Keep the banner's falling symbols IN FRONT of the artwork */
.header .banner-fall{z-index:4;pointer-events:none}.header .brand-banner{z-index:2}
@media(min-width:1000px){.header{padding-left:0;padding-right:0;border-bottom:0}.header .banner-wrap{width:100%}.header.login-mode .brand-banner img{max-height:360px;object-position:center center;border-radius:0}.header:not(.login-mode) .brand-banner img{max-height:190px;border-radius:0}.header-right{right:30px}}

.assessment-history-list{display:grid;gap:12px}.assessment-history-item{border:2px solid #ece7f9;background:#fff;border-radius:17px;overflow:hidden}.assessment-history-item summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;list-style:none}.assessment-history-item summary::-webkit-details-marker{display:none}.assessment-history-item summary .tiny{display:block;margin-top:3px}.assessment-answers{padding:2px 16px 16px;display:grid;gap:7px}.assessment-answer-row{background:#f7f5ff;padding:10px 12px;border-radius:10px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.assessment-question{font-weight:750}

/* V0.2.7 layout refresh */
:root{--purple:#6545ab;--teal:#25b6b3;--teal-dark:#11928f;--green:#31c45f;--green-dark:#1ea54a;--orange:#f18a00;--red:#ef5555}
.header{padding:12px clamp(14px,2.3vw,28px) 18px}
.banner-wrap{width:100%}
.brand-banner img{width:100%;height:auto;max-height:none!important;object-fit:contain!important;border-radius:24px}
.icon-float{position:absolute;top:18px;z-index:6;width:60px;height:60px;border-radius:50%;border:4px solid #fff;background:linear-gradient(180deg,#7b56d4,#5c3ea8);color:#fff;font-size:30px;font-weight:900;box-shadow:0 10px 22px rgba(70,50,122,.24);display:grid;place-items:center;padding:12px}
.icon-float.left{left:18px}.icon-float.right{right:18px}
.who-pill{margin:12px auto 0;display:block;border:2px solid #e3ddf5;background:#fff;border-radius:999px;padding:11px 20px;min-height:50px;font-weight:900;color:#473676;box-shadow:0 6px 15px rgba(80,61,137,.08)}
.landing-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.choice-card{padding:24px 22px 20px;border-radius:24px}
.choice-card p{min-height:54px}.choice-icon{font-size:50px}
.teacher-toolbar h1{font-size:clamp(26px,3vw,40px)}
.teacher-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;align-items:start}
.teacher-side-grid{display:grid;gap:18px}
.compact-list{display:grid;gap:8px}
.student-row,.class-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:2px solid #f0ebfb;border-radius:14px;background:#fff}
.student-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.student-name{font-weight:900;font-size:17px}.student-pin{font-size:14px;color:#6c6186;font-weight:800}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}.mini-btn{border:0;border-radius:12px;padding:9px 12px;font-weight:900;font-size:14px;background:#eef8ff;color:#2563a1}.mini-btn.soft{background:#efeafd;color:#5b3fa7}.mini-btn.danger{background:#fff0f0;color:#d14343}.mini-btn.green{background:#e6fbeb;color:#16814b}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.simple-form{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;align-items:end}.simple-form .field{gap:6px}.simple-form .field label{font-size:14px}
.teacher-tabs,.admin-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacher-tab,.admin-tab{border:2px solid #dfe7fa;background:#fff;border-radius:16px;padding:14px 10px;font-weight:900;color:#2f2b74;text-align:center}.teacher-tab.active,.admin-tab.active{background:#4990ff;color:#fff;border-color:#4990ff}
.feedback-box{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;border:2px solid #f2c2c2;background:#fff2f2;color:#892b2b;margin-top:10px}.feedback-box.ok{background:#eafcf0;border-color:#9ad8ae;color:#186b42}.feedback-icon{font-size:28px;line-height:1}.feedback-copy b{display:block;font-size:24px;margin-bottom:2px}.feedback-copy span{font-size:18px;font-weight:800}
.answer.correct-answer{border-color:#31c45f!important;background:#e8fff0!important}.answer.incorrect-answer{border-color:#ef5555!important;background:#fff1f1!important}
.progress-page .hero{display:none}.progress-page .panel{padding:18px 20px}.progress-page .section-title{margin-bottom:8px}
.class-summary h3{margin:0}
.admin-sections{display:grid;gap:18px}
.banner-lock-note{font-size:13px;color:#7d7198}
.login-card .field input[autocomplete="off"], .login-card .field input[autocomplete="one-time-code"], .login-card .field input[autocomplete="new-password"] { -webkit-text-security: disc; }
.no-mask{-webkit-text-security:initial!important}
@media(max-width:980px){.teacher-layout{grid-template-columns:1fr}.simple-form{grid-template-columns:1fr}.teacher-tabs,.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.icon-float{width:56px;height:56px;font-size:28px}}
@media(max-width:720px){.landing-grid{grid-template-columns:1fr}.icon-float{top:12px;left:12px}.icon-float.right{right:12px;left:auto}.who-pill{width:calc(100% - 34px)}main{padding:18px 14px 26px}}

/* V0.2.8 banner-mounted navigation & sequence game */
.header{display:block;padding:10px clamp(12px,2.2vw,28px) 10px;overflow:visible;background:transparent;border-bottom:none}
.banner-wrap{position:relative;width:100%;overflow:hidden;border-radius:22px;box-shadow:0 5px 22px rgba(37,31,96,.12)}
.brand-banner{width:100%;line-height:0}.brand-banner img{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;display:block;border-radius:22px;filter:none}
.icon-float{position:absolute;z-index:8;top:clamp(12px,2vw,27px);width:clamp(46px,5vw,66px);height:clamp(46px,5vw,66px);padding:10px;display:grid;place-items:center;border-radius:50%;border:3px solid #fff;background:linear-gradient(150deg,#8256d4,#50349c);color:#fff;box-shadow:0 5px 13px rgba(42,20,100,.35);box-sizing:border-box;font-size:0}
.icon-float.left{left:clamp(12px,2.1vw,30px)}.icon-float.right{right:clamp(12px,2.1vw,30px);left:auto}
.icon-float svg{width:100%;height:100%;display:block;overflow:visible;flex:none}
.header-nav{display:flex;align-items:center;justify-content:space-between;min-height:54px;gap:10px;padding:9px clamp(4px,1.6vw,18px) 0}
.nav-back{border:1px solid #ded2f4;color:#503891;background:#fff;border-radius:12px;font-size:15px;font-weight:900;min-height:39px;padding:7px 18px;box-shadow:0 2px 6px rgba(75,52,148,.06)}
.who-pill{margin:0!important;padding:9px 18px;min-height:42px;font-size:16px;white-space:nowrap}
.leader-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.mode-option{background:linear-gradient(135deg,#e6f9fa,#efe9ff);border:3px solid #e3d8fa;border-radius:18px;padding:20px 16px;font-size:clamp(19px,2.5vw,25px);font-weight:900;color:#49318c;min-height:95px}
.leader-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.leader-score{background:#eee6ff;padding:12px 20px;border-radius:20px;color:#4f3596;font-weight:800;white-space:nowrap}.leader-score strong{font-size:30px;display:block;text-align:center}
.leader-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.leader-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;min-height:135px;border:4px solid #e4dcf5;border-radius:22px;padding:12px;color:#30234b;box-shadow:0 4px 0 #eae4f9;transition:background .13s,transform .13s,border-color .13s}
.leader-tile:disabled{opacity:1!important;cursor:default}
.leader-tile.flash{background:#d4fff0!important;border-color:#28b478!important;transform:scale(1.045);box-shadow:0 0 0 5px #64dbac66}
.leader-tile.leader-fail{background:#ffdfe4!important;border-color:#e95b69!important}
.leader-tile .tile-main{font-size:clamp(32px,6vw,62px)}.leader-tile .color-disc{width:clamp(45px,7vw,85px);height:clamp(45px,7vw,85px)}.leader-tile .shape-svg{width:clamp(48px,8vw,90px);height:clamp(48px,8vw,90px)}
.combo-tile{display:flex;flex-direction:column;align-items:center;gap:7px}.combo-tile .shape-svg{width:clamp(55px,8vw,105px);height:clamp(55px,8vw,105px)}.combo-pair{display:flex;gap:9px}.combo-pair span{background:#f3efff;color:#543c93;border-radius:10px;padding:3px 12px;font-size:clamp(20px,3vw,32px);font-weight:900}
@media(max-width:700px){.leader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-head{align-items:start}.icon-float{top:10px}.leader-score{padding:8px 12px}.header-nav{padding-top:7px}.who-pill{font-size:14px}.combo-pair span{font-size:20px}}
/* Sound control: match the Home circle exactly (override older #sound-toggle theme). */
#sound-toggle.icon-float{min-width:0;min-height:0;width:clamp(46px,5vw,66px);height:clamp(46px,5vw,66px);padding:10px;border:3px solid #fff;border-radius:50%;background:linear-gradient(150deg,#8256d4,#50349c);box-shadow:0 5px 13px rgba(42,20,100,.35);font-size:0;color:#fff}
#sound-toggle.icon-float:hover{background:linear-gradient(150deg,#8256d4,#50349c)}

.choice-card.classplay .choice-icon{font-size:46px;white-space:normal;letter-spacing:0}

/* ── Baby Dragons Academy • V0.2.9 ── designed for iPad landscape ── */
:root{--plum:#5c319e;--dark:#26205b;--teal:#26b6b1;--shadow:0 10px 28px rgba(48,43,123,.12)}
body{background:linear-gradient(165deg,#faf7ff 0%,#eef9ff 54%,#faf6ff 100%)}
#shell{width:100%;max-width:1920px;margin-inline:auto}
.header{padding:9px 12px 0}
.banner-wrap,.brand-banner img{border-radius:20px!important}
.brand-banner img{object-fit:contain!important;max-height:none!important;display:block;width:100%}
main{width:min(1280px,100%);padding:14px clamp(14px,2.3vw,36px) 30px}
footer{padding:12px;background:linear-gradient(100deg,#50318f,#7342b7,#57329b);font-size:12px}
footer strong{font-size:12px}
.header-nav{padding-top:4px;min-height:44px}
.nav-back{color:#fff;background:linear-gradient(145deg,#7d51c4,#4d278c);border:2px solid #fff;box-shadow:0 5px 13px #39236e38;min-height:42px;font-size:15px}
.landing-page{gap:14px;max-width:1100px}
.academy-home-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.academy-login-card{padding:20px 16px 16px;border-width:2px;min-height:240px;transition:transform .16s,box-shadow .16s;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center}
.academy-login-card:hover{transform:translateY(-3px);box-shadow:0 16px 26px #5742a02b}
.academy-login-card.kids{background:linear-gradient(140deg,#dffbf1,#bdf7d8);border-color:#abedd1}
.academy-login-card.teacher{background:linear-gradient(140deg,#f4e5ff,#e0d6ff);border-color:#c9b1fa}
.academy-login-card.classplay{background:linear-gradient(140deg,#fff9de,#fff0bc);border-color:#f5e6ad}
.academy-login-card .choice-icon{background:transparent;box-shadow:none;width:auto;height:auto;font-size:clamp(55px,6.1vw,86px);margin:0;line-height:1.3}
.academy-login-card h3{font-size:clamp(26px,3.0vw,39px);letter-spacing:-.6px;color:#23145d}
.academy-login-card p{font-size:15px;min-height:0;line-height:1.25;color:#554a71;margin-bottom:10px;flex:1}
.home-login-btn{padding:10px 19px;width:min(230px,100%);color:#fff;font-size:21px;font-weight:900;border-radius:14px;box-shadow:inset 0 2px 0 #ffffff45,0 4px 0 #00000012}
.home-login-btn.green{background:linear-gradient(#3dd371,#179a49)}
.home-login-btn.blue{background:linear-gradient(#47b5ff,#0076d0)}
.home-login-btn.orange{background:linear-gradient(#ffad25,#ed7004)}
.landing-admin{margin-top:4px}
.landing-admin .link-button{font-size:14px}
.login{width:min(620px,100%)}
.login .hero h1{font-size:clamp(26px,3vw,39px);margin-bottom:5px}
.login .login-card{border-radius:22px;padding:24px;gap:12px}
.login .field label{font-size:15px}
.login .field select,.login .field input{min-height:51px;padding:11px 14px}
.login .primary{background:linear-gradient(#36cf70,#169b48);border-radius:12px}
/* games • 3 columns x 2 rows at iPad landscape */
.home-top{justify-content:center;text-align:center;margin-bottom:10px}
.home-top h1{font-size:clamp(21px,2.8vw,32px)}
.home-top .sub{font-size:15px}
.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.game-card{min-height:172px;padding:14px;gap:8px;flex-direction:column;justify-content:center;text-align:center;border-width:2px;border-color:#dfd1ff;border-radius:19px;align-items:center}
.game-card:nth-child(6n+1){background:linear-gradient(#f6e7ff,#f0e7fe)}
.game-card:nth-child(6n+2){background:linear-gradient(#e0f8ff,#c7f1fb)}
.game-card:nth-child(6n+3){background:linear-gradient(#fff8db,#fff0c0)}
.game-card:nth-child(6n+4){background:linear-gradient(#ffedd9,#fff1c7)}
.game-card:nth-child(6n+5){background:linear-gradient(#ffe8eb,#ffd8e2)}
.game-card:nth-child(6n+6){background:linear-gradient(#efddff,#ddd2ff)}
.game-symbol{min-width:0;line-height:1;font-size:clamp(45px,4.5vw,72px)}
.game-card h3{font-size:clamp(19px,2.1vw,28px);margin:3px 0}
.game-card p{margin:3px 0 0;font-size:14px;font-weight:600;color:#50466c}
.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.difficulty-card{border:2px solid #d8d0f8!important;border-radius:20px!important;min-height:156px;background:#f2eafa!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:17px 12px!important}
.difficulty-3{background:#dffbfe!important;border-color:#9eeaf4!important}.difficulty-4{background:#fff4d4!important;border-color:#fee3a6!important}
.difficulty-card.selected{outline:4px solid #6545ab;outline-offset:2px;box-shadow:0 7px 0 #40257026}
.difficulty-number{font-size:40px;width:62px;height:62px;line-height:62px;color:#fff;background:linear-gradient(#9065d5,#5c3499);border-radius:100%}
.difficulty-3 .difficulty-number{background:linear-gradient(#45d17b,#158e47)}
.difficulty-4 .difficulty-number{background:linear-gradient(#ff7f72,#db3a38)}
.difficulty-card strong{font-size:20px}.difficulty-card small{font-size:14px}
.answer-grid{max-width:920px}.answer{min-height:clamp(145px,20vh,235px);border-radius:17px}
.combo-simple{display:grid;place-items:center;min-height:95px}.combo-letter{font-size:clamp(65px,8vw,140px);font-weight:1000;line-height:1;text-shadow:0 3px 3px #19152842;-webkit-text-stroke:1px #322a5d50}
.teacher-screen{display:grid;gap:14px}
.teacher-screen h1{font-size:clamp(23px,2.8vw,37px)}
.teacher-toolbar{margin-bottom:2px}
.classroom-selector{max-width:670px}
.teacher-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.teacher-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:2px solid #c6dffb;background:linear-gradient(#fff,#f1f7ff);min-height:84px;border-radius:16px;color:#2b2867;padding:10px 5px;font-size:15px;cursor:pointer}
.teacher-tab span{font-size:28px}
.teacher-tab.active{border-color:#328af5;background:linear-gradient(#50aaff,#2678ec);color:white;box-shadow:0 5px 0 #2667b327}
.academy-pane{width:100%;max-height:none;overflow:visible}
.academy-section{display:grid;gap:15px;padding:22px 24px;border-radius:21px;max-height:68vh;overflow-y:auto;scrollbar-width:thin}
.academy-section .sub{margin-top:0}
.academy-student-list{max-height:55vh;overflow-y:auto;scrollbar-width:thin}
.student-row{grid-template-columns:minmax(0,1fr) auto;border-width:0;border-bottom:1px solid #ddddec;border-radius:0;padding:12px 6px}
.student-row-main{display:flex;align-items:center;justify-content:space-between;gap:20px}
.student-pin{font-size:14px;color:#71648d}
.student-progress-row{background:#f9f7ff;border:1px solid #e9e4fa;border-radius:12px;text-align:left;font-size:17px;font-weight:800;justify-content:space-between;cursor:pointer}
.student-progress-row span{color:#6944b1;font-size:14px}
.academy-section .section-head h2{font-size:26px}
.mini-btn.green{background:linear-gradient(#33d371,#16ad4b);color:white}
.simple-form[hidden],#number-range-fields[hidden],#number-custom-fields[hidden]{display:none!important}
.number-range-box{background:linear-gradient(#fbf9ff,#f2f7ff);padding:20px;border:2px solid #e0dbfb;border-radius:20px;display:grid;gap:14px}
.number-mode{display:flex;gap:26px;flex-wrap:wrap;font-size:16px;font-weight:800}
.number-mode label{display:flex;align-items:center;gap:8px;cursor:pointer}
.number-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.number-preview{display:flex;gap:8px;flex-wrap:wrap}
.number-preview span{background:#d7eefe;border:1px solid #93cff6;border-radius:8px;color:#2b4792;min-width:35px;text-align:center;padding:6px 9px;font-weight:800}
.academy-confirm-overlay{position:fixed;inset:0;background:#1d244a85;backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:24px}
.academy-confirm-panel{width:min(445px,100%);background:linear-gradient(#fff,#faf6ff);border:5px solid white;border-radius:26px;padding:25px 24px;box-shadow:0 20px 90px #110f4b70;text-align:center;color:#2d246e;outline:2px solid #d6c8fa;display:grid;gap:15px}
.confirm-dragons{font-size:42px}.academy-confirm-panel h2{font-size:32px}.academy-confirm-panel p{font-size:18px;line-height:1.4}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.confirm-actions button{min-height:58px;border:0;border-radius:16px;color:#fff;font-size:17px;font-weight:900;box-shadow:0 4px 0 #0002}
.confirm-yes{background:linear-gradient(#f87d79,#df3337)}.confirm-no{background:linear-gradient(#42d67e,#13a94c)}
/* Header buttons match the palette in the design mockup and remain inside banner. */
.icon-float,#sound-toggle.icon-float{border-radius:50%;background:linear-gradient(145deg,#8056cb,#4d2a9c);border:3px solid #fff}
@media(max-width:880px){.teacher-tab{font-size:13px;min-height:70px}.teacher-tab span{font-size:23px}.student-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}
@media(max-width:690px){.academy-home-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-login-card{min-height:185px}.teacher-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-options{gap:7px}.difficulty-card{padding:10px 5px!important}.difficulty-card strong{font-size:15px}.difficulty-number{width:48px;height:48px;line-height:48px;font-size:32px}}
@media(prefers-reduced-motion:reduce){.academy-login-card,.game-card{transition:none}}
.admin-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.admin-tab{cursor:pointer;min-height:75px;font-size:16px}
.admin-sections .panel[hidden]{display:none!important}

.sound-actions{display:flex;justify-content:flex-end;margin-bottom:6px}
.sound-action-btn{border:0;border-radius:14px;background:linear-gradient(180deg,#8b63d8,#6b46bd);color:#fff;font-weight:900;padding:11px 16px;box-shadow:0 4px 0 rgba(0,0,0,.07)}
.mode-option{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center}
.mode-icon{font-size:28px;line-height:1}.mode-label{display:inline-block}
.leader-repeat-row{display:grid;justify-items:center;gap:6px;margin-top:-4px}.leader-replay{min-width:64px;min-height:58px;font-size:28px}
