.emoji-login{min-height:100vh;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(480px,1.4fr);background:#f5f9f5;color:#183d2c}.emoji-welcome{background:linear-gradient(155deg,#dbf2df,#fceaba);padding:48px 8%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;overflow:hidden}.emoji-welcome h1{font-size:clamp(38px,5vw,72px);line-height:1.05;margin:36px 0 12px}.emoji-welcome p{font-size:24px}.emoji-welcome .school-logo{width:190px}.welcome-snappie{width:min(88%,300px);height:320px;object-fit:contain;align-self:center;animation:snappie-float 4s ease-in-out infinite}.login-spark{background:#fff9;padding:14px 20px;border-radius:24px}.emoji-panel{width:100%;max-width:900px;margin:auto;padding:40px}.emoji-panel h2{font-size:30px;margin:26px 0 14px}.login-steps{list-style:none;padding:0;display:flex;justify-content:space-between;gap:10px;margin:32px 0}.login-steps li{display:flex;gap:8px;align-items:center;color:#65796a}.login-steps span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e3eae4}.login-steps .current{font-weight:800;color:#11669e}.login-steps .current span{background:#146fa9;color:white}.login-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:14px;margin:24px 0}.login-choices button{font:inherit;color:inherit;border:2px solid #d5e4d9;border-radius:22px;min-height:86px;cursor:pointer;background:white;font-weight:800;font-size:32px;box-shadow:0 4px 0 #d6e5d8;transition:transform .15s}.login-choices button:hover{transform:translateY(-3px);border-color:#44ac6c}.class-choice span{display:block;font-size:25px}.login-choices.emoji-choices{grid-template-columns:repeat(6,1fr);gap:10px}.emoji-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px}.emoji-choice img{width:46px;height:46px;object-fit:contain}.emoji-choice small{font-size:11px;font-weight:600;margin-top:5px}.emoji-code{display:flex;justify-content:center;gap:18px;align-items:center;margin:20px 0;font-size:35px;letter-spacing:3px}.emoji-enter{width:100%;justify-content:center;min-height:60px;font-size:22px}.emoji-panel #emoji-error{color:#b83b28;min-height:24px}.tone-0{background:#e1f3e4!important}.tone-1{background:#e1f0fc!important}.tone-2{background:#fff0c6!important}.tone-3{background:#f9e2d8!important}.pupil-photo{width:48px;height:56px;object-fit:cover;border-radius:12px;flex-shrink:0}.initial{display:grid;place-items:center;background:#e5f2e8;color:#23713e;font-weight:800}.classroom-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin:24px 0}.classroom-controls input,.classroom-controls select{max-width:100%}.classroom-controls h2{font-size:21px}.control-snappie{height:85px;object-fit:contain}.classroom-controls .row{flex-wrap:wrap}.roster-import{margin-top:24px}.roster-import summary{font-size:19px;font-weight:700;cursor:pointer}.projection{background:#f5f9f4;color:#1b3c2b;margin:0}.projection-header{display:flex;align-items:center;gap:24px;padding:20px 36px;background:white;border-bottom:1px solid #dce9df}.projection-header>img{width:145px;height:62px;object-fit:contain}.projection-header>div{flex:1}.projection-header strong{font-size:25px}.projection-header small{display:block;color:#627269;margin-top:4px}.projection #board-main{padding:24px 36px 48px;max-width:1920px;margin:auto}.board-intro{text-align:center;margin-bottom:28px}.board-intro h1{font-size:clamp(30px,3.8vw,52px);margin:12px 0}.board-intro p{font-size:20px}.board-message{background:#fff0c6;text-align:center;border-radius:18px;padding:18px;margin:0 0 24px;font-size:clamp(20px,2.5vw,34px);font-weight:700;white-space:pre-wrap}.board-pupils{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}.board-pupil{position:relative;padding:20px 14px;border-radius:24px;display:flex;align-items:center;flex-direction:column;border:2px solid #fff;box-shadow:0 5px 0 #183d2c0b}.board-pupil h2{font-size:18px;text-align:center;min-height:43px;margin:14px 0 8px}.board-pupil p{margin:6px 0 12px;font-size:14px}.board-photo{width:80px;height:96px;border-radius:18px;object-fit:cover;background:white}.pupil-number{position:absolute;top:16px;left:14px;background:white;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:800}.board-pupil small{margin-top:12px;font-weight:700}.board-pupil progress{height:12px}.board-pupil .btn{font-size:15px;justify-content:center;min-height:45px;padding:10px}.board-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.board-work{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.board-group{padding:22px;border-radius:24px}.board-group h2{font-size:25px;margin:6px 0 24px}.board-pupil-chip{display:flex;align-items:center;gap:14px;margin:12px 0;background:#ffffffb0;border-radius:18px;padding:10px}.board-pupil-chip .board-photo{width:55px;height:65px;border-radius:12px}.board-pupil-chip small{display:block}.board-pupil-chip strong{font-size:18px}.mode-snappie{height:110px;display:block;margin:auto}.helper-snappie{height:130px}.helper-spotlight .board-photo{width:130px;height:155px}.helper-spotlight{padding:32px}.helper-spotlight h2{font-size:24px}.helper-spotlight strong{font-size:20px}.board-timer,.board-draw{text-align:center;max-width:1100px;margin:20px auto}.board-timer h1,.board-draw h1{font-size:clamp(28px,4vw,48px)}.timer-scene{display:flex;align-items:center;justify-content:center;gap:40px;margin:40px 0}.timer-scene img{width:260px;max-height:350px;object-fit:contain}.timer-time{font-size:clamp(80px,15vw,220px);font-weight:800;letter-spacing:-.06em;color:#146ca5;font-variant-numeric:tabular-nums}.board-timer progress{height:30px}.board-timer p{font-size:28px}.moving{animation:snappie-float 2s ease-in-out infinite}.draw-snappie{height:120px}.draw-reveal{background:#e2f2e5;border-radius:36px;min-height:220px;padding:30px;margin:22px auto;display:flex;gap:30px;align-items:center;justify-content:center}.draw-reveal .board-photo{width:140px;height:165px}.draw-reveal h2{font-size:clamp(30px,5vw,64px)}.board-draw .btn{font-size:26px;padding:20px 40px}.board-draw p{font-size:21px}.drawing{animation:draw-pulse .18s alternate infinite}.projection-error{text-align:center;color:#af3627;font-weight:700}.projection-error:empty{display:none}.extra-tasks{margin:32px 0;padding:26px;background:#fff0c6;border-radius:26px}.extra-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.extra-task-grid article{background:#fff;padding:20px;border-radius:18px}.extra-task-grid h3{margin:8px 0 18px}.extra-task-grid .btn{font-size:15px}.self-check-panel{background:#e4f3e7;padding:22px;border-radius:18px;margin:24px 0}.roster-import textarea{width:100%;margin:16px 0}.projection button:focus-visible,.emoji-login button:focus-visible{outline:4px solid #146ba8;outline-offset:4px}@keyframes snappie-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes draw-pulse{from{transform:scale(.99)}to{transform:scale(1.01)}}@media(max-width:1100px){.classroom-controls{grid-template-columns:1fr 1fr}.classroom-controls>section:last-child{grid-column:1/-1}.emoji-login{grid-template-columns:1fr 1.6fr}.emoji-panel{padding:25px}.emoji-welcome{padding:25px}.login-steps{font-size:12px}.board-work{gap:12px}.board-group{padding:14px}}@media(max-width:700px){.emoji-login{display:block}.emoji-welcome{display:none}.emoji-panel{padding:22px}.login-steps{font-size:12px}.login-choices.emoji-choices{grid-template-columns:repeat(4,1fr)}.emoji-choice img{width:40px;height:40px}.login-choices button{min-height:78px}.classroom-controls{grid-template-columns:1fr}.board-work{grid-template-columns:1fr}.projection-header{padding:16px;gap:12px}.projection-header>img{width:90px}.projection-header strong{font-size:18px}.projection #board-main{padding:18px}.timer-scene{gap:10px}.timer-scene img{width:120px}.draw-reveal{flex-direction:column}.board-pupils{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.projection-header>img{width:64px;height:64px}.emoji-panel .tone-2,.board-group.tone-2,.board-pupil.tone-2{background:#eef5e9!important}
.board-day-goal{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;background:#fff4c7;border:3px solid #d9a92d;border-radius:20px;padding:18px 26px;margin:0 0 24px;box-shadow:0 5px 16px #0001;overflow-wrap:anywhere}.board-day-goal>span{font-size:38px}.board-day-goal strong{font-size:17px;color:#664e12}.board-day-goal p{font-size:clamp(22px,2.7vw,36px);font-weight:700;line-height:1.25;margin:4px 0;color:#292517;white-space:pre-wrap}

.board-name{display:inline-flex;gap:16px;align-items:center;justify-content:center;background:#fff;color:#116CAB;border:2px solid #116CAB;border-radius:16px;padding:14px 20px;font:inherit;min-height:60px;cursor:pointer;width:100%}
.board-name:hover,.board-name:focus-visible{background:#e8f3fb;outline:3px solid #116CAB;outline-offset:3px}
.board-reported{color:#235934;font-weight:700}
#board-feedback{width:min(920px,94vw);max-height:92vh;border:0;border-radius:28px;padding:32px;color:#183d2c;background:#f8fcf9;overflow:auto}
#board-feedback::backdrop{background:rgb(12 35 23 / .65)}
.feedback-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:2px solid #B0D6B9;padding-bottom:22px;margin-bottom:22px}
.feedback-header h1{font-size:36px;margin:6px 0}.feedback-header small{font-size:20px}.feedback-task-title{font-size:30px}.feedback-intro,#board-feedback h3{font-size:25px}
.feedback-task-list{display:grid;gap:14px}.feedback-task{display:flex;gap:18px;align-items:center;text-align:left;border:2px solid #B0D6B9;border-radius:20px;background:white;color:#183d2c;padding:22px;font:inherit;cursor:pointer;width:100%}
.feedback-task>span:nth-child(2){flex:1}.feedback-task strong{display:block;font-size:25px;margin:7px 0}.feedback-task small{font-size:17px}.feedback-task-icon{font-size:38px}.feedback-task>span:last-child{font-size:30px;color:#116CAB}
.feedback-status,.feedback-moods{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.feedback-moods{grid-template-columns:repeat(3,1fr)}
.feedback-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:125px;font:inherit;font-size:22px;font-weight:700;color:#183d2c;background:white;border:3px solid #d6e4d9;border-radius:20px;padding:20px;cursor:pointer}
.feedback-choice>span{font-size:46px}.feedback-choice.chosen{border-color:#116CAB;background:#e8f3fb;box-shadow:0 0 0 2px #116CAB}.feedback-choice:focus-visible,.feedback-task:focus-visible{outline:3px solid #116CAB;outline-offset:3px}
#feedback-save{width:100%;min-height:64px;margin-top:18px;font-size:23px}.feedback-saved{background:#dcefe2;border:2px solid #44AC6C;border-radius:14px;padding:18px;font-size:23px}
.board-report{display:block;font-size:13px;line-height:1.5;padding:8px 10px;margin-top:6px;border-radius:8px;background:#edf6ef}.board-report span{display:block;color:#526656}.board-report.help{background:#fff0d9;font-weight:700}.board-report.hard{background:#eef3fb}.live-task-list>div>span:first-child{min-width:0}
@media(max-width:600px){#board-feedback{padding:18px}.feedback-header{flex-wrap:wrap}.feedback-header h1{font-size:29px}.feedback-moods{grid-template-columns:1fr}.feedback-moods .feedback-choice{flex-direction:row;min-height:75px}.feedback-choice{font-size:18px;padding:12px}.feedback-task strong{font-size:21px}}
.pupil-avatar{object-fit:cover;flex-shrink:0}.pupil-profile-photo{width:82px;height:82px;object-fit:cover;border-radius:50%;border:3px solid #B0D6B9;flex-shrink:0}.pupil-profile-photo.initial{display:grid;place-items:center;font-size:32px;background:#e5f3e9;color:#183d2c}.feedback-identity{display:flex;gap:18px;align-items:center}.feedback-identity .board-photo{width:88px;height:88px;object-fit:cover;flex-shrink:0}.photo-upload-label{font-size:13px;margin-top:10px}.photo-upload-label input{max-width:230px;font-size:12px}.library-tabs{margin:16px 0}.task-actions{flex-wrap:wrap}
@media(max-width:600px){.pupil-profile-photo{width:56px;height:56px}.feedback-identity .board-photo{width:64px;height:64px}}
.classroom-controls{display:block;max-width:1000px;margin:0 auto 24px}.classroom-controls>.panel{width:100%}.classroom-mode{border-top:1px solid #d5e4d9;padding-top:22px;margin-top:12px}.classroom-mode[hidden]{display:none!important}.classroom-mode h2,.classroom-mode h3{margin:0}.board-task-picker{display:grid;gap:10px;max-height:360px;overflow:auto;border:1px solid #d5e4d9;border-radius:14px;padding:14px}.board-task-picker small{display:block;color:#526656;margin-top:5px}.classroom-common{border-top:1px solid #d5e4d9;padding:18px 0}.classroom-common summary,.classroom-pupil-settings>summary{cursor:pointer;font-weight:700;padding:10px 0}.classroom-common[open] summary{margin-bottom:14px}.classroom-pupil-settings{max-width:1000px;margin:0 auto 20px}

.compact-pupils{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px}.compact-pupil{padding:10px;border:0;background:#fff;box-shadow:none;min-width:0}.pupil-progress-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.pupil-progress-ring rect{fill:none;stroke-width:3}.ring-track{stroke:#dce4df}.ring-done{stroke:#278447;stroke-linecap:butt}.pupil-tile-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:4px;border:0;border-radius:15px;background:transparent;color:inherit;font:inherit;text-align:center}.pupil-tile-content span{font-weight:700;font-size:17px;overflow-wrap:anywhere}.pupil-tile-content .board-photo{width:64px;height:72px;border-radius:12px}.pupil-tile-content:is(button){cursor:pointer}.compact-pupil:focus-within{outline:3px solid #146ba8;outline-offset:3px}

.compact-pupil[data-mood="hard"] .ring-done{stroke:#ce7600}.compact-pupil[data-mood="help"] .ring-done{stroke:#c43732}.compact-pupil .tile-mood{font-size:17px;margin:0;font-weight:400}.board-mood-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;font-size:16px!important}.board-mood-legend span{white-space:nowrap}
/* A simple assignment first; optional tools stay available. */
.simple-editor-layout{display:block!important;max-width:1100px}.simple-editor-layout .editor-side{position:static;width:auto}.task-extras>summary{cursor:pointer;font-weight:700;padding:8px}.task-extras>aside{margin-top:20px}#simple-parts table{min-width:720px}#simple-parts input[type=checkbox]{width:24px;height:24px}#simple-parts input[type=text]{min-width:200px}.board-subtasks{display:grid;gap:12px;margin:20px 0}.board-subtasks label{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #cdd8df;border-radius:12px}.board-subtasks input{width:28px;height:28px}
