.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--gray-1);z-index:101;pointer-events:auto;border-radius:24px;flex-direction:column;align-items:stretch;gap:0;width:fit-content;max-width:95vw;max-height:95vh;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #524b4933}.modal-body{overscroll-behavior:contain;flex-direction:column;flex:auto;align-items:stretch;min-height:0;padding:36px 12px 12px;display:flex;overflow:hidden auto}.x-modal-button{background:var(--gray-2);z-index:100;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px;display:flex;position:absolute;top:10px;right:10px}.x-modal-button:hover{cursor:pointer}.app-button{border:2px solid var(--gray-3);background:var(--surface);color:var(--pure-black);border-radius:12px;align-items:center;gap:3px;max-height:50px;padding:5px;display:inline-flex}.app-button.shake{animation:3s ease-in-out infinite pulse;animation-delay:calc(3s + (5s * random()))}.app-button button.button-content:disabled{cursor:unset;background-color:unset!important}@keyframes wiggle{0%{transform:rotate(0)}25%{transform:rotate(2deg)}50%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.button-content{color:var(--button-ink);background:var(--gray-2);letter-spacing:1.12px;white-space:nowrap;border:none;border-bottom:1px solid #524b494d;border-radius:7px 4px 4px 7px;flex:1 0 0;align-self:stretch;align-items:center;gap:6px;min-width:0;padding:8px 12px;font-size:22px;line-height:100%;display:flex}.button-content span{text-overflow:ellipsis;overflow:hidden}.button-content img{width:24px;height:24px}.button-content:hover{cursor:pointer;background-color:var(--gray-3)}.arrow-forward{justify-content:center;align-items:center;width:36px;height:36px;display:flex;transform:scaleX(-1)}.audio-assistance-button:hover{cursor:pointer}.audio-assistance-button img{width:15px!important}.audio-assistance-button{max-height:fit-content}.action-button{height:40px;color:var(--pure-black);background:var(--gray-3);border:none;border-bottom:1px solid #524b494d;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:flex;box-shadow:0 1px 3px #524b4980}.action-button.xs{height:25px;padding:5px, 5px;gap:6px}.action-button.small{height:30px;padding:6px, 6px;gap:6px}.action-button.normal{height:40px;padding:6px, 12px;gap:6px}.action-button.large{height:50px;padding:8px, 16px;gap:6px}.action-button img{width:16px;height:16px}.action-button.go{background:var(--primary-color);color:var(--on-brand)}.action-button.go:hover{background:var(--primary-color-hover)}.action-button.edit{background:var(--purple);color:var(--on-brand)}.action-button.edit:hover{background:var(--purple-hover)}.action-button.delete{background:var(--dark-pink);color:var(--on-brand)}.action-button.option{background:var(--moss-green);color:var(--on-brand)}.action-button.option:hover{background:var(--moss-green-hover)}.action-button:hover{cursor:pointer;transform:scale(1.02)}.action-button:disabled{cursor:auto;background-color:var(--gray-3)!important}.landing-button{border:none;border-radius:7px;flex-direction:row;justify-content:center;align-items:center;gap:5px;padding:6px 8px;display:flex;box-shadow:0 1px 3px #524b4980}.landing-button span{flex-direction:row;align-items:center;gap:10px;display:flex}.landing-button:hover{cursor:pointer;transform:scale(1.02)}.landing-button.black{background:var(--text);color:var(--surface)}.landing-button.white{background:var(--surface);color:var(--pure-black)}.landing-button.green{background:var(--dark-green);color:var(--on-brand)}.landing-button.grey{background:var(--gray-2);border-bottom:1px solid #524b494d}.landing-button.blue{background:var(--dark-blue);color:var(--on-brand)}.landing-button img{width:20px!important;height:20px!important}.icon-button{background:var(--gray-3);border:none;border-radius:4px;align-items:center;padding:6px;display:flex;flex:none!important}.icon-button:hover{cursor:pointer;background:var(--gray-3);transform:scale(1.02)}.icon-button.transparent{background:0 0}.icon-button.edit{background:var(--purple);color:var(--on-brand)}.icon-button.edit:hover{background:var(--purple-hover)}.icon-button.go{background:var(--primary-color);color:var(--on-brand)}.icon-button.go:hover{background:var(--primary-color-hover)}.icon-button.download-roster-button{z-index:1;background-color:var(--moss-green);width:32px;height:32px;color:var(--on-brand);opacity:.3;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:4px;right:4px}.icon-button.download-worksheet-button{z-index:1;background-color:var(--moss-green);width:32px;height:32px;color:var(--on-brand);opacity:.4;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex}.icon-button.download-worksheet-button:hover:not(:disabled){opacity:1}.sidebar-button{text-align:center;border:none;border-radius:7px;flex-direction:row;justify-content:left;align-self:stretch;align-items:center;gap:14px;height:60px;padding:15px;display:flex;box-shadow:0 1px 3px #524b4980}.sidebar-button img{width:24px;height:24px}.sidebar-button:hover{cursor:pointer;transform:scale(1.02)}.sidebar-button.go{background:var(--primary-color);color:var(--on-brand)}.sidebar-button.go:hover{background:linear-gradient(0deg, #0003 0%, #0003 100%), var(--primary-color)}.sidebar-button.default{background:var(--gray-3);color:var(--gray-10)}.sidebar-button.default:hover{background:var(--gray-4)}.sidebar-button.option{background:var(--purple);color:var(--on-brand)}.sidebar-button.option:hover{background:var(--purple-hover)}.sidebar-button.view{background:var(--moss-green);color:var(--on-brand)}.sidebar-button.view:hover{background:var(--moss-green-hover)}.sidebar-nav{flex-direction:column;align-self:stretch;gap:8px;display:flex}.sidebar-nav-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--gray-8);padding:0 2px;font-size:11px;font-weight:600}.sidebar-nav-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sidebar-nav-item{border:1px solid var(--gray-3);background:var(--gray-2);color:var(--gray-10);cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 6px;transition:background .15s,transform .1s;display:flex}.sidebar-nav-item.go{background:var(--primary-color);color:var(--on-brand)}.sidebar-nav-item.go:hover{background:var(--primary-color-hover)}.sidebar-nav-item:hover{background:var(--gray-3);transform:translateY(-1px)}.sidebar-nav-item .sidebar-nav-item-label{letter-spacing:.3px;text-align:center;font-size:12px;font-weight:500;line-height:1.2}@media screen and (width<=700px){.button-content{font-size:18px}}.user-input{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:6px;display:flex}.user-input .hint{flex-direction:row;align-items:center;gap:3px;display:flex}.invalid{border:1px solid var(--dark-pink);outline:none}.field-error{color:var(--dark-pink);margin-top:4px;font-size:.875rem}.user-input-header{flex-direction:row;justify-content:space-between;align-self:stretch;align-items:center;height:24px;padding:0 6px;display:flex}.user-input-label{flex-direction:row;flex:1 0 0;align-items:center;gap:10px;display:flex}.user-input .hint{color:var(--dark-green)}.alert{flex-direction:column;width:35vw;min-width:200px;max-width:400px;height:35vh;min-height:150px;max-height:300px;display:flex}.alert img{width:20%}.loading-indicator{justify-content:center;align-items:center;width:250px;height:250px;display:flex}.loading-indicator svg{height:100px}.loading-indicator image{align-self:center;width:120px;height:auto;position:relative}.spinner{border:4px solid #0000001a;border-left-color:var(--dark-green);border-radius:50%;width:40px;height:40px;animation:1s infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-indicator--gif{background:0 0;padding:0;overflow:visible}.loading-indicator--gif img{object-fit:contain;width:100%;height:100%}.loading-indicator--pixel-reveal{background:0 0;justify-content:center;align-items:center;padding:0;display:flex;overflow:visible}.loading-indicator--pixel-reveal .pixel-reveal-canvas{object-fit:contain;display:block}@media (prefers-reduced-motion:reduce){.loading-indicator--pixel-reveal .pixel-reveal-canvas{image-rendering:auto}}.loading-indicator--spinning{background:0 0;padding:0;overflow:visible}.loading-indicator--spinning img.momentum-spin{object-fit:contain;width:100%;height:100%;animation:1.4s infinite momentum-spin}@keyframes momentum-spin{0%{animation-timing-function:cubic-bezier(.4,0,.8,.4);transform:rotate(0)}50%{animation-timing-function:cubic-bezier(.2,.6,.6,1);transform:rotate(180deg)}to{transform:rotate(360deg)}}@keyframes bounceAndSquish{0%{transform:translate(-150px)scaleX(.9)}5%{transform:translate(-120px)scaleX(1.15)}15%{transform:translate(-90px)scaleX(.9)}25%{transform:translate(-60px)scaleX(1.15)}35%{transform:translate(-30px)scaleX(.9)}45%{transform:translate(0)scaleX(1.15)}55%{transform:translate(30px)scaleX(.9)}65%{transform:translate(60px)scaleX(1.15)}75%{transform:translate(90px)scaleX(.9)}85%{transform:translate(120px)scaleX(1.15)}95%,to{transform:translate(150px)scaleX(.9)}}.loading-indicator{--ring-color:var(--dark-green);--ring-thickness:6px;--ring-radius:12px;--ring-gap:6px;--ring-speed:5s;border-radius:var(--ring-radius);box-sizing:border-box;padding:calc(var(--ring-gap) + var(--ring-thickness));background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.loading-indicator .ring{inset:calc(var(--ring-thickness) / 2);pointer-events:none;width:auto;height:auto;position:absolute}.loading-indicator .ring__dash{fill:none;stroke:var(--ring-color);stroke-width:var(--ring-thickness);stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:10 90;animation:ring-offset var(--ring-speed) linear infinite}@keyframes ring-offset{to{stroke-dashoffset:-100px}}@media (prefers-reduced-motion:reduce){.loading-indicator .ring__dash{animation:none}}.loading-indicator-wrapper{flex-direction:column;align-items:center;gap:16px;display:flex}.loading-label{color:var(--dark-green,#2d5a3d);text-align:center;letter-spacing:.04em;text-transform:uppercase;background-color:var(--surface);border-radius:3px;max-width:260px;padding:10px;font-size:14px;font-weight:500;line-height:1.5;animation:2s ease-in-out infinite label-pulse}@keyframes label-pulse{0%,to{opacity:.85}50%{opacity:1}}.support-chat-panel{background:var(--surface);border-radius:12px;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.support-chat-header{border-bottom:1px solid var(--gray-2);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.support-chat-header h3{margin:0;font-size:16px}.support-chat-subtitle{color:var(--gray-6);margin:4px 0 0;font-size:12px}.support-chat-status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.support-chat-status-online{color:var(--success);background:#22863a1f}.support-chat-status-offline{background:var(--gray-2);color:var(--gray-6)}.support-chat-banner{padding:10px 16px;font-size:13px}.support-chat-banner-info{color:var(--info);background:#0366d614}.support-chat-banner-error{color:var(--dark-pink);background:#b31d2814}.support-chat-messages{background:var(--gray-1,var(--gray-1));flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.support-chat-message{flex-direction:column;max-width:75%;display:flex}.support-chat-message-self{align-self:flex-end;align-items:flex-end}.support-chat-message-other{align-self:flex-start;align-items:flex-start}.support-chat-bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:16px;padding:8px 14px;font-size:14px;line-height:1.4}.support-chat-message-self .support-chat-bubble{background:var(--indigo-700,#4a3cdb);color:var(--on-brand);border-bottom-right-radius:4px}.support-chat-message-other .support-chat-bubble{background:var(--surface);color:var(--gray-9,var(--gray-13));border:1px solid var(--gray-2);border-bottom-left-radius:4px}.support-chat-meta{color:var(--gray-6);margin-top:2px;padding:0 6px;font-size:11px}.support-chat-typing{gap:4px;padding:12px 14px;display:inline-flex}.support-chat-typing span{background:var(--gray-6);opacity:.4;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite support-chat-typing-bounce}.support-chat-typing span:nth-child(2){animation-delay:.15s}.support-chat-typing span:nth-child(3){animation-delay:.3s}@keyframes support-chat-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.support-chat-input-row{border-top:1px solid var(--gray-2);background:var(--surface);gap:8px;padding:12px 16px;display:flex}.support-chat-input-row textarea{resize:none;border:1px solid var(--gray-3);border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.4}.support-chat-input-row textarea:disabled{background:var(--gray-1);cursor:not-allowed}.support-chat-input-row button{background:var(--indigo-700,#4a3cdb);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;padding:0 18px;font-size:14px;font-weight:600}.support-chat-input-row button:disabled{opacity:.5;cursor:not-allowed}.support-chat-modal-shell{flex-direction:column;width:min(520px,92vw);height:min(640px,80vh);display:flex}.support-chat-modal-loading{color:var(--gray-6);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.chat-with-support-button{border:1px solid var(--accent-indigo);background:var(--surface);color:var(--accent-indigo);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.chat-with-support-button:hover{background:#4a3cdb14}.scheduler-embed{text-align:center;align-items:center;width:min(1000px,100%);min-width:min(1000px,100%);height:min(1000px,100%);min-height:min(1000px,100%);overflow:auto}.social-media-icon{width:35px;height:35px}.social-media-icon:hover{cursor:pointer}.contact-page{flex-direction:column;gap:25px;display:flex}.horizontal-carousel{perspective:1400px;flex-direction:row;justify-content:center;align-items:center;width:100%;max-width:100%;height:100%;max-height:100%;display:flex;position:relative;overflow:hidden}.horizontal-carousel .slot-spacer{visibility:hidden;pointer-events:none}.horizontal-carousel .slot{box-sizing:border-box;width:fit-content;height:fit-content;transform-style:preserve-3d;backface-visibility:hidden;will-change:left, transform, opacity, filter;position:absolute;top:50%}.horizontal-carousel .slot-main{z-index:5;opacity:1;filter:none;left:50%;transform:translate(-50%,-50%)scale(1)rotateY(0)}.horizontal-carousel .slot-prev,.horizontal-carousel .slot-next{z-index:1;opacity:.5;filter:blur(4px);cursor:pointer}.horizontal-carousel .slot-prev{left:25%;transform:translate(-50%,-50%)scale(.6)rotateY(25deg)}.horizontal-carousel .slot-next{left:75%;transform:translate(-50%,-50%)scale(.6)rotateY(-25deg)}.horizontal-carousel .carousel-arrow{z-index:7;background:var(--surface);border:1px solid var(--gray-2);border-radius:50%;width:48px;height:48px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 18px -8px #524b4966}.horizontal-carousel .carousel-arrow.left{left:12px}.horizontal-carousel .carousel-arrow.right{right:12px}.horizontal-carousel .slot-prev-prev{z-index:0;opacity:0;filter:blur(8px);left:0%;transform:translate(-50%,-50%)scale(.4)rotateY(45deg)}.horizontal-carousel .slot-next-next{z-index:0;opacity:0;filter:blur(8px);left:100%;transform:translate(-50%,-50%)scale(.4)rotateY(-45deg)}.horizontal-carousel.sliding-next .slot-next{z-index:6}.horizontal-carousel.sliding-next .slot-main{z-index:4}.horizontal-carousel.sliding-next .slot-prev{z-index:3}.horizontal-carousel.sliding-next .slot-next-next{z-index:2}.horizontal-carousel.sliding-prev .slot-prev{z-index:6}.horizontal-carousel.sliding-prev .slot-main{z-index:4}.horizontal-carousel.sliding-prev .slot-next{z-index:3}.horizontal-carousel.sliding-prev .slot-prev-prev{z-index:2}.horizontal-carousel.sliding-next .slot-prev{animation:.8s ease-in-out forwards slide-prev-to-offstage}.horizontal-carousel.sliding-next .slot-main{animation:.8s ease-in-out forwards slide-main-to-prev}.horizontal-carousel.sliding-next .slot-next{animation:.8s ease-in-out forwards slide-next-to-main}.horizontal-carousel.sliding-next .slot-next-next{animation:.8s ease-in-out forwards slide-offstage-to-next}.horizontal-carousel.sliding-prev .slot-next{animation:.8s ease-in-out forwards slide-next-to-offstage}.horizontal-carousel.sliding-prev .slot-main{animation:.8s ease-in-out forwards slide-main-to-next}.horizontal-carousel.sliding-prev .slot-prev{animation:.8s ease-in-out forwards slide-prev-to-main}.horizontal-carousel.sliding-prev .slot-prev-prev{animation:.8s ease-in-out forwards slide-offstage-to-prev}@keyframes slide-main-to-prev{0%{opacity:1;filter:blur();left:50%;transform:translate(-50%,-50%)scale(1)rotateY(0)}to{opacity:.5;filter:blur(4px);left:25%;transform:translate(-50%,-50%)scale(.6)rotateY(25deg)}}@keyframes slide-next-to-main{0%{opacity:.5;filter:blur(4px);left:75%;transform:translate(-50%,-50%)scale(.6)rotateY(-25deg)}to{opacity:1;filter:blur();left:50%;transform:translate(-50%,-50%)scale(1)rotateY(0)}}@keyframes slide-prev-to-offstage{0%{opacity:.5;filter:blur(4px);left:25%;transform:translate(-50%,-50%)scale(.6)rotateY(25deg)}to{opacity:0;filter:blur(8px);left:0%;transform:translate(-50%,-50%)scale(.4)rotateY(45deg)}}@keyframes slide-offstage-to-next{0%{opacity:0;filter:blur(8px);left:100%;transform:translate(-50%,-50%)scale(.4)rotateY(-45deg)}to{opacity:.5;filter:blur(4px);left:75%;transform:translate(-50%,-50%)scale(.6)rotateY(-25deg)}}@keyframes slide-main-to-next{0%{opacity:1;filter:blur();left:50%;transform:translate(-50%,-50%)scale(1)rotateY(0)}to{opacity:.5;filter:blur(4px);left:75%;transform:translate(-50%,-50%)scale(.6)rotateY(-25deg)}}@keyframes slide-prev-to-main{0%{opacity:.5;filter:blur(4px);left:25%;transform:translate(-50%,-50%)scale(.6)rotateY(25deg)}to{opacity:1;filter:blur();left:50%;transform:translate(-50%,-50%)scale(1)rotateY(0)}}@keyframes slide-next-to-offstage{0%{opacity:.5;filter:blur(4px);left:75%;transform:translate(-50%,-50%)scale(.6)rotateY(-25deg)}to{opacity:0;filter:blur(8px);left:100%;transform:translate(-50%,-50%)scale(.4)rotateY(-45deg)}}@keyframes slide-offstage-to-prev{0%{opacity:0;filter:blur(8px);left:0%;transform:translate(-50%,-50%)scale(.4)rotateY(45deg)}to{opacity:.5;filter:blur(4px);left:25%;transform:translate(-50%,-50%)scale(.6)rotateY(25deg)}}.landing-page{background:var(--Gray-Pure-White,var(--surface));flex-direction:column;align-items:center;width:100vw;min-height:fit-content;margin-top:100px;display:flex}.landing-page-nav{box-sizing:border-box;z-index:100;background:var(--Gray-Pure-White,var(--surface));flex-shrink:0;justify-content:space-between;align-items:center;width:100vw;height:100px;padding:0 5vw;display:flex;position:fixed;top:0;left:0}.landing-page-nav img{flex-shrink:0;width:132px;height:46px}.landing-page-nav .actions{justify-content:flex-end;align-items:center;gap:30px;display:flex}.landing-page hr{background:var(--Gray-Gray-4,#d4d4d4);width:80vw;height:2px}.landing-page .welcome-content{box-sizing:border-box;border-bottom:4px solid var(--Color-Dark-Green,#447d00);background:var(--Gradient,linear-gradient(180deg, var(--surface) 0%, #fdfffc 33.33%, #ddfecb 66.67%, #bafc95 100%));flex-direction:column;justify-content:center;align-items:center;width:100vw;height:fit-content;padding:8vh 70px 20vh;display:flex}.landing-page .hero{flex-flow:wrap;align-self:center;align-items:center;gap:10vw;width:85vw;min-height:fit-content;display:flex}.landing-page .speech-bubble{left:25%}.hero .text-content{align-items:flex-start;width:35vw;max-width:50%}.landing-page .hero video{width:35vw;min-width:380px}.landing-page .reading-container{min-height:60vh;max-height:60vh;width:35vw!important;min-width:300px!important;max-width:35vw!important}.landing-page .missed-word-popup{max-width:30vw!important}.landing-page .reading-frame{min-height:40vh!important;max-height:40vh!important}.landing-page h1{font-size:50px}.landing-page h1.green{color:var(--Color-Dark-Green,#447d00)}.landing-page h1.white{color:var(--Color-Dark-Green,#fff)}.landing-page .summary-content{background:var(--Gray-Gray-1,#fafaf7);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:10vh;width:100vw;height:fit-content;padding:10vh 70px;display:flex}.landing-page .summary-content .content{box-sizing:border-box;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:34px 3vw;width:90vw;display:flex}.landing-page .summary-content .content .card{width:28vw;color:var(--Gray-Pure-Black,#000);box-sizing:border-box;flex-direction:column;flex-shrink:0;align-items:center;gap:3vh;display:flex}.landing-page .summary-content .content .card img{width:20vw;color:var(--Gray-Pure-Black,#000);box-sizing:border-box;flex-direction:column;flex-shrink:0;align-items:center;gap:3vh;display:flex}.landing-page .demo-content{background:linear-gradient(180deg, var(--surface) 0%, #447d00 4%, #2f5a00 50%, var(--dark-green) 94%, var(--gray-1) 100%);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:10vh;width:100vw;height:fit-content;padding:10vh 70px;display:flex}.landing-page .demo-content .text-content{color:#fff}.landing-page .demo-content hr{opacity:.5;background:var(--Color-Light-Green,#bafc95);width:80vw;height:2px}.landing-page .horizontal-carousel{flex-direction:row;justify-self:center;align-items:center;gap:45px;width:100vw;height:fit-content;margin-left:5vw;margin-right:5vw;display:flex;overflow-x:auto}.landing-page .horizontal-carousel img{width:50vw;height:auto}.landing-page .teacher-demo{flex-wrap:wrap-reverse;align-items:center;gap:95px;width:80vw;display:inline-flex}.landing-page .teacher-demo .examples{flex-direction:column;align-items:flex-start;gap:32px;display:flex}.landing-page .teacher-demo .examples img{width:40vw;height:auto}.landing-page .logistics-content{background:var(--Gray-Gray-1,#fafaf7);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:10vh;width:100vw;height:fit-content;padding:10vh 70px;display:flex}.landing-page .text-content{text-align:left;flex-direction:column;gap:25px;max-width:80vw;display:flex}.landing-page .faqs{text-align:left;flex-direction:column;align-items:flex-start;gap:25px;display:inline-flex}.landing-page .faqs .classroom-panel{text-align:left;box-sizing:border-box;flex-direction:column;align-items:flex-start;width:80vw;display:flex}.landing-page .faqs .classroom-panel .row{justify-content:space-between;width:100%}.landing-page .panel-collapse{grid-template-rows:0fr;width:100%;transition:grid-template-rows .35s cubic-bezier(.22,1,.36,1);display:grid}.landing-page .classroom-panel.expanded .panel-collapse{grid-template-rows:1fr}.landing-page .panel-collapse-inner{min-height:0;overflow:hidden}.landing-page .classroom-panel.expanded .panel-collapse-inner{padding-top:10px}.landing-page .signup-content{box-sizing:border-box;background:var(--Gradient,linear-gradient(180deg, var(--surface) 0%, #fdfffc 33.33%, #ddfecb 66.67%, #bafc95 100%));flex-direction:column;justify-content:center;align-items:center;gap:10vh;width:100vw;height:fit-content;padding:10vh 60px;display:flex}.social-media-row{box-sizing:border-box;flex-direction:row;justify-content:space-between;gap:10vw;width:80vw;display:flex;overflow-x:auto}.landing-page .signup-header{background:var(--Color-Dark-Green,#447d00);box-sizing:border-box;border-radius:25px;flex-flow:wrap-reverse;justify-content:center;align-items:center;gap:5vw;width:80vw;max-width:1250px;height:fit-content;padding:40px 60px;display:flex;box-shadow:9px 2px 41.2px 6px #00000026}.landing-page .signup-header .text-content{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:35px;width:40vw;max-width:700px;display:flex}.landing-page .signup-header span{color:#fff}.landing-page .signup-header .landing-button span{color:#447d00}.landing-page .signup-header img{border-radius:15px;width:50vw;height:auto;max-height:50vh}.landing-page footer{background:linear-gradient(0deg, #0003 0%, #0003 100%), var(--Color-Dark-Green,#447d00);box-sizing:border-box;flex-direction:row;justify-content:space-between;align-items:center;gap:4vh;min-width:100vw;height:250px;min-height:fit-content;padding:5vh 10vw 20px;display:flex}.landing-page footer .brand-info{color:#fff;flex-direction:column;justify-content:space-between;align-self:stretch;align-items:flex-start;height:100%;display:flex}.landing-page footer img{width:30vw;max-width:215px}.landing-page footer .links{flex-direction:column;align-items:flex-end;gap:5px;width:fit-content;height:fit-content;display:flex}.landing-page footer .links a{color:var(--Gray-Pure-White,#fff);text-align:right;font-family:Poppins;font-size:21px;font-style:normal;font-weight:300;line-height:123.5%;text-decoration:none}.social-media-button{background:var(--Gray-Gray-2,var(--gray-2));border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:12px 22px 12px 18px;display:flex}.social-media-button:hover{cursor:pointer}@keyframes fadeInUp{0%{opacity:0;filter:blur(4px);transform:translateY(28px)scale(.985)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}.landing-page .welcome-content,.landing-page .summary-content,.landing-page .features-content,.landing-page .demo-content,.landing-page .logistics-content,.landing-page .signup-content{opacity:0}.fade-in-section{animation:.9s cubic-bezier(.22,1,.36,1) forwards fadeInUp}.fade-in-section .stagger>*{opacity:0;animation:.7s cubic-bezier(.22,1,.36,1) forwards fadeInUp}.fade-in-section .stagger>:first-child{animation-delay:50ms}.fade-in-section .stagger>:nth-child(2){animation-delay:.13s}.fade-in-section .stagger>:nth-child(3){animation-delay:.21s}.fade-in-section .stagger>:nth-child(4){animation-delay:.29s}.fade-in-section .stagger>:nth-child(5){animation-delay:.37s}.fade-in-section .stagger>:nth-child(6){animation-delay:.45s}.fade-in-section .stagger>:nth-child(n+7){animation-delay:.5s}@media (prefers-reduced-motion:reduce){.landing-page .welcome-content,.landing-page .summary-content,.landing-page .features-content,.landing-page .demo-content,.landing-page .logistics-content,.landing-page .signup-content,.fade-in-section .stagger>*{opacity:1;filter:none;animation:none;transform:none}}.landing-page .eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--Color-Dark-Green,#447d00);background:#447d0014;border-radius:999px;width:fit-content;padding:6px 14px;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;display:inline-block}.landing-page .eyebrow.on-dark{color:#bafc95;background:#ffffff1f}.landing-page .section-header{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:760px;display:flex}.landing-page .section-header .subtitle{color:var(--Gray-Gray-9,#4a4a4a);max-width:640px}.landing-page .landing-button{transition:transform .2s,box-shadow .25s,filter .2s}.landing-page .landing-button:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 24px -10px #00000040}.landing-page .landing-button:active{filter:brightness(.97);transform:translateY(0)}.landing-page .summary-content .content .card{transition:transform .3s}.landing-page .summary-content .content .card:hover{transform:translateY(-4px)}.social-media-button{transition:transform .2s,box-shadow .25s,background .2s}.social-media-button:hover{background:var(--Gray-Gray-3,var(--gray-3));transform:translateY(-2px);box-shadow:0 8px 18px -8px #0003}.landing-page footer .links a{transition:opacity .2s}.landing-page footer .links a:hover{opacity:.75}.landing-page .chevron{border-bottom:2.5px solid;border-right:2.5px solid;width:12px;height:12px;margin-right:6px;transition:transform .3s cubic-bezier(.22,1,.36,1);display:inline-block;transform:rotate(-45deg)}.landing-page .chevron.open{transform:rotate(45deg)}.landing-page .faqs .classroom-panel{cursor:pointer;transition:background .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}.landing-page .faqs .classroom-panel:not(.expanded):hover{box-shadow:0 4px 14px -10px #00000026}.landing-page .features-content{box-sizing:border-box;background:radial-gradient(circle at 15% 0%, #bafc952e, transparent 55%), radial-gradient(circle at 90% 100%, #016d8914, transparent 55%), var(--Gray-Pure-White,var(--surface));flex-direction:column;align-items:center;gap:8vh;width:100vw;padding:12vh 70px;display:flex}.landing-page .features-grid{grid-template-columns:repeat(3,1fr);gap:28px;width:85vw;max-width:1200px;display:grid}.landing-page .feature-card{background:var(--surface);box-sizing:border-box;border:1px solid #0000000d;border-radius:20px;flex-direction:column;align-items:flex-start;gap:14px;height:100%;padding:32px 28px 36px;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;display:flex;box-shadow:0 4px 18px -8px #00000014}.landing-page .feature-card:hover{border-color:#447d0033;transform:translateY(-6px);box-shadow:0 24px 40px -18px #447d0040}.landing-page .feature-card-image{aspect-ratio:16/10;background:linear-gradient(135deg,#f4ffec 0%,#ddfecb 100%);border-radius:14px;justify-content:center;align-items:center;width:100%;margin-bottom:6px;display:flex;overflow:hidden}.landing-page .features-grid>.feature-card:nth-child(2) .feature-card-image{background:linear-gradient(135deg,#eaf6fa 0%,#c6e6f0 100%)}.landing-page .features-grid>.feature-card:nth-child(3) .feature-card-image{background:linear-gradient(135deg,#fff7da 0%,#fcefa0 100%)}.landing-page .feature-card-image img{object-fit:contain;width:65%;max-height:80%;transition:transform .4s cubic-bezier(.22,1,.36,1)}.landing-page .feature-card:hover .feature-card-image img{transform:scale(1.06)rotate(-2deg)}.landing-page .feature-tag{letter-spacing:1.5px;text-transform:uppercase;color:var(--Color-Dark-Green,#447d00);font-weight:600}.landing-page .features-grid>.feature-card:nth-child(2) .feature-tag{color:var(--Color-Dark-Blue,#016d89)}.landing-page .features-grid>.feature-card:nth-child(3) .feature-tag{color:#b87800}.landing-page .feature-card h3{color:var(--Gray-Pure-Black,#000);margin:0;font-family:Poppins,sans-serif;font-size:22px;font-weight:600}.landing-page .feature-card .label-normal{color:var(--Gray-Gray-9,#555);line-height:1.55}@media screen and (width<=1000px){.landing-page .features-grid{grid-template-columns:1fr;width:90vw}}@media screen and (width<=600px){.landing-page-nav .actions{gap:10px}.landing-page .welcome-content{padding:20px 10px 10vh}.landing-page .features-content{padding:10vh 16px}.landing-page .summary-content{padding:10vh 10px}.landing-page .summary-content .content .card{width:43.5vw}.landing-page .demo-content,.landing-page .logistics-content{padding:10vh 10px}.landing-page .footer-content{padding:10px 10px 20px}.landing-page .signup-header p{font-size:20px}.landing-page .teacher-demo .examples{flex-direction:row;align-items:center;width:100vw;overflow-x:auto}.landing-page footer{width:95vw}.landing-page footer .links a{font-size:16px}}@media screen and (width<=750px){.landing-page .welcome-content .hero{flex-direction:column;justify-content:center}.landing-page .welcome-content .hero .text-content{text-align:center;align-items:center;width:100%}.landing-page .welcome-content .hero video{min-width:300px}.landing-page .signup-header{padding:20px 30px}.landing-page .signup-header .text-content{max-width:100%}.landing-page .reading-container{height:70vh;max-height:70vh}.landing-page .reading-container .app-button{width:150px}.landing-page h1{font-size:40px}}.level-config-editor{flex-direction:column;gap:12px;width:100%;display:flex}.level-config-header{flex-direction:row;justify-content:space-between;align-items:center;padding:0 6px;display:flex}.level-range-info{align-items:center;gap:6px;display:flex}.level-range-info .hint{color:var(--gray-6);font-style:italic}.level-config-table{border:2px solid var(--gray-3);background:var(--surface);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.level-config-row{border-bottom:1px solid var(--gray-2);grid-template-columns:70px 1fr 1fr 48px;align-items:center;gap:12px;padding:10px 12px;display:grid}.level-config-row:last-child{border-bottom:none}.level-config-row.header{background:var(--gray-1);color:var(--gray-8);padding:8px 12px;font-size:.85rem;font-weight:600}.level-col{justify-content:flex-start;align-items:center;display:flex}.level-badge{background:var(--primary-color);width:32px;height:32px;color:var(--on-brand);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.level-config-row.header .level-col{justify-content:center}.wida-col,.grade-col{align-items:center;display:flex}.level-config-row select{border:2px solid var(--gray-3);background:var(--surface);width:100%;color:var(--gray-10);cursor:pointer;border-radius:6px;padding:8px 10px;font-size:.9rem;transition:border-color .15s}.level-config-row select:hover{border-color:var(--gray-5)}.level-config-row select:focus{border-color:var(--primary-color);outline:none}.action-col{justify-content:center;align-items:center;display:flex}.remove-level-btn{width:32px;height:32px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.remove-level-btn:hover{background:var(--dark-pink);color:var(--on-brand)}.add-level-btn{border:2px dashed var(--gray-4);color:var(--gray-7);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.add-level-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:#0080000a}.add-level-btn:disabled{opacity:.5;cursor:not-allowed}.range-input-group{align-items:center;gap:8px;display:flex}.range-input{border:2px solid var(--gray-3);background:var(--surface);width:52px;color:var(--gray-10);text-align:center;border-radius:6px;padding:8px 6px;font-size:.9rem;transition:border-color .15s}.range-input:hover{border-color:var(--gray-5)}.range-input:focus{border-color:var(--primary-color);outline:none}.range-separator{color:var(--gray-6);font-size:.85rem;font-weight:500}.level-warning{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media screen and (width<=500px){.level-config-row{gap:6px;padding:8px;grid-template-columns:1fr 70px 70px 36px!important}.level-badge{width:28px;height:28px;font-size:.85rem}.level-config-row select{padding:6px 4px;font-size:.8rem}.level-config-row.header{font-size:.7rem}.range-input{width:40px;padding:6px 4px;font-size:.8rem}.range-input-group{gap:4px}.range-separator{font-size:.75rem}}.searchbar{border-radius:12px;flex-direction:column;align-self:stretch;align-items:center;gap:12px;padding:5px 0;display:flex}.searchbar img{width:30px;height:auto}.searchbar-title{align-self:stretch;align-items:center;gap:10px;padding-top:1px;display:flex}.searchbar-dropdown{border:2px solid var(--gray-7);background-color:var(--surface);border-top:none;border-radius:0 0 6px 6px;flex-direction:column;align-self:stretch;align-items:center;gap:0;display:flex;overflow:hidden auto}.filter-item{justify-content:center;align-self:stretch;align-items:flex-start;gap:8px;padding:1px 0 0 31px;display:flex}.filter-content{grid-template-rows:0fr;transition:grid-template-rows .4s;display:grid}.filter-content.expanded{grid-template-rows:1fr}.filter-content-inner{padding-left:10px;overflow:hidden}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));align-items:stretch;gap:20px;width:100%;padding:0 24px;display:grid}.catalog-empty{color:var(--gray-8);flex-direction:column;align-items:center;gap:12px;padding:64px 24px;font-size:15px;display:flex}.catalog-empty svg{color:var(--gray-4);font-size:36px}.catalog-card{background:var(--surface);border:1px solid var(--gray-3);cursor:pointer;border-radius:12px;gap:16px;height:100%;padding:14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;container-type:inline-size}.catalog-card:hover{border-color:var(--gray-4);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.catalog-card-media{background:var(--gray-2);object-fit:cover;border-radius:8px;flex-shrink:0;width:120px;height:168px}.catalog-card-tile{color:var(--tile-color,var(--gray-9));background:color-mix(in srgb, var(--tile-color,var(--gray-9)) 12%, var(--surface));flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.catalog-card-tile svg{font-size:28px}.catalog-card-tile span{letter-spacing:.6px;text-transform:uppercase;font-size:11px;font-weight:600}.catalog-card-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.catalog-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.catalog-card-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.catalog-card-title{letter-spacing:.2px;color:var(--gray-12);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:17px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.catalog-card-subtitle{color:var(--gray-9);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.catalog-favorite-btn{width:32px;height:32px;color:var(--gray-4);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:-6px -6px 0 0;font-size:16px;transition:background .15s,color .15s;display:flex}.catalog-favorite-btn:hover{background:var(--gray-2);color:var(--gray-8)}.catalog-favorite-btn.liked{color:var(--primary-color)}.catalog-card-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.catalog-card-badge{color:var(--on-brand);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.catalog-card-badge svg{font-size:11px}.catalog-card-meta-item{color:var(--gray-9);align-items:center;gap:6px;font-size:13px;display:inline-flex}.catalog-card-meta-item svg{color:var(--gray-8);font-size:12px}.catalog-card-facts{flex-wrap:wrap;gap:6px 20px;margin:0;display:flex}.catalog-card-facts dt{letter-spacing:.4px;text-transform:uppercase;color:var(--gray-8);font-size:11px;font-weight:600}.catalog-card-facts dd{color:var(--gray-11);margin:0;font-size:13px}.catalog-card-description{color:var(--gray-9);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.catalog-tags{flex-wrap:wrap;gap:6px;display:flex}.catalog-tag{background:var(--gray-2);color:var(--gray-10);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.catalog-tag svg{color:var(--gray-8)}.catalog-card-footer{justify-content:flex-end;align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.catalog-card-footer .action-button{margin-right:auto}.catalog-card-preview{color:var(--primary-color);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.catalog-card-preview svg{transition:transform .2s}.catalog-card:hover .catalog-card-preview svg{transform:translate(3px)}@container (width<=320px){.catalog-card-media{display:none}}@media screen and (width<=600px){.catalog-grid{padding:0 12px}.catalog-card{gap:12px;padding:12px}.catalog-card-media{width:84px;height:118px}}.speech-bubble{background:var(--gray-1);text-align:center;border:2px solid var(--gray-2);z-index:1;border-radius:20px;width:80%;padding:12px 16px;font-size:1rem;line-height:1.5;transition:box-shadow .3s,border-color .3s;position:relative;box-shadow:0 2px 8px #0000000f}.speech-bubble.correct{border-color:var(--dark-green);animation:2s ease-out glow-green}@keyframes glow-green{0%{box-shadow:0 0 2px #0f00}50%{box-shadow:0 0 10px var(--primary-color)}to{box-shadow:0 0 2px #0f00}}.sb3:before{content:"";border-left:12px solid var(--gray-2);border-right:12px solid #0000;border-top:10px solid var(--gray-2);border-bottom:12px solid #0000;width:0;height:0;position:absolute;bottom:-22px;left:20px}.sb3:after{content:"";border-left:10px solid var(--gray-2);border-right:10px solid #0000;border-top:8px solid var(--gray-2);border-bottom:10px solid #0000;width:0;height:0;position:absolute;bottom:-17px;left:22px}:root{--ask-wormy-primary:#1cb05f;--ask-wormy-primary-hover:#189a53;--ask-wormy-bg:var(--gray-1,#fff);--ask-wormy-text:var(--gray-6,#333);--ask-wormy-muted:var(--gray-4,#666);--ask-wormy-border:var(--gray-3,#ddd);--ask-wormy-chat-system-bg:#f3f4f6;--ask-wormy-chat-system-fg:#2e3138;--ask-wormy-chat-user-bg:#1cb05f;--ask-wormy-chat-user-fg:white;--ask-wormy-button-size:72px;--ask-wormy-button-size-mobile:60px;--ask-wormy-modal-width:480px;--ask-wormy-animation-height:200px;--ask-wormy-pulse-duration:2s;--ask-wormy-transition-speed:.2s}:root[data-theme=dark]{--ask-wormy-chat-system-bg:#282c33;--ask-wormy-chat-system-fg:#f5f5f5;--ask-wormy-chat-user-bg:#1aa85a}.ask-wormy-button{width:var(--ask-wormy-button-size);height:var(--ask-wormy-button-size);background:var(--ask-wormy-bg);cursor:pointer;transition:transform var(--ask-wormy-transition-speed) ease, box-shadow var(--ask-wormy-transition-speed) ease;z-index:50;border:none;border-radius:50%;padding:8px;position:fixed;overflow:hidden;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.ask-wormy-button:hover{transform:scale(1.08);box-shadow:0 6px 20px #0003,0 3px 6px #00000026}.ask-wormy-button:active{transform:scale(.98)}.ask-wormy-button:focus{outline:3px solid var(--ask-wormy-primary);outline-offset:2px}.ask-wormy-button--bottom-right{bottom:24px;right:24px}.ask-wormy-button--bottom-left{bottom:24px;left:24px}.ask-wormy-button--inline{position:relative;bottom:auto;left:auto;right:auto}.ask-wormy-button.card-tutor-button{z-index:2;width:56px;height:56px;position:absolute;bottom:16px;right:16px}.ask-wormy-button--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ask-wormy-button__image{object-fit:contain;border-radius:50%;width:100%;height:100%}.ask-wormy-button__pulse{border:3px solid var(--ask-wormy-primary);width:100%;height:100%;animation:ask-wormy-pulse var(--ask-wormy-pulse-duration) ease-out infinite;pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ask-wormy-pulse{0%{opacity:.6;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}@media (width<=768px){.ask-wormy-button{width:var(--ask-wormy-button-size-mobile);height:var(--ask-wormy-button-size-mobile);bottom:16px;right:16px}.ask-wormy-button--bottom-left{left:16px;right:auto}}.writing-revision-reviewing{background:var(--ask-wormy-bg);color:var(--ask-wormy-text);border-radius:999px;align-items:center;gap:10px;max-width:260px;padding:10px 16px;font-size:14px;line-height:1.2;display:flex;position:fixed;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.writing-revision-reviewing--bottom-right{bottom:24px;right:24px}.writing-revision-reviewing__spinner{border:2px solid var(--ask-wormy-border);border-top-color:var(--ask-wormy-primary);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite writing-revision-reviewing-spin}.writing-revision-reviewing__label{white-space:normal}.writing-revision-reviewing--error{color:var(--ask-wormy-muted)}@keyframes writing-revision-reviewing-spin{to{transform:rotate(360deg)}}@media (width<=768px){.writing-revision-reviewing--bottom-right{bottom:16px;right:16px}}.ask-wormy-modal{width:var(--ask-wormy-modal-width);flex-direction:column;align-items:center;gap:16px;max-width:100%;padding:20px;display:flex}.ask-wormy-modal__header{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.ask-wormy-modal__title{color:var(--ask-wormy-text);margin:0;font-size:1.5rem;font-weight:600}.ask-wormy-modal__context-badge{color:#fff;background:var(--ask-wormy-primary);text-transform:capitalize;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:500}.ask-wormy-modal__animation{width:100%;height:var(--ask-wormy-animation-height);background:linear-gradient(#0000 0%,#93c5931a 100%);border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ask-wormy-modal__wormy-image{object-fit:contain;background:0 0;max-width:100%;max-height:100%}.ask-wormy-modal__connecting-overlay{color:var(--ask-wormy-text);background:#fffc;justify-content:center;align-items:center;font-size:1rem;font-weight:500;display:flex;position:absolute;inset:0}.ask-wormy-modal__status{text-align:center;width:100%;min-height:24px}.ask-wormy-modal__greeting{color:var(--ask-wormy-muted);margin:0;font-size:.95rem;line-height:1.5}.ask-wormy-modal__status-indicator{justify-content:center;align-items:center;gap:8px;display:flex}.ask-wormy-modal__status-text{color:var(--ask-wormy-muted);font-size:.9rem}.ask-wormy-modal__status-text--speaking{color:var(--ask-wormy-primary);font-weight:500}.ask-wormy-modal__status-text--listening{color:#0d80f2;font-weight:500}.ask-wormy-modal__status-text--user-speaking{color:#f2870d;font-weight:500}.ask-wormy-modal__status-text--thinking{color:#a73cdd;font-weight:500}.ask-wormy-modal__mode-toggle{background:var(--ask-wormy-border);border-radius:12px;gap:8px;padding:4px;display:flex}.ask-wormy-modal__mode-btn{color:var(--ask-wormy-muted);cursor:pointer;transition:background var(--ask-wormy-transition-speed) ease, color var(--ask-wormy-transition-speed) ease, transform var(--ask-wormy-transition-speed) ease;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;display:flex}.ask-wormy-modal__mode-btn:hover{color:var(--ask-wormy-text)}.ask-wormy-modal__mode-btn--active{background:var(--ask-wormy-bg);color:var(--ask-wormy-primary);box-shadow:0 2px 8px #0000001a}.ask-wormy-modal__mode-btn--active:hover{color:var(--ask-wormy-primary-hover)}.ask-wormy-modal__mode-btn:focus{outline:2px solid var(--ask-wormy-primary);outline-offset:2px}.ask-wormy-modal__mode-btn svg{font-size:1rem}.ask-wormy-modal__text-input{background:var(--ask-wormy-bg);border:2px solid var(--ask-wormy-border);width:100%;transition:border-color var(--ask-wormy-transition-speed) ease;border-radius:12px;gap:8px;padding:4px;display:flex}.ask-wormy-modal__text-input:focus-within{border-color:var(--ask-wormy-primary)}.ask-wormy-modal__text-input-field{color:var(--ask-wormy-text);background:0 0;border:none;border-radius:8px;flex:1;padding:10px 14px;font-size:.95rem}.ask-wormy-modal__text-input-field::placeholder{color:var(--ask-wormy-muted)}.ask-wormy-modal__text-input-field:focus{outline:none}.ask-wormy-modal__text-input-field:disabled{opacity:.6;cursor:not-allowed}.ask-wormy-modal__send-btn{background:var(--ask-wormy-primary);color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--ask-wormy-transition-speed) ease, transform var(--ask-wormy-transition-speed) ease;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:1rem;display:flex}.ask-wormy-modal__send-btn:hover:not(:disabled){background:var(--ask-wormy-primary-hover);transform:scale(1.05)}.ask-wormy-modal__send-btn:active:not(:disabled){transform:scale(.95)}.ask-wormy-modal__send-btn:focus{outline:2px solid var(--ask-wormy-primary);outline-offset:2px}.ask-wormy-modal__send-btn:disabled{opacity:.5;cursor:not-allowed}.ask-wormy-modal__transcript{border:1px solid var(--ask-wormy-border);background:var(--ask-wormy-bg);border-radius:12px;width:100%;max-height:200px;overflow-y:auto}.ask-wormy-modal__controls{justify-content:center;gap:12px;width:100%;display:flex}.ask-wormy-modal__controls-row{gap:12px;display:flex}.ask-wormy-modal__help-text{color:var(--ask-wormy-muted);text-align:center;margin:0;font-size:.8rem}.ask-wormy-chat{flex-direction:column;gap:8px;max-height:200px;padding:12px;display:flex;overflow-y:auto}.ask-wormy-chat__empty{color:var(--ask-wormy-muted);justify-content:center;align-items:center;padding:24px;font-size:.9rem;display:flex}.ask-wormy-chat__empty p{margin:0}.ask-wormy-chat__message{border-radius:16px;flex-direction:column;gap:4px;max-width:85%;padding:10px 14px;line-height:1.4;display:flex}.ask-wormy-chat__message--system{background:var(--ask-wormy-chat-system-bg);color:var(--ask-wormy-chat-system-fg);border-bottom-left-radius:4px;align-self:flex-start}.ask-wormy-chat__message--user{background:var(--ask-wormy-chat-user-bg);color:var(--ask-wormy-chat-user-fg);border-bottom-right-radius:4px;align-self:flex-end}.ask-wormy-chat__message-meta{opacity:.7;font-size:.7rem}.ask-wormy-chat__message-speaker{font-weight:600}.ask-wormy-chat__message-text{white-space:pre-wrap;word-wrap:break-word;font-size:.9rem}@media (width<=600px){.ask-wormy-modal{gap:12px;padding:16px}.ask-wormy-modal__title{font-size:1.25rem}.ask-wormy-modal__animation{height:150px}.ask-wormy-modal__transcript,.ask-wormy-chat{max-height:150px}.ask-wormy-modal__mode-btn{padding:8px 16px;font-size:.85rem}.ask-wormy-modal__mode-btn svg{font-size:.9rem}.ask-wormy-modal__text-input-field{padding:8px 12px;font-size:.9rem}.ask-wormy-modal__send-btn{width:40px;height:40px}}.reading-container{-webkit-user-select:text;user-select:text;flex-direction:column;align-self:stretch;align-items:center;gap:12px;max-width:100%;height:calc(100vh - 234px);min-height:calc(100vh - 234px);max-height:100%;display:flex}.reading-frame.teleprompter-mode{overflow-y:auto}.reading-container:has(.reading-frame+.assignment-controls){gap:0}.reading-container:has(.reading-frame+.assignment-controls)>:not(.reading-frame):not(.assignment-controls){margin-bottom:12px}.reading-container .app-button{width:200px;min-width:fit-content}.reading-frame{border:2px solid var(--gray-2);background:var(--gray-1);color:var(--gray-10);font-size:calc(20px * var(--font-scale));line-height:calc(250% * var(--line-spacing-scale));letter-spacing:.8px;border-radius:12px;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;gap:10px;width:100%;height:100%;padding:24px 32px;display:flex;position:relative;overflow-y:auto}.reading-frame.conversation-has-bg{background:0 0;overflow:hidden}.reading-frame:has(+.assignment-controls){border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.reading-frame p{width:100%}.reading-frame.inline{padding:unset;border:none}.reading-frame .ql-size-huge{font-size:2.5em}.reading-frame .ql-size-large{font-size:1.5em}.reading-frame .ql-size-small{font-size:.75em}.reading-frame blockquote{border-left:4px solid var(--gray-3);margin-top:5px;margin-bottom:5px;padding-left:16px}.reading-frame.blurred{opacity:.5;filter:blur(6px);align-self:stretch}.right-click-menu{background-color:var(--gray-1);z-index:1000;border-radius:4px;width:200px;margin:0;padding:4px 0;font-size:14px;position:fixed;box-shadow:0 2px 5px #0003}.right-click-menu li{cursor:pointer;background-color:#0000;padding:8px 16px;list-style-type:none}.right-click-menu li:hover{background-color:var(--gray-3)}.brw.incorrect{-webkit-text-decoration:underline 3px var(--yellow);text-decoration:underline 3px var(--yellow)}.brw.current{color:var(--text);font-weight:var(--font-weight-bold);transform:scale(1.1)}.brw.read{color:var(--gray-8);font-weight:var(--font-weight)}.brw.insertion{color:var(--gray-5);font-weight:var(--font-weight)}.brw.missed{-webkit-text-decoration:underline 3px var(--dark-pink);text-decoration:underline 3px var(--dark-pink);color:var(--text);font-weight:var(--font-weight-bold);transform:scale(1.1)}.brw.match{color:var(--text);font-weight:var(--font-weight-bold);-webkit-text-decoration:underline 3px var(--primary-color);text-decoration:underline 3px var(--primary-color);transform:scale(1.1)}.reading-frame.book-page-mode{background:0 0;border:none;padding:0;overflow:hidden}.book-spread{perspective:1800px;width:100%;height:100%;display:flex;position:relative}.book-spine{background:linear-gradient(to right, var(--gray-4), var(--gray-3), var(--gray-4));z-index:2;border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.book-pages{background:var(--gray-1);width:100%;height:100%;box-shadow:0 2px 8px #00000014, 0 0 0 1px var(--gray-2), inset 0 0 40px #00000005;border-radius:4px 12px 12px 4px;display:flex;position:relative;overflow:hidden}.book-pages:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000000a,#00000003 40% 60%,#0000000a);width:40px;position:absolute;top:0;bottom:0;left:calc(50% - 20px)}.book-page-content{column-count:2;column-fill:auto;column-gap:56px;width:100%;height:100%;padding:32px 40px;transition:none}.book-page-content p{break-inside:avoid;margin-top:0}.book-page-number{color:var(--gray-5);letter-spacing:.5px;z-index:3;align-items:center;gap:4px;font-size:11px;display:flex;position:absolute;bottom:8px}.book-page-number.left{left:12px}.book-page-number.right{right:12px}.book-page-arrow{color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 4px;font-size:11px;transition:color .15s,background .15s;display:flex}.book-page-arrow:hover:not(:disabled){color:var(--primary-color);background:var(--gray-2)}.book-page-arrow:disabled{opacity:.3;cursor:default}.page-flip-page,.page-flip-cover{z-index:3;pointer-events:none;background:var(--gray-1);width:50%;height:100%;position:absolute;top:0}.page-flip-page.flip-forward{transform-origin:0;background:linear-gradient(to right, var(--gray-3) 0%, var(--gray-1) 3%, var(--gray-1) 100%);animation:.6s ease-in-out forwards flip-forward;left:50%;box-shadow:-2px 0 8px #00000014}.page-flip-cover.flip-forward{animation:.6s ease-in-out forwards cover-fade;left:0}.page-flip-page.flip-backward{transform-origin:100%;background:linear-gradient(to left, var(--gray-3) 0%, var(--gray-1) 3%, var(--gray-1) 100%);animation:.6s ease-in-out forwards flip-backward;left:0;box-shadow:2px 0 8px #00000014}.page-flip-cover.flip-backward{animation:.6s ease-in-out forwards cover-fade;left:50%}@keyframes flip-forward{0%{transform:perspective(1800px)rotateY(0)}to{transform:perspective(1800px)rotateY(-180deg)}}@keyframes flip-backward{0%{transform:perspective(1800px)rotateY(0)}to{transform:perspective(1800px)rotateY(180deg)}}@keyframes cover-fade{0%{opacity:1}55%{opacity:1}85%{opacity:0}to{opacity:0}}.questions-viewer{border:3px solid var(--surface);background:var(--surface);border-radius:24px;flex-wrap:wrap;align-items:flex-start;width:95vw;height:75vh;padding:2px;display:flex;overflow:auto}.questions-viewer-sidebar-container{flex-direction:column;flex-shrink:0;align-self:stretch;align-items:center;gap:10px;width:260px;min-height:100%;padding:12px;display:flex}.questions-viewer-sidebar{border:2px solid var(--gray-2);border-radius:12px;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;gap:30px;padding:2px;display:flex}.questions-viewer-sidebar .question-list{align-self:stretch}.questions-viewer-content{background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;align-items:center;gap:48px;min-height:100%;margin-top:12px;margin-right:12px;padding:12px;display:flex}.questions-viewer-content label{color:var(--gray-10);text-align:left}.questions-viewer .grade-input{border:2px solid var(--gray-2);border-radius:6px;flex-direction:row;align-items:center;gap:10px;padding:20px;display:flex}.questions-viewer .grade-input input{width:50px;padding:3px}.question-input{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:6px;display:flex}.question-input label{color:var(--gray-10)}.question-input textarea{color:var(--gray-10);letter-spacing:.8px;border:2px solid var(--gray-7);background:var(--surface);border-radius:6px;flex:1 0 0;align-self:stretch;align-items:flex-end;gap:10px;min-height:fit-content;max-height:240px;padding:8px 24px;font-size:20px;line-height:250%;display:flex;overflow-y:scroll}.questions-viewer-content .app-button{align-self:stretch}.question-select{border-bottom:2px solid var(--gray-2);color:var(--gray-8);align-self:stretch;align-items:center;gap:10px;padding:12px 22px 12px 18px;display:flex}.question-select label{flex:1 0 0}.question-select.selected{border-right:solid 10px var(--primary-color);border-radius:6px}.missed-word-popup{background:linear-gradient(180deg, var(--surface) 0%, var(--gray-1) 100%);flex-direction:column;align-items:stretch;gap:14px;width:min(560px,92vw);max-height:85vh;padding:24px 24px 20px;display:flex;position:relative}.missed-word-badge{background:var(--yellow-bg);color:var(--gray-11);font-size:13px;font-weight:var(--font-weight-bold);letter-spacing:.4px;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.missed-word-popup>.app-button{align-self:center}.missed-word-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:4px;display:flex}.missed-word-actions .missed-word-report{color:var(--gray-8);margin-right:auto}.missed-word-review{flex-direction:column;align-items:center;gap:12px;width:min(960px,95vw);padding:20px 0 24px;display:flex}.missed-word-review-header{align-items:center;gap:12px;display:flex}.missed-word-review-count{background:var(--gray-2);color:var(--gray-9);font-size:13px;font-weight:var(--font-weight-bold);border-radius:999px;padding:2px 10px}.missed-word-review .horizontal-carousel{height:min(520px,65vh)}.missed-word-review .missed-word-popup{border:1px solid var(--gray-2);border-radius:24px;width:min(560px,80vw);max-height:min(520px,65vh);box-shadow:0 20px 60px -24px #524b494d}.missed-word-header{flex-direction:column;align-self:stretch;align-items:center;gap:12px;display:flex}.missed-word-header .row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.missed-word-popup .flashcard-image.left,.missed-word-popup .flashcard-image.right{object-fit:cover;background:var(--gray-1);border:1px solid var(--gray-2);border-radius:18px;box-shadow:0 4px 14px -8px #524b4940;width:88px!important;height:88px!important;position:static!important}.missed-word-popup .definition-media{flex-flow:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.missed-word-popup select{appearance:none;background-color:var(--surface);color:var(--gray-10);font-family:inherit;font-size:14px;font-weight:var(--font-weight-bold);letter-spacing:.4px;text-transform:capitalize;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%23756F6D' d='M4.5 6l3.5 3.5L11.5 6z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding:8px 30px 8px 16px;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 6px -4px #524b4940;border:1px solid var(--gray-2)!important;border-radius:999px!important;flex:none!important}.missed-word-popup select:hover{border-color:var(--gray-4)!important}.missed-word-popup select:focus{outline:2px solid var(--dark-blue);outline-offset:2px}.missed-word-pos-select{align-self:center}.missed-word-definition-card{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:16px;flex-direction:column;flex:auto;align-self:stretch;align-items:stretch;gap:8px;min-height:0;padding:14px 18px;display:flex}.missed-word-definition-card .missed-word-definition{margin-top:4px}.missed-word-definition-card h5{font-size:17px;line-height:1.55;font-weight:var(--font-weight);color:var(--gray-11);margin:0}.missed-word-definition{text-align:left;align-self:stretch;overflow-y:auto}.word-known-prompt{text-align:center;background:linear-gradient(180deg, var(--surface) 0%, var(--gray-1) 100%);flex-direction:column;align-items:center;gap:8px;width:min(440px,92vw);padding:28px 28px 24px;display:flex}.word-known-prompt .missed-word-badge{margin-bottom:8px}.word-known-prompt .book-text{color:var(--gray-7);font-size:14px}.word-known-prompt .label-normal{color:var(--gray-8);margin-top:6px}.word-known-prompt .row{justify-content:center;gap:12px;margin-top:4px;display:flex}.word-known-prompt .app-button{width:fit-content;height:fit-content}.book-emoji{background:var(--surface);border-radius:50%;justify-content:center;align-self:center;align-items:center;width:130px;height:130px;padding:40px;display:flex;position:absolute;top:40%;box-shadow:0 20px 60px #524b4933}.book-emoji img{width:20vw}.question-feedback{background:var(--gray-2);border:solid var(--gray-3);resize:both;border-radius:6px;width:100%;height:100%;padding:12px 20px 12px 12px;display:flex;position:relative;overflow-y:auto}.question-feedback:empty{display:none}.question-feedback.correct{animation:4s ease-out infinite glow-green}.question-feedback.wrong{animation:4s ease-out infinite glow-red}@keyframes glow-red{0%{box-shadow:0 0 2px #0f00}50%{box-shadow:0 0 10px var(--dark-pink)}to{box-shadow:0 0 2px #0f00}}.pbs-video-container{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-3) 100%);border:2px dashed var(--gray-4);border-radius:12px;justify-content:center;align-items:center;width:100%;height:405px;display:flex}.pbs-video-card{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:400px;padding:40px;display:flex}.pbs-video-card .pbs-icon{font-size:64px;line-height:1}.pbs-video-card h3{color:var(--gray-12);margin:0;font-size:20px;font-weight:600}.pbs-video-card p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.pbs-watch-button{color:var(--on-brand);cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.pbs-watch-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.pbs-watch-button:active{transform:translateY(0)}@media screen and (width<=600px){.modal .reading-container{width:98vw;height:98vh}.reading-frame{padding:16px 20px}.missed-word-popup{gap:12px;width:94vw;padding:16px 14px 18px}.missed-word-popup-content{border-radius:16px;gap:12px;padding:16px 14px}.missed-word-popup .flashcard-image.left,.missed-word-popup .flashcard-image.right{width:72px!important;height:72px!important}.book-completed-text{width:18vw}.book-completed-text .app-button{width:15vw}}@media screen and (height<=650px){.reading-frame{padding:16px 20px}}.assignment-controls{background-color:var(--gray-1);border:2px solid var(--gray-2);border-top:none;border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-flow:wrap;justify-content:center;align-self:stretch;align-items:center;gap:min(20px,5vw);margin-top:-2px;padding:12px 20px;display:flex}@media screen and (width>=601px){.assignment-controls{max-width:100%}}@media screen and (width<=600px){.assignment-controls{gap:10px;padding:10px 12px}}.confetti-container{pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti{opacity:.8;background-color:red;border-radius:50%;width:10px;height:10px;animation:2s linear infinite fall;position:absolute}@keyframes fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(100vh)rotate(360deg)}}.celebration-image{opacity:0;z-index:5;width:250px;animation:2s cubic-bezier(.17,.67,.83,.67) forwards spinExpandSlowDown}@keyframes spinExpandSlowDown{0%{opacity:0;transform:scale(.3)rotate(0)}20%{opacity:1;transform:scale(1.1)rotate(2880deg)}40%{opacity:1;transform:scale(1.4)rotate(5400deg)}60%{opacity:1;transform:scale(1.5)rotate(7200deg)}80%{opacity:1;transform:scale(1.3)rotate(7920deg)}to{opacity:1;transform:scale(1)rotate(8280deg)}}.fireworks-button{background:var(--accent-amber);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:12px 24px;font-size:16px;transition:all .3s}.fireworks-button:hover{background:var(--accent-amber)}.firework-container{pointer-events:none;transform-origin:50%;background-color:#0000;width:10px;height:10px;position:fixed}.firework-particle{opacity:1;background-color:red;border-radius:50%;width:6px;height:6px;animation:linear forwards explode-particle;position:absolute}@keyframes explode-particle{0%{opacity:1;transform:translate(0)}to{transform:translate(calc(var(--velocity) * cos(var(--angle))), calc(var(--velocity) * sin(var(--angle))));opacity:0}}.firework-container:before{content:"";opacity:0;background:radial-gradient(circle,#fffc 10%,#0000);border-radius:50%;width:8px;height:8px;animation:1.2s ease-out forwards smoke-trail;position:absolute}@keyframes smoke-trail{0%{opacity:1;transform:scale(.5)translateY(10px)}to{opacity:0;transform:scale(1.2)translateY(-50px)}}.sidebar-container{align-self:stretch;display:flex;position:relative}.app-sidebar{background-color:var(--gray-1);border:2px solid var(--gray-3);min-width:min(var(--app-sidebar-width), 95vw);width:var(--app-sidebar-width);max-width:var(--app-sidebar-width);min-height:var(--app-page-content-height);height:var(--app-page-content-height);max-height:var(--app-page-content-height);border-radius:24px;flex-direction:column;flex:1 1 0;justify-content:space-between;align-self:stretch;align-items:center;gap:28px;padding:20px 20px 10px;transition:all 1s;display:flex}.app-sidebar.collapsed{opacity:0;pointer-events:none;border:none;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.sidebar-container .expand-button{background-color:var(--gray-3);width:15px;height:40px;color:var(--gray-10);z-index:50;border:none;border-radius:0 6px 6px 0;position:absolute;top:50%;right:-15px;transform:translateY(-50%)}.sidebar-container .expand-button:hover{cursor:pointer}.app-sidebar .col{align-self:stretch;gap:20px;overflow:hidden}.app-sidebar .app-button{align-self:stretch}.app-sidebar h1{color:var(--primary-color);text-align:center}.app-sidebar hr{background:var(--gray-3);width:250px;height:2px}.sidebar-content{letter-spacing:.56px;flex-direction:column;align-self:stretch;gap:28px;font-size:14px;line-height:150%;display:flex;overflow-y:auto}.sidebar-content b{color:var(--gray-10);letter-spacing:.88px;font-size:22px;line-height:100%}.sidebar-content-data{border-bottom:solid 1px var(--gray-3);flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:12px;padding:5px 5px 12px;display:flex}.sidebar-content-label{align-self:stretch;align-items:center;gap:10px;padding-top:1px;display:flex}.sidebar-text{justify-content:center;align-self:stretch;align-items:center;gap:10px;padding-top:1px;display:flex}.sidebar-text label{flex:1 0 0}@media screen and (width<=700px){.sidebar-container{z-index:99;width:fit-content;position:absolute}.app-sidebar{border:none;border-right:2px solid var(--gray-3);width:clamp(200px,75vw,300px);min-width:200px;max-width:300px;min-height:var(--app-page-content-height-small);height:var(--app-page-content-height-small);max-height:var(--app-page-content-height-small);z-index:99;border-radius:0;padding:10px}.sidebar-back-button{display:none}}.item-panel{background-color:var(--gray-2);border-bottom:2px solid var(--gray-3);justify-content:space-between;align-self:stretch;align-items:center;gap:14px;height:75px;min-height:75px;max-height:fit-content;padding:24px 18px 24px 28px;display:flex;overflow:hidden}.item-panel.expanded{border-bottom:2px solid var(--gray-7);background:var(--gray-3);align-items:unset;flex-direction:column;height:fit-content;overflow-y:auto}.item-panel:hover{background:var(--gray-3);cursor:pointer}.item-panel.selected{background:var(--primary-color);color:var(--on-brand);position:relative}.item-panel.shimmer:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0%,#fff0 30%,#ffffff40 50%,#fff0 70%,#0000 100%);width:50%;height:100%;animation:6s ease-in-out infinite item-panel-shimmer;position:absolute;top:0;left:-75%;transform:skew(-20deg)}@keyframes item-panel-shimmer{0%{left:-75%}60%,to{left:125%}}.item-panel.selected:hover{background:linear-gradient(0deg, #0003 0%, #0003 100%), var(--primary-color);cursor:pointer}.item-panel.highlighted{box-shadow:0 0 30px var(--primary-color);z-index:10}.image-choice{border:2px solid var(--gray-3);border-radius:12px;flex:1 1 0;justify-content:center;width:200px;height:200px;padding:20px;display:flex}.image-choice img{object-fit:contain;min-width:100%!important;max-width:100%!important;height:auto!important;max-height:100%!important}.image-choice.expanded{border-bottom:2px solid var(--gray-7);background:var(--gray-3);align-items:unset;flex-direction:column;height:fit-content;overflow-y:auto}.image-choice:hover{background:var(--gray-2);cursor:pointer}.image-choice.selected{background:var(--primary-color);color:var(--on-brand)}.image-choice.selected:hover{background:linear-gradient(0deg, #0003 0%, #0003 100%), var(--primary-color);cursor:pointer}.image-choice.highlighted{box-shadow:0 0 30px var(--primary-color);z-index:1000}.image-choice.incorrect{border-color:var(--dark-pink)}.multiple-choice-options-container{border:2px solid var(--gray-7);background:var(--surface);border-radius:6px;flex-direction:column;flex:1 0 0;align-self:stretch;gap:10px;min-height:240px;max-height:240px;padding:8px 24px;display:flex;overflow-y:scroll}.user-alert-popup{border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:min(700px,90vw);max-width:min(700px,90vw);margin:auto;padding:1rem;display:flex}.user-alert-popup img{max-width:200px;height:auto}.user-alert-popup .col{align-items:baseline;gap:12px}.game-menu-content{align-items:center;gap:24px;width:100%;display:flex}.game-menu-image{flex-shrink:0}.game-menu-content .col{flex:1;min-width:0}@media (width<=600px){.game-menu-image{display:none}.game-menu-content{justify-content:center}.game-menu-content .col{text-align:center;align-items:center}.badges-grid{justify-content:center}}.tour-overlay{z-index:10000;pointer-events:none;position:fixed;inset:0}.tour-overlay>*{pointer-events:auto}.tour-backdrop-top,.tour-backdrop-bottom,.tour-backdrop-left,.tour-backdrop-right,.tour-backdrop-full{background:#0000008c;transition:all .3s;position:fixed}.tour-backdrop-top{top:0;left:0;right:0}.tour-backdrop-bottom{left:0;right:0}.tour-backdrop-left{left:0}.tour-backdrop-full{inset:0}.tour-spotlight{pointer-events:none;z-index:10001;border-radius:12px;transition:top .3s,left .3s,width .3s,height .3s;position:fixed;box-shadow:0 0 0 2px #447d0066,0 0 20px 4px #447d0026}.tour-tooltip{z-index:10002;background:var(--gray-1);border-radius:16px;flex-direction:column;gap:16px;min-width:300px;max-width:400px;padding:24px;font-family:Poppins,Arial,sans-serif;animation:.3s both tourTooltipIn;display:flex;position:fixed;box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014}.tour-tooltip.tour-tooltip-centered{text-align:center;align-items:center;max-width:460px}.tour-overlay.transitioning .tour-tooltip{animation:.3s both tourTooltipIn}@keyframes tourTooltipIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tour-tooltip-image{justify-content:center;display:flex}.tour-tooltip-image img{object-fit:contain;width:100px;height:auto}.tour-tooltip-content{flex-direction:column;gap:8px;display:flex}.tour-tooltip-title{color:var(--gray-13);margin:0;font-size:18px;font-weight:600;line-height:1.3}.tour-tooltip-text{color:var(--gray-10,var(--gray-11));margin:0;font-size:14px;font-weight:400;line-height:1.6}.tour-tooltip-page-dots{justify-content:center;gap:6px;padding-top:4px;display:flex}.tour-page-dot{background:var(--gray-5,var(--gray-4));border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.tour-page-dot.active{background:var(--dark-green);transform:scale(1.2)}.tour-tooltip-step-indicator{justify-content:center;display:flex}.tour-step-count{color:var(--gray-7,var(--gray-8));letter-spacing:.5px;font-size:12px;font-weight:500}.tour-tooltip-nav{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.tour-nav-actions{align-items:center;gap:8px;display:flex}.tour-nav-skip{color:var(--gray-7,var(--gray-8));cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-family:Poppins,Arial,sans-serif;font-size:13px;font-weight:500;transition:color .15s,background .15s}.tour-nav-skip:hover{color:var(--gray-10,var(--gray-11));background:var(--gray-3,var(--gray-2))}.tour-nav-back{background:var(--gray-3,var(--gray-2));color:var(--gray-10,var(--gray-11));cursor:pointer;border:none;border-radius:8px;padding:8px 18px;font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:500;transition:background .15s}.tour-nav-back:hover{background:var(--gray-4,var(--gray-3))}.tour-nav-next{background:var(--dark-green);color:var(--pure-white,var(--on-brand));cursor:pointer;border:none;border-radius:8px;padding:8px 22px;font-family:Poppins,Arial,sans-serif;font-size:14px;font-weight:600;transition:background .15s,transform .1s}.tour-nav-next:hover{background:var(--dark-green-hover)}.tour-nav-next:active{transform:scale(.97)}.replay-tour-container{z-index:999;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:24px;right:24px}.replay-tour-btn{background:var(--gray-3,var(--gray-2));width:36px;height:36px;color:var(--gray-8,var(--text-muted));cursor:pointer;opacity:.4;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:opacity .2s,transform .2s,background .2s,color .2s;display:flex}.replay-tour-btn:hover{opacity:1;background:var(--gray-4,var(--gray-3));color:var(--dark-green);transform:scale(1.1)}.replay-tour-menu{background:var(--surface);border-radius:10px;min-width:200px;margin-bottom:10px;animation:.15s ease-out replay-tour-menu-in;overflow:hidden;box-shadow:0 4px 20px #0000001f,0 1px 4px #0000000f}@keyframes replay-tour-menu-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.replay-tour-menu-header{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-7,var(--gray-8));padding:10px 14px 6px;font-size:11px;font-weight:600}.replay-tour-menu-item{text-align:left;width:100%;color:var(--gray-9,var(--gray-11));cursor:pointer;background:0 0;border:none;padding:9px 14px;font-size:13.5px;transition:background .12s,color .12s;display:block}.replay-tour-menu-item:hover{background:var(--gray-2,var(--gray-1));color:var(--dark-green)}.replay-tour-menu-item:last-child{padding-bottom:10px}.assignment-settings{background-color:var(--surface);flex-direction:row;gap:10px;width:60vw;height:45vh;min-height:fit-content;max-height:100%;display:flex}.assignment-settings-tools{background-color:var(--gray-1);border-radius:10px;flex-direction:column;flex:1 0 1px;align-items:center;width:50%;padding:12px;display:flex;overflow-y:auto}.assignment-settings h3{border-bottom:solid 2px var(--gray-4);text-align:center;width:100%;padding-bottom:20px}.assignment-settings-item{border-bottom:solid 2px var(--gray-4);flex-direction:column;flex:1 0 1px;gap:20px;width:100%;padding-top:20px;padding-bottom:20px;display:flex}.assignment-settings-tools-footer{padding-top:20px}.assignment-settings-preview{background:var(--surface);border:2px solid var(--yellow);border-radius:10px;flex-direction:column;flex:1 0 1px;gap:10px;width:50%;display:flex}.assignment-settings-preview-header{background:var(--yellow-bg);border:2px solid var(--yellow);flex:1 0 1px;justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.assignment-settings-preview-content{background:var(--surface);border:none;flex-direction:row;flex:1 0 1px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;display:flex;overflow:hidden}.assignment-settings-preview-content .reading-frame{background:0 0;border:none;flex:1 0 1px;max-width:100%;height:100%;max-height:100%;padding:0;overflow:hidden auto}.conversation-frame{flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex}.conversation-frame .wormy{width:100px;height:auto}.conversation-frame textarea{flex-grow:1;display:flex}.generate-form-wrapper{flex-direction:column;gap:24px;width:100%;display:flex}.generate-form-wrapper>.action-btn{align-self:center;min-width:220px;font-size:1.05rem}.generate-form-columns{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.generate-form-section{background:var(--gray-1);border:1px solid var(--light-green);border-radius:16px;flex-direction:column;gap:16px;height:100%;padding:24px;display:flex}.generate-form-section .section-header{border-bottom:2px solid var(--light-green);align-items:center;gap:8px;margin-bottom:4px;padding-bottom:12px;display:flex}.generate-form-section .section-title{color:var(--primary-color);letter-spacing:.01em;font-size:1.1rem;font-weight:700}.selector-group{flex-direction:column;gap:10px;display:flex}.selector-group>label{text-align:left;padding-left:6px}.selector-label{color:var(--text-secondary,var(--text));padding-left:4px;font-size:.85rem;font-weight:500}.grade-cluster-options{flex-wrap:wrap;gap:10px;display:flex}.grade-cluster-btn{border:2px solid var(--light-green);background:var(--surface);color:var(--primary-color);cursor:pointer;border-radius:8px;min-width:70px;padding:10px 20px;font-size:1rem;font-weight:600;transition:all .2s}.grade-cluster-btn:hover{border-color:var(--primary-color);background:var(--light-beige);transform:translateY(-1px)}.grade-cluster-btn.selected{background:var(--primary-color);border-color:var(--primary-color);color:var(--on-brand);box-shadow:0 2px 8px #00000026}.card-btn-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.card-btn-grid.cols-3{grid-template-columns:repeat(3,1fr)}.card-btn-grid.cols-4{grid-template-columns:repeat(4,1fr)}.card-btn{border:2px solid var(--light-green);background:var(--surface);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;padding:12px 8px;transition:all .2s;display:flex}.card-btn:hover{border-color:var(--primary-color);background:var(--light-beige);transform:translateY(-1px);box-shadow:0 4px 12px #1f6c1114}.card-btn.selected{background:linear-gradient(145deg, var(--primary-color) 0%, var(--medium-green) 100%);border:2px solid var(--primary-color);box-shadow:0 4px 16px #0003}.card-btn__value{color:var(--primary-color);font-size:1.25rem;font-weight:700;line-height:1}.card-btn__title{color:var(--primary-color);margin-top:4px;font-size:.8rem;font-weight:600}.card-btn__subtitle{color:var(--text-secondary,var(--text-muted));opacity:.85;margin-top:4px;font-size:.65rem;line-height:1.2}.card-btn.card-btn--sm{padding:8px 6px}.card-btn.card-btn--sm .card-btn__value{font-size:1rem}.card-btn.card-btn--sm .card-btn__title{font-size:.75rem}.card-btn.card-btn--lg{padding:16px 12px}.card-btn.card-btn--lg .card-btn__value{font-size:1.5rem}.card-btn.card-btn--lg .card-btn__title{font-size:.9rem}@media (width<=900px){.generate-form-columns{grid-template-columns:1fr}.card-btn-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.card-btn-grid{grid-template-columns:repeat(2,1fr)}.grade-cluster-btn{padding:8px 14px;font-size:.9rem}.generate-form-section{padding:16px}}.question-layout{flex-direction:row;gap:24px;width:100%;height:100%;display:flex}.question-layout .question-content{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.question-layout.with-image .question-content{flex:2}.question-image-panel{background:linear-gradient(145deg,#1f6c1108 0%,#1f6c1114 100%);border:1px solid #1f6c111a;border-radius:20px;flex:1;justify-content:center;align-items:center;padding:12px;display:flex}.question-image-panel .question-image-frame{background:var(--surface);border-radius:16px;justify-content:center;align-items:center;width:100%;height:100%;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a}.question-image-panel .question-image-frame:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(145deg,#1f6c1126 0%,#1f6c110d 50%,#1f6c111a 100%);border-radius:16px;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.question-image-panel .question-image-frame:hover{box-shadow:0 8px 12px -2px #0000001a,0 4px 6px -1px #0000000f}.question-image-panel .question-image-frame img{object-fit:contain;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:100%;padding:8px;transition:opacity .3s;display:block}.question-image-loading{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:180px;display:flex}.question-image-loading:after{content:"";border:3px solid var(--light-green,#90c67c);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite question-image-spin}@keyframes question-image-spin{to{transform:rotate(360deg)}}.question-image-panel{max-height:50vh}.question-image-panel .question-image-frame img{max-height:calc(50vh - 40px)}@media (width<=768px){.question-layout{flex-direction:column;height:auto;overflow-y:visible}.question-layout.with-image .question-content{flex:none}.question-image-panel{flex:none;order:-1;width:100%;min-height:auto;max-height:40vh}.question-image-panel .question-image-frame img{max-height:calc(40vh - 40px)}}@media (width<=480px){.question-image-panel{max-height:35vh;padding:8px}.question-image-panel .question-image-frame img{max-height:calc(35vh - 24px);padding:4px}}.painting-frame{flex-direction:column;gap:12px;width:100%;height:100%;display:flex}.painting-toolbar{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.painting-colors{align-items:center;gap:6px;display:flex}.painting-color-btn{cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .15s,border-color .15s}.painting-color-btn:hover{transform:scale(1.15)}.painting-color-btn.active{border-color:var(--primary-color);box-shadow:0 0 0 2px #1f6c1133}.painting-color-picker-label{position:relative;overflow:hidden}.painting-color-picker-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.painting-divider{background:var(--gray-3);width:1px;height:24px}.painting-widths{align-items:center;gap:4px;display:flex}.painting-width-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,border-color .15s;display:flex}.painting-width-btn:hover{background:var(--gray-2)}.painting-width-btn.active{border-color:var(--primary-color);background:#1f6c1114}.painting-width-dot{background:#1a1a1a;border-radius:50%;display:block}.painting-actions{align-items:center;gap:4px;display:flex}.painting-tool-btn{width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;transition:background .15s,color .15s;display:flex}.painting-tool-btn:hover{background:var(--gray-2)}.painting-tool-btn.active{background:var(--primary-color);color:var(--on-brand)}.painting-canvas-container{border:2px solid var(--gray-3);background:var(--surface);border-radius:12px;flex:1;min-height:300px;transition:border-color .2s;overflow:hidden}.painting-canvas-container:focus-within{border-color:var(--primary-color)}.painting-paper{border:1px solid var(--gray-3);background:linear-gradient(135deg,#faf8f4 0%,#f5f0e8 50%,#faf8f4 100%);border-radius:4px;justify-content:center;align-items:center;width:100%;padding:20px;display:flex;position:relative;box-shadow:0 1px 4px #00000014,0 4px 16px #0000000a,inset 0 0 40px #00000005}.painting-paper:before{content:"";pointer-events:none;border:1px solid #0000000a;border-radius:2px;position:absolute;inset:6px}.painting-paper-inner{justify-content:center;align-items:center;width:100%;max-height:420px;display:flex}.painting-paper-inner img{object-fit:contain;filter:drop-shadow(0 1px 2px #0000000f);max-width:100%;max-height:400px}@media (width<=600px){.painting-toolbar{gap:8px;padding:6px 8px}.painting-color-btn{width:24px;height:24px}.painting-canvas-container{min-height:220px}}.book-completed-text{text-align:center;color:var(--primary-color);flex:1 0 0;justify-content:center;align-items:center;gap:18px;display:flex}.reading-footer{flex-direction:row;justify-content:center;align-self:stretch;align-items:center;height:60px;display:flex;position:relative}.reading-frame.listening-assessment img{width:80%;max-width:80%}.writing-panel{flex-direction:column;gap:12px;height:100%;display:flex;letter-spacing:normal!important;font-size:14px!important;line-height:1.5!important}.writing-panel-prompt{background:var(--bg-secondary,var(--gray-1));border-left:3px solid var(--primary,var(--accent-indigo));border-radius:8px;padding:12px 16px}.writing-panel-prompt-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,var(--text-muted));margin-bottom:4px;font-size:12px;font-weight:600;display:block}.writing-panel-prompt-text{color:var(--text-primary,var(--gray-12))!important;letter-spacing:normal!important;font-size:14px!important;line-height:1.5!important}.writing-panel-content{background:var(--bg-primary,var(--surface));border:1px solid var(--border,var(--gray-3));border-radius:8px;flex:1;padding:16px;overflow:auto;letter-spacing:normal!important;font-size:15px!important;line-height:1.8!important}.writing-panel-text{letter-spacing:normal!important;color:var(--text-primary,var(--gray-12))!important;white-space:pre-wrap!important;word-wrap:break-word!important;font-size:15px!important;line-height:1.8!important}.writing-panel-segment{transition:all .2s}.writing-panel-segment.has-feedback{cursor:pointer;border-radius:2px}.writing-panel-segment.has-feedback:hover{filter:brightness(.95)}.writing-panel-segment.has-highlight{border-radius:3px;padding:1px 2px;animation:.3s highlight-fade-in}@keyframes highlight-fade-in{0%{opacity:.5;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.writing-panel-segment.highlight-positive{background:linear-gradient(#22c55e33 0%,#22c55e4d 100%);box-shadow:0 0 0 1px #22c55e66}.writing-panel-segment.highlight-attention{background:linear-gradient(#fbbf2433 0%,#fbbf244d 100%);box-shadow:0 0 0 1px #fbbf2466}.writing-panel-segment.highlight-suggestion{background:linear-gradient(#6366f133 0%,#6366f14d 100%);box-shadow:0 0 0 1px #6366f166}.writing-panel-segment.has-feedback{border-bottom:2px solid #0000;padding-bottom:1px}.writing-panel-segment.feedback-grammar{background:#ff57571a;border-bottom-color:#ff5757e6}.writing-panel-segment.feedback-spelling{background:#ffc1071a;border-bottom-color:#ffc107e6}.writing-panel-segment.feedback-vocabulary{background:#2196f31a;border-bottom-color:#2196f3e6}.writing-panel-segment.feedback-punctuation{background:#9c27b01a;border-bottom-color:#9c27b0e6}.writing-panel-segment.feedback-style{background:#0096881a;border-bottom-color:#009688e6}.writing-panel-segment.feedback-clarity{background:#4caf501a;border-bottom-color:#4caf50e6}.writing-panel-segment.feedback-coherence{background:#7955481a;border-bottom-color:#795548e6}.writing-panel-segment.feedback-organization{background:#3f51b51a;border-bottom-color:#3f51b5e6}.writing-panel-segment.feedback-tone{background:#e91e631a;border-bottom-color:#e91e63e6}.writing-panel-segment.feedback-format{background:#607d8b1a;border-bottom-color:#607d8be6}.writing-panel-segment.feedback-other{background:#6b72801a;border-bottom-color:#6b7280e6}.writing-panel-segment.feedback-private{background:#1f29371a;border-bottom-color:#1f2937e6}.writing-panel-segment.feedback-purpose{background:#10b9811a;border-bottom-color:#10b981e6}.writing-panel-segment.feedback-fluency{background:#0ea5e91a;border-bottom-color:#0ea5e9e6}.writing-panel-segment.feedback-pronunciation{background:#f43f5e1a;border-bottom-color:#f43f5ee6}.writing-panel-segment.has-feedback.active{filter:brightness(.9);box-shadow:0 0 0 2px var(--primary,#6366f1);border-radius:3px}.writing-panel-segment.change-type-deletion{border-bottom-style:dashed}.writing-panel-segment.has-feedback.deletion-active,.writing-panel-segment.deletion-active{border-bottom-color:#ef4444;-webkit-text-decoration:line-through #ef4444;text-decoration:line-through #ef4444;text-decoration-thickness:2px;box-shadow:0 0 0 2px #ef444480;background:#ef444426!important}.writing-panel-insertion-marker{color:var(--success);vertical-align:super;cursor:pointer;opacity:.7;padding:0 1px;font-size:.8em;font-weight:700;transition:opacity .2s;display:inline}.writing-panel-insertion-marker:hover{opacity:1}.writing-panel-segment.insertion{cursor:pointer;border-radius:3px;padding:1px 4px;display:inline}.writing-panel-segment.insertion.active{color:var(--success);filter:none;border-bottom:none;font-weight:500;text-decoration:none;box-shadow:0 0 0 2px #22c55e99;background:#22c55e40!important}.writing-panel-segment.has-pending{position:relative}.writing-panel-segment.pending-saving{background:repeating-linear-gradient(45deg,#6366f11a,#6366f11a 5px,#6366f133 5px 10px);animation:1.5s ease-in-out infinite pending-pulse}@keyframes pending-pulse{0%,to{opacity:1}50%{opacity:.7}}.writing-panel-segment.pending-error{background:#ef444426;border-bottom:2px dashed #ef4444}.writing-panel-legend{background:var(--bg-secondary,var(--gray-1));border-radius:6px;gap:16px;padding:8px 12px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px}.legend-dot.highlight-positive{background:#22c55e80;border:1px solid #22c55ecc}.legend-dot.highlight-attention{background:#fbbf2480;border:1px solid #fbbf24cc}.legend-dot.highlight-suggestion{background:#6366f180;border:1px solid #6366f1cc}.legend-label{color:var(--text-secondary,var(--text-muted))}.writing-panel-content::-webkit-scrollbar{width:6px}.writing-panel-content::-webkit-scrollbar-track{background:0 0}.writing-panel-content::-webkit-scrollbar-thumb{background:var(--border,var(--gray-3));border-radius:3px}.writing-panel-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary,var(--gray-7))}.writing-panel-segment.in-focus{background:var(--yellow-bg);color:var(--gray-12,var(--gray-12));box-shadow:0 0 0 2px var(--yellow,#fcf095);border-radius:3px;font-weight:700}.feedback-fix{border-left:3px solid var(--gray-4);background-color:#fff9;border-radius:4px;flex-direction:column;gap:3px;margin-top:8px;padding:6px 10px;font-size:.85rem;display:flex}.feedback-fix.is-solved{border-left-color:#22c55ecc}.feedback-fix.is-unsolved{border-left-color:#d97706cc}.feedback-fix__header{align-items:baseline;gap:6px;display:flex}.feedback-fix__label{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-8);font-size:.7rem;font-weight:700}.feedback-fix__meta{color:var(--gray-8);font-size:.7rem}.feedback-fix__row{align-items:baseline;gap:6px;display:flex}.feedback-fix__row-label{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-9);flex:0 0 2.6em;font-size:.7rem}.feedback-fix__text{white-space:pre-wrap;color:var(--gray-10);max-height:4.4em;line-height:1.4;overflow-y:auto}.fixit-panel{min-height:0}.fixit-panel__header{border-bottom:1px solid var(--border,var(--gray-3));background:var(--bg-secondary,var(--gray-1));flex-direction:column;flex-shrink:0;gap:8px;padding:12px 14px;display:flex}.fixit-panel__title{color:var(--gray-12,var(--gray-12));font-size:14px;font-weight:700}.fixit-panel__body{flex:1;min-height:0;padding:14px;overflow-y:auto}.fixit-progress{align-items:center;gap:10px;display:flex}.fixit-progress__rail{align-items:center;gap:6px;display:flex}.fixit-progress__arrow{width:22px;height:22px;color:var(--dark-blue,var(--dark-blue));cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;transition:background .15s,opacity .15s;display:flex}.fixit-progress__arrow:hover:not(:disabled){background:var(--gray-2,var(--gray-2))}.fixit-progress__arrow:disabled{opacity:.3;cursor:default}.fixit-progress__dots{flex-wrap:wrap;gap:5px;display:flex}.fixit-progress__dot{cursor:pointer;background:0 0;border:none;width:17px;height:17px;padding:4px}.fixit-progress__dot:after{content:"";background:var(--gray-4,var(--gray-4));border-radius:50%;width:9px;height:9px;transition:background .2s,transform .2s;display:block}.fixit-progress__dot.is-resolved:after{background:var(--dark-green)}.fixit-progress__dot.is-current:after{background:var(--dark-blue,var(--dark-blue));transform:scale(1.35)}.fixit-progress__label{color:var(--gray-9,var(--text-muted));white-space:nowrap;font-size:12px}.fixit-item{flex-direction:column;gap:10px;display:flex}.fixit-item__meta{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-8,var(--gray-8));font-size:11px}.fixit-item__editor-label{color:var(--gray-11,var(--gray-11));font-size:13px;font-weight:700}.fixit-item__editor{resize:vertical;border:2px solid var(--gray-4,var(--gray-4));border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .2s,background .2s}.fixit-item__editor:focus{border-color:var(--dark-blue,var(--dark-blue));outline:none}.fixit-item__editor.is-resolved{border-color:var(--dark-green);background:#447d0012}.fixit-item__editor.is-checking{opacity:.7}.fixit-item__note{border-radius:8px;padding:9px 12px;font-size:13px;line-height:1.5}.fixit-item__note.is-good{color:var(--dark-green);background:#447d001a;font-weight:700}.fixit-item__note.is-bad{background:var(--gray-2,var(--gray-2));color:var(--gray-11,var(--gray-11))}.fixit-item__note.is-nudge{background:var(--yellow-bg);color:var(--gray-12,var(--gray-12))}.fixit-item__hint{color:var(--orange,var(--orange));align-items:flex-start;gap:7px;margin-top:7px;display:flex}.fixit-item__reveal{border:2px dashed var(--dark-blue,var(--dark-blue));background:#016d890f;border-radius:8px;padding:10px 12px}.fixit-item__reveal-label{color:var(--gray-9,var(--text-muted));margin-bottom:5px;font-size:12px}.fixit-item__reveal-text{color:var(--gray-12,var(--gray-12));-webkit-user-select:text;user-select:text;font-size:15px;font-weight:700;line-height:1.6}.fixit-item__actions,.fixit-summary__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fixit-item__tutor-nudge{color:var(--gray-8,var(--gray-8));font-size:12px;font-style:italic}.fixit-summary{flex-direction:column;gap:14px;display:flex}.fixit-summary__title{color:var(--dark-green);margin:0;font-size:16px}.fixit-summary__drafts{flex-direction:column;gap:12px;display:flex}.fixit-summary__draft-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-8,var(--gray-8));margin-bottom:5px;font-size:11px}.fixit-summary__draft-text{white-space:pre-wrap;border:1px solid var(--border,var(--gray-3));border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.65}.fixit-summary__draft-text.is-before{background:var(--gray-2,var(--gray-2));color:var(--gray-9,var(--text-muted))}.fixit-summary__draft-text.is-after{border-color:var(--dark-green);color:var(--gray-12,var(--gray-12));background:#447d0014}.fixit-summary__general-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-8,var(--gray-8));margin-bottom:6px;font-size:11px}.expanded-wormy-modal{background:var(--bg-primary,var(--surface))!important;letter-spacing:normal!important;flex-direction:column!important;width:92vw!important;max-width:1400px!important;height:88vh!important;max-height:900px!important;padding:0!important;font-size:14px!important;line-height:1.5!important;display:flex!important;overflow:hidden!important}.expanded-wormy-modal__header{border-bottom:1px solid var(--border,var(--gray-3))!important;background:var(--bg-secondary,var(--gray-1))!important;flex-shrink:0!important;align-items:center!important;gap:12px!important;padding:16px 24px!important;display:flex!important}.expanded-wormy-modal__title{color:var(--text-primary,var(--gray-12));margin:0;font-size:20px;font-weight:600}.expanded-wormy-modal__context-badge{color:var(--on-brand);background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.expanded-wormy-modal__content{flex:1!important;grid-template-columns:400px 1fr!important;display:grid!important;overflow:hidden!important}.expanded-wormy-modal__chat-panel{border-right:1px solid var(--border,var(--gray-3))!important;background:var(--bg-primary,var(--surface))!important;letter-spacing:normal!important;flex-direction:column!important;padding:16px!important;font-size:14px!important;line-height:1.5!important;display:flex!important;overflow:hidden!important}.expanded-wormy-modal__animation{background:linear-gradient(180deg, var(--gray-1) 0%, transparent 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;height:140px;margin-bottom:12px;display:flex;position:relative}.expanded-wormy-modal__wormy-image{object-fit:contain;width:auto;height:120px}.expanded-wormy-modal__connecting-overlay{color:var(--text-secondary,var(--text-muted));background:#fffc;border-radius:12px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.expanded-wormy-modal__status{flex-shrink:0;min-height:24px;margin-bottom:12px}.expanded-wormy-modal__greeting{color:var(--text-secondary,var(--text-muted));text-align:center;margin:0;font-size:14px;line-height:1.5}.expanded-wormy-modal__status-indicator{justify-content:center;display:flex}.expanded-wormy-modal__status-text{background:var(--bg-secondary,var(--gray-1));border-radius:12px;padding:4px 12px;font-size:13px}.expanded-wormy-modal__status-text--speaking{color:var(--success);background:#22c55e1a}.expanded-wormy-modal__status-text--listening{color:var(--info);background:#3b82f61a}.expanded-wormy-modal__status-text--user-speaking{color:var(--accent-violet);background:#8b5cf61a}.expanded-wormy-modal__status-text--thinking{color:var(--accent-violet);background:#a855f71a}.expanded-wormy-modal__mode-toggle{background:var(--bg-secondary,var(--gray-2));border-radius:10px;flex-shrink:0;gap:6px;margin-bottom:12px;padding:4px;display:flex}.expanded-wormy-modal__mode-btn{color:var(--text-secondary,var(--text-muted));cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.expanded-wormy-modal__mode-btn:hover{color:var(--text-primary,var(--gray-12))}.expanded-wormy-modal__mode-btn--active{background:var(--bg-primary,var(--surface));color:var(--accent-indigo);box-shadow:0 1px 3px #0000001a}.expanded-wormy-modal__mode-btn--active:hover{color:var(--accent-indigo)}.expanded-wormy-modal__mode-btn:focus{outline:2px solid var(--accent-indigo);outline-offset:2px}.expanded-wormy-modal__mode-btn svg{font-size:14px}.expanded-wormy-modal__text-input{background:var(--bg-primary,var(--surface));border:2px solid var(--border,var(--gray-3));border-radius:10px;flex-shrink:0;gap:8px;margin-bottom:12px;padding:4px;transition:border-color .15s;display:flex}.expanded-wormy-modal__text-input:focus-within{border-color:var(--accent-indigo)}.expanded-wormy-modal__text-input-field{color:var(--text-primary,var(--gray-12));background:0 0;border:none;border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.expanded-wormy-modal__text-input-field::placeholder{color:var(--text-tertiary,var(--gray-7))}.expanded-wormy-modal__text-input-field:focus{outline:none}.expanded-wormy-modal__text-input-field:disabled{opacity:.6;cursor:not-allowed}.expanded-wormy-modal__send-btn{width:38px;height:38px;color:var(--on-brand);cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:opacity .15s,transform .15s;display:flex}.expanded-wormy-modal__send-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.expanded-wormy-modal__send-btn:active:not(:disabled){transform:scale(.98)}.expanded-wormy-modal__send-btn:focus{outline:2px solid var(--accent-indigo);outline-offset:2px}.expanded-wormy-modal__send-btn:disabled{opacity:.5;cursor:not-allowed}.expanded-wormy-modal__transcript{border:1px solid var(--border,var(--gray-3));border-radius:8px;flex:1;margin-bottom:12px;overflow:hidden}.expanded-wormy-chat{flex-direction:column;gap:12px;height:100%;padding:12px;display:flex;overflow-y:auto}.expanded-wormy-chat__empty{height:100%;color:var(--text-tertiary,var(--gray-7));justify-content:center;align-items:center;font-size:14px;display:flex}.expanded-wormy-chat__message{border-radius:12px;max-width:90%;padding:10px 14px;font-size:14px;line-height:1.5}.expanded-wormy-chat__message--user{color:var(--on-brand);background:linear-gradient(135deg,#6366f1,#8b5cf6);border-bottom-right-radius:4px;align-self:flex-end}.expanded-wormy-chat__message--assistant{background:var(--bg-secondary,var(--gray-2));color:var(--text-primary,var(--gray-12));border-bottom-left-radius:4px;align-self:flex-start}.expanded-wormy-chat__message-meta{opacity:.8;margin-bottom:4px;font-size:11px}.expanded-wormy-chat__message--user .expanded-wormy-chat__message-meta{text-align:right}.expanded-wormy-chat__message-text{word-wrap:break-word}.expanded-wormy-modal__controls{flex-shrink:0;justify-content:center;gap:8px;margin-bottom:8px;display:flex}.expanded-wormy-modal__controls-row{gap:8px;display:flex}.expanded-wormy-modal__help-text{color:var(--text-tertiary,var(--gray-7));text-align:center;flex-shrink:0;margin:0;font-size:12px}.expanded-wormy-modal__writing-panel{background:var(--bg-secondary,var(--gray-1))!important;letter-spacing:normal!important;flex-direction:column!important;padding:16px!important;font-size:14px!important;line-height:1.5!important;display:flex!important;overflow:hidden!important}.expanded-wormy-modal__writing-header{flex-shrink:0;align-items:center;gap:12px;margin-bottom:12px;display:flex}.expanded-wormy-modal__writing-header h3{color:var(--text-primary,var(--gray-12));margin:0;font-size:16px;font-weight:600}.expanded-wormy-modal__feedback-count{background:var(--bg-primary,var(--surface));border:1px solid var(--border,var(--gray-3));color:var(--text-secondary,var(--text-muted));border-radius:10px;padding:2px 8px;font-size:12px}.expanded-wormy-modal__panel-tabs{background:var(--bg-secondary,var(--gray-2));border-radius:8px;flex-shrink:0;gap:2px;margin-left:auto;padding:2px;display:flex}.expanded-wormy-modal__panel-tab{color:var(--text-secondary,var(--text-muted));cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.expanded-wormy-modal__panel-tab:hover{color:var(--text-primary,var(--gray-12))}.expanded-wormy-modal__panel-tab--active{background:var(--bg-primary,var(--surface));color:var(--accent-indigo);box-shadow:0 1px 3px #0000001a}.expanded-wormy-modal__panel-tab:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:1px}.expanded-wormy-modal__no-writing{color:var(--text-tertiary,var(--gray-7));flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.expanded-wormy-modal__writing-content{flex:1!important;gap:16px!important;min-height:0!important;display:flex!important;overflow:hidden!important}.expanded-wormy-modal__writing-text{flex:1;min-width:0;overflow:auto}.expanded-wormy-modal__feedback-sidebar{background:var(--bg-primary,var(--surface));border:1px solid var(--border,var(--gray-3));border-radius:8px;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.expanded-wormy-modal__feedback-sidebar-header{border-bottom:1px solid var(--border,var(--gray-3));background:var(--bg-secondary,var(--gray-1));flex-direction:column;gap:2px;padding:12px 14px;display:flex}.expanded-wormy-modal__feedback-sidebar-title{color:var(--text-primary,var(--gray-12));font-size:14px;font-weight:600}.expanded-wormy-modal__feedback-sidebar-hint{color:var(--text-tertiary,var(--gray-7));font-size:11px}.expanded-wormy-modal__feedback-list{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex;overflow-y:auto}.expanded-wormy-modal__feedback-item-wrapper{cursor:pointer;border:2px solid #0000;border-radius:6px;transition:all .15s}.expanded-wormy-modal__feedback-item-wrapper:hover{background:var(--bg-secondary,var(--gray-1))}.expanded-wormy-modal__feedback-item-wrapper.active{border-color:var(--primary,var(--accent-indigo));background:#6366f10d;box-shadow:0 0 0 3px #6366f11a}.expanded-wormy-modal__feedback-item-wrapper .feedback-item{cursor:pointer;margin:0}.expanded-wormy-modal__feedback-list::-webkit-scrollbar{width:6px}.expanded-wormy-modal__feedback-list::-webkit-scrollbar-track{background:0 0}.expanded-wormy-modal__feedback-list::-webkit-scrollbar-thumb{background:var(--border,var(--gray-3));border-radius:3px}.expanded-wormy-modal__feedback-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary,var(--gray-7))}@media (width<=1100px){.expanded-wormy-modal__feedback-sidebar{width:220px}}@media (width<=900px){.expanded-wormy-modal{width:95vw!important;height:90vh!important}.expanded-wormy-modal__content{grid-template-rows:1fr 1fr!important;grid-template-columns:1fr!important}.expanded-wormy-modal__chat-panel{border-right:none!important;border-bottom:1px solid var(--border,var(--gray-3))!important}.expanded-wormy-modal__animation{height:100px!important}.expanded-wormy-modal__wormy-image{height:80px!important}.expanded-wormy-modal__writing-content{flex-direction:column!important}.expanded-wormy-modal__feedback-sidebar{flex-shrink:0!important;width:100%!important;max-height:200px!important}}.expanded-wormy-chat::-webkit-scrollbar{width:6px}.expanded-wormy-chat::-webkit-scrollbar-track{background:0 0}.expanded-wormy-chat::-webkit-scrollbar-thumb{background:var(--border,var(--gray-3));border-radius:3px}.expanded-wormy-chat::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary,var(--gray-7))}.expanded-wormy-modal__writing-content .fixit-panel{background:var(--bg-primary,var(--surface));border:1px solid var(--border,var(--gray-3));border-radius:8px;flex-direction:column;flex-shrink:0;width:400px;display:flex;overflow:hidden}@media (width<=1100px){.expanded-wormy-modal__writing-content .fixit-panel{width:330px}}@media (width<=900px){.expanded-wormy-modal__writing-content{flex-direction:column!important}.expanded-wormy-modal__writing-content .fixit-panel{flex:1;width:100%;min-height:0}.expanded-wormy-modal__writing-text{flex:none;max-height:25vh}}.status-icon{border-bottom:1px solid var(--gray-4);background:var(--surface);border-radius:30px;align-items:center;gap:6px;padding:4px 14px 4px 8px;display:flex}.status-icon img{width:16px}.status-icon.clickable{cursor:pointer}.blank-slot{background-color:var(--surface);width:fit-content;min-width:min(fit-content, 50px);border:solid thin var(--gray-7);border-radius:20px;align-items:center;padding:10px;display:flex}.ordering-blanks-container{border:solid thin var(--gray-7);border-radius:12px;flex-flow:wrap;gap:10px;min-width:100%;padding:12px;display:flex}.option-slot{background-color:var(--gray-2);min-width:min(fit-content, 50px);border:solid thin var(--gray-7);border-radius:20px;align-items:center;padding:10px;display:flex}.revised-draft-panel{border:1px solid var(--gray-3);background-color:var(--gray-1);border-radius:6px;flex-direction:column;margin:12px 0;display:flex}.revised-draft-panel__toggle{cursor:pointer;color:var(--gray-9);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:flex}.revised-draft-panel__toggle:hover{background-color:var(--gray-2)}.revised-draft-panel__toggle.is-static{cursor:default}.revised-draft-panel__toggle.is-static:hover{background-color:#0000}.revised-draft-panel__body{border-top:1px solid var(--gray-3);flex-direction:column;gap:12px;padding:12px;display:flex}.revised-draft-panel__draft-label{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-8);margin-bottom:5px;font-size:11px}.revised-draft-panel__draft-text{white-space:pre-wrap;border:1px solid var(--gray-3);border-radius:4px;max-height:240px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5;overflow-y:auto}.revised-draft-panel__draft-text.is-before{background-color:var(--gray-2);color:var(--gray-9)}.revised-draft-panel__draft-text.is-after{border-color:var(--dark-green);color:var(--gray-10);background-color:#447d0014}.sidebar-feedback-section{border-bottom:solid 1px var(--gray-3);flex-direction:column;align-self:stretch;gap:12px;padding:5px 5px 28px;display:flex}.feedback-list{flex-direction:column;align-self:stretch;gap:12px;max-height:300px;margin-top:10px;display:flex;overflow-y:auto}.feedback-item{background-color:var(--gray-2);border-left:4px solid var(--gray-4);cursor:pointer;border-radius:4px;flex-direction:column;align-self:stretch;padding:10px;font-size:.9rem;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex}.feedback-item:hover{background-color:var(--gray-3);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.feedback-item:not(.active) .x-modal-button{display:none}.feedback-item.active{background-color:var(--gray-2);box-shadow:0 2px 6px #00000026}.feedback-type{color:var(--gray-8);text-transform:uppercase;margin-bottom:3px;font-size:.8rem;font-weight:600}.feedback-text{color:var(--gray-10)}.feedback-selection{margin-top:8px;font-size:.85rem;font-style:italic}.feedback-label{color:var(--gray-7)}.feedback-selection-text{color:var(--gray-9)}.feedback-loading,.no-feedback{color:var(--gray-6);text-align:center;padding:10px;font-style:italic}.feedback-item.addressed{background-color:#22c55e14}.feedback-item.unaddressed{background-color:#ef444414}.feedback-item-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.feedback-addressed-badge{text-transform:none;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.feedback-addressed-badge.addressed{color:var(--success);background-color:#22c55e2e}.feedback-addressed-badge.unaddressed{color:var(--danger);background-color:#ef44442e}.feedback-comments{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.feedback-comment{border-left:3px solid var(--gray-4);background-color:#fff9;border-radius:4px;flex-direction:column;gap:2px;padding:6px 10px;font-size:.85rem;display:flex}.feedback-comment.system{border-left-color:#6366f1cc}.feedback-comment.teacher{border-left-color:#d97706cc}.feedback-comment__author{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-7);font-size:.7rem;font-weight:700}.feedback-comment__text{color:var(--gray-10);white-space:pre-wrap}.feedback-comment-input{flex-direction:column;gap:6px;margin-top:8px;display:flex}.feedback-comment-input textarea{border:1px solid var(--gray-3);width:100%;font:inherit;resize:vertical;border-radius:4px;padding:6px 8px}.feedback-comment-input__actions{justify-content:flex-end;gap:6px;display:flex}.feedback-comment-input__actions button{cursor:pointer;border:1px solid var(--gray-3);background:var(--surface);border-radius:4px;padding:4px 10px;font-size:.85rem}.feedback-comment-input__actions button:disabled{opacity:.5;cursor:not-allowed}.feedback-comment-add-btn{color:var(--gray-8);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:.8rem;display:inline-flex}.feedback-comment-add-btn:hover{color:var(--gray-10)}.previous-response-panel{border:1px solid var(--gray-3);background-color:var(--gray-1);border-radius:6px;flex-direction:column;margin-bottom:12px;display:flex}.previous-response-panel__toggle{cursor:pointer;color:var(--gray-9);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:flex}.previous-response-panel__toggle:hover{background-color:var(--gray-2)}.previous-response-panel__body{border-top:1px solid var(--gray-3);flex-direction:column;gap:12px;padding:12px;display:flex}.previous-response-panel__text{background-color:var(--surface);border:1px solid var(--gray-3);white-space:pre-wrap;color:var(--gray-10);border-radius:4px;max-height:240px;padding:10px 12px;line-height:1.4;overflow-y:auto}.previous-response-panel__feedback{max-height:240px}.lines-svg{pointer-events:none;z-index:1;position:fixed;top:0;left:0}.matching-columns{z-index:2;grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid;position:relative}.matching-columns .col{gap:15px}.matching-card{border:2px solid var(--gray-2);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;width:100%;height:70px;min-height:fit-content;padding:5px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.matching-card img{height:60px}.matching-card.selected{border-color:var(--dark-blue);box-shadow:0 0 0 3px #596a8c33}.matching-card.locked{opacity:.7;cursor:default}.matching-card.correct{border-color:var(--dark-green);box-shadow:0 0 0 3px #47ab6833}.matching-card.wrong{border-color:var(--dark-pink);animation:.3s linear 2 shake;box-shadow:0 0 0 3px #b34f5933}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.icon-button.edit-tool{z-index:10;position:absolute;top:1rem;right:1rem}.grading-content{padding:1rem;font-size:1rem;line-height:1.6;position:relative}.general-comments-section{background-color:var(--gray-1);border:1px solid var(--gray-3);border-radius:4px;margin:1rem 0;padding:1rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3{margin:0;font-size:1.2rem}.general-comments-list{margin:0;padding:0;list-style:none}.comment-item{background-color:var(--surface);border-left:4px solid var(--gray-4);border-radius:4px;margin-bottom:.75rem;padding:.75rem;display:flex}.feedback-sections{flex-direction:column;gap:20px;margin-top:15px;display:flex}.inline-annotations-section,.general-comments-section{background-color:var(--gray-1);border-radius:6px;padding:15px}.section-header{justify-content:space-between;margin-bottom:10px;display:flex}.section-header h3{color:var(--text);margin:0;font-size:1rem}.annotations-list,.general-comments-list,.comments-list{flex-direction:column;gap:8px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.feedback-item:hover{transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}.feedback-item.active{background-color:var(--gray-1);transform:translateY(-2px);box-shadow:0 2px 8px #0003}.feedback-item.grammar{border-left-color:#ff5757b3}.feedback-item.spelling{border-left-color:#ffc107b3}.feedback-item.vocabulary{border-left-color:#2196f3b3}.feedback-item.punctuation{border-left-color:#9c27b0b3}.feedback-item.style{border-left-color:#009688b3}.feedback-item.clarity{border-left-color:#4caf50b3}.feedback-item.coherence{border-left-color:#795548b3}.feedback-item.organization{border-left-color:#3f51b5b3}.feedback-item.format{border-left-color:#607d8bb3}.feedback-item.tone{border-left-color:#e91e63b3}.feedback-item.other{border-left-color:#6b7280b3}.feedback-item.private{border-left-color:#1f2937b3}.feedback-item.purpose{border-left-color:#10b981b3}.feedback-item.fluency{border-left-color:#0ea5e9b3}.feedback-item.pronunciation{border-left-color:#f43f5eb3}.comment-type-tag{color:var(--text);flex:0 0 100px;padding-right:.75rem;font-weight:600}.comment-text{flex:1}.no-comments-message{color:var(--gray-8);font-style:italic}.highlighted-text{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;white-space:pre-wrap;border-radius:2px;transition:background-color .3s,outline .3s;display:inline;position:relative}.highlighted-text.active{z-index:10}.highlighted-text.active:hover{z-index:15}.highlighted-text.active:hover:after{content:attr(title);color:#fff;z-index:100;white-space:normal;pointer-events:none;background:#000000d9;border-radius:4px;min-width:150px;max-width:300px;padding:8px 12px;font-size:.85rem;position:absolute;bottom:100%;left:0;box-shadow:0 2px 5px #0003}.highlighted-text.active.has-feedback{background-color:#9e9e9e40;border-bottom:1px solid #9e9e9e80}.highlighted-text.active.grammar{background-color:#ff575740;border-bottom:1px solid #ff575780}.highlighted-text.active.spelling{background-color:#ffc10740;border-bottom:1px solid #ffc10780}.highlighted-text.active.vocabulary{background-color:#2196f340;border-bottom:1px solid #2196f380}.highlighted-text.active.punctuation{background-color:#9c27b040;border-bottom:1px solid #9c27b080}.highlighted-text.active.style{background-color:#00968840;border-bottom:1px solid #00968880}.highlighted-text.active.clarity{background-color:#4caf5040;border-bottom:1px solid #4caf5080}.highlighted-text.active.coherence{background-color:#79554840;border-bottom:1px solid #79554880}.highlighted-text.active.organization{background-color:#3f51b540;border-bottom:1px solid #3f51b580}.highlighted-text.active.format{background-color:#607d8b40;border-bottom:1px solid #607d8b80}.highlighted-text.active.tone{background-color:#e91e6340;border-bottom:1px solid #e91e6380}.highlighted-text.active.other{background-color:#6b728040;border-bottom:1px solid #6b728080}.highlighted-text.active.private{background-color:#1f293740;border-bottom:1px solid #1f293780}.highlighted-text.active.purpose{background-color:#10b98140;border-bottom:1px solid #10b98180}.highlighted-text.active.fluency{background-color:#0ea5e940;border-bottom:1px solid #0ea5e980}.highlighted-text.active.pronunciation{background-color:#f43f5e40;border-bottom:1px solid #f43f5e80}.highlighted-text .highlighted-text{background-blend-mode:multiply}.annotation-form{background-color:var(--gray-1);border:1px solid var(--gray-3);border-radius:4px;margin:1rem 0;padding:1rem}.annotation-form h4{margin-top:0;margin-bottom:.75rem}.form-group{margin-bottom:.75rem}.form-group label{margin-bottom:.25rem;font-weight:600;display:block}.form-group select,.form-group textarea{border:1px solid var(--gray-4);border-radius:4px;width:100%;padding:.5rem}.form-actions{gap:.5rem;margin-top:1rem;display:flex}.grading-actions{border-top:1px solid var(--gray-2);justify-content:flex-end;margin-top:1rem;padding:1rem;display:flex}.highlighted-text.change-type-deletion{border-bottom-style:dashed}.highlighted-text.active.deletion-active,.highlighted-text.deletion-active{border-bottom-color:#ef4444;-webkit-text-decoration:line-through #ef4444;text-decoration:line-through #ef4444;text-decoration-thickness:2px;box-shadow:0 0 0 2px #ef444480;background-color:#ef444426!important}.highlighted-text.insertion-marker{color:var(--success);vertical-align:super;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 1px;font-size:.8em;font-weight:700;transition:opacity .2s;display:inline}.highlighted-text.insertion-marker:hover{opacity:1}.highlighted-text.insertion.active{color:var(--success);border-bottom:none;border-radius:3px;padding:1px 4px;font-weight:500;text-decoration:none;display:inline;box-shadow:0 0 0 2px #22c55e99;background-color:#22c55e40!important}.feedback-text blockquote.feedback-tag-content{border-radius:3px;margin:0;padding:2px 6px;font-style:normal;font-weight:500;display:inline}.feedback-text blockquote.feedback-tag-content.insertion{color:var(--success);border-left:2px solid var(--success);background-color:#22c55e33}.feedback-text blockquote.feedback-tag-content.deletion{color:var(--danger);background-color:#ef444426;border-left:2px solid #ef4444}.chat-transcript{--ai-bg:#f3f4f6;--ai-fg:#2e3138;--user-bg:#1cb05f;--user-fg:white;--fb-bg:#f9fafb;--ring:#1cb05f;--soft:14px;--bubble-radius:16px;--shadow:0 1px 2px #0000000f, 0 4px 14px #0000000f;flex-direction:column;gap:10px;padding:4px 0;display:flex}:root[data-theme=dark] .chat-transcript{--ai-bg:#282c33;--ai-fg:#f5f5f5;--user-bg:#1aa85a;--user-fg:white;--fb-bg:#1f2228;--ring:#1fc76a;--shadow:0 1px 2px #00000059, 0 6px 20px #0000004d}.thread{flex-direction:column;gap:6px;display:flex}.bubble-row{display:flex}.align-left{justify-content:flex-start}.align-right{justify-content:flex-end}.bubble{border-radius:var(--bubble-radius);max-width:min(740px,86%);box-shadow:var(--shadow);padding:10px 12px 12px;line-height:1.35;position:relative}.bubble.system{background:var(--ai-bg);color:var(--ai-fg);border-top-left-radius:6px}.bubble.user{background:var(--user-bg);color:var(--user-fg);border-top-right-radius:6px}.bubble.feedback{background:var(--fb-bg);color:var(--pure-white)}.bubble-meta{opacity:.7;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.bubble-text{white-space:pre-wrap;word-wrap:break-word;font-size:14.5px}.tutor-toggle{background:var(--surface);color:#454954;box-shadow:var(--shadow);cursor:pointer;border:1px solid #e2e4e9;border-radius:999px;align-items:center;gap:6px;padding:6px 8px;transition:transform .15s,background .15s,border-color .15s;display:inline-flex;position:absolute;top:-10px;right:6px}:root[data-theme=dark] .tutor-toggle{color:#f2f2f2;background:#1f2228;border-color:#40454f}.tutor-toggle:hover{transform:translateY(-1px)}.tutor-toggle .count{background:var(--ring);color:#fff;border-radius:999px;padding:0 6px;font-size:11px}.tutor-toggle .chev{opacity:.7;font-size:12px;transition:transform .2s}.tutor-toggle.open .chev{transform:rotate(180deg)}.feedback-panel{gap:6px;margin-left:18px;margin-right:18px;display:grid}.feedback-panel.left{justify-items:start}.feedback-panel.right{justify-items:end}.feedback-panel.collapsed .feedback-body{display:none}.feedback-panel.expanded .feedback-body{display:flex}.feedback-panel.collapsed .feedback-header{opacity:.85}.feedback-panel.expanded .feedback-header{opacity:1}.feedback-header{color:inherit;cursor:pointer;background:0 0;border:1px dashed #c7cad1;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;transition:border-color .2s,background .2s;display:inline-flex}:root[data-theme=dark] .feedback-header{border-color:#40454f}.feedback-header:hover{background:#00000008}.feedback-header .chev{opacity:.7;font-size:12px;transition:transform .2s}.feedback-panel.expanded .feedback-header .chev{transform:rotate(180deg)}.feedback-body{flex-direction:column;gap:6px;display:flex}.feedback .bubble-text{font-size:14px}.feedback{max-width:min(700px,82%)}.wormy-rig{aspect-ratio:1;contain:layout paint;--bob:-2%;--nod:-1.5deg;--skin:#90bf31;--mouth-x:44%;--mouth-y:43%;--mouth-w:20%;--mouth-rot:-6deg;--eye-w:6.5%;--eye-h:9.5%;height:100%;display:inline-block;position:relative}.wormy-rig[data-mode=feedback]{--skin:#90cd3a;--mouth-x:45%;--mouth-y:42%;--mouth-w:18%;--mouth-rot:-4deg}.wormy-pose,.wormy-motion,.wormy-level{height:100%}.wormy-pose{transform-origin:50% 90%;transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .3s}.wormy-motion{transform-origin:50% 90%;animation:3.6s ease-in-out infinite wormy-breathe}.wormy-level{will-change:transform;transform:translateY(calc(var(--level,0) * var(--bob))) rotate(calc(var(--level,0) * var(--nod)));transform-origin:50% 70%;position:relative}.wormy-body{width:auto;height:100%;transition:opacity .4s;display:block}.wormy-body-feedback{opacity:0;position:absolute;inset:0}.wormy-rig[data-mode=feedback] .wormy-body-scenario{opacity:0}.wormy-rig[data-mode=feedback] .wormy-body-feedback{opacity:1}.wormy-mouth{left:var(--mouth-x);top:var(--mouth-y);width:var(--mouth-w);height:0;transform:translateX(-50%) rotate(var(--mouth-rot));transform-origin:50% 0;transition:left .4s,top .4s,width .4s;position:absolute}.wormy-viseme{opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%,-28%)}.wormy-rig[data-viseme=Ah] .wormy-viseme[data-v=Ah],.wormy-rig[data-viseme=D] .wormy-viseme[data-v=D],.wormy-rig[data-viseme=Ee] .wormy-viseme[data-v=Ee],.wormy-rig[data-viseme=F] .wormy-viseme[data-v=F],.wormy-rig[data-viseme=L] .wormy-viseme[data-v=L],.wormy-rig[data-viseme=M] .wormy-viseme[data-v=M],.wormy-rig[data-viseme=Neutral] .wormy-viseme[data-v=Neutral],.wormy-rig[data-viseme=Oh] .wormy-viseme[data-v=Oh],.wormy-rig[data-viseme=R] .wormy-viseme[data-v=R],.wormy-rig[data-viseme=S] .wormy-viseme[data-v=S],.wormy-rig[data-viseme=Smile] .wormy-viseme[data-v=Smile],.wormy-rig[data-viseme=Surprised] .wormy-viseme[data-v=Surprised],.wormy-rig[data-viseme=Uh] .wormy-viseme[data-v=Uh],.wormy-rig[data-viseme=W-Oo] .wormy-viseme[data-v=W-Oo]{opacity:1}.wormy-eyelids i{width:var(--eye-w);height:var(--eye-h);background:var(--skin);transform-origin:50% 0;border-radius:50%;animation:4.6s linear infinite wormy-blink;position:absolute;transform:translate(-50%,-50%)rotate(-6deg)scaleY(0)}.wormy-eyelids i:first-child{top:30.6%;left:37.2%}.wormy-eyelids i:last-child{top:29.1%;left:51.1%}.wormy-rig[data-mode=feedback] .wormy-eyelids{display:none}.wormy-rig.is-listening .wormy-pose{transform:translate(2%,1%)rotate(-3deg)scale(1.03)}.wormy-rig.is-thinking .wormy-motion,.wormy-rig.is-handoff .wormy-motion{animation-name:wormy-sway;animation-duration:2.4s}.wormy-rig.is-paused .wormy-pose{filter:saturate(.5)brightness(.92)}.wormy-rig.is-paused .wormy-motion,.wormy-rig.is-paused .wormy-eyelids i{animation-play-state:paused}.wormy-bubble{background:var(--surface);border:2px solid var(--gray-3);opacity:0;border-radius:999px;padding:6px 10px;transition:opacity .2s;position:absolute;top:8%;left:62%}.wormy-rig.is-thinking:not([data-talking]) .wormy-bubble,.wormy-rig.is-handoff:not([data-talking]) .wormy-bubble{opacity:1}.wormy-bubble i{background:var(--gray-8);border-radius:50%;width:6px;height:6px;margin:0 2px;animation:1.2s ease-in-out infinite wormy-dot;display:inline-block}.wormy-bubble i:nth-child(2){animation-delay:.2s}.wormy-bubble i:nth-child(3){animation-delay:.4s}@keyframes wormy-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1%)scaleY(1.012)}}@keyframes wormy-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes wormy-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes wormy-blink{0%,95%,to{transform:translate(-50%,-50%)rotate(-6deg)scaleY(0)}97%{transform:translate(-50%,-50%)rotate(-6deg)scaleY(1)}58%,62%{transform:translate(-50%,-50%)rotate(-6deg)scaleY(0)}60%{transform:translate(-50%,-50%)rotate(-6deg)scaleY(1)}}@media (prefers-reduced-motion:reduce){.wormy-rig{--bob:0%;--nod:0deg}.wormy-motion,.wormy-eyelids i,.wormy-bubble i{animation:none}.wormy-pose,.wormy-mouth,.wormy-body{transition:none}}.conversation-bg{object-fit:cover;opacity:.35;border-radius:inherit;pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.conversation-goal{z-index:1;align-self:stretch;position:relative}.conversation-has-bg .conversation-goal{background:var(--on-brand);border-radius:8px;padding:8px 14px}.conversation-stage{z-index:1;flex-direction:column;flex:auto;align-self:stretch;align-items:center;gap:8px;min-height:0;display:flex;position:relative}.conversation-rig{flex:auto;justify-content:center;width:100%;min-height:0;display:flex}.conversation-status{font-size:calc(14px * var(--font-scale));letter-spacing:.2px;color:var(--gray-9);background:var(--surface);border:1px solid var(--gray-3);border-radius:999px;padding:4px 14px;line-height:1.4;transition:color .2s,border-color .2s}.conversation-status.is-listening{color:var(--primary-color);border-color:var(--primary-color)}.conversation-status.is-paused{color:var(--gray-8)}.conversation-captions{width:min(100%,640px);max-height:10em;font-size:calc(16px * var(--font-scale));line-height:calc(150% * var(--line-spacing-scale));letter-spacing:.3px;flex-direction:column;flex:none;gap:6px;transition:opacity .6s;display:flex;overflow-y:auto}.conversation-captions.is-done{opacity:.6}.caption{background:var(--surface);border:1px solid var(--gray-3);color:var(--gray-11);border-radius:14px;max-width:90%;padding:8px 14px}.caption-ai{align-self:flex-start}.caption-student{background:var(--gray-2);align-self:flex-end}.caption-label{font-size:calc(11px * var(--font-scale));font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.6px;color:var(--gray-8);line-height:1.6;display:block}.conversation-transcript{z-index:1;flex:auto;align-self:stretch;width:100%;min-height:0;position:relative;overflow-y:auto}.conversation-objectives{z-index:2;border:1px solid var(--gray-3);text-align:left;background:#ffffffe6;border-radius:8px;width:min(280px,42%);padding:8px 12px;position:absolute;top:8px;right:8px}.conversation-objectives__header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.conversation-objectives__title{font-size:calc(12px * var(--font-scale));letter-spacing:.6px;text-transform:uppercase;color:var(--gray-8);font-weight:700}.conversation-objectives__count{font-size:calc(12px * var(--font-scale));color:var(--primary-color);font-weight:700}.conversation-objectives__list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.conversation-objectives__item{font-size:calc(13px * var(--font-scale));color:var(--gray-9);align-items:flex-start;gap:8px;line-height:1.35;display:flex}.conversation-objectives__marker{color:var(--gray-4);flex:none;margin-top:2px;transition:color .2s}.conversation-objectives__item--done{color:var(--gray-7)}.conversation-objectives__item--done .conversation-objectives__marker{color:var(--primary-color);animation:.42s ease-out conversation-objective-pop}.conversation-objectives__item--done .conversation-objectives__text{text-decoration:line-through}@keyframes conversation-objective-pop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.conversation-objectives__item--done .conversation-objectives__marker{animation:none}}@media (width<=700px){.conversation-objectives{width:100%;margin-bottom:4px;position:static}}.mission-scorecard{background:var(--surface);border:1px solid var(--gray-3);text-align:left;border-radius:12px;align-self:stretch;margin-bottom:16px;padding:20px 24px}.mission-scorecard__title{text-align:center;letter-spacing:1.5px;text-transform:uppercase;color:var(--primary-color);margin:0 0 16px}.mission-scorecard__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mission-scorecard__row{font-size:calc(15px * var(--font-scale));grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.mission-scorecard__stars{gap:2px;display:inline-flex}.mission-scorecard__star{color:var(--gray-3)}.mission-scorecard__star--on{color:#f59e0b}.mission-scorecard__label{color:var(--gray-9)}.mission-scorecard__score{color:var(--gray-9);font-variant-numeric:tabular-nums;font-weight:700}.mission-scorecard__overall{border-top:1px solid var(--gray-3);justify-content:center;align-items:baseline;gap:10px;margin-top:16px;padding-top:14px;display:flex}.mission-scorecard__overall-label{font-size:calc(13px * var(--font-scale));letter-spacing:.6px;text-transform:uppercase;color:var(--gray-8)}.mission-scorecard__overall-value{font-size:calc(30px * var(--font-scale));color:var(--primary-color);font-variant-numeric:tabular-nums;font-weight:700}.game-over{text-align:center;background:var(--surface);border:1px solid var(--gray-3);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;max-width:min(420px,100%);max-height:100%;padding:24px 28px;animation:.38s cubic-bezier(.34,1.56,.64,1) game-over-in;display:flex;overflow-y:auto;box-shadow:0 20px 60px #524b4933}.game-over-content{flex-direction:column;align-items:center;gap:12px;display:flex}.game-over .score{color:var(--primary-color);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.game-over-stats{background:var(--gray-1);border:1px solid var(--gray-2);color:var(--gray-9);border-radius:12px;flex-direction:column;gap:4px;margin:4px 0;padding:12px 16px;display:flex}.new-high-score{color:var(--primary-color);flex-direction:column;gap:4px;animation:1s infinite pulse;display:flex}@keyframes game-over-in{0%{opacity:0;transform:scale(.82)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.game-over,.new-high-score{animation:none}}.game-shell{--game-accent:var(--primary-color);--game-correct:var(--primary-color);--game-wrong:var(--dark-pink);--game-ink:var(--gray-11);--game-muted:var(--gray-9);--game-stage-bg:radial-gradient(ellipse 120% 80% at 50% 0%, var(--pure-white) 0%, rgba(var(--primary-color-rgb), .1) 100%);--game-stage-border:var(--gray-3);--game-radius:20px;--game-tile-bg:var(--pure-white);--game-tile-border:var(--gray-4);--game-tile-radius:14px;--game-tile-shadow:0 3px 0 var(--gray-4), 0 8px 20px #524b491a;--game-tile-shadow-lift:0 5px 0 var(--gray-4), 0 14px 28px #524b4929;width:min(900px,92vw);max-width:100%;min-height:0;color:var(--game-ink);letter-spacing:normal;flex-direction:column;flex:auto;gap:12px;margin:0 auto;font-size:16px;line-height:normal;display:flex}.game-hud{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.game-hud-title{font-weight:var(--font-weight-bold);color:var(--game-ink);margin:0}.game-hud-meters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.game-chip{background:var(--surface);border:1px solid var(--gray-3);color:var(--game-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;box-shadow:0 1px 3px #524b491f}.game-chip b{color:var(--game-ink);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.game-chip--score b{color:var(--game-accent)}.game-chip--bump{animation:.4s ease-out game-bump}.game-heart{color:var(--game-wrong);font-size:14px;transition:opacity .2s,transform .2s}.game-heart--spent{opacity:.22;transform:scale(.82)}.game-stage{border-radius:var(--game-radius);background:var(--game-stage-bg);border:2px solid var(--game-stage-border);min-height:min(52vh,440px);max-height:70vh;box-shadow:inset 0 1px 0 var(--pure-white), 0 10px 30px #524b4914;touch-action:none;-webkit-user-select:none;user-select:none;contain:layout paint;flex:auto;position:relative;overflow:hidden}.game-hint{text-align:center;color:var(--game-muted);flex:none;margin:0}.game-hint b{color:var(--game-ink);background:var(--gray-2);border-radius:5px;padding:1px 6px}.game-tile{background:var(--game-tile-bg);border:2px solid var(--game-tile-border);border-radius:var(--game-tile-radius);box-shadow:var(--game-tile-shadow);color:var(--game-ink);font-weight:var(--font-weight-bold);transition:border-color .15s,box-shadow .15s,background-color .15s,opacity .15s,transform .15s}.game-tile--active{border-color:var(--game-accent);box-shadow:var(--game-tile-shadow-lift);transform:translateY(-2px)}.game-tile--correct{border-color:var(--game-correct);background:rgba(var(--primary-color-rgb), .1);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .25), 0 10px 24px rgba(var(--primary-color-rgb), .28);transform:translateY(-2px)}.game-tile--wrong{border-color:var(--game-wrong);background:#b1243f14;animation:.32s ease-out game-shake;box-shadow:0 0 0 3px #b1243f38,0 10px 24px #b1243f40}.game-tile--dim{opacity:.35}.game-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:3;background:#fafaf7b8;place-items:center;padding:16px;animation:.22s ease-out game-fade-in;display:grid;position:absolute;inset:0}.game-panel{text-align:center;border-radius:var(--game-radius);background:var(--surface);border:1px solid var(--gray-3);flex-direction:column;align-items:center;gap:12px;max-width:min(420px,100%);max-height:100%;padding:24px 28px;animation:.38s cubic-bezier(.34,1.56,.64,1) game-panel-in;display:flex;overflow-y:auto;box-shadow:0 20px 60px #524b4933}.game-panel-mascot{object-fit:contain;width:92px;height:92px;animation:3s ease-in-out infinite game-sway}.game-panel-title{color:var(--game-ink);font-weight:var(--font-weight-bold)}.game-panel-body{color:var(--game-muted)}.game-panel-blocked{color:var(--game-wrong)}.game-pop{z-index:2;animation:.28s ease-out forwards game-pop;position:relative}.game-pop:after{content:"";border-radius:inherit;border:2px solid var(--game-accent);opacity:.7;pointer-events:none;animation:.32s ease-out forwards game-pop-ring;position:absolute;inset:-4px}@keyframes game-pop{0%{opacity:1;filter:blur();transform:scale(1)}55%{transform:scale(1.18)}to{opacity:0;filter:blur(1px);transform:scale(.8)}}@keyframes game-pop-ring{0%{opacity:.8;transform:scale(.85)}to{opacity:0;transform:scale(1.5)}}@keyframes game-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes game-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes game-float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-42px)}}@keyframes game-fade-in{0%{opacity:0}to{opacity:1}}@keyframes game-panel-in{0%{opacity:0;transform:scale(.82)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes game-sway{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@media screen and (width<=600px){.game-shell{gap:8px}.game-stage{min-height:min(48vh,340px)}.game-hud{gap:8px}.game-hud-title{font-size:18px}.game-hud-meters{gap:6px}.game-chip{letter-spacing:.3px;padding:5px 8px;font-size:13px}.game-heart{font-size:12px}.game-panel{padding:20px}.game-panel-mascot{width:68px;height:68px}}@media screen and (height<=650px){.game-stage{min-height:260px}.game-panel-mascot{display:none}}@media (prefers-reduced-motion:reduce){.game-chip--bump,.game-pop,.game-pop:after,.game-tile--wrong,.game-panel,.game-panel-mascot,.game-overlay{animation:none}}.pp-word{will-change:transform;pointer-events:none;position:absolute;top:0}.pp-word-pill{white-space:nowrap;border-radius:999px;padding:10px 18px;display:inline-block}.wdp-item{pointer-events:none;will-change:transform;contain:layout paint style;justify-content:center;width:100%;transition:left .12s,opacity .15s;display:flex;position:absolute;top:0;left:50%}.wdp-item-text{text-align:center;max-width:60%;padding:12px 18px;font-size:20px}.wdp-item-picture{flex-direction:column;align-items:center;gap:6px;padding:8px;display:inline-flex}.wdp-item-picture img{object-fit:cover;border-radius:10px;width:clamp(96px,22vw,140px);max-width:100%}.wdp-bins{grid-template-columns:repeat(3,1fr);gap:12px;padding:0 16px;display:grid;position:absolute;bottom:8%;left:0;right:0}.wdp-bin{cursor:pointer;justify-content:center;align-items:center;min-height:72px;display:flex}.wdp-bin-label{text-align:center;padding:4px 8px;font-size:16px}.wdp-pointer{--wdp-column:calc((100% - 32px - 24px) / 3);border-left:10px solid #0000;border-right:10px solid #0000;border-top:14px solid var(--game-accent);width:0;height:0;bottom:5%;left:calc(16px + var(--wdp-lane,0) * (var(--wdp-column) + 12px) + var(--wdp-column) / 2);transition:left .1s;position:absolute;transform:translate(-50%)}.wdp-pointer[data-lane="0"]{--wdp-lane:0}.wdp-pointer[data-lane="1"]{--wdp-lane:1}.wdp-pointer[data-lane="2"]{--wdp-lane:2}@media screen and (width<=600px){.wdp-item-text{font-size:17px}.wdp-bin{min-height:58px}.wdp-bin-label{font-size:14px}}.wsr-stage{overflow:auto}.wsr-layout{justify-content:center;align-items:flex-start;gap:16px;height:100%;padding:14px;display:flex}.wsr-grid{aspect-ratio:1;touch-action:none;flex:0 auto;gap:2px;width:min(100%,68vh);display:grid}.wsr-cell{aspect-ratio:1;text-transform:uppercase;cursor:pointer;min-width:0;box-shadow:none;border-width:1px;border-radius:5px;place-items:center;padding:0;font-family:inherit;font-size:clamp(11px,2.1vh,20px);display:grid}.wsr-cell:disabled{cursor:default}.wsr-words{flex-direction:column;flex:none;gap:6px;min-width:120px;max-width:200px;display:flex}.wsr-words-title{color:var(--game-muted);font-weight:var(--font-weight-bold)}.wsr-words ul{text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.wsr-word--found{color:var(--game-muted);opacity:.6;text-decoration:line-through}.wsr-skipped{color:var(--game-muted);font-style:italic}@media (width<=700px){.wsr-layout{flex-direction:column;align-items:center;gap:10px;padding:10px}.wsr-grid{width:min(100%,46vh)}.wsr-words{max-width:100%}.wsr-words ul{flex-flow:wrap;justify-content:center;gap:2px 12px}}.presentation-prompt-overlay{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.presentation-prompt-card{pointer-events:auto;background:#fffffff2;border:1px solid #3b82f640;border-radius:14px;max-width:80%;padding:18px 24px;box-shadow:0 8px 30px #00000026}.presentation-prompt-line{color:var(--gray-12);align-items:center;gap:6px;margin:0;font-size:16px;line-height:1.6;display:flex}.presentation-prompt-line+.presentation-prompt-line{margin-top:8px}.presentation-prompt-label{color:var(--gray-11);font-weight:600}.presentation-audience-stage{justify-content:center;width:100%;display:flex;position:relative}.presentation-audience-img{-webkit-user-select:none;user-select:none;pointer-events:none;width:90%;height:auto;max-height:100%;display:block}.presentation-question-bubble{cursor:pointer;background:#fffffff2;border:2px solid #0000002e;border-radius:999px;width:44px;height:44px;font-size:20px;font-weight:800;line-height:1;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0000001f}.presentation-question-bubble:hover{transform:translate(-50%,-50%)scale(1.06)}.presentation-question-bubble:active{transform:translate(-50%,-50%)scale(.98)}.presentation-question-bubble.popping{animation:.5s cubic-bezier(.2,.9,.2,1) forwards bubble-pop}@keyframes bubble-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.25)}to{opacity:0;transform:translate(-50%,-50%)scale(.05)}}.presentation-notes-btn{color:var(--gray-11);cursor:pointer;background:#fffffff2;border:1px solid #0000001f;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;position:absolute;right:12px;box-shadow:0 2px 8px #00000014}.presentation-notes-btn:hover{background:var(--gray-2);box-shadow:0 3px 12px #0000001f}.presentation-notes-btn:active{transform:scale(.97)}.presentation-notes-textarea{width:100%;min-height:180px;color:var(--gray-12);resize:vertical;box-sizing:border-box;border:1px solid #0000001f;border-radius:10px;outline:none;padding:12px;font-family:inherit;font-size:15px;line-height:1.6;transition:border-color .15s}.presentation-notes-textarea:focus{border-color:#3b82f680}.presentation-notes-textarea::placeholder{color:var(--gray-7)}.presentation-notes-view{color:var(--gray-12);white-space:pre-wrap;background:#00000008;border:1px solid #0000000f;border-radius:10px;min-height:80px;padding:14px;font-size:15px;line-height:1.6}.language-game{flex-direction:column;gap:16px;width:100%;max-width:1200px;margin:0 auto;display:flex}.language-game__title{margin:0;font-size:1.4rem;font-weight:600}.language-game__loading{min-height:400px;color:var(--gray-6,#757575);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.language-game__layout{align-items:flex-start;gap:16px;display:flex}.language-game__main{flex:1;min-width:0;position:relative}.language-game__sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:300px;display:flex}.language-game__final-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.language-game__final-card{background:var(--surface);border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:40px 56px;animation:.35s ease-out popIn;display:flex;box-shadow:0 16px 48px #0000004d}.language-game__final-icon{background:var(--primary-color);width:72px;height:72px;color:var(--on-brand);border-radius:50%;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.language-game__final-heading{color:var(--gray-9,#212121);margin:0;font-size:1.6rem;font-weight:700}.language-game__final-btn{background:var(--primary-color);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:10px 32px;font-size:1rem;font-weight:600;transition:background .15s}.language-game__final-btn:hover{background:#1b5e20}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.language-game-canvas{border:2px solid var(--gray-3,#e0e0e0);background:#1a1a2e;border-radius:8px;overflow:hidden}.language-game-canvas canvas{display:block;width:100%!important;height:auto!important}.quest-panel{background:var(--surface);border:1px solid var(--gray-3,var(--gray-3));border-radius:8px;padding:12px}.quest-panel__header{margin-bottom:8px}.quest-panel__title{color:var(--primary-color);margin:0;font-size:.95rem;font-weight:600}.quest-panel__task{color:var(--gray-8,var(--gray-11));margin-bottom:12px;font-size:.85rem;line-height:1.4}.quest-panel__task-label{color:var(--gray-9,var(--gray-12));font-weight:600}.quest-panel__section-label{color:var(--gray-6,var(--text-muted));text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.quest-panel__list{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.quest-panel__item{border-radius:4px;align-items:flex-start;gap:8px;padding:6px 8px;font-size:.85rem;line-height:1.4;display:flex}.quest-panel__item--active{background:var(--success-bg);color:var(--primary-color);font-weight:500}.quest-panel__item--completed{color:var(--gray-5,var(--gray-7));text-decoration:line-through}.quest-panel__item--pending{color:var(--gray-6,var(--text-muted))}.quest-panel__item-row{align-items:flex-start;gap:8px;display:flex}.quest-panel__item-marker{text-align:center;flex-shrink:0;width:16px}.quest-panel__optional-badge{color:var(--gray-6,var(--text-muted));background:var(--gray-2,var(--gray-2));vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:500;display:inline-block}.quest-panel__result-info{color:var(--dark-blue,#1565c0);background:var(--info-bg);border-left:3px solid var(--dark-blue,#1565c0);border-radius:4px;margin:4px 0 0 24px;padding:6px 10px;font-size:.8rem;line-height:1.4;text-decoration:none!important}.quest-panel__complete-badge{background:var(--primary-color);color:var(--on-brand);text-align:center;border-radius:6px;margin-top:8px;padding:8px;font-size:.85rem;font-weight:600}.transcript-panel{background:var(--surface);border:1px solid var(--gray-3,var(--gray-3));border-radius:8px;flex-direction:column;max-height:300px;padding:12px;display:flex}.transcript-panel__header{margin-bottom:8px}.transcript-panel__title{color:var(--purple,var(--purple));margin:0;font-size:.95rem;font-weight:600}.transcript-panel__entries{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.transcript-panel__empty{color:var(--gray-5,var(--gray-7));text-align:center;padding:16px 0;font-size:.8rem;font-style:italic}.transcript-panel__entry{padding:4px 0;font-size:.82rem;line-height:1.4}.transcript-panel__entry--npc .transcript-panel__entry-speaker{color:var(--purple,var(--purple));font-weight:600}.transcript-panel__entry--user .transcript-panel__entry-speaker{color:var(--dark-blue,#1565c0);font-weight:600}.transcript-panel__entry-message{margin-left:4px}.npc-conversation-modal{z-index:50;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.npc-conversation-modal__overlay{background:#00000080;border-radius:8px;position:absolute;inset:0}.npc-conversation-modal__content{z-index:51;background:var(--surface);border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:80%;padding:16px;display:flex;position:relative;box-shadow:0 8px 32px #0003}.npc-conversation-modal__header{border-bottom:1px solid var(--gray-3,var(--gray-3));justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.npc-conversation-modal__npc-info{align-items:center;gap:10px;display:flex}.npc-conversation-modal__npc-details{flex-direction:column;display:flex}.npc-conversation-modal__sprite{object-fit:contain;width:48px;height:48px;image-rendering:pixelated;animation:2.5s ease-in-out infinite npc-sway}@keyframes npc-sway{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-2px)rotate(1deg)}75%{transform:translateY(-2px)rotate(-1deg)}}.npc-conversation-modal__npc-name{font-size:1rem;font-weight:600}.npc-conversation-modal__npc-role{color:var(--gray-6,var(--text-muted));font-size:.8rem}.npc-conversation-modal__end-btn{border:1px solid var(--gray-4,var(--gray-4));background:var(--surface);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.85rem;transition:background .15s}.npc-conversation-modal__end-btn:hover{background:var(--gray-2,var(--gray-2))}.npc-conversation-modal__end-btn:disabled{opacity:.5;cursor:not-allowed}.npc-conversation-modal__transcript{flex-direction:column;flex:1;gap:8px;min-height:150px;padding:12px 0;display:flex;overflow-y:auto}.npc-conversation-modal__status{text-align:center;color:var(--gray-5,var(--gray-7));padding:24px 0;font-size:.85rem;font-style:italic}.npc-conversation-modal__message{border-radius:8px;padding:6px 10px;font-size:.85rem;line-height:1.5}.npc-conversation-modal__message--npc{background:var(--gray-2);align-self:flex-start;max-width:85%}.npc-conversation-modal__message--user{background:var(--info-bg);align-self:flex-end;max-width:85%}.npc-conversation-modal__message-speaker{margin-right:4px;font-weight:600}.npc-conversation-modal__footer{border-top:1px solid var(--gray-3,var(--gray-3));text-align:center;padding-top:8px}.npc-conversation-modal__mic-indicator{color:var(--primary-color);font-size:.8rem;font-weight:500;animation:1.5s ease-in-out infinite pulse-mic}@keyframes pulse-mic{0%,to{opacity:1}50%{opacity:.5}}.npc-conversation-modal__reward-overlay{z-index:60;background:#00000073;border-radius:12px;justify-content:center;align-items:center;animation:.25s ease-out fadeIn;display:flex;position:absolute;inset:0}.npc-conversation-modal__reward-card{background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;animation:.3s ease-out popIn;display:flex;box-shadow:0 8px 32px #00000040}.npc-conversation-modal__reward-icon{font-size:2.2rem;line-height:1}.npc-conversation-modal__reward-label{color:var(--gray-6,var(--text-muted));font-size:.85rem;font-weight:500}.npc-conversation-modal__reward-item{color:var(--gray-9,var(--gray-12));text-transform:capitalize;font-size:1.2rem;font-weight:700}.npc-conversation-modal__reward-btn{background:var(--primary-color);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 28px;font-size:.95rem;font-weight:600;transition:background .15s}.npc-conversation-modal__reward-btn:hover{background:var(--success)}.npc-conversation-modal__reward-sprite{object-fit:contain;width:64px;height:64px;image-rendering:pixelated;animation:2.5s ease-in-out infinite npc-sway}.npc-conversation-modal__reward-subtitle{color:var(--gray-6,var(--text-muted));font-size:.9rem;font-style:italic}.scenario-form{flex-direction:column;gap:16px;display:flex}.scenario-form__field{flex-direction:column;gap:4px;display:flex}.scenario-form__hint{color:var(--gray-5,var(--gray-7));margin-top:2px;font-size:.78rem}.scenario-form__mode-toggle{gap:8px;display:flex}.scenario-form__mode-btn{border:2px solid var(--gray-3,var(--gray-3));background:var(--surface);color:var(--gray-6,var(--text-muted));cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.scenario-form__mode-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.scenario-form__mode-btn--active{border-color:var(--primary-color);background:var(--primary-color);color:var(--on-brand)}.scenario-form__mode-btn--active:hover{background:var(--success);border-color:var(--success);color:var(--on-brand)}.npc-conversation-modal__text-input{gap:8px;width:100%;display:flex}.npc-conversation-modal__input{border:1px solid var(--gray-3,var(--gray-3));border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:.9rem;transition:border-color .15s}.npc-conversation-modal__input:focus{border-color:var(--primary-color)}.npc-conversation-modal__input:disabled{opacity:.6}.npc-conversation-modal__send-btn{background:var(--primary-color);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .15s}.npc-conversation-modal__send-btn:hover:not(:disabled){background:var(--success)}.npc-conversation-modal__send-btn:disabled{opacity:.5;cursor:default}@media (width<=900px){.language-game__layout{flex-direction:column}.language-game__sidebar{flex-flow:wrap;width:100%}.quest-panel,.transcript-panel{flex:1;min-width:250px}}.language-game__completed{flex-direction:column;align-items:center;gap:20px;padding:32px 16px;display:flex}.language-game__completed-message{flex-direction:column;align-items:center;gap:12px;display:flex}.language-game__completed-message h2{color:var(--gray-9,#212121);margin:0;font-size:1.4rem;font-weight:600}.language-game__completed .transcript-panel{width:100%;max-width:600px}.word-list{flex-flow:wrap;gap:10px;display:flex}.word{background-color:var(--gray-2);border-radius:12px;flex-direction:row;align-items:center;gap:10px;padding:5px 8px;animation:.6s ease-out forwards poofAppear;display:flex}.word .x:hover{cursor:pointer}.word.clickable:hover{cursor:pointer;transform:scale(1.05)}.scaffolded-copy-popup{flex-direction:column;gap:24px;min-width:min(400px,85vw);max-width:480px;padding:24px;display:flex}.scaffolded-copy-header{flex-direction:column;gap:8px;display:flex}.scaffolded-copy-header p{color:var(--gray-7);margin:0}.scaffolded-copy-section{flex-direction:column;gap:6px;display:flex}.scaffolded-copy-section>label{color:var(--gray-7);text-align:left}.scaffolded-copy-actions{flex-direction:column;gap:10px;display:flex}.scaffolded-copy-actions .action-button{width:100%}.subtopic-section-header{cursor:pointer;gap:12px}.subtopic-section-header .subtopic-section-number{background:var(--purple);width:28px;height:28px;color:var(--on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.subtopic-section-header .subtopic-section-title{overflow-wrap:anywhere;font-weight:600}.subtopic-section-header .subtopic-section-count{background:var(--primary-color);color:var(--on-brand);white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:500}.subtopic-section-header .subtopic-section-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.subtopic-section-body{grid-template-rows:0fr;width:100%;transition:grid-template-rows .5s;display:grid}.subtopic-section-body.expanded{grid-template-rows:1fr}.subtopic-section-body>div{overflow:hidden}.subtopic-section-chevron{flex-shrink:0;transition:transform .3s}.subtopic-section-chevron.expanded{transform:rotate(90deg)}.subtopic-section-empty{color:var(--gray-7);padding:16px 20px;font-size:13px;font-style:italic}.file-input{background:var(--surface);border-radius:12px;align-self:stretch;align-items:center;gap:10px;min-width:fit-content;max-width:100%;height:fit-content;padding:5px;display:flex}.file-input img{width:20px!important}.file-upload-button{background:var(--gray-2);border-bottom:1px solid #524b494d;border-radius:7px 4px 4px 7px;justify-content:center;align-items:center;gap:6px;width:100%;min-width:fit-content;height:52px;padding:8px 12px;display:flex}.file-upload-button:hover{cursor:pointer}input#file-upload{opacity:0;max-width:0}.file-input.inline{align-self:unset}.file-input.inline .file-upload-button{background:var(--gray-2);border:none;border-radius:4px;align-items:center;width:fit-content;height:fit-content;padding:6px;display:flex}.book-card-cover{background:var(--gray-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:165px;height:260px;display:flex;overflow:hidden}.book-card-cover img{border-radius:6px;width:100%;height:auto}.book-label{flex-direction:column;align-items:center;gap:3px;padding:0 5px;display:flex;overflow-y:auto}@media screen and (width<=600px){.book-card-cover{width:100px;height:157px}}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.text-editor{flex-direction:column;align-self:stretch;height:calc(100vh - 294px);display:flex}.quill{border-radius:12px;flex-direction:column;gap:15px;width:100%;height:calc(100vh - 360px);display:flex}.ql-container{border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;align-items:stretch;padding:26px;display:flex;overflow:auto}.ql-editor{letter-spacing:.8px;height:100%;font-family:Poppins;font-size:20px;font-style:normal;font-weight:500;line-height:250%;position:relative}.ql-editor.ql-blank:before{right:unset;left:unset}.ql-toolbar{background:var(--gray-2);border-bottom:1px solid #524b494d;border-radius:12px;align-self:stretch;align-items:flex-start;gap:15px;padding:15px 26px;display:flex}.ql-toolbar .ql-generateButton{width:24px!important;height:24px!important;color:var(--on-brand)!important;cursor:pointer!important;background:linear-gradient(135deg,#4c1d95 0%,#7c3aed 50%,#a78bfa 100%)!important;border:0!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;transition:transform 80ms,box-shadow .2s,filter .2s!important;display:inline-flex!important;box-shadow:0 1px 2px #0000001f,inset 0 0 0 1px #ffffff0f!important}.ql-toolbar .ql-formats .ql-generateButton{margin:0 2px!important}.ql-toolbar .ql-generateButton svg{pointer-events:none!important;width:18px!important;height:18px!important}.ql-toolbar .ql-generateButton svg *{fill:currentColor!important}.ql-toolbar .ql-generateButton:hover{filter:brightness(1.04)!important;transform:scale(1.05)!important;box-shadow:0 2px 8px #7c3aed40,inset 0 0 0 1px #ffffff1a!important}.ql-toolbar .ql-generateButton:active{transform:scale(1.05)!important}.ql-toolbar .ql-generateButton:focus-visible{outline:none!important;box-shadow:0 0 0 3px #818cf84d,0 1px 2px #0006,inset 0 0 0 1px #ffffff80!important}.ql-toolbar .ql-generateButton[disabled],.ql-disabled .ql-toolbar .ql-generateButton{opacity:.6!important;cursor:not-allowed!important}.upload-book-form{flex-direction:column;height:100%;max-height:90vh;display:flex}.form-header{border-bottom:1px solid var(--gray-3);flex-shrink:0;padding:1.5rem 1.5rem 1rem}.form-header h2{color:var(--dark-1);margin:0;font-size:1.5rem;font-weight:600}.form-body{flex:1;gap:2rem;min-height:0;padding:1.5rem;display:flex;overflow:hidden}.form-column-left{border-right:1px solid var(--gray-3);flex-direction:column;flex-shrink:0;gap:1rem;width:300px;padding-right:1rem;display:flex;overflow-y:auto}.form-column-right{flex-direction:column;flex:1;gap:.75rem;min-width:0;display:flex;overflow:hidden}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field label{color:var(--dark-1);font-size:.875rem;font-weight:600}.form-field input,.form-field select{border:1px solid var(--gray-3);color:var(--dark-1);background-color:var(--surface);border-radius:6px;padding:.75rem;font-family:inherit;font-size:.9375rem}.form-field input:focus,.form-field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.form-field input::placeholder{color:var(--gray-5)}.form-hint{color:var(--gray-5);margin:0;font-size:.8125rem;line-height:1.4}.form-label-main{color:var(--dark-1);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-footer{border-top:1px solid var(--gray-3);background-color:var(--gray-1);flex-shrink:0;justify-content:flex-end;gap:1rem;padding:1rem 1.5rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);box-shadow:0 2px 8px rgba(var(--primary-rgb), .3);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--gray-2);color:var(--dark-1)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-3)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (width<=1024px){.form-body{flex-direction:column;gap:1rem;padding:1rem}.form-column-left{border-right:none;border-bottom:1px solid var(--gray-3);width:100%;padding-bottom:1rem;padding-right:0}.form-column-right{overflow-y:auto}.upload-book-form{max-height:95vh}}.book-catalog-content{border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex-direction:column;flex:auto;align-self:stretch;align-items:center;gap:24px;min-width:100%;padding:0 0 35px;display:flex;overflow-y:auto}.book-catalog-content .tab-headers{width:100%;margin-left:unset;margin-right:unset}.modal-content .app-page-content{max-width:75vw;max-height:65vh}.modal-content .book-catalog-content{width:58vw}.upload-book-button{background-color:var(--primary-color);color:var(--on-brand);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;height:fit-content;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;transition:all .2s}.upload-book-button:hover{background-color:var(--primary-dark);box-shadow:0 2px 8px rgba(var(--primary-rgb), .3);transform:translateY(-1px)}.upload-book-button:active{transform:translateY(0)}@media screen and (width<=600px){.book-catalog-content{gap:20px}}.not-found-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding-top:80px;display:flex}.not-found-page .not-found-icon{width:160px;margin-bottom:8px}.not-found-page h1{color:var(--dark-blue);margin:0;font-size:72px;font-weight:700;line-height:1}.not-found-page h2{margin:0;font-size:24px;font-weight:600}.not-found-page p{color:var(--gray-8);margin:0}.tab-headers{border-bottom:2px solid var(--gray-2);align-self:stretch;width:80%;margin-left:10%;margin-right:10%;padding:0;display:flex}.tab-header-label{text-align:center;cursor:pointer;background-color:var(--gray-1);border-right:1px solid #ccc;flex:1;padding:10px;list-style:none;transition:background-color .3s}.tab-header-label:last-child{border-right:none}.tab-header-label:hover{background-color:var(--gray-3)}.tab-header-label.active-label{background-color:var(--gray-2);font-weight:700;position:relative;top:1px}.form-contents.add-student{flex-direction:column;justify-content:center;align-self:stretch;place-items:center;display:flex}.classroom-list{border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex:1 0 0;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-content:start;align-self:stretch;gap:16px;height:100%;max-height:100%;padding:24px;display:grid;overflow-y:auto}.classroom-card{box-sizing:border-box;aspect-ratio:4/3;cursor:pointer;min-width:0;color:var(--pure-white);text-align:center;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000014}.classroom-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000024}.classroom-card-icon{opacity:.92;filter:drop-shadow(0 2px 4px #00000026)}.classroom-card-overlay{text-align:left;background:linear-gradient(#0000,#000000b8);padding:14px 16px;position:absolute;bottom:0;left:0;right:0}.classroom-card.has-color .classroom-card-overlay{background:linear-gradient(#0000,#00000047)}.classroom-card-name{color:var(--pure-white);text-shadow:0 1px 4px #00000073;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;font-weight:700;display:-webkit-box;overflow:hidden}.classroom-card-add{background:var(--gray-2);color:var(--gray-10);border:2px dashed var(--gray-4);flex-direction:column;gap:10px}.classroom-card-add:hover{background:linear-gradient(0deg, #0000000f, #0000000f), var(--gray-2)}@media screen and (width<=900px){.classroom-list{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;padding:16px}}@media screen and (width<=600px){.classroom-list{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px;padding:8px}.classroom-card-name{font-size:.95rem}}.collapsible-word-list{background:var(--surface);z-index:1000;border-radius:0 0 8px 8px;transition:all .3s;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 4px #0000001a}.collapsible-header{cursor:pointer;background:var(--light-green);color:var(--dark-green);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.collapsible-header:hover{background:var(--medium-green)}.collapsible-content{background:var(--surface);border-top:1px solid var(--light-green);max-height:200px;padding:1rem;overflow-y:auto}.game-modal{padding-bottom:3rem}.flgm-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.flgm-modal{background:var(--surface);text-align:center;border-radius:8px;width:90%;max-width:min(500px,100vw);max-height:min(400px,70vh);padding:24px;font-family:sans-serif;position:relative}.flgm-close{cursor:pointer;background:0 0;border:none;font-size:20px;position:absolute;top:8px;right:8px}.flgm-score{margin-bottom:1rem;font-size:1.2rem;font-weight:700}.flgm-display{cursor:text;flex-wrap:nowrap;justify-content:center;gap:.5rem;width:100%;min-height:3.5rem;margin:1rem 0;display:flex;position:relative;overflow-x:hidden}.flgm-display span{background:var(--gray-2);border:2px solid var(--gray-3);-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.flgm-blank{background:var(--gray-1);border:2px dashed var(--gray-3);color:var(--text-muted)}.flgm-gameover{text-align:center;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:1rem;display:flex}.flgm-instructions{text-align:center;color:var(--text-muted);margin:.5rem 0;font-size:.9rem}.flgm-used-words{display:none}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}@keyframes float-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50px)}}@media (width<=768px){.flgm-display{padding:0 .5rem}.flgm-display span{width:2.5rem;height:2.5rem;font-size:1.3rem}}@media (width<=300px){.flgm-display span{width:2rem;height:2rem;font-size:1.1rem}}.game-modal.word-snake{justify-content:start;align-items:center;padding-bottom:3rem}.flgm-input{opacity:0;pointer-events:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute}.game-overlay{z-index:2000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-modal{background:var(--gray-1);z-index:2000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:min(800px,95vw);height:min(600px,95vh);padding:2rem;display:flex;position:relative}.game-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.game-close:hover{color:var(--gray-11)}.item-card{background:var(--primary-color);color:var(--on-brand);text-align:center;border-radius:6px;flex-direction:row;justify-content:space-between;align-self:stretch;align-items:center;gap:10px;padding:12px;display:flex}.game-modal.word-builder{justify-content:start;align-items:center}.wbg-stats{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.wbg-score,.wbg-timer{font-size:1.2rem;font-weight:700}.wbg-letters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.wbg-letter{background:var(--gray-2);border:2px solid var(--gray-3);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.wbg-letter:hover{background:var(--gray-3);transform:translateY(-2px)}.wbg-letter.used{background:var(--success-bg);color:var(--success);border-color:#81c784}.wbg-letter.in-use{background:var(--info-bg);color:var(--info);border-color:#64b5f6}.wbg-current-word{flex-wrap:nowrap;justify-content:center;gap:.5rem;width:100%;min-height:3.5rem;margin:1rem 0;display:flex;overflow-x:hidden}.wbg-letter-slot{background:var(--gray-1);border:2px dashed var(--gray-3);min-width:1.5rem;height:3rem;color:var(--text-muted);border-radius:8px;flex:1;justify-content:center;align-items:center;max-width:3rem;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.wbg-letter-slot.active{background:var(--info-bg);border-color:#64b5f6}.letter-count-5 .wbg-letter-slot{font-size:1.3rem}.letter-count-6 .wbg-letter-slot{font-size:1.2rem}.letter-count-7 .wbg-letter-slot{font-size:1.1rem}.letter-count-8 .wbg-letter-slot{font-size:1rem}.letter-count-9 .wbg-letter-slot{font-size:.9rem}.letter-count-10 .wbg-letter-slot{font-size:.8rem}.wbg-error{color:var(--dark-pink);text-align:center;min-height:1.5rem;margin:.5rem 0}.wbg-controls{justify-content:center;margin:1rem 0;display:flex}.wbg-used-words{flex-direction:column;flex:1;width:100%;min-height:0;margin-top:1rem;display:flex}.wbg-used-words h3{color:var(--text-muted);margin:0 0 .5rem;font-size:1.1rem}.wbg-word-list{background:var(--gray-1);border-radius:8px;flex-wrap:wrap;flex:1;align-self:stretch;gap:.5rem;width:100%;max-height:150px;padding:.5rem;display:flex;overflow-y:auto}.wbg-word-list span{background:var(--surface);color:var(--text-muted);border:1px solid var(--gray-3);border-radius:16px;padding:.25rem .75rem;font-size:.9rem}.wbg-instructions{text-align:center;color:var(--text-muted);margin:.5rem 0;font-size:.9rem}.wbg-gameover{text-align:center;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:1rem;display:flex}.wbg-word-list::-webkit-scrollbar{width:8px}.wbg-word-list::-webkit-scrollbar-track{background:var(--gray-2);border-radius:4px}.wbg-word-list::-webkit-scrollbar-thumb{background:var(--gray-8);border-radius:4px}.wbg-word-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.wbg-letter-controls{align-items:center;gap:.5rem;display:flex}.wbg-control-button{color:var(--dark-green);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;transition:all .2s}.wbg-control-button:hover{background:#0064001a;transform:translateY(-1px)}.wbg-control-button:active{transform:translateY(0)}.floating-score{pointer-events:none;text-shadow:0 0 2px #fffc;z-index:2000;font-size:1.2rem;font-weight:700;position:fixed}.floating-score:not(.negative){color:var(--dark-green);animation:1s ease-out forwards float-up}.floating-score.negative{color:var(--dark-pink);animation:1s ease-out forwards float-down}@media (width<=768px){.wbg-current-word{padding:0 .5rem}.wbg-letter-slot{min-width:1.2rem;height:2.5rem}.letter-count-5 .wbg-letter-slot{font-size:1.1rem}.letter-count-6 .wbg-letter-slot{font-size:1rem}.letter-count-7 .wbg-letter-slot{font-size:.9rem}.letter-count-8 .wbg-letter-slot{font-size:.8rem}.letter-count-9 .wbg-letter-slot{font-size:.7rem}.letter-count-10 .wbg-letter-slot{font-size:.6rem}}@media (width<=300px){.wbg-letter-slot{min-width:1rem;height:2rem;font-size:clamp(.6rem,1.2vw,.9rem)}}.wbg-current-word.invalid{animation:.5s ease-in-out shake}.wbg-current-word.invalid .wbg-letter-slot{background-color:#ff00001a;border-color:#ff00004d}.segmented-control{background:var(--gray-2);border-radius:8px;gap:0;width:fit-content;padding:3px;display:flex}.segmented-control-option{color:var(--gray-6);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .15s}.segmented-control-option:hover{color:var(--gray-8)}.segmented-control-option.active{background:var(--surface);color:var(--gray-9);box-shadow:0 1px 3px #0000001a}.panel-dropdown-content{grid-template-rows:0fr;width:100%;transition:grid-template-rows .5s;display:grid}.panel-dropdown-content.expanded{grid-template-rows:1fr}.panel-dropdown-inner{overflow:hidden}.panel-dropdown-chevron{transition:transform .3s}.panel-dropdown-chevron.expanded{transform:rotate(90deg)}.assignment-details-container{border-radius:12px;flex-direction:column;flex:1 0 0;justify-content:center;align-self:stretch;align-items:flex-start;gap:12px;padding:5px;display:flex}.assignment-details-container hr{background:var(--gray-3);width:250px;height:1px}.assignment-detail-header{color:var(--primary-color);flex-direction:row;justify-content:space-between;align-self:stretch;display:flex}.assignment-details-list{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;gap:4px;padding-top:8px;display:flex}.assignment-detail{color:var(--gray-9);border-bottom:solid 1px var(--gray-3);flex-direction:row;justify-content:space-between;align-self:stretch;align-items:center;gap:12px;display:flex}.assignment-detail b{letter-spacing:.56px;font-size:14px;line-height:150%}.autopilot-calendar-view{flex-direction:column;gap:12px;width:100%;margin-top:12px;display:flex}.calendar-header{justify-content:space-between;align-items:center;padding:8px 4px;display:flex}.calendar-title{color:var(--gray-7);font-size:.9rem;font-weight:600}.calendar-nav-btn{border:1.5px solid var(--gray-3);background:var(--surface);width:32px;height:32px;color:var(--gray-6);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.calendar-nav-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:rgba(var(--primary-color-rgb), .05)}.calendar-timeline-container{border:2px solid var(--gray-3);background:var(--surface);scrollbar-width:thin;scrollbar-color:var(--gray-4) transparent;border-radius:10px;overflow:auto visible}.calendar-timeline-container::-webkit-scrollbar{height:8px}.calendar-timeline-container::-webkit-scrollbar-track{background:var(--gray-1);border-radius:4px}.calendar-timeline-container::-webkit-scrollbar-thumb{background:var(--gray-4);border-radius:4px}.calendar-timeline-container::-webkit-scrollbar-thumb:hover{background:var(--gray-5)}.calendar-timeline{min-height:140px;padding-bottom:16px;position:relative}.timeline-weeks{border-bottom:1px solid var(--gray-3);background:var(--gray-1);z-index:20;display:flex;position:sticky;top:0}.timeline-week-header{text-align:center;border-right:1px solid var(--gray-2);width:120px;min-width:120px;padding:10px 8px}.timeline-week-header:last-child{border-right:none}.week-date{color:var(--gray-7);font-size:.8rem;font-weight:600}.timeline-grid{pointer-events:none;display:flex;position:absolute;inset:41px 0 0}.timeline-grid-line{border-right:1px dashed var(--gray-2);width:120px;min-width:120px}.timeline-grid-line:last-child{border-right:none}.timeline-topics{min-height:80px;padding:12px 4px;position:relative}.timeline-empty{min-height:60px;color:var(--gray-5);justify-content:center;align-items:center;font-size:.9rem;font-style:italic;display:flex}.timeline-topic{cursor:grab;-webkit-user-select:none;user-select:none;border:2px solid;border-radius:8px;align-items:center;gap:8px;height:56px;padding:8px 12px;transition:transform .1s,box-shadow .15s;display:flex;position:absolute;top:12px;overflow:hidden}.timeline-topic:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.timeline-topic:active{cursor:grabbing}.timeline-topic.dragging{opacity:.4;cursor:grabbing}.timeline-topic.preview{pointer-events:none;border-style:dashed}.timeline-topic.has-errors{border-color:var(--dark-pink)!important;background:#ff634726!important}.topic-order-badge{background:#0000001a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:24px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;display:flex}.topic-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:600;overflow:hidden}.topic-duration{opacity:.8;flex-shrink:0;font-size:.75rem;font-weight:500}.topic-override{background:#0000001a;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:600}.calendar-edit-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.calendar-edit-modal{background:var(--surface);border-radius:12px;width:90%;max-width:420px;animation:.2s slideUp;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.edit-modal-header{background:linear-gradient(135deg, rgba(var(--primary-color-rgb), .1) 0%, var(--surface) 100%);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.edit-modal-header h3{color:var(--primary-color);margin:0;font-size:1.1rem;font-weight:600}.edit-modal-close{width:32px;height:32px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.edit-modal-close:hover{background:var(--gray-2);color:var(--gray-8)}.edit-modal-body{flex-direction:column;gap:16px;padding:20px;display:flex}.edit-field{flex-direction:column;gap:6px;display:flex}.edit-field label{color:var(--gray-7);align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.edit-field .field-icon{color:var(--gray-5);font-size:.8rem}.edit-field input{border:2px solid var(--gray-3);background:var(--surface);color:var(--gray-10);border-radius:8px;padding:10px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.edit-field input:hover{border-color:var(--gray-4)}.edit-field input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.edit-field input.invalid{border-color:var(--dark-pink);background:#ff634708}.edit-field input::placeholder{color:var(--gray-5);font-style:italic}.edit-field .field-hint{color:var(--gray-5);font-size:.8rem;font-style:italic}.edit-field .field-error{color:var(--dark-pink);align-items:center;gap:5px;font-size:.8rem;display:flex}.edit-field .field-error svg{font-size:.8rem}.edit-modal-footer{background:var(--gray-1);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.edit-btn-cancel{border:2px solid var(--gray-3);background:var(--surface);color:var(--gray-7);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:500;transition:all .15s}.edit-btn-cancel:hover{border-color:var(--gray-5);background:var(--gray-1)}.edit-btn-save{border:2px solid var(--primary-color);background:var(--primary-color);color:var(--on-brand);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.edit-btn-save:hover:not(:disabled){background:var(--primary-color-hover);border-color:var(--primary-color-hover)}.edit-btn-save:disabled{background:var(--gray-4);border-color:var(--gray-4);cursor:not-allowed;opacity:.7}.calendar-hint{text-align:center;padding:4px}.calendar-hint span{color:var(--gray-5);font-size:.8rem;font-style:italic}@media screen and (width<=500px){.calendar-edit-modal{width:95%;max-height:90vh;overflow-y:auto}.edit-modal-body{gap:14px;padding:16px}.edit-modal-footer{flex-direction:column}.edit-btn-cancel,.edit-btn-save{justify-content:center;width:100%}}.autopilot-config-editor{background:linear-gradient(135deg, rgba(var(--primary-color-rgb), .08) 0%, #fffffff2 100%);border:2px solid rgba(var(--primary-color-rgb), .4);border-radius:12px;flex-direction:column;gap:16px;width:100%;margin-top:8px;padding:16px;display:flex}.autopilot-header{border-bottom:1px solid rgba(var(--primary-color-rgb), .3);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.autopilot-header-left{align-items:center;gap:10px;display:flex}.autopilot-icon{color:var(--primary-color);font-size:1.2rem}.autopilot-header .label-normal{color:var(--primary-color);font-weight:600}.view-toggle{background:var(--gray-2);border-radius:8px;gap:4px;padding:4px;display:flex}.view-toggle-btn{color:var(--gray-6);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.view-toggle-btn:hover:not(.active){color:var(--gray-8);background:#ffffff80}.view-toggle-btn.active{background:var(--surface);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.view-toggle-btn svg{font-size:.85rem}.autopilot-field{flex-direction:column;gap:8px;display:flex}.autopilot-field .label-small{color:var(--gray-8);align-items:center;gap:6px;font-weight:500;display:flex}.autopilot-field .field-icon{color:var(--gray-6);font-size:.85rem}.autopilot-field input[type=text],.autopilot-field input[type=number],.autopilot-field input[type=date]{border:2px solid var(--gray-3);background:var(--surface);color:var(--gray-10);border-radius:8px;padding:10px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.autopilot-field input:hover{border-color:var(--gray-5)}.autopilot-field input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #0080001a}.autopilot-field input.invalid{border-color:var(--dark-pink);background:#ff634708}.autopilot-field input.invalid:focus{box-shadow:0 0 0 3px #ff63471a}.autopilot-field input.calculated-field{background:var(--gray-1);color:var(--gray-7);cursor:not-allowed}.autopilot-field .field-hint{color:var(--gray-6);font-size:.8rem;font-style:italic}.autopilot-field .field-error{color:var(--dark-pink);align-items:center;gap:6px;font-size:.85rem;display:flex}.autopilot-field .field-error svg{font-size:.9rem}.topics-input-container{gap:8px;display:flex}.topics-input-container input{flex:1}.add-topic-btn{border:2px solid var(--primary-color);background:var(--primary-color);width:42px;height:42px;color:var(--on-brand);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.add-topic-btn:hover:not(:disabled){background:var(--primary-color-hover);border-color:var(--primary-color-hover);transform:scale(1.05)}.add-topic-btn:disabled{background:var(--gray-4);border-color:var(--gray-4);cursor:not-allowed;opacity:.6}.topics-list{background:var(--surface);border:2px solid var(--gray-3);border-radius:8px;flex-direction:column;gap:8px;min-height:50px;padding:12px;display:flex}.topic-card{background:linear-gradient(135deg, var(--surface) 0%, var(--gray-1) 100%);border:2px solid var(--gray-3);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;transition:all .15s;display:flex;overflow:hidden}.topic-card:hover{border-color:var(--primary-color);box-shadow:0 2px 12px #00000014}.topic-card:active{cursor:grabbing}.topic-card.dragging{opacity:.5;background:rgba(var(--primary-color-rgb), .1);border-color:var(--primary-color);transform:scale(.98)}.topic-card.drag-over{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), .1);border-style:dashed}.topic-card.has-errors{border-color:var(--dark-pink);background:linear-gradient(135deg, #ff634708 0%, var(--gray-1) 100%)}.topic-card-header{cursor:pointer;align-items:center;gap:10px;padding:12px;transition:background-color .15s;display:flex}.topic-card-header:hover{background:rgba(var(--primary-color-rgb), .05)}.drag-handle{color:var(--gray-5);cursor:grab;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.drag-handle:hover{color:var(--gray-7);background:var(--gray-2)}.topic-card:active .drag-handle{cursor:grabbing}.topic-order{background:var(--primary-color);min-width:32px;color:var(--on-brand);border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:700;display:flex}.topic-name-display{color:var(--gray-9);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.topic-name-placeholder{color:var(--gray-5);font-style:italic;font-weight:400}.topic-summary{flex-shrink:0;align-items:center;gap:8px;display:flex}.topic-date-badge,.topic-weeks-badge,.topic-override-badge{background:var(--gray-2);color:var(--gray-7);white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:500;display:flex}.topic-date-badge svg,.topic-weeks-badge svg{color:var(--gray-5);font-size:.7rem}.topic-override-badge{background:var(--light-blue);color:var(--dark-blue)}.topic-expand-btn{width:28px;height:28px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.topic-expand-btn:hover{background:var(--gray-2);color:var(--gray-8)}.remove-topic-btn{width:28px;height:28px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.remove-topic-btn:hover{background:var(--dark-pink);color:var(--on-brand);transform:scale(1.1)}.topic-card-details{background:var(--gray-1);border-top:1px solid var(--gray-3);grid-template-columns:repeat(2,1fr);gap:12px;padding:12px 16px 16px;animation:.2s ease-out slideDown;display:grid}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.topic-field{flex-direction:column;gap:4px;display:flex}.topic-field:first-child{grid-column:1/-1}.topic-field label{color:var(--gray-7);align-items:center;gap:4px;font-size:.8rem;font-weight:500;display:flex}.topic-field .field-icon{color:var(--gray-5);font-size:.75rem}.topic-field input{border:1.5px solid var(--gray-3);background:var(--surface);color:var(--gray-10);border-radius:6px;padding:8px 10px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.topic-field input:hover{border-color:var(--gray-4)}.topic-field input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #00800014}.topic-field input.invalid{border-color:var(--dark-pink);background:#ff634705}.topic-field input::placeholder{color:var(--gray-5);font-style:italic}.topic-field .field-hint{color:var(--gray-5);font-size:.75rem;font-style:italic}.topic-field .field-error{color:var(--dark-pink);align-items:center;gap:4px;font-size:.75rem;display:flex}.topic-field .field-error svg{font-size:.75rem}.no-topics-hint{color:var(--gray-5);text-align:center;padding:8px 4px;font-size:.9rem;font-style:italic}@keyframes topicAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.topic-card{animation:.2s ease-out topicAppear}@media screen and (width<=700px){.topic-card-details{grid-template-columns:1fr}.topic-field:first-child{grid-column:1}.topic-summary{display:none}}@media screen and (width<=600px){.autopilot-header{flex-direction:column;align-items:flex-start;gap:12px}.view-toggle{width:100%}.view-toggle-btn{flex:1;justify-content:center}}@media screen and (width<=500px){.autopilot-config-editor{gap:12px;padding:12px}.topics-input-container{flex-direction:column}.add-topic-btn{width:100%;height:38px}.topic-card-header{gap:8px;padding:10px}.topic-order{min-width:28px;padding:3px 6px;font-size:.7rem}.topic-name-display{font-size:.9rem}.drag-handle{display:none}.topic-card-details{gap:10px;padding:10px 12px 14px}.topic-field input{padding:8px;font-size:.85rem}.view-toggle-btn span{display:none}.view-toggle-btn{padding:8px 16px}}.inline-value-editor{flex-direction:row;align-items:center;gap:10px;display:inline-flex}.inline-value-editor select{border:none;padding:0}.inline-value-editor select:focus-visible{outline:none}.inline-value-editor input{border:none;padding:0}.inline-value-editor input:focus-visible{outline:none}.inline-value-editor .buttons{flex-direction:row;gap:0;display:inline-flex}.inline-value-editor .editor{flex-direction:column;align-items:flex-start;gap:5px;display:inline-flex}.user-info-dropdown-row{border-bottom:1px solid var(--gray-7);flex-direction:row;justify-content:space-between;align-self:stretch;gap:10px;padding:6px 9px;display:flex}.user-info-dropdown-row:hover{background-color:var(--gray-2)}.user-display-name{flex-direction:column;align-items:flex-start;gap:5px;max-width:75%;display:flex}.user-info-dropdown-row .col{align-items:center}.user-info-dropdown-row input[type=number]{background-color:var(--surface);gap:0;width:40px;margin:0;padding:0;border:none!important}.user-info-dropdown-row input[type=number]:focus-visible{outline:none}.user-display-name select{width:80px;max-width:80px}.input-table-container{justify-content:center;align-items:center;width:100%;max-width:100vw;max-height:68vh;overflow:auto}.input-table .action-buttons{justify-content:unset;width:unset;justify-content:center;align-items:center}.input-table{width:100%;max-width:100%;overflow-x:auto}.input-table th{background-color:var(--gray-2);color:var(--gray-11);text-align:left;border:1px solid var(--gray-4);padding:6px;font-size:14px}.input-table td{border:1px solid var(--gray-4);padding:0;font-size:12px}.input-table tr:nth-child(2n){background-color:var(--gray-1)}.input-table tr:hover{background-color:var(--gray-2)}.input-table input[type=text]{border:none;border-radius:0}@media screen and (width<=600px){.input-table-container input{width:90px}}.form-section-header{cursor:pointer;border-bottom:1px solid var(--gray-3);-webkit-user-select:none;user-select:none;text-align:left;justify-content:space-between;align-self:stretch;align-items:center;padding:10px 4px;display:flex}.form-section-header:hover{background:blue1;background:var(--gray-1)}.form-section-header .row{color:var(--gray-7);align-items:center;gap:8px}.form-section-content{grid-template-rows:0fr;width:100%;transition:grid-template-rows .4s;display:grid}.form-section-content.expanded{grid-template-rows:1fr}.form-section-inner{flex-direction:column;gap:6px;margin:10px 0;display:flex;overflow:hidden}.form-section-inner>label{text-align:left;align-self:stretch;padding:4px 6px 0}.form-section-chevron{color:var(--gray-5);transition:transform .3s}.form-section-chevron.expanded{transform:rotate(90deg)}.classroom-wizard{flex-direction:column;gap:24px;min-width:500px;max-width:700px;padding:24px;display:flex}.wizard-step-indicator{flex-direction:column;align-items:center;gap:12px;display:flex}.wizard-classroom-label{color:var(--gray-9);font-weight:var(--font-weight-bold)}.wizard-steps{align-items:center;gap:8px;width:100%;display:flex}.wizard-step{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex;position:relative}.wizard-step:after{content:"";background:var(--gray-3);width:90%;height:2px;position:absolute;top:14px;left:55%}.wizard-step:last-child:after{display:none}.wizard-step.completed:after{background:var(--primary-color)}.wizard-step-dot{width:28px;height:28px;font-size:.75rem;font-weight:var(--font-weight-bold);background:var(--gray-3);color:var(--gray-9);z-index:1;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.wizard-step.active .wizard-step-dot{background:var(--gray-9);color:var(--on-brand);box-shadow:0 0 0 3px #016d8933}.wizard-step.completed .wizard-step-dot{background:var(--primary-color);color:var(--on-brand)}.wizard-step-label{color:var(--gray-8);text-align:center;font-size:.7rem}.wizard-step.active .wizard-step-label{color:var(--gray-9);font-weight:var(--font-weight-bold)}.wizard-classroom-tabs{background:var(--gray-1);border-radius:12px;gap:8px;padding:6px;display:flex;overflow-x:auto}.wizard-classroom-tab{font-size:.9rem;font-weight:var(--font-weight);color:var(--gray-9);cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;transition:background .2s,color .2s,border-color .2s,transform .2s;display:flex}.wizard-classroom-tab-status{background:var(--gray-3);width:22px;height:22px;color:var(--gray-10);font-size:.8rem;font-weight:var(--font-weight-bold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.wizard-classroom-tab.complete .wizard-classroom-tab-status{background:var(--primary-color);color:var(--on-brand)}.wizard-classroom-tab:hover:not(.active){background:var(--surface);color:var(--primary-color)}.wizard-classroom-tab.active{background:var(--surface);border-color:var(--primary-color);color:var(--primary-color);font-weight:var(--font-weight-bold);animation:.35s wizard-tab-pop;box-shadow:0 2px 6px #016d8926}.wizard-classroom-tab.active .wizard-classroom-tab-status{background:var(--primary-color);color:var(--on-brand)}@keyframes wizard-tab-pop{0%{transform:scale(.92);box-shadow:0 0 #016d8900}60%{transform:scale(1.04);box-shadow:0 4px 12px #016d8940}to{transform:scale(1);box-shadow:0 2px 6px #016d8926}}.wizard-body{flex:1;min-height:min(500px,60vh);max-height:min(500px,60vh);overflow-y:auto}.wizard-step-content{flex-direction:column;gap:16px;display:flex}.wizard-step-content h2{color:var(--gray-12);margin:0;font-size:1.2rem}.wizard-step-content h3{color:var(--gray-10);margin:0;font-size:1rem}.wizard-footer{border-top:1px solid var(--gray-3);justify-content:space-between;gap:12px;padding-top:12px;display:flex}.wizard-classroom-names{flex-direction:column;gap:8px;display:flex}.wizard-section-subtitle{color:var(--gray-10);margin:0;font-size:.9rem}.wizard-google-classrooms,.wizard-manual-classrooms{flex-direction:column;gap:8px;display:flex}.wizard-google-classrooms+.wizard-manual-classrooms{border-top:1px solid var(--gray-3);padding-top:16px}.wizard-google-list{flex-direction:column;gap:4px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.wizard-google-list li label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.wizard-google-list li label:hover{background:var(--gray-2)}.wizard-google-list li label.disabled{opacity:.5;cursor:not-allowed}.wizard-google-name{font-weight:var(--font-weight-medium);color:var(--gray-12)}.wizard-google-section{color:var(--gray-9);font-size:.85rem}.wizard-grade-options{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.wizard-grade-option{border:2px solid var(--gray-3);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:20px 16px;transition:all .2s;display:flex}.wizard-grade-option:hover{border-color:var(--primary-color);background:var(--gray-1)}.wizard-grade-option.selected{border-color:var(--primary-color);background:#016d8914}.wizard-grade-label{font-weight:var(--font-weight-bold);color:var(--gray-10);font-size:1rem}.wizard-grade-option.selected .wizard-grade-label{color:var(--primary-color)}.wizard-choice-buttons{gap:12px;display:flex}.wizard-choice-button{border:2px solid var(--gray-3);background:var(--surface);font-size:.9rem;font-weight:var(--font-weight);color:var(--gray-10);cursor:pointer;border-radius:8px;flex:1;padding:12px 16px;transition:all .2s}.wizard-choice-button:hover{border-color:var(--primary-color)}.wizard-choice-button.selected{border-color:var(--primary-color);color:var(--primary-color);font-weight:var(--font-weight-bold);background:#016d8914}.wizard-file-dropzone{border:2px dashed var(--gray-4);background:var(--gray-1);cursor:pointer;color:var(--gray-8);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;transition:all .2s;display:flex}.wizard-file-dropzone:hover,.wizard-file-dropzone.active{border-color:var(--primary-color);color:var(--primary-color);background:#016d890a}.wizard-file-selected{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.wizard-file-remove{color:var(--gray-8);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px}.wizard-file-remove:hover{color:var(--dark-pink)}.wizard-lesson-plan-upload{flex-direction:column;gap:16px;display:flex}.wizard-extracting{background:var(--gray-1);color:var(--gray-9);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.wizard-extracted-config{flex-direction:column;gap:12px;display:flex}@media (width<=600px){.classroom-wizard{min-width:auto;padding:16px}.wizard-grade-options{grid-template-columns:repeat(2,1fr)}.wizard-choice-buttons{flex-direction:column}}.login-page{background:var(--surface);flex-direction:column;align-items:center;width:100vw;height:100vh;min-height:fit-content;display:flex}.login{width:480px;max-width:min(100vw,480px);height:650px;min-height:min(fit-content, 600px);max-height:min(100vh, fit-content);background:var(--gray-1);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #524b4933}.login img{max-width:114px}.login-title{text-align:center;border-bottom:.5px solid var(--gray-7);padding-bottom:10px}.login-content{flex-direction:column;align-self:center;align-items:center;gap:24px;width:100%;min-width:fit-content;max-height:100%;padding:0 18px;display:flex;overflow-y:auto}.login-footer{flex-direction:column;align-items:center;gap:8px;display:flex}@media screen and (width<=600px){.login{gap:4vh;margin:auto;position:absolute;top:10px;left:10px;transform:none}.login .row input{max-width:35vw}}@media screen and (width<=400px){.login{min-width:95vw;min-height:95vh}}.student-details{background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;gap:10px;width:70vw;max-height:60vh;padding:6px;display:flex;overflow:auto}.student-details-header{border-bottom:2px solid var(--gray-3);background:var(--primary-color);min-height:fit-content;color:var(--on-brand);border-radius:12px 12px 0 0;align-self:stretch;align-items:center;gap:25px;padding:12px 18px 12px 28px;display:flex}.student-details-header select{color:var(--on-brand);background-color:#0000;border:none;max-width:fit-content;max-height:fit-content}.student-details-content{align-self:stretch;overflow:auto}@media screen and (width<=600px){.student-details{width:95vw;max-width:100%;height:fit-content}}.rubric-editor{flex-direction:column;gap:16px;width:100%;min-width:min(640px,90vw);max-width:720px;display:flex}.rubric-editor-head{flex-direction:column;gap:4px;display:flex}.rubric-editor-head .hint{color:var(--gray-6)}.rubric-tabs{border-bottom:2px solid var(--gray-2);flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.rubric-tab{border:2px solid var(--gray-3);background:var(--surface);color:var(--gray-8);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.rubric-tab:hover{border-color:var(--gray-5)}.rubric-tab.active{border-color:var(--primary-color);color:var(--primary-color);background:#0080000a}.rubric-default-pill{text-transform:uppercase;letter-spacing:.03em;color:var(--gray-6);background:var(--gray-1);border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:600}.rubric-categories{flex-direction:column;gap:14px;display:flex}.rubric-category{border:2px solid var(--gray-3);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.rubric-category-header{align-items:center;gap:10px;display:flex}.rubric-category-name{border:2px solid var(--gray-3);color:var(--gray-10);border-radius:6px;flex:1;padding:8px 10px;font-size:.95rem;font-weight:600}.rubric-category-name:focus{border-color:var(--primary-color);outline:none}.rubric-category-header .hint{color:var(--gray-6);white-space:nowrap}.rubric-levels{flex-direction:column;gap:8px;display:flex}.rubric-level-row{grid-template-columns:36px 1fr;align-items:start;gap:10px;display:grid}.rubric-level-points{background:var(--primary-color);width:32px;height:32px;color:var(--on-brand);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.rubric-level-criteria{resize:vertical;border:2px solid var(--gray-3);width:100%;min-height:44px;color:var(--gray-10);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:.88rem}.rubric-level-criteria:focus{border-color:var(--primary-color);outline:none}.rubric-category-actions{gap:8px;display:flex}.rubric-text-btn{border:2px dashed var(--gray-4);color:var(--gray-7);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .15s;display:inline-flex}.rubric-text-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:#0080000a}.rubric-text-btn:disabled{opacity:.45;cursor:not-allowed}.rubric-text-btn.add-category{align-self:flex-start}.rubric-icon-btn{width:32px;height:32px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.rubric-icon-btn:hover{background:var(--dark-pink);color:var(--on-brand)}.rubric-preview{border:1px solid var(--gray-2);background:var(--gray-1);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.rubric-preview ul{flex-direction:column;gap:2px;margin:4px 0;padding-left:18px;display:flex}.rubric-preview .hint{color:var(--gray-6)}.rubric-error{color:var(--dark-pink);font-weight:600}.rubric-editor-actions{justify-content:space-between;gap:12px;padding-top:4px;display:flex}.classroom-theme-picker{flex-wrap:wrap;gap:10px;display:flex}.classroom-theme-swatch{border:2px solid var(--gray-2);cursor:pointer;border-radius:50%;width:36px;height:36px;padding:0;transition:transform .15s,border-color .15s}.classroom-theme-swatch:hover{transform:scale(1.08)}.classroom-theme-swatch.selected{border-color:var(--gray-10);box-shadow:0 0 0 2px var(--pure-white) inset}.student-row-info{flex:1 0 0;align-items:center;gap:16px;display:flex}.header-row-button{background:var(--gray-2);color:var(--gray-10);border-radius:7px;justify-content:center;align-self:stretch;align-items:center;gap:14px;max-height:60px;padding:10px 12px;display:flex;box-shadow:0 1px 3px #524b4980}.header-row-button:hover{cursor:pointer;background:var(--gray-3);transform:scale(1.02)}.header-row-button.view{background-color:var(--moss-green);color:var(--on-brand)}.header-row-button.view:hover{background-color:var(--moss-green-hover)}.co-teachers-section{background:var(--gray-1,var(--gray-1));border:1px solid var(--gray-3,var(--gray-3));border-radius:8px;flex-direction:column;align-self:stretch;gap:12px;padding:16px;display:flex}.co-teachers-section>label{text-align:left}.co-teacher-list{flex-direction:column;gap:8px;display:flex}.co-teacher-item{background:var(--pure-white,var(--surface));border:1px solid var(--gray-3,var(--gray-3));border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.co-teacher-item span.co-teacher-name{text-align:left;flex:1;align-items:center;gap:6px;display:flex}.co-teacher-primary-badge{color:var(--gold,var(--accent-amber));font-size:.85rem}.co-teacher-actions{align-items:center;gap:6px;display:flex}.co-teacher-promote{border:1px solid var(--gray-3,var(--gray-3));cursor:pointer;color:var(--gray-7,var(--text-muted));background:0 0;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;transition:background .15s,border-color .15s;display:flex}.co-teacher-promote.promote:hover{border-color:var(--gold,var(--accent-amber));color:var(--gold,var(--accent-amber));background:#d4a0171a}.co-teacher-promote.demote{color:var(--gold,var(--accent-amber));border-color:var(--gold,var(--accent-amber))}.co-teacher-promote.demote:hover{border-color:var(--dark-pink,#c44);color:var(--dark-pink,#c44);background:#cc44441a}.co-teacher-remove{width:28px;height:28px;color:var(--dark-pink,#c44);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.co-teacher-remove:hover{background:#cc44441a}.co-teacher-search-wrapper{align-self:stretch;position:relative}.co-teacher-dropdown{z-index:10;background:var(--pure-white,var(--surface));border:1px solid var(--gray-3,var(--gray-3));border-top:none;border-radius:0 0 6px 6px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 8px #0000001a}.co-teacher-dropdown-item{border:none;border-bottom:1px solid var(--gray-2,var(--gray-2));cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;transition:background .15s;display:flex}.co-teacher-dropdown-item:last-child{border-bottom:none}.co-teacher-dropdown-item:hover{background:var(--gray-1,var(--gray-1))}.co-teacher-dropdown-info{flex-direction:column;gap:2px;display:flex}.co-teacher-dropdown-email{color:var(--gray-6,var(--gray-8))}.co-teacher-dropdown-add-icon{color:var(--moss-green,#5a8a5a);font-size:1rem}.co-teacher-dropdown-empty{text-align:center;color:var(--gray-6,var(--gray-8));padding:12px}.customization-row{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.customization-field{flex-direction:column;gap:8px;min-width:200px;display:flex}@media screen and (width<=700px){.header-row-button{padding:5px 6px}}.item-selector{gap:20px;width:100%;display:flex}.item-column{box-sizing:border-box;width:50%}.item-column-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.item-list{margin:0;padding:0;list-style:none}.form.assignment-type{width:min(600px,95vw);min-width:min(600px,95vw);max-width:100%}.help-section{width:90%}.help-section video,.help-section img{width:100%}.sidebar-group .label-normal{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;-webkit-user-select:none;user-select:none;margin-bottom:.5rem;font-weight:600;display:block}.sidebar-group nav ul,.sidebar-group .col ul{margin:0 0 1.25rem;padding:0;list-style:none}.sidebar-group li{margin:0;padding:0}.sidebar-group .label-small{color:var(--gray-11);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.5rem;padding:.4rem .5rem;font-weight:500;line-height:1.4;transition:background-color .12s,color .12s;display:block}.sidebar-group .label-small:hover,.sidebar-group .label-small:focus{background-color:var(--gray-2);color:#111827}.sidebar-group .label-small[aria-current=true]{background-color:var(--gray-2);color:#4338ca;border-left:3px solid var(--accent-indigo);padding-left:.5rem;font-weight:600}.sidebar-group{margin-top:1.5rem;margin-bottom:.5rem}.sidebar-group-title{color:var(--gray-13);text-transform:none;letter-spacing:0;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:flex}.sidebar-divider{background-color:var(--gray-3);border:0;height:1px;margin:1rem 0}.sidebar-group::-webkit-scrollbar{width:6px}.sidebar-group::-webkit-scrollbar-track{background:0 0}.sidebar-group::-webkit-scrollbar-thumb{background-color:var(--gray-4);border-radius:999px}.sidebar-group::-webkit-scrollbar-thumb:hover{background-color:var(--gray-7)}.toc-root{margin:0;padding-left:0;list-style:none}.toc-section-header{cursor:pointer;align-items:flex-start;gap:.5rem;padding:.25rem 0;display:flex}.toc-section-text[aria-current=true],.toc-section-header[aria-current=true]{font-weight:600}.toc-children{margin:.25rem 0 .5rem;list-style:none;padding-left:1.5rem!important}.toc-child{cursor:pointer;padding:.15rem 0}.toc-child [aria-current=true]{font-weight:600;text-decoration:underline}.contact-us-modal{flex-direction:column;gap:16px;min-width:400px;padding:24px;display:flex}.contact-us-modal h2{margin:0}.contact-us-label{color:var(--gray-6);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.contact-us-select{border:1px solid var(--gray-3);background:var(--surface);border-radius:8px;padding:8px 12px;font-size:14px}.contact-us-textarea{border:1px solid var(--gray-3);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.contact-us-submit{background:var(--accent-indigo);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;align-self:flex-end;padding:10px 20px;font-size:14px;font-weight:600}.contact-us-submit:disabled{opacity:.5;cursor:not-allowed}.contact-us-submit:hover:not(:disabled){opacity:.9}.question-editor{background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;align-items:center;gap:20px;min-width:80vw;max-width:80vw;min-height:80vh;max-height:80vh;padding:12px 12px 35px;display:flex;overflow-y:scroll}.multiple-choice-options-default,.multiple-choice-options-visual{flex-direction:column;align-self:stretch;gap:10px;display:flex}.multiple-choice-option{flex-direction:row;flex:1 1 0;justify-content:space-between;align-self:center;align-items:center;gap:30px;width:100%;max-width:100%;display:inline-flex}.multiple-choice-option .action-buttions{min-width:fit-content;max-width:fit-content}.multiple-choice-option input[type=text]{flex-grow:1}.multiple-choice-option textarea{flex:1 1 0;width:90%;display:flex}.multiple-choice-option input[type=checkbox]{appearance:none;background-color:var(--surface);border:2px solid var(--gray-7);cursor:pointer;border-radius:10px;width:20px;height:20px}.multiple-choice-img{border:2px solid var(--gray-7);background-color:var(--gray-2);border-radius:6px;justify-content:center;width:100px;height:100px;padding:6px;display:flex;overflow:hidden}.multiple-choice-img img{width:80%;height:auto}.multi-part-assignment-component{flex-direction:column;align-items:center;gap:5%;width:100%;height:100%;display:flex}.multi-part-assignment-component textarea{width:100%;height:100%}.question-icon{background:var(--dark-green);color:var(--on-brand);text-align:center;white-space:nowrap;border-radius:6px;justify-content:flex-start;align-items:center;gap:2px;width:fit-content;height:30px;padding:8px;display:flex}.video-import-panel{width:90%;max-width:95vw;max-height:95vh}.video-import-panel .import-area{flex-direction:column;gap:12px;display:flex}.video-import-panel .import-box{border:2px dashed var(--gray-4);text-align:center;cursor:pointer;border-radius:12px;padding:30px;transition:background .2s}.video-import-panel .import-box:hover{background:var(--gray-1)}.import-subtext{color:var(--text-muted);margin-top:6px;font-size:12px}.video-source-toggle{background:var(--gray-2);border-radius:10px;gap:8px;width:fit-content;padding:4px;display:flex}.video-source-toggle .source-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.video-source-toggle .source-btn:hover{background:#ffffff80}.video-source-toggle .source-btn.active{background:var(--surface);color:var(--gray-13);box-shadow:0 1px 3px #0000001a}.video-source-toggle .source-icon{font-size:12px}.video-preview-area{width:100%}.preview-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.current-source-badge{background:var(--gray-2);color:var(--gray-11);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.change-video-btn{border:1px solid var(--gray-3);background:var(--surface);color:var(--gray-11);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;transition:all .15s}.change-video-btn:hover{background:var(--gray-1);border-color:var(--gray-4)}.video-preview{width:100%}.video-preview iframe{border:none;border-radius:8px;width:100%}.video-modal-overlay{z-index:1000;background:#00000073;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.video-modal{background:var(--surface);border-radius:16px;flex-direction:column;width:min(1100px,95vw);display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}.modal-header{border-bottom:1px solid var(--gray-2);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{font-size:18px;font-weight:700}.close-button{border:1px solid var(--gray-3);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 12px}.modal-body{grid-template-columns:1fr;width:100%;max-width:100%;max-height:85%;display:grid;overflow:auto}.modal-body.with-preview{grid-template-columns:1fr 1.15fr}.results-section{border-right:1px solid var(--gray-2);width:100%;padding:16px}.search-bar{gap:8px;margin-bottom:12px;display:flex}.search-bar input{border:1px solid var(--gray-3);border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.search-bar button{color:var(--on-brand);cursor:pointer;background:#111827;border:none;border-radius:10px;padding:10px 14px;font-size:14px}.search-bar button:disabled{opacity:.6;cursor:not-allowed}.error-text{color:var(--danger);margin-bottom:8px;font-size:13px}.results-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.result-item{text-align:left;border:1px solid var(--gray-2);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:8px;transition:box-shadow .15s,transform .15s;display:flex}.result-item:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0000000f}.result-item img{border-radius:8px;width:100%}.result-title{font-size:14px;font-weight:600;line-height:1.3}.result-channel{color:var(--text-muted);font-size:12px}.pagination{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.pagination button{border:1px solid var(--gray-3);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 12px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.preview-section{flex-direction:column;gap:12px;max-height:100%;padding:16px;display:flex}.video-player{aspect-ratio:16/9;width:100%}.video-player iframe{background:#000;border:0;border-radius:12px;width:100%;height:100%}.preview-details h4{font-size:16px;font-weight:700}.preview-meta{color:var(--text-muted);font-size:13px}.preview-description{color:var(--gray-11);background:var(--gray-1);border:1px solid var(--gray-2);white-space:pre-wrap;border-radius:10px;padding:10px;font-size:13px}.preview-actions{gap:8px;display:flex}.preview-actions button{border:1px solid var(--gray-3);background:var(--surface);cursor:pointer;border-radius:10px;padding:10px 14px}.preview-actions .use-video{background:var(--dark-green,var(--success));color:var(--on-brand);border:none}.pbs-section{flex-direction:column;gap:20px;display:flex}.pbs-instructions{background:var(--info-bg);border:1px solid var(--gray-3);border-radius:12px;padding:20px}.pbs-instructions h4{color:var(--info);margin:0 0 12px;font-size:15px}.pbs-instructions ol{color:var(--gray-11);margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.8}.pbs-instructions li{margin-bottom:4px}.pbs-url-input{flex-direction:column;gap:8px;display:flex}.pbs-url-input label{color:var(--gray-11);font-size:14px;font-weight:600}.pbs-example{background:var(--gray-1);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.pbs-example .example-label{color:var(--text-muted);font-size:12px;font-weight:500}.pbs-example code{color:var(--gray-11);word-break:break-all;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px}.pbs-url-display{word-break:break-all;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px!important}.pbs-preview-card{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border:1px solid var(--gray-3);border-radius:12px;align-items:flex-start;gap:16px;padding:20px;display:flex}.pbs-preview-card.large{text-align:center;flex-direction:column;align-items:center;padding:24px}.pbs-preview-card.large .pbs-preview-info{flex-direction:column;align-items:center;gap:12px;display:flex}.pbs-preview-icon{font-size:48px;line-height:1}.pbs-preview-info{flex:1;min-width:0}.pbs-preview-info h4{color:var(--gray-12);margin:0 0 8px;font-size:16px;font-weight:600}.pbs-resource-id{color:var(--text-muted);margin-bottom:8px;font-size:13px}.pbs-resource-id code{background:var(--gray-3);border-radius:4px;padding:2px 6px;font-family:SF Mono,Monaco,Cascadia Code,monospace}.pbs-verify-section{background:var(--warning-bg);border:1px solid #fcd34d;border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.pbs-verify-text{color:var(--warning);text-align:center;margin:0;font-size:13px;line-height:1.5}.pbs-selected-preview{width:100%}.pbs-selected-preview .pbs-preview-card{justify-content:center;min-height:200px}.map-browser{flex-direction:column;width:100%;height:100%;padding:8px;display:flex}.map-browser__header{border-bottom:1px solid var(--gray-3,var(--gray-3));flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:16px;display:flex}.map-browser__title{color:var(--gray-9,var(--gray-12));margin:0;font-size:1.3rem;font-weight:600}.map-browser__filters{background:var(--gray-2,var(--gray-2));border-radius:8px;gap:4px;padding:3px;display:flex}.map-browser__filter-btn{cursor:pointer;color:var(--gray-6,var(--text-muted));background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:500;transition:all .15s}.map-browser__filter-btn--active{background:var(--surface);color:var(--gray-9,var(--gray-12));box-shadow:0 1px 3px #0000001a}.map-browser__create-btn{background:var(--primary-color);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:8px 20px;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.map-browser__create-btn:hover{background:var(--success)}.map-browser__grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:20px 0;display:grid;overflow-y:auto}.map-browser__loading,.map-browser__empty{text-align:center;color:var(--gray-5,var(--gray-7));grid-column:1/-1;padding:40px 0;font-size:.95rem}.map-browser__card{border:2px solid var(--gray-3,var(--gray-3));cursor:pointer;background:var(--surface);border-radius:12px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.map-browser__card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.map-browser__thumb{aspect-ratio:1;object-fit:cover;background:var(--gray-2,var(--gray-2));width:100%;display:block}.map-browser__thumb--placeholder{background:linear-gradient(135deg,#4a7c3f 0%,#c4a882 50%,#4a8db7 100%)}.map-browser__card-info{align-items:center;gap:6px;padding:8px 10px;display:flex}.map-browser__card-name{color:var(--gray-8,var(--gray-11));white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.map-browser__public-badge{background:var(--success-bg);color:var(--primary-color);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:600}.map-browser__card-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.map-browser__card:hover .map-browser__card-actions{opacity:1}.map-browser__action-btn{color:var(--surface);cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:background .15s;display:flex}.map-browser__edit-btn:hover{background:#1e64c8cc}.map-browser__delete-btn:hover{background:#c81e1ecc}.map-studio{flex-direction:column;width:100%;height:100%;padding:8px;display:flex}.map-studio__header{border-bottom:1px solid var(--gray-3,#e0e0e0);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:12px;display:flex}.map-studio__back-btn{border:1px solid var(--gray-4,#bdbdbd);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;transition:background .15s;display:flex}.map-studio__back-btn:hover{background:var(--gray-2,#eee)}.map-studio__name-input{border:1px solid var(--gray-3,#e0e0e0);border-radius:8px;flex:1;min-width:200px;padding:8px 12px;font-size:.95rem}.map-studio__name-input:focus{border-color:var(--primary-color);outline:none}.map-studio__public-toggle{color:var(--gray-7,#616161);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:flex}.map-studio__save-btn{background:var(--primary-color);color:var(--on-brand);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.map-studio__save-btn:hover{background:#1b5e20}.map-studio__save-btn:disabled{opacity:.6;cursor:not-allowed}.map-studio__body{flex:1;gap:16px;padding-top:12px;display:flex;overflow:hidden}.map-studio__sidebar{flex-direction:column;flex-shrink:0;gap:12px;width:200px;display:flex;overflow-y:auto}.map-studio__section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-6,#757575);margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.map-studio__tool-row{flex-direction:column;gap:4px;display:flex}.map-studio__tool-btn{border:1px solid var(--gray-3,#e0e0e0);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;transition:all .15s;display:flex}.map-studio__tool-btn:hover{background:var(--gray-2,#eee)}.map-studio__tool-btn--active{background:var(--primary-color);color:var(--on-brand);border-color:var(--primary-color)}.map-studio__palette-grid{flex-direction:column;gap:3px;display:flex}.map-studio__palette--props{flex-direction:column;display:flex;overflow:hidden}.map-studio__prop-search{border:1px solid var(--gray-3,#e0e0e0);border-radius:6px;flex-shrink:0;width:100%;margin-bottom:8px;padding:6px 10px;font-size:.8rem}.map-studio__prop-search:focus{border-color:var(--primary-color);outline:none}.map-studio__categories-scroll{flex:1;max-height:400px;overflow-y:auto}.map-studio__category{margin-bottom:2px}.map-studio__category-header{background:var(--gray-2,#eee);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;width:100%;color:var(--gray-6,#757575);border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:.72rem;font-weight:700;transition:background .1s;display:flex}.map-studio__category-header:hover{background:var(--gray-3,#e0e0e0)}.map-studio__category-chevron{color:var(--gray-5,#9e9e9e);width:10px;font-size:.65rem}.map-studio__category-count{color:var(--gray-5,#9e9e9e);margin-left:auto;font-size:.65rem;font-weight:400}.map-studio__subcategory{margin-bottom:2px;padding-left:8px}.map-studio__subcategory-label{color:var(--gray-5,#9e9e9e);padding:4px 8px 2px;font-size:.65rem;font-weight:600;display:block}.map-studio__palette-item-row{align-items:center;display:flex;position:relative}.map-studio__palette-item-row .map-studio__palette-item{flex:1;min-width:0}.map-studio__palette-item-actions{opacity:0;flex-shrink:0;gap:2px;padding-right:4px;transition:opacity .15s;display:flex}.map-studio__palette-item-row:hover .map-studio__palette-item-actions{opacity:1}.map-studio__palette-item-actions .icon-button{min-width:unset;padding:2px 4px}.map-studio__palette-item{cursor:pointer;color:var(--gray-8,#424242);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:5px 8px;font-size:.78rem;transition:all .1s;display:flex}.map-studio__palette-item:hover{background:var(--gray-2,#eee)}.map-studio__palette-item--active{border-color:var(--primary-color);background:#e8f5e9;font-weight:600}.map-studio__palette-item[draggable=true]{cursor:grab}.map-studio__palette-item[draggable=true]:active{cursor:grabbing}.map-studio__color-swatch{border:1px solid #00000026;border-radius:3px;flex-shrink:0;width:16px;height:16px}.map-studio__prop-swatch{object-fit:contain;width:24px;height:24px;image-rendering:pixelated;flex-shrink:0}.map-studio__hint{color:var(--gray-5,#9e9e9e);margin:0;font-size:.78rem;line-height:1.4}.map-studio__generate-section{border-bottom:1px solid var(--gray-3,#ddd);margin-bottom:8px;padding:8px 0}.map-studio__canvas-wrap{background:var(--gray-2,#eee);border-radius:8px;flex:1;padding:8px;position:relative;overflow:auto}.map-studio__canvas-wrap canvas{cursor:crosshair;border-radius:4px;box-shadow:0 2px 8px #00000026}.map-studio__zoom-controls{z-index:10;background:#fffffff2;border-radius:6px;align-items:center;gap:6px;width:fit-content;margin-bottom:8px;padding:4px 8px;display:flex;position:sticky;top:8px;left:0;box-shadow:0 1px 4px #0000001f}.map-studio__zoom-btn{cursor:pointer;color:var(--gray-7,#616161);background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:.85rem;transition:background .15s}.map-studio__zoom-btn:hover{background:var(--gray-3,#e0e0e0)}.map-studio__zoom-label{color:var(--gray-7,#616161);text-align:center;min-width:40px;font-size:.75rem;font-weight:600}.map-studio__canvas-wrap--move canvas{cursor:grab}.map-studio__canvas-wrap--move canvas:active{cursor:grabbing}.map-studio__canvas-wrap--rotate canvas{cursor:pointer}.map-studio__canvas-wrap--pan{cursor:grab}.map-studio__canvas-wrap--pan:active{cursor:grabbing}.map-studio__context-menu{z-index:20;background:var(--surface);border:1px solid var(--gray-3,#e0e0e0);border-radius:8px;min-width:140px;padding:4px;position:absolute;box-shadow:0 4px 16px #00000026}.map-studio__context-menu-item{cursor:pointer;width:100%;color:var(--gray-8,#424242);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;transition:background .1s;display:flex}.map-studio__context-menu-item:hover{background:var(--gray-2,#eee)}.map-studio__context-menu-item--danger:hover{color:#c62828;background:#fbe9e7}.map-studio__color-picker-section{border-bottom:1px solid var(--gray-3,#e0e0e0);margin-bottom:8px;padding-bottom:8px}.map-studio__color-input{cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:4px;flex-shrink:0;width:24px;height:24px;padding:0}.assignment-editor-title,.optional-book-details{align-self:stretch;align-items:center;gap:15px;padding:12px 0 18px;display:flex}.book-details-editor{flex-direction:column;width:100%;display:flex}.book-details-editor input{flex:1 0 0;height:52px}.optional-book-details select{height:52px}.book-details-editor input.title{letter-spacing:.52px;font-size:26px;line-height:140%}.book-details-editor input.normal,.optional-book-details select.normal{letter-spacing:.64px;font-size:16px;line-height:150%}.optional-book-details input.normal{height:52px}.assignment-editor-title img{width:48px;height:48px}.book-details-editor .file-input{height:52px}.assignment-sidebar-content{flex-direction:column;align-self:stretch;align-items:center;gap:10px;padding:0 5px;display:flex;overflow-y:auto}.assignment-sidebar-content .file-upload-button{height:45px}.assignment-attribute-container{border-top:solid 2px var(--gray-3);flex-direction:column;align-self:stretch;align-items:center;gap:10px;padding-top:10px;display:flex}.assignment-attribute-container .book-card-cover{margin:0 auto;display:block}.from-to{border-radius:12px;justify-content:center;align-self:stretch;align-items:flex-start;gap:12px;padding:5px 0;display:flex}.assignment-sidebar-content input[type=text],input[type=number],input[type=datetime-local]{letter-spacing:.56px;width:100%;height:45px;min-height:45px;font-size:14px;line-height:150%}.assignment-sidebar-content select{letter-spacing:.56px;font-size:14px;line-height:150%}.assignment-sidebar-content .app-button{align-self:stretch}.assignment-editor-actions{justify-content:center;align-self:stretch;align-items:center;gap:20px;padding:12px 26px 0;display:flex}input#book-cover-upload{opacity:0;max-width:0}.assignment-content-form{border:2px solid var(--gray-2);background:var(--gray-1);color:var(--gray-10);border-radius:12px;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;gap:20px;width:100%;height:100%;padding:30px 40px;display:flex;position:relative;overflow-y:auto}.conversation-objectives-field{flex-direction:column;gap:8px;display:flex}.conversation-objectives-editor{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.conversation-objectives-editor li{align-items:center;gap:8px;display:flex}.conversation-objectives-editor__num{text-align:right;width:18px;color:var(--gray-7);font-variant-numeric:tabular-nums;flex:none}.conversation-objectives-editor input{border:1px solid var(--gray-3);min-width:0;font:inherit;color:var(--gray-9);background:var(--surface);border-radius:6px;flex:auto;padding:8px 10px}.conversation-objectives-editor input:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.conversation-objectives-editor__remove{cursor:pointer;color:var(--gray-7);background:0 0;border:none;border-radius:6px;flex:none;padding:6px 8px}.conversation-objectives-editor__remove:hover{color:var(--dark-pink);background:var(--gray-1)}.progress-report-table{border:1px solid var(--gray-3);width:100%}.progress-report-table th{background-color:var(--gray-2);color:var(--gray-11);text-align:left;padding:12px;font-size:16px}.progress-report-table td{border-bottom:1px solid var(--gray-3);padding:12px;font-size:14px}.progress-report-table tr:nth-child(2n){background-color:var(--gray-1)}.progress-report-table tr:hover{background-color:var(--gray-2)}@media screen and (width<=600px){.progress-report-table table,.progress-report-table thead,.progress-report-table tbody,.progress-report-table th,.progress-report-table td,.progress-report-table tr{display:block}.progress-report-table th{position:absolute;top:-9999px;left:-9999px}.progress-report-table tr{border:1px solid var(--gray-4)}.progress-report-table td{border:none;border-bottom:1px solid var(--gray-3);text-align:right;padding-left:50%;position:relative}.progress-report-table td:before{white-space:nowrap;text-align:left;width:45%;padding-right:10px;font-weight:700;position:absolute;top:12px;left:6px}.progress-report-table td:first-of-type:before{content:"Active"}.progress-report-table td:nth-of-type(2):before{content:"Name"}.progress-report-table td:nth-of-type(3):before{content:"Option"}}.graph-container{border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;place-content:center;align-self:stretch;align-items:center;gap:25px;width:100%;height:100%;max-height:100%;display:flex;position:relative;overflow-y:auto}.graph-container .labeled-input{align-self:unset;align-items:center;width:40%;min-width:180px;max-width:180px;max-height:50px}.graph-container .labeled-input input{align-self:unset;max-width:100px}.graph-container .labeled-input label{width:40%;min-width:70px}.bar-chart{align-self:stretch;width:calc(100% - 20px);height:auto;display:flex;overflow:auto}.missed-words-table-container table th,td{border-collapse:collapse;table-layout:auto;width:fit-content;height:fit-content;font-size:20px}.missed-words-table{border-collapse:collapse;table-layout:fixed;border-radius:10px;align-self:flex-start;width:100%;font-size:20px;position:absolute;top:0;left:0}.missed-words-table tr{border-bottom:1px solid var(--gray-3)}.missed-words-table tbody{overflow-y:auto}.missed-words-table tr:first-child th:first-child{border-top-left-radius:10px}.missed-words-table tr:first-child th:last-child{border-top-right-radius:10px}.missed-words-table tr:last-child td:first-child{border-bottom-left-radius:10px}.missed-words-table tr:last-child td:last-child{border-bottom-right-radius:10px}.missed-words-table td{box-shadow:0 0 0 1pt var(--gray-2);background:var(--gray-2)}.missed-words-table th{box-shadow:0 0 0 1pt var(--gray-2);background-color:var(--surface)}.missed-words-table th,.missed-words-table td{display:auto;text-align:center;width:fit-content;max-width:fit-content;height:100%;padding:8px;font-size:32px}.graph-container .student-insights{border-collapse:collapse;table-layout:fixed;border-radius:10px;flex-direction:column;align-self:flex-start;align-items:center;width:100%;font-size:20px;display:flex;position:absolute;top:0;left:0}.student-insights .missed-words-table{top:unset;position:unset}.graph-container .tab-headers{background-color:var(--surface);z-index:10;width:100%;margin-left:unset;margin-right:unset;border-bottom:1px solid #ddd;justify-content:space-around;display:flex;position:sticky;top:0;left:0;right:0}.graph-container canvas{min-width:100%;min-height:100%}.domain-toggle{background:var(--gray-2);border-radius:8px;gap:0;width:fit-content;margin:.75rem auto;padding:3px;display:flex}.domain-toggle-option{color:var(--gray-6);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.domain-toggle-option:hover{color:var(--gray-8)}.domain-toggle-option.active{background:var(--surface);color:var(--gray-9);box-shadow:0 1px 3px #0000001a}.question-analytics-container{width:100%;height:100%;position:relative}.question-analytics-loading{flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:40px;display:flex}.question-analytics-loading .loading-text{color:var(--gray-9);font-size:16px}.question-analytics-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;display:flex}.question-analytics-error .error-message{color:var(--dark-pink);font-size:16px}.question-analytics-error .retry-button{background:var(--dark-pink);color:var(--on-brand);cursor:pointer;border:none;border-radius:6px;margin-top:10px;padding:8px 16px;font-size:14px}.question-analytics-error .retry-button:hover{opacity:.9}.question-analytics-empty{color:var(--gray-8);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.question-analytics-empty .empty-message{font-size:16px}.missed-words-table .summary-row td{background:var(--gray-3);font-weight:600}.key-insights-container{box-sizing:border-box;width:100%;padding:24px;overflow-y:auto}.insights-grid{grid-template-columns:repeat(2,1fr);gap:20px;width:100%;display:grid}@media (width<=1024px){.insights-grid{grid-template-columns:1fr}}.insight-card{background:var(--surface);border:1px solid var(--gray-2);border-radius:12px;flex-direction:column;gap:12px;min-height:280px;padding:20px;display:flex;box-shadow:0 2px 8px #0000000f}.insight-header{align-items:center;gap:12px;display:flex}.insight-header h3{color:var(--text-primary,var(--gray-13));margin:0;font-size:18px;font-weight:600}.insight-icon{border-radius:8px;padding:8px;font-size:20px}.insight-icon.warning{color:var(--warning);background:var(--gray-1)}.insight-icon.success{color:var(--success);background:var(--success-bg)}.insight-icon.info{color:var(--info);background:var(--info-bg)}.insight-icon.skills{color:var(--accent-violet);background:var(--gray-1)}.insight-description{color:var(--text-secondary,var(--text-muted));margin:0;font-size:14px;line-height:1.4}.insight-list{flex-direction:column;flex:1;gap:8px;display:flex}.insight-item{background:var(--gray-1,var(--gray-1));border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:background-color .15s,transform .15s;display:flex}.insight-item:hover{background:var(--gray-2,var(--gray-2));transform:translate(2px)}.rank{background:var(--gray-2,var(--gray-3));width:28px;height:28px;color:var(--text-secondary,var(--text-muted));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.rank.trophy{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.item-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.item-name{color:var(--text-primary,var(--gray-12));white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.item-type,.item-meta{color:var(--text-secondary,var(--gray-7));font-size:12px}.item-grade{border-radius:20px;flex-shrink:0;padding:6px 12px;font-size:15px;font-weight:700}.grade-excellent{background:var(--success-bg);color:var(--success)}.grade-good,.grade-needs-work{background:var(--warning-bg);color:var(--warning)}.grade-struggling{color:var(--danger);background:linear-gradient(135deg,#fecaca,#fca5a5)}.no-data{color:var(--text-secondary,var(--gray-7));text-align:center;margin:0;padding:20px;font-size:14px}.insights-empty-state{text-align:center;color:var(--text-secondary,var(--text-muted));flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.insights-empty-state .empty-icon{color:var(--gray-3,var(--gray-4));margin-bottom:20px;font-size:48px}.insights-empty-state h3{color:var(--text-primary,var(--gray-12));margin:0 0 8px;font-size:20px;font-weight:600}.insights-empty-state p{max-width:300px;margin:0;font-size:15px}.struggling-assignments{border-top:3px solid #f97316}.struggling-students{border-top:3px solid #ef4444}.top-students{border-top:3px solid var(--success)}.assignment-types{border-top:3px solid #3b82f6}.skills-performance{border-top:3px solid #8b5cf6}.completion-stats{border-top:3px solid #0ea5e9}.insight-item.clickable{cursor:pointer}.insight-item.clickable:hover{background:var(--gray-2,var(--gray-3));transform:translate(4px)}.insight-item.clickable:active{transform:translate(2px)}.item-arrow{color:var(--text-secondary,var(--gray-7));opacity:0;flex-shrink:0;font-size:12px;transition:opacity .15s,transform .15s}.insight-item.clickable:hover .item-arrow{opacity:1;transform:translate(2px)}.type-group{flex-direction:column;gap:4px;display:flex}.insight-item.expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.insight-item.expandable:hover{background:var(--gray-2,var(--gray-3))}.expand-icon{font-size:10px;transition:transform .2s}.nested-assignments{border-left:2px solid var(--gray-2,var(--gray-3));flex-direction:column;gap:4px;margin-left:14px;padding-left:16px;animation:.2s ease-out slideDown;display:flex}.insight-item.nested{background:var(--pure-white,var(--surface));border:1px solid var(--gray-2,var(--gray-3));padding:10px 12px}.insight-item.nested:hover{background:var(--gray-1,var(--gray-1));border-color:var(--gray-3,var(--gray-4))}.insight-item.nested .item-name{font-size:14px}.insight-item.nested .item-grade{padding:4px 10px;font-size:13px}.domain-indicator{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.insight-item.criterion{background:var(--pure-white,var(--surface))}.item-score{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:4px 10px;font-size:13px;font-weight:700}.advanced-analytics-container{background:var(--gray-1);border-radius:12px;flex-direction:column;gap:1.5rem;width:100%;height:100%;padding:1.5rem;display:flex;overflow-y:auto}.advanced-analytics-header{border-bottom:1px solid var(--gray-3);flex-wrap:wrap;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.advanced-analytics-header h2{color:var(--gray-9);flex:1;margin:0;font-size:1.5rem;font-weight:600}.advanced-analytics-header .header-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.advanced-analytics-header .header-info h2{margin:0}.advanced-analytics-header .assignment-title{color:var(--gray-6);font-size:.875rem}.back-button{background:var(--surface);border:1px solid var(--gray-3);color:var(--gray-7);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.back-button:hover{background:var(--gray-2);border-color:var(--gray-4)}.domain-selector{align-items:center;gap:.5rem;display:flex}.domain-selector label{color:var(--gray-6);font-size:.875rem;font-weight:500}.domain-selector select{border:1px solid var(--gray-3);background:var(--surface);color:var(--gray-8);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.875rem}.domain-badge{color:var(--on-brand);text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.advanced-analytics-charts{flex-direction:column;gap:2rem;display:flex}.chart-section{background:var(--surface);border:1px solid var(--gray-2);border-radius:12px;padding:1.5rem}.chart-section h3{color:var(--gray-8);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.chart-description{color:var(--gray-6);margin:0 0 1rem;font-size:.875rem}.chart-wrapper{width:100%;height:300px;position:relative}.chart-wrapper-large{height:400px}.analytics-summary{background:var(--surface);border:1px solid var(--gray-2);border-radius:12px;padding:1.5rem}.analytics-summary h3{color:var(--gray-8);margin:0 0 1rem;font-size:1.125rem;font-weight:600}.summary-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.summary-card{background:var(--gray-1);border:1px solid var(--gray-2);border-radius:8px;padding:1rem}.summary-card h4{color:var(--gray-7);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.score-display{align-items:baseline;gap:.25rem;margin-bottom:.5rem;display:flex}.score-value{color:var(--gray-9);font-size:2rem;font-weight:700}.score-max{color:var(--gray-5);font-size:1rem}.score-bar{background:var(--gray-2);border-radius:4px;height:8px;margin-bottom:.75rem;overflow:hidden}.score-bar-fill{border-radius:4px;height:100%;transition:width .3s}.summary-stats{flex-direction:column;gap:.375rem;display:flex}.stat{justify-content:space-between;font-size:.8125rem;display:flex}.stat-label{color:var(--gray-5)}.stat-value{color:var(--gray-7);font-weight:500}.stat.diff.positive .stat-value{color:var(--success)}.stat.diff.negative .stat-value{color:var(--danger)}.loading-spinner{color:var(--gray-5);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;font-size:1rem;display:flex}.loading-spinner img{width:120px;height:auto}.no-data-message{color:var(--gray-5);text-align:center;justify-content:center;align-items:center;padding:3rem;font-size:1rem;display:flex}.advanced-analytics-button{color:var(--on-brand);cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 4px #2563eb33}.advanced-analytics-button:hover{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);transform:translateY(-1px);box-shadow:0 4px 8px #2563eb4d}.advanced-analytics-button:disabled{background:var(--gray-4);cursor:not-allowed;box-shadow:none;transform:none}.advanced-analytics-button svg{width:16px;height:16px}.analytics-tab-actions{background:var(--gray-1);border-top:1px solid var(--gray-2);justify-content:flex-end;padding:.75rem 1rem;display:flex}.submission-skills-content{flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem;display:flex}.skills-header{border-bottom:1px solid var(--gray-3);justify-content:flex-start;align-items:center;gap:1rem;padding-bottom:.5rem;display:flex}.submission-comparison-content{flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem;display:flex}.submission-comparison-content .chart-section{background:var(--surface);border:1px solid var(--gray-2);border-radius:12px;width:100%;padding:1.5rem}.grade-comparison-section{padding-bottom:1rem}.grade-comparison-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;display:grid}.grade-comparison-card{background:var(--gray-1);border:1px solid var(--gray-2);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:1.25rem 1rem;display:flex}.grade-comparison-card .grade-label{color:var(--gray-6);margin-bottom:.5rem;font-size:.875rem}.grade-comparison-card .grade-value{color:var(--gray-9);font-size:1.75rem;font-weight:700}.grade-comparison-card.diff.positive .grade-value{color:var(--success)}.grade-comparison-card.diff.negative .grade-value{color:var(--danger)}.not-completed-banner{background:var(--warning-bg);border:1px solid var(--accent-amber);border-radius:10px;align-items:center;gap:1rem;margin:1rem 1rem 0;padding:1rem 1.25rem;display:flex}.not-completed-icon{font-size:1.75rem;line-height:1}.not-completed-text{flex-direction:column;gap:.25rem;display:flex}.not-completed-title{color:var(--warning);font-size:1rem;font-weight:600}.not-completed-description{color:var(--warning);font-size:.875rem}.submission-questions-content{flex-direction:column;gap:1.5rem;width:100%;padding:1.5rem;display:flex}.questions-insights-header{border-bottom:1px solid var(--gray-3);padding-bottom:.5rem}.questions-insights-header h3{color:var(--gray-8);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.questions-insights-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;width:100%;display:grid}.question-insight-card{background:var(--surface);border:1px solid var(--gray-2);border-radius:10px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.question-insight-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.question-number{color:var(--gray-8);background:var(--gray-2);border-radius:6px;padding:.25rem .5rem;font-size:1rem;font-weight:700}.question-type-badge{color:var(--gray-6);background:var(--gray-1);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.question-text-preview{color:var(--gray-6);min-height:2.8em;font-size:.8125rem;line-height:1.4}.question-insight-scores{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.question-insight-scores .score-item{background:var(--gray-1);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.question-insight-scores .score-item.class-avg{background:var(--gray-2)}.question-insight-scores .score-item.diff{background:var(--gray-1)}.question-insight-scores .score-item.diff.positive .score-value{color:var(--success);font-weight:600}.question-insight-scores .score-item.diff.negative .score-value{color:var(--danger);font-weight:600}.question-insight-scores .score-item.correct{background:var(--success-bg);border:1px solid #86efac}.question-insight-scores .score-item.correct .score-value{color:var(--success);font-weight:600}.question-insight-scores .score-item.incorrect{background:var(--danger-bg);border:1px solid #fca5a5}.question-insight-scores .score-item.incorrect .score-value{color:var(--danger);font-weight:600}.question-insight-scores .score-label{color:var(--gray-6);font-size:.8125rem}.question-insight-scores .score-value{color:var(--gray-8);font-size:.875rem;font-weight:500}.question-progress{margin-top:.25rem}.progress-bar-container{background:var(--gray-2);border-radius:4px;height:8px;position:relative;overflow:visible}.progress-bar-fill.student{background:var(--info);border-radius:4px;height:100%;transition:width .3s}.progress-bar-marker{background:var(--text-muted);border-radius:2px;width:3px;height:12px;position:absolute;top:-2px;transform:translate(-50%)}.submission-skills-content .summary-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;width:100%;display:grid}.submission-skills-content .summary-card{background:var(--surface);border:1px solid var(--gray-2);border-radius:8px;padding:1rem}.submission-skills-content .summary-card h4{color:var(--gray-7);margin:0 0 .75rem;font-size:.875rem;font-weight:600}@media (width<=768px){.advanced-analytics-container{padding:1rem}.advanced-analytics-header{flex-direction:column;align-items:flex-start}.chart-wrapper{height:250px}.summary-grid{grid-template-columns:1fr}.submission-skills-content,.submission-comparison-content{padding:1rem}.submission-skills-content .summary-grid,.grade-comparison-grid{grid-template-columns:1fr}.submission-questions-content{padding:1rem}.questions-insights-grid{grid-template-columns:1fr}}.common-patterns-panel{flex-direction:column;gap:1rem;width:100%;height:100%;min-height:0;padding:.5rem .25rem;display:flex}.pattern-distribution{background:radial-gradient(circle at 0% 0%, #c7afee59 0%, transparent 55%), radial-gradient(circle at 100% 100%, #fcf09573 0%, transparent 55%), linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border:1px solid #6816891f;border-radius:16px;flex-shrink:0;height:240px;padding:.875rem 1rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #6816890f}.pattern-distribution .bar-chart{width:100%;height:100%;overflow:hidden}.pattern-distribution canvas{min-width:0!important;max-width:100%!important;min-height:0!important;max-height:100%!important}.pattern-scroll-area{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding-right:.25rem;display:flex;overflow-y:auto}.pattern-scroll-area::-webkit-scrollbar{width:8px}.pattern-scroll-area::-webkit-scrollbar-thumb{background:#6816892e;border-radius:4px}.pattern-scroll-area::-webkit-scrollbar-thumb:hover{background:#68168959}.pattern-filter-chips{z-index:2;background:linear-gradient(to bottom, var(--gray-1) 70%, transparent);flex-wrap:wrap;gap:.5rem;padding:.25rem 0 .5rem;display:flex;position:sticky;top:0}.pattern-chip{border:1.5px solid var(--light-purple);background:var(--surface);color:var(--purple);cursor:pointer;border-radius:999px;padding:.4rem .95rem;font-size:.8125rem;font-weight:600;transition:all .18s}.pattern-chip:hover{background:var(--surface-sunken);transform:translateY(-1px);box-shadow:0 2px 6px #6816891f}.pattern-chip.active{background:linear-gradient(135deg, var(--purple) 0%, var(--dark-pink) 100%);color:var(--on-brand);border-color:#0000;box-shadow:0 2px 8px #68168947}.pattern-groups{flex-direction:column;gap:1.25rem;display:flex}.pattern-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--purple);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8125rem;font-weight:700;display:inline-flex}.pattern-group-title:before{content:"";background:linear-gradient(135deg, var(--purple), var(--dark-pink));border-radius:50%;width:8px;height:8px;display:inline-block}.pattern-cards{flex-direction:column;gap:.625rem;display:flex}.pattern-card{background:var(--surface);border:1px solid var(--gray-2);border-radius:14px;transition:box-shadow .18s,transform .18s,border-color .18s;overflow:hidden}.pattern-card:hover{border-color:var(--light-purple);transform:translateY(-1px);box-shadow:0 4px 14px #6816891a}.pattern-card-header{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;display:flex}.pattern-card-header:hover{background:var(--surface)}.pattern-card-header>svg{color:var(--purple);flex-shrink:0}.pattern-card-headings{flex:1;min-width:0}.pattern-card-headings h4{color:var(--gray-11);margin:0;font-size:.9375rem;font-weight:600}.pattern-card-headings p{color:var(--gray-9);margin:.25rem 0 0;font-size:.8125rem}.pattern-card-stats{flex-shrink:0;align-items:center;gap:.875rem;display:flex}.pattern-stat{color:var(--gray-10);background:var(--surface-sunken);border-radius:999px;padding:.25rem .625rem;font-size:.8125rem}.pattern-stat strong{color:var(--purple);font-weight:700}.pattern-stat-pct{color:var(--gray-9);font-weight:500}.pattern-trend{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8125rem;display:inline-flex;box-shadow:0 1px 3px #00000014}.pattern-trend-up{background:var(--danger-bg);color:var(--danger)}.pattern-trend-down{background:var(--success-bg);color:var(--success)}.pattern-trend-flat{background:var(--gray-2);color:var(--gray-9)}.pattern-trend-new{background:var(--warning-bg);color:var(--warning)}.pattern-generate-lesson{background:linear-gradient(135deg, var(--purple) 0%, var(--dark-pink) 100%);color:var(--on-brand);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 2px 6px #68168938}.pattern-generate-lesson:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #68168952}.pattern-generate-lesson:disabled{cursor:progress;opacity:.7}.pattern-card-body{border-top:1px dashed var(--gray-3);background:var(--surface);padding:.75rem 1rem 1rem 2.5rem}.pattern-sample-note,.pattern-empty{color:var(--gray-9);margin:0 0 .5rem;font-size:.8125rem}.pattern-view-all{color:var(--purple);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600}.pattern-view-all:hover{color:var(--dark-pink);text-decoration:underline}.pattern-modal-content{flex-direction:column;gap:1rem;max-width:640px;max-height:70vh;display:flex;overflow-y:auto}.pattern-modal-title{color:var(--purple);margin:0;font-size:1.125rem;font-weight:700}.pattern-members-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pattern-member{background:linear-gradient(135deg, var(--surface) 0%, var(--gray-2) 100%);border:1px solid #68168914;border-radius:10px;padding:.75rem .875rem}.pattern-member-text{color:var(--gray-11);font-size:.875rem}.pattern-member-meta{color:var(--purple);margin-top:.25rem;font-size:.75rem;font-weight:500}.home-page{flex-direction:column;justify-content:center;align-items:center;display:flex}.google-btn{background:var(--surface);color:#3c4043;cursor:pointer;border:1px solid #dadce0;border-radius:4px;align-items:center;gap:12px;height:40px;padding:0 16px;font-family:Roboto,Arial,sans-serif;font-size:14px;font-weight:500;transition:background-color .2s,box-shadow .2s;display:inline-flex}.google-btn:hover{background:#f8f9fa;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.google-btn:active{background:#f1f3f4}.google-btn__icon{flex-shrink:0;width:18px;height:18px}.google-btn__label{white-space:nowrap}.account-type-select{border:2px solid var(--gray-3);border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center;width:290px;height:95px;padding:20px;display:flex}.account-type-select.selected{border:2px solid var(--dark-green)}.account-type-select:hover{cursor:pointer;background-color:var(--gray-3)}.account-type-select img{width:80px;max-height:70px}.subscription-select{border:2px solid var(--gray-3);border-radius:12px;flex-direction:row;justify-content:space-between;align-items:center;width:290px;padding:20px;display:flex}.subscription-select.selected{border:2px solid var(--dark-green)}.subscription-select:hover{cursor:pointer;background-color:var(--gray-3)}.subscription-select img{height:70px}.subscription-select:focus-within{border:2px solid var(--dark-green)}.evaluation-report{padding:4px 4px 16px}.evaluation-report h2{margin:8px 0 2px}.evaluation-report h3{margin:0 0 8px;font-size:1rem}.evaluation-report .hint{color:var(--gray-6);margin:4px 0;font-size:.85rem}.report-header{align-items:center}.report-section{border-top:1px solid var(--gray-2);margin-top:20px;padding-top:12px}.report-row{grid-template-columns:110px 1fr 44px minmax(0,1.4fr);align-items:center;gap:10px;padding:6px 0;display:grid}.report-row-label{font-size:.9rem}.report-row-value{text-align:right;font-weight:600}.report-row-note{color:var(--gray-6);font-size:.8rem}.report-bar{background:var(--gray-2);border-radius:4px;height:8px;overflow:hidden}.report-bar-fill{background:var(--primary-color);border-radius:4px;height:100%}.report-notice{border-left:4px solid var(--accent-sky,#0ea5e9);background:var(--gray-1);border-radius:8px;margin-top:12px;padding:10px 14px;font-size:.9rem}.report-task{border-bottom:1px solid var(--gray-2);padding:12px 0}.report-task:last-child{border-bottom:none}.report-chip{background:var(--gray-2);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem}.report-chip.is-blocking{background:var(--dark-red,#c0392b);color:var(--on-brand)}.report-audio{width:100%;margin:8px 0}.report-evidence{background:var(--gray-1);border-radius:6px;margin:8px 0;padding:8px 12px}.report-evidence p{margin:2px 0 0;font-size:.9rem}.report-flags{color:var(--gray-6);margin:6px 0 0;padding-left:20px;font-size:.85rem}.report-override{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.report-override input[type=text]{flex:1;min-width:160px}.report-link-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.report-link-btn:hover{text-decoration:underline}@media (width<=768px){.report-row{grid-template-columns:90px 1fr 40px}.report-row-note{grid-column:1/-1}}.privacy-policy{text-align:left;max-height:100%}.notification-bell-container{display:inline-flex;position:relative}.notification-bell-button{background:var(--gray-2);cursor:pointer;color:var(--gray-6);border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:16px;transition:background-color .2s;display:flex;position:relative}.notification-bell-button:hover{background-color:var(--gray-3);transform:scale(1.02)}.notification-badge{background-color:var(--dark-green);border:2px solid var(--gray-2);border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:4px}.notification-dropdown{background-color:var(--surface);z-index:1000;border:1px solid var(--gray-2);border-radius:12px;width:320px;max-height:400px;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.notification-header{border-bottom:1px solid var(--gray-2);padding:12px 16px}.notification-header h4{color:var(--gray-6);margin:0;font-size:14px;font-weight:600}.notification-empty{text-align:center;padding:32px 16px}.notification-empty p{color:var(--gray-4);margin:0;font-size:14px}.notification-list{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.notification-item{cursor:pointer;border-bottom:1px solid var(--gray-2);align-items:flex-start;gap:8px;padding:12px 16px;transition:background-color .15s;display:flex}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:var(--gray-1)}.notification-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notification-title{color:var(--gray-6);font-size:14px;font-weight:600;line-height:1.3}.notification-message{color:var(--gray-5);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-time{color:var(--gray-4);margin-top:2px;font-size:11px}.notification-dismiss{cursor:pointer;color:var(--gray-4);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s;display:flex}.notification-dismiss:hover{color:var(--gray-6);background-color:var(--gray-2)}@media (width<=400px){.notification-dropdown{width:280px;left:0}}.hamburger-icon{cursor:pointer;background:0 0;border:none;font-size:24px}.dropdown-menu{background-color:var(--gray-2);z-index:15;align-self:flex-start;min-width:160px;position:absolute;top:100%;right:5px;box-shadow:0 8px 16px #0003}.dropdown-menu ul{margin:0;padding:0;list-style-type:none}.dropdown-menu li{min-width:fit-content;text-decoration:none;display:block}.dropdown-menu li:hover{background-color:var(--gray-3)}.dropdown-menu li button{all:unset;width:100%;max-width:100%;color:var(--text);text-align:left;cursor:pointer;padding:12px 16px;font-family:inherit;transition:background-color .2s;display:block}.dropdown-menu li:not(:last-child) button{border-bottom:1px solid var(--gray-4)}.dropdown-menu li button:hover{background-color:var(--gray-3)}.fixed-header{background:var(--gray-1);z-index:100;justify-content:space-between;align-self:stretch;align-items:center;gap:1vw;width:100%;height:50px;padding:15px 4vw;display:flex;position:fixed;top:0;left:0}.fixed-header img{object-fit:contain;width:114px;height:40px}.fixed-header .col{align-items:center;width:30vw;min-width:30vw;max-width:30vw}.fixed-header .landing-button img{width:auto;height:20px}.fixed-header .row{gap:20px}.header-avatar-widget{cursor:pointer;background:var(--surface);border:1px solid #0000000f;border-radius:999px;align-items:center;gap:10px;padding:3px 14px 3px 3px;transition:border-color .2s,box-shadow .2s,transform .2s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.header-avatar-widget:hover{border-color:#68168940;transform:translateY(-1px);box-shadow:0 4px 12px #6816891a}.header-avatar-circle{box-sizing:border-box;background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.header-avatar-circle .avatar-preview{width:100%;height:100%;position:relative}.fixed-header .header-avatar-circle img{width:100%;height:100%}.header-coin-display{color:var(--gray-10);letter-spacing:.01em;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex;position:relative}.coin-bonus{text-align:center;width:100%;color:var(--success);white-space:nowrap;pointer-events:none;z-index:101;font-size:14px;font-weight:700;animation:1.5s ease-out forwards coin-float;position:absolute;top:100%;left:0}@keyframes coin-float{0%{opacity:0;transform:translateY(0)}15%{opacity:1;transform:translateY(2px)}65%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.coin-bump{animation:.4s ease-out coin-bump}@keyframes coin-bump{0%,to{transform:scale(1)}40%{transform:scale(1.3)}}.fixed-header .header-coin-display img{width:20px;height:20px}@media screen and (width<=700px){.fixed-header .icon-button.transparent{color:var(--gray-10);padding:4px 8px}}.badge-item{border:thin solid var(--gray-7);background:radial-gradient(circle at center, var(--pure-white) 0%,  var(--gray-1) 60%,  var(--gray-3) 100% );border-radius:12px;flex-direction:column;align-items:center;max-width:200px;max-height:200px;padding:10px;display:flex;box-shadow:0 20px 60px #524b4933}.badge{filter:drop-shadow(0 0 10px #add8e6b3)drop-shadow(0 0 20px #add8e680);border-radius:50%;max-width:150px;max-height:150px;margin:0 auto;animation:1.5s ease-in-out infinite alternate badge-glow;display:block}@keyframes badge-glow{0%{filter:drop-shadow(0 0 5px #add8e699)drop-shadow(0 0 10px #add8e666)}to{filter:drop-shadow(0 0 20px #add8e6)drop-shadow(0 0 30px #add8e6cc)}}.badge-item.clickable{cursor:pointer}.badge-large{width:150px;margin-bottom:1rem}.badge-popup-celebration{border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:min(420px,90vw);min-height:380px;display:flex;position:relative;overflow:hidden}.badge-fireworks-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.badge-popup-content{z-index:1;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) both badge-entrance;display:flex;position:relative}.badge-popup-title{background:linear-gradient(135deg,#b87800,#c0392b);-webkit-text-fill-color:transparent;text-align:center;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.badge-popup-image-wrapper{justify-content:center;align-items:center;padding:12px;animation:.6s cubic-bezier(.34,1.56,.64,1) .2s both badge-image-pop;display:flex}.badge-popup-image{object-fit:contain;width:140px;height:140px}.badge-popup-name{color:var(--gray-11);text-align:center;margin:0;font-size:1.15rem;font-weight:600}.badge-popup-desc{color:var(--gray-8);text-align:center;max-width:320px;margin:0;font-size:.9rem;line-height:1.4}.badge-popup-coins{color:#d4a017;margin:4px 0 0;font-size:1rem;font-weight:700}@keyframes badge-entrance{0%{opacity:0;transform:scale(.7)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes badge-image-pop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.badges-grid{box-sizing:border-box;border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex:1 0 0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-self:stretch;gap:12px;width:100%;height:100%;max-height:100%;padding:24px;display:grid;box-shadow:0 6px 20px #0000001a}.appearance-settings{flex-direction:column;gap:10px;width:100%;display:flex}.appearance-settings-label{color:var(--text);align-items:center;gap:8px;display:flex}.appearance-settings-hint{color:var(--text-muted);margin:8px 0 0;font-size:.8rem}.avatar-preview{width:200px;height:200px;position:relative}.avatar-preview img.layer{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.avatar-preview img{transform:scale(1)}.balance-row{flex-direction:row;align-items:center;gap:5px;display:flex}.balance-row img{width:20px}.avatar-display-card,.avatar-meta{flex-direction:column;align-items:center;display:flex}.item-preview{background-color:#0000;border-radius:6px;width:100%;height:110px;position:relative;overflow:hidden}.item-preview img.hat-preview{object-fit:cover;object-position:top;pointer-events:none;width:100%;max-height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.item-preview img.face-preview{object-fit:cover;object-position:50% 25%;pointer-events:none;width:100%;max-height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.item-preview img.body-preview{object-fit:scale-down;object-position:top;pointer-events:none;width:100%;max-height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.item-preview img.neck-preview{object-fit:scale-down;object-position:center;pointer-events:none;object-position:50% 25%;width:100%;max-height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.item-preview img.shirt-preview{object-fit:cover;object-position:50% 80%;pointer-events:none;width:100%;max-height:100%;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.shop-item{text-align:center;border:thin solid var(--gray-7);background:radial-gradient(circle at center, var(--pure-white) 0%,  var(--gray-1) 60%,  var(--gray-3) 100% );border-radius:12px;flex-direction:column;justify-content:center;align-items:center;max-width:250px;max-height:250px;padding:10px;display:flex;box-shadow:0 20px 60px #524b4933}.shop-item.clickable{cursor:pointer}.shop-grid{box-sizing:border-box;border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex:1 0 0;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-self:stretch;gap:12px;width:100%;height:100%;max-height:100%;padding:24px;display:grid;overflow-y:auto;box-shadow:0 6px 20px #0000001a}.shop-card-info{flex-direction:column;align-items:center;display:flex}.practice-modal{flex-direction:column;align-items:center;gap:12px;width:80vw;height:90vh;display:flex}.missed-word-popup.pronounce-card{justify-content:center;align-items:center;gap:18px;width:600px;max-width:100%;height:400px;max-height:100%}.missed-word-popup.pronounce-card .app-button{align-self:center}.flashcard{background-color:var(--surface);border:thin solid var(--gray-10);flex-direction:column;justify-content:center;align-items:center;width:600px;max-width:100%;height:400px;max-height:100%;padding:20px;display:flex;position:relative;box-shadow:0 20px 60px #524b4933}.flashcard .icon-button{position:absolute;top:10px;right:10px}.flashcard-image{pointer-events:none!important}.flashcard .flashcard-image{width:150px!important;height:150px!important}.flashcard-image.right{position:absolute;top:60px;right:10px;width:100px!important;height:100px!important}.flashcard-image.left{position:absolute;top:60px;left:10px;width:100px!important;height:100px!important}.solver-area.division .row{align-items:flex-start;line-height:1.2rem;display:flex}.divisor-cell{flex-direction:column;align-items:flex-end;min-width:2.5rem;font-size:1rem;font-weight:600;line-height:1.2rem;display:flex;position:relative}.bar-cell{flex-direction:column;flex:1;display:flex}.quotient-digits{display:flex}.q-digit{text-align:center;min-width:1rem;color:var(--gray-13);font-size:1rem;font-weight:600}.active-quot{background:var(--info-bg);color:var(--info);border-radius:.4rem;box-shadow:inset 0 0 0 2px #3b82f6}.top-bar-line{border-top:2px solid #000;width:100%;margin-top:.15rem}.divisor-value{font-size:1.2rem;font-weight:600}.left-bar-top{border-top:0;border-right:2px solid #000;width:0;height:.7rem;position:absolute;top:0;right:-2px}.left-bar-bottom{border-bottom:0;border-right:2px solid #000;width:0;height:calc(100% - .7rem);position:absolute;top:.7rem;bottom:auto;right:-2px}.dividend-digits{margin-left:.25rem;font-size:1.2rem;font-weight:600;display:flex}.dividend-digit{text-align:center;min-width:1rem}.active-dividend{background:var(--warning-bg);border-radius:.4rem;box-shadow:inset 0 0 0 2px #ffc600}.work-steps{color:var(--gray-13);margin-top:.75rem;font-size:1rem}.work-step{margin-bottom:.5rem}.work-digits{margin-left:.25rem;display:flex}.work-digit{text-align:center;min-width:1rem;font-size:1rem;font-weight:500}.underline-row .work-digit{min-height:.6rem}.underline-short{border-top:2px solid #000;width:100%;height:.6rem;line-height:.6rem}.highlight-math{color:var(--gray-13)}.highlight-remainder{color:var(--info);font-weight:600}.bring-seq{align-items:center;gap:.15rem;margin-left:.25rem;display:inline-flex}.bring-arrow{color:var(--accent-amber);font-size:.9rem;font-weight:600}.bring-val{font-size:1rem;font-weight:600}.highlight-bring{color:var(--accent-amber)}.final-remainder-note{text-align:center;color:var(--gray-13);margin-top:.5rem;font-size:.8rem;font-weight:500}.math-practice-wrapper{color:var(--gray-13);padding:1rem}.math-quiz-title{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.question-list{flex-wrap:wrap;gap:1rem;display:flex}.solver-wrapper{margin-top:1rem;font-family:Inter,system-ui,sans-serif}.solver-card{background:var(--surface);border:2px solid var(--gray-12);border-radius:1rem;max-width:360px;padding:1rem;box-shadow:4px 4px #222}.solver-header{text-align:center;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.solver-area{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:.5rem;justify-content:center;width:100%;padding:.5rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block;box-shadow:inset 0 0 0 2px #fff}.solver-card .row{flex-wrap:nowrap;justify-content:flex-end;display:flex}.solver-card .cell{text-align:center;min-width:1.25rem;font-size:1.1rem;line-height:1.4rem;position:relative}.carry-cell{color:var(--text-muted);min-height:1rem;font-size:.7rem;line-height:1rem}.digit-cell{font-size:1.2rem;line-height:1.4rem}.underline-cell{min-height:.8rem;font-size:.8rem;line-height:.8rem}.underline-span{text-align:left;font-size:.8rem;font-weight:600;line-height:.8rem}.answer-row .answer-cell{font-size:1.2rem;font-weight:600;line-height:1.4rem}.active-col{background:var(--warning-bg);border-radius:.4rem;box-shadow:inset 0 0 0 2px #ffc600}.solver-instructions{text-align:center;color:var(--gray-11);margin-top:.75rem;font-size:.8rem}.solver-controls{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.solver-btn{background:var(--gray-12);color:var(--on-brand);border:2px solid var(--gray-12);cursor:pointer;border-radius:.5rem;padding:.4rem .6rem;font-size:.75rem;font-weight:600}.solver-btn:disabled{background:var(--gray-8);border-color:var(--gray-8);cursor:default}.step-label{font-size:.75rem;font-weight:500}.content-tutor{flex-direction:column;align-items:center;width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.content-tutor__scroll{flex-direction:column;flex:1 1 0;align-items:center;gap:24px;width:100%;max-width:800px;min-height:0;padding:24px 24px 12px;display:flex;overflow-y:auto}.content-tutor__footer{border-top:1px solid var(--gray-2,var(--gray-2));background:var(--gray-1,var(--gray-1));flex-direction:column;flex-shrink:0;align-items:center;gap:12px;width:100%;max-width:800px;padding:16px 24px;display:flex}.content-tutor__header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.content-tutor__header h1{margin:0;font-size:1.5rem;font-weight:600}.content-tutor__header p{color:var(--gray-4,var(--text-muted));margin:0;font-size:.95rem}.content-tutor__wormy{object-fit:contain;width:160px;height:160px}.content-tutor__upload-zone{border:2px dashed var(--gray-3,var(--gray-3));background:var(--gray-1,var(--gray-1));cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;min-height:160px;padding:32px;transition:border-color .2s,background .2s;display:flex}.content-tutor__upload-zone:hover{border-color:var(--ask-wormy-primary,#1cb05f);background:#f2fdf7}.content-tutor__upload-zone--dragging{border-color:var(--ask-wormy-primary,#1cb05f);background:#e9fcf1;border-style:solid}.content-tutor__upload-zone--has-content{border-color:var(--ask-wormy-primary,#1cb05f);background:#f2fdf7;border-style:solid}.content-tutor__upload-icon{color:var(--gray-4,var(--gray-8));font-size:2rem}.content-tutor__upload-text{color:var(--gray-4,var(--text-muted));text-align:center;font-size:.95rem}.content-tutor__upload-text strong{color:var(--ask-wormy-primary,#1cb05f)}.content-tutor__upload-input{display:none}.content-tutor__divider{align-items:center;gap:16px;width:100%;display:flex}.content-tutor__divider:before,.content-tutor__divider:after{content:"";background:var(--gray-3,var(--gray-3));flex:1;height:1px}.content-tutor__divider span{color:var(--gray-4,var(--gray-8));text-transform:uppercase;font-size:.85rem;font-weight:500}.content-tutor__text-area{width:100%}.content-tutor__textarea{border:2px solid var(--gray-3,var(--gray-3));resize:vertical;border-radius:12px;width:100%;min-height:120px;padding:14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.content-tutor__textarea:focus{border-color:var(--ask-wormy-primary,#1cb05f);outline:none}.content-tutor__textarea::placeholder{color:var(--gray-4,var(--gray-8))}.content-tutor__preview{background:var(--gray-1,var(--gray-1));border:1px solid var(--gray-3,var(--gray-3));border-radius:12px;width:100%;padding:16px}.content-tutor__preview-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.content-tutor__preview-label{text-transform:uppercase;color:var(--gray-4,var(--text-muted));font-size:.8rem;font-weight:600}.content-tutor__preview-clear{color:var(--gray-4,var(--gray-8));cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:.8rem}.content-tutor__preview-clear:hover{background:var(--gray-2,var(--gray-2));color:var(--gray-6,var(--gray-11))}.content-tutor__preview-text{color:var(--gray-6,var(--gray-11));white-space:pre-wrap;word-wrap:break-word;max-height:200px;font-size:.9rem;line-height:1.5;overflow-y:auto}.content-tutor__session{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:800px;height:100%;min-height:0;max-height:100%;margin:0 auto;padding:24px 24px 0;display:flex;overflow:hidden}.content-tutor__session-animation{background:linear-gradient(#0000 0%,#93c5931a 100%);border-radius:16px;justify-content:center;align-items:center;width:100%;height:180px;display:flex;position:relative;overflow:hidden}.content-tutor__session-animation img{object-fit:contain;max-width:100%;max-height:100%}.content-tutor__status{text-align:center;min-height:24px}.content-tutor__status-text{color:var(--gray-4,var(--text-muted));font-size:.9rem}.content-tutor__status-text--speaking{color:var(--ask-wormy-primary,#1cb05f);font-weight:500}.content-tutor__status-text--listening{color:#0d80f2;font-weight:500}.content-tutor__status-text--thinking{color:#a73cdd;font-weight:500}.content-tutor__transcript{border:1px solid var(--gray-3,var(--gray-3));background:var(--pure-white,var(--surface));border-radius:12px;flex:1 1 0;width:100%;min-height:200px;overflow-y:auto}.content-tutor__message-input{background:var(--pure-white,var(--surface));border:2px solid var(--gray-3,var(--gray-3));border-radius:12px;gap:8px;width:100%;padding:4px;transition:border-color .2s;display:flex}.content-tutor__message-input:focus-within{border-color:var(--ask-wormy-primary,#1cb05f)}.content-tutor__message-input input{background:0 0;border:none;border-radius:8px;flex:1;padding:10px 14px;font-size:.95rem}.content-tutor__message-input input:focus{outline:none}.content-tutor__message-input input:disabled{opacity:.6;cursor:not-allowed}.content-tutor__send-btn{background:var(--ask-wormy-primary,#1cb05f);width:44px;height:44px;color:var(--on-brand);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:1rem;transition:background .2s,transform .2s;display:flex}.content-tutor__send-btn:hover:not(:disabled){background:var(--ask-wormy-primary-hover,#189a53);transform:scale(1.05)}.content-tutor__send-btn:disabled{opacity:.5;cursor:not-allowed}.content-tutor__controls{justify-content:center;gap:12px;display:flex}.content-tutor__context-toggle{width:100%}.content-tutor__context-toggle summary{cursor:pointer;color:var(--gray-4,var(--text-muted));-webkit-user-select:none;user-select:none;padding:8px 0;font-size:.85rem;font-weight:500}.content-tutor__context-toggle summary:hover{color:var(--gray-6,var(--gray-11))}.content-tutor__context-body{background:var(--gray-1,var(--gray-1));white-space:pre-wrap;word-wrap:break-word;border-radius:8px;max-height:150px;margin-top:4px;padding:12px;font-size:.85rem;line-height:1.5;overflow-y:auto}@media (width<=600px){.content-tutor__scroll{gap:16px;padding:16px 16px 8px}.content-tutor__footer{padding:12px 16px}.content-tutor__session{gap:12px;padding:16px 16px 0}.content-tutor__wormy{width:120px;height:120px}.content-tutor__session-animation{height:140px}}.book-card{background:var(--surface);border:2px solid var(--gray-7);border-radius:12px;flex-direction:row;flex:1 0 0;align-self:stretch;gap:10px;min-width:min(250px,90vw);height:290px;min-height:30vh;max-height:60vh;padding:12px;display:flex;overflow-y:auto;box-shadow:0 5px 10px #524b4933;container:book-card/inline-size}.book-card:hover{cursor:pointer;background:var(--gray-1)}.book-card-details{flex-direction:column;flex-grow:1;align-items:stretch;gap:10px;display:flex}.book-card-metadata{flex-direction:row;gap:10px;display:flex}.book-card .action-button{width:fit-content}@media screen and (width<=600px){.book-card{min-height:unset;height:fit-content}.book-card-details{flex-direction:column;max-width:100%;display:flex}}@container book-card (width<=250px){.book-card .book-card-cover,.book-card img{display:none}.book-catalog-row{grid-template-columns:1fr}}.book-catalog-row{flex:auto;grid-template-columns:1fr 1fr;align-items:flex-start;gap:min(2%,30px);width:100%;max-width:100%;height:fit-content;min-height:fit-content;padding-left:max(2%,30px);padding-right:max(2%,30px);transition:all .5s ease-in-out;display:grid;overflow:hidden auto}@media screen and (width<=1000px){.book-catalog-row{grid-template-columns:1fr}}.assignment-plan-card{background:var(--surface);border:2px solid var(--gray-3);cursor:grab;border-radius:12px;transition:all .2s;overflow:hidden}.assignment-plan-card:hover{border-color:var(--gray-4);box-shadow:0 4px 12px #00000014}.assignment-plan-card.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.assignment-plan-card.drag-over{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), .05);border-style:dashed}.assignment-plan-card.is-exam{border-left:4px solid var(--dark-pink)}.assignment-plan-card .card-header{background:var(--gray-1);border-bottom:1px solid var(--gray-3);align-items:center;gap:12px;padding:14px 16px;display:flex}.assignment-plan-card .drag-handle{color:var(--gray-7);cursor:grab;align-items:center;padding:4px;display:flex}.assignment-plan-card .drag-handle:hover{color:var(--gray-9)}.assignment-plan-card .card-number{background:var(--gray-10);width:28px;height:28px;color:var(--on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.assignment-plan-card .type-badge{color:var(--on-brand);border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.assignment-plan-card .type-badge svg{font-size:11px}.assignment-plan-card .card-title-section{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.assignment-plan-card .title-display{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-width:0;margin:-4px -8px;padding:4px 8px;transition:background-color .15s;display:flex}.assignment-plan-card .title-display:hover{background-color:var(--gray-2)}.assignment-plan-card .title-display:hover .edit-title-btn{opacity:1}.assignment-plan-card .card-title{color:var(--gray-10);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.assignment-plan-card .edit-title-btn{width:24px;height:24px;color:var(--gray-6);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.assignment-plan-card .edit-title-btn:hover{background:var(--gray-3);color:var(--primary-color)}.assignment-plan-card .inline-title-edit{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.assignment-plan-card .inline-title-input{border:2px solid var(--primary-color);color:var(--gray-10);background:var(--surface);border-radius:6px;outline:none;flex:1;min-width:120px;padding:6px 10px;font-size:14px;font-weight:500}.assignment-plan-card .inline-title-input:focus{box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .15)}.assignment-plan-card .inline-title-input::placeholder{color:var(--gray-6);font-weight:400}.assignment-plan-card .inline-title-save{background:var(--primary-color);width:28px;height:28px;color:var(--on-brand);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.assignment-plan-card .inline-title-save:hover{background:var(--primary-color-hover);transform:scale(1.05)}.assignment-plan-card .exam-badge{background:var(--dark-pink);color:var(--on-brand);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.assignment-plan-card .card-actions{align-items:center;gap:4px;display:flex}.assignment-plan-card .expand-btn,.assignment-plan-card .delete-btn{width:32px;height:32px;color:var(--gray-8);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.assignment-plan-card .expand-btn:hover{background:var(--gray-3);color:var(--gray-10)}.assignment-plan-card .delete-btn:hover{color:var(--dark-pink);background:#b1243f1a}.assignment-plan-card .card-body{background:var(--surface);flex-direction:column;gap:18px;padding:20px;display:flex}.assignment-plan-card .form-row{flex-direction:column;gap:8px;display:flex}.assignment-plan-card .form-label{color:var(--gray-9);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.assignment-plan-card .type-select,.assignment-plan-card .title-input,.assignment-plan-card .description-input{border:1px solid var(--gray-3);color:var(--gray-10);background:var(--gray-1);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.assignment-plan-card .type-select:focus,.assignment-plan-card .title-input:focus,.assignment-plan-card .description-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.assignment-plan-card .description-input{resize:vertical;min-height:80px}.assignment-plan-card .checkbox-row{flex-direction:row;align-items:center}.assignment-plan-card .checkbox-label{cursor:pointer;color:var(--gray-10);align-items:center;gap:10px;font-size:14px;display:flex}.assignment-plan-card .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.assignment-plan-card .row.stretch{gap:8px;display:flex}.assignment-plan-card .row.stretch input{border:1px solid var(--gray-3);border-radius:8px;flex:1;padding:8px 12px;font-size:14px}.assignment-plan-card .scaffolded-vocabulary{flex-direction:column;gap:8px;display:flex}.assignment-plan-card .scaffolded-vocabulary>.form-label{margin-bottom:4px}.assignment-plan-card .level-vocabulary-section{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.assignment-plan-card .level-vocabulary-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assignment-plan-card .level-badge-small{background:var(--primary-color);color:var(--on-brand);border-radius:12px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.assignment-plan-card .level-info{color:var(--gray-7);font-size:12px;font-weight:500}.assignment-plan-editor{flex-direction:column;gap:16px;width:100%;max-width:700px;display:flex}.assignment-plan-editor .editor-header{justify-content:flex-end;align-items:center;padding:8px 0;display:flex}.assignment-plan-editor .assignment-count{color:var(--gray-8);font-size:14px;font-weight:500}.assignment-plan-editor .assignments-grouped-list{flex-direction:column;gap:12px;max-height:500px;padding:4px;display:flex;overflow-y:auto}.assignment-plan-editor .assignments-grouped-list::-webkit-scrollbar{width:8px}.assignment-plan-editor .assignments-grouped-list::-webkit-scrollbar-track{background:var(--gray-2);border-radius:4px}.assignment-plan-editor .assignments-grouped-list::-webkit-scrollbar-thumb{background:var(--gray-4);border-radius:4px}.assignment-plan-editor .assignments-grouped-list::-webkit-scrollbar-thumb:hover{background:var(--gray-7)}.assignment-plan-editor .empty-state{background:var(--gray-1);border:2px dashed var(--gray-3);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.assignment-plan-editor .empty-icon{color:var(--purple);opacity:.4;margin-bottom:16px;font-size:40px}.assignment-plan-editor .empty-state p{color:var(--gray-9);margin:0;font-size:16px;font-weight:500}.assignment-plan-editor .empty-hint{color:var(--gray-7)!important;margin-top:8px!important;font-size:14px!important;font-weight:400!important}.assignment-plan-editor .assignment-count-chip{background:var(--primary-color);color:var(--on-brand);border-radius:12px;padding:4px 12px;font-size:11px;font-weight:500}.assignment-plan-editor .subtopic-card{cursor:default}.assignment-plan-editor .subtopic-card .subtopic-header{padding-left:18px}.assignment-plan-editor .subtopic-assignments-list{flex-direction:column;gap:10px;display:flex}.assignment-plan-editor .no-assignments-hint{text-align:center;color:var(--gray-7);background:var(--gray-1);border:2px dashed var(--gray-3);border-radius:8px;padding:20px;font-size:14px}.assignment-plan-editor .add-to-subtopic-section{margin-top:8px}.assignment-plan-editor .add-to-subtopic-btn{border:1px dashed var(--gray-4);width:100%;color:var(--gray-8);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.assignment-plan-editor .add-to-subtopic-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:rgba(var(--primary-color-rgb), .04)}.assignment-plan-editor .add-to-subtopic-btn svg{font-size:12px}.assignment-plan-editor .add-form-container{background:var(--gray-1);border:2px solid var(--primary-color);border-radius:10px;flex-direction:column;gap:10px;padding:14px;animation:.15s fadeIn;display:flex}.assignment-plan-editor .add-form-row{align-items:center;gap:10px;display:flex}.assignment-plan-editor .add-form-title-input{border:1px solid var(--gray-3);color:var(--gray-10);background:var(--surface);border-radius:8px;flex:1;padding:10px 14px;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s}.assignment-plan-editor .add-form-title-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb), .1);outline:none}.assignment-plan-editor .add-form-title-input::placeholder{color:var(--gray-6);font-weight:400}.assignment-plan-editor .add-form.inline{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.assignment-plan-editor .add-form-select{border:1px solid var(--gray-3);background:var(--surface);color:var(--gray-10);cursor:pointer;border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.assignment-plan-editor .add-form-select:focus{border-color:var(--primary-color);outline:none}.assignment-plan-editor .cancel-btn,.assignment-plan-editor .confirm-add-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.assignment-plan-editor .cancel-btn{background:var(--gray-2);color:var(--gray-9)}.assignment-plan-editor .cancel-btn:hover{background:var(--gray-3)}.assignment-plan-editor .confirm-add-btn{background:var(--primary-color);color:var(--on-brand);align-items:center;gap:8px;display:flex}.assignment-plan-editor .confirm-add-btn:hover:not(:disabled){background:var(--primary-color-hover)}.assignment-plan-editor .confirm-add-btn:disabled{background:var(--gray-4);cursor:not-allowed;opacity:.7}.assignment-plan-editor .cancel-btn.small,.assignment-plan-editor .confirm-add-btn.small{padding:8px 14px;font-size:13px}.assignment-plan-editor .confirm-add-btn.small{align-items:center;gap:6px;display:flex}.subtopic-card{background:var(--surface);border:2px solid var(--gray-3);border-left:4px solid var(--purple);cursor:grab;border-radius:12px;min-height:fit-content;transition:all .2s}.subtopic-card:hover{border-color:var(--gray-4);box-shadow:0 4px 12px #00000014}.subtopic-card.dragging{opacity:.5;cursor:grabbing;transform:scale(.98)}.subtopic-card.drag-over{border-color:var(--purple);background:#6816890d;border-style:dashed}.subtopic-card .subtopic-header{background:var(--gray-1);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.subtopic-card .drag-handle{color:var(--gray-7);cursor:grab;flex-shrink:0;align-items:center;height:28px;padding:4px;display:flex}.subtopic-card .drag-handle:hover{color:var(--gray-9)}.subtopic-card .subtopic-number{background:var(--purple);width:28px;height:28px;color:var(--on-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.subtopic-card .subtopic-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.subtopic-card .subtopic-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subtopic-card .subtopic-title-section{min-width:0}.subtopic-card .subtopic-title{color:var(--gray-10);overflow-wrap:anywhere;padding:3px 0;font-size:16px;font-weight:600;line-height:1.3;display:block}.subtopic-card .title-input-inline{border:1px solid var(--gray-4);width:100%;color:var(--gray-10);background:var(--surface);border-radius:6px;padding:6px 10px;font-size:15px;font-weight:500}.subtopic-card .title-input-inline:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6816891a}.subtopic-card .subtopic-keywords-preview{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.subtopic-card .keyword-chip{background:var(--light-purple);color:var(--purple);border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500}.subtopic-card .keyword-more{color:var(--gray-8);font-size:11px;font-weight:500}.subtopic-card .subtopic-actions{flex-shrink:0;align-items:center;gap:4px;margin-top:-2px;display:flex}.subtopic-card .expand-btn,.subtopic-card .delete-btn{width:32px;height:32px;color:var(--gray-8);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.subtopic-card .expand-btn:hover{background:var(--gray-3);color:var(--gray-10)}.subtopic-card .delete-btn:hover{color:var(--dark-pink);background:#b1243f1a}.subtopic-card .subtopic-body{background:var(--surface);border-top:1px solid var(--gray-3);flex-direction:column;gap:18px;min-height:fit-content;padding:20px;display:flex}.subtopic-card .form-row{flex-direction:column;gap:8px;display:flex}.subtopic-card .form-label{color:var(--gray-9);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.subtopic-card .description-input{border:1px solid var(--gray-3);color:var(--gray-10);background:var(--gray-1);resize:vertical;border-radius:8px;min-height:80px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.subtopic-card .description-input:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6816891a}.subtopic-card .row.stretch{gap:8px;display:flex}.subtopic-card .row.stretch input{border:1px solid var(--gray-3);border-radius:8px;flex:1;padding:8px 12px;font-size:14px}.subtopic-card .scaffolded-vocabulary{flex-direction:column;gap:8px;display:flex}.subtopic-card .scaffolded-vocabulary>.form-label{margin-bottom:4px}.subtopic-card .level-vocabulary-section{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.subtopic-card .level-vocabulary-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.subtopic-card .level-badge-small{background:var(--purple);color:var(--on-brand);border-radius:12px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.subtopic-card .level-info{color:var(--gray-7);font-size:12px;font-weight:500}.subtopic-card .subtopic-dates-inline{flex-shrink:0;align-items:center;gap:6px;display:flex}.subtopic-card .date-input-inline{border:1px solid var(--gray-3);color:var(--gray-9);background:var(--surface);cursor:pointer;border-radius:6px;width:120px;padding:4px 8px;font-size:12px}.subtopic-card .date-input-inline:hover{border-color:var(--gray-5)}.subtopic-card .date-input-inline:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 2px #6816891a}.subtopic-card .date-separator{color:var(--gray-6);font-size:12px;font-weight:500}.subtopic-card .date-row{gap:16px;display:flex;flex-direction:row!important}.subtopic-card .date-field{flex-direction:column;flex:1;gap:8px;display:flex}.subtopic-card .date-input{border:1px solid var(--gray-3);color:var(--gray-10);background:var(--gray-1);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.subtopic-card .date-input:hover{border-color:var(--gray-5)}.subtopic-card .date-input:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6816891a}@media (width<=768px){.subtopic-card .subtopic-dates-inline{display:none}.subtopic-card .date-row{flex-direction:column!important}}.subtopic-editor{flex-direction:column;gap:16px;width:100%;max-width:700px;display:flex}.subtopic-editor .editor-header{justify-content:flex-end;align-items:center;padding:8px 0;display:flex}.subtopic-editor .subtopic-count{color:var(--gray-8);font-size:14px;font-weight:500}.subtopic-editor .subtopics-list{flex-direction:column;gap:12px;max-height:min(60vh,640px);padding:4px;display:flex;overflow-y:auto}.subtopic-editor .subtopics-list::-webkit-scrollbar{width:8px}.subtopic-editor .subtopics-list::-webkit-scrollbar-track{background:var(--gray-2);border-radius:4px}.subtopic-editor .subtopics-list::-webkit-scrollbar-thumb{background:var(--gray-4);border-radius:4px}.subtopic-editor .subtopics-list::-webkit-scrollbar-thumb:hover{background:var(--gray-7)}.subtopic-editor .empty-state{background:var(--gray-1);border:2px dashed var(--gray-3);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.subtopic-editor .empty-icon{color:var(--purple);opacity:.4;margin-bottom:16px;font-size:40px}.subtopic-editor .empty-state p{color:var(--gray-9);margin:0;font-size:16px;font-weight:500}.subtopic-editor .empty-hint{color:var(--gray-7)!important;margin-top:8px!important;font-size:14px!important;font-weight:400!important}.subtopic-editor .add-subtopic-btn{border:2px dashed var(--gray-4);width:100%;color:var(--gray-9);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.subtopic-editor .add-subtopic-btn:hover{border-color:var(--purple);color:var(--purple);background:#6816890a}.subtopic-editor .add-subtopic-btn svg{font-size:16px}.subtopic-editor .max-reached-notice{text-align:center;color:var(--gray-8);background:var(--gray-2);border-radius:8px;padding:12px;font-size:13px}.lexile-evaluation-container{flex-direction:column;width:100%;height:100%;max-height:calc(100vh - 100px);display:flex;overflow:hidden}.lexile-evaluation-header{background:var(--gray-1);border-bottom:1px solid var(--gray-2);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:16px 24px;display:grid}.lexile-evaluation-header .title{color:var(--primary-color);grid-column:2;justify-self:center;margin:0;font-size:1.5rem;font-weight:600;line-height:1.1}.lexile-evaluation-header .back-btn{grid-column:1;place-self:center start}.lexile-evaluation-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.lexile-evaluation-content .reading-container{flex-direction:column;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.lexile-evaluation-content .reading-frame{flex:1;min-height:0;overflow:hidden auto}.lexile-evaluation-content .book-viewer{height:100%;max-height:100%;overflow-y:auto}.lexile-evaluation-content .question-image-panel{flex-shrink:0;max-height:50vh}.lexile-evaluation-content .question-image-panel img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:45vh}.lexile-evaluation-content .question-layout{max-height:100%;overflow-y:auto}.lexile-evaluation-content .question-layout.with-image{gap:20px}@media screen and (width<=768px){.lexile-evaluation-container{max-height:calc(100vh - 80px)}.lexile-evaluation-header{gap:4px;padding:12px 16px}.lexile-evaluation-header .title{font-size:1.25rem}.lexile-evaluation-content .question-layout{flex-direction:column}.lexile-evaluation-content .question-image-panel{order:-1;width:100%;max-height:35vh}.lexile-evaluation-content .question-image-panel img{max-height:30vh}.lexile-evaluation-content .reading-frame{padding:20px}}@media screen and (width<=480px){.lexile-evaluation-header{padding:10px 12px}.lexile-evaluation-header .title{font-size:1.1rem}.lexile-evaluation-content .reading-frame{padding:16px}.lexile-evaluation-content .question-image-panel{max-height:30vh}.lexile-evaluation-content .question-image-panel img{max-height:25vh}}.assessment-container{flex-direction:column;width:100%;height:100%;max-height:calc(100vh - 100px);display:flex;overflow:hidden}.assessment-section{flex-direction:column;flex:1;align-items:center;gap:12px;min-height:0;padding:20px 24px 24px;display:flex;overflow:hidden auto}.assessment-section-content{flex-direction:column;flex:1;align-items:center;gap:12px;width:100%;max-width:100%;min-height:0;padding-bottom:12px;display:flex;overflow-y:auto}.assessment-actions{background-color:var(--gray-1);border-top:2px solid var(--gray-2);z-index:10;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:16px;width:100%;padding:16px 24px;display:flex;position:sticky;bottom:0}.assessment-actions .question-indicator{color:var(--gray-7);margin:0 8px;font-size:.9rem}.assessment-section img{object-fit:contain;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:50vh;box-shadow:0 4px 12px #0000001a}.assessment-section.listening{justify-content:flex-start}.assessment-section.listening img{max-width:min(80%,600px);max-height:max(50%,220px)}.assessment-section.listening audio{flex-shrink:0;width:100%;max-width:400px;min-height:44px;margin:12px 0}.assessment-section .conversation-frame{justify-content:flex-start;width:100%;max-width:100%;padding-left:5%;padding-right:5%}.assessment-section .reading-frame{width:100%;max-width:100%;max-height:none;padding:24px;overflow-y:auto}.assessment-section .question-layout{max-height:100%}.assessment-section .question-image-panel{flex-shrink:0;max-height:50vh}.assessment-section .question-image-panel img{max-height:45vh}@media screen and (width<=768px){.assessment-container{max-height:calc(100vh - 80px)}.assessment-section{gap:12px;padding:16px}.assessment-section img{max-width:90%;max-height:35vh}.assessment-section.listening img{max-width:90%;max-height:min(25vh,180px)}.assessment-actions{gap:12px;padding:12px 16px}.assessment-section .reading-frame{padding:16px}.assessment-section .question-layout{flex-direction:column}.assessment-section .question-image-panel{order:-1;max-height:35vh}}@media screen and (width<=480px){.assessment-section{gap:10px;padding:12px}.assessment-section img{max-height:30vh}.assessment-actions{flex-wrap:wrap;gap:10px;padding:10px 12px}}.evaluation-sidebar-content{flex-direction:column;gap:16px;width:100%;display:flex}.evaluation-sidebar-content .sidebar-title{color:var(--gray-10);border-bottom:1px solid var(--gray-3);margin:0;padding-bottom:8px;font-size:16px;font-weight:600}.evaluation-sidebar-sections{flex-direction:column;gap:4px;display:flex}.evaluation-section{border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.evaluation-section.active>.evaluation-section-header{background-color:var(--gray-2)}.evaluation-section-header{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background-color .2s;display:flex}.evaluation-section-header:hover{background-color:var(--gray-2)}.evaluation-section-header.section-active{background-color:var(--light-green)}.evaluation-section-header.section-active .section-label{color:var(--primary-color);font-weight:600}.evaluation-section-header.flat{cursor:default;border-bottom:1px solid var(--gray-3);padding-bottom:12px}.evaluation-section-header.flat:hover{background:0 0}.evaluation-section-header .section-icon{color:var(--primary-color);width:16px;font-size:14px}.evaluation-section-header .section-label{color:var(--gray-10);flex:1;font-size:14px;font-weight:500}.evaluation-section-header .section-progress{color:var(--gray-6);background-color:var(--gray-2);border-radius:10px;padding:2px 8px;font-size:12px}.evaluation-questions-list{flex-direction:column;gap:2px;margin-top:4px;padding-left:20px;display:flex}.evaluation-question-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:background-color .2s;display:flex}.evaluation-question-item:hover{background-color:var(--gray-2)}.evaluation-question-item.active{background-color:var(--light-green)}.evaluation-question-item.active .question-label{color:var(--primary-color);font-weight:500}.completion-checkbox{border:2px solid var(--gray-4);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .2s;display:flex}.completion-checkbox.completed{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--on-brand)}.question-label{color:var(--gray-8);font-size:13px}.esl-session{background:var(--gray-1);min-height:100vh;color:var(--gray-12);flex-direction:column;display:flex}.esl-centered{text-align:center;justify-content:center;align-items:center;gap:16px;padding:24px}.esl-bar{background:var(--surface);border-bottom:1px solid var(--gray-3);align-items:center;gap:16px;padding:12px 20px;display:flex}.esl-exit{cursor:pointer;color:var(--gray-9);background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:1.25rem}.esl-exit:hover{background:var(--gray-2);color:var(--gray-12)}.esl-progress{background:var(--gray-3);border-radius:999px;flex:1;height:10px;overflow:hidden}.esl-progress-fill{background:var(--primary-color);border-radius:999px;height:100%;transition:width .24s}.esl-stage{flex-direction:column;flex:1;align-items:center;gap:20px;width:min(960px,100%);margin:0 auto;padding:24px 20px 96px;display:flex}.esl-actions{background:var(--surface);border-top:1px solid var(--gray-3);justify-content:flex-end;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;bottom:0}.esl-item-count{color:var(--gray-9);font-size:.9rem}.esl-next,.esl-primary-button,.esl-secondary-button{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 22px;font-size:1rem;font-weight:600;display:inline-flex}.esl-next,.esl-primary-button{background:var(--primary-color);color:var(--on-brand)}.esl-next:hover:not(:disabled),.esl-primary-button:hover{background:var(--primary-color-hover)}.esl-next:disabled{background:var(--gray-3);color:var(--gray-8);cursor:not-allowed}.esl-secondary-button{background:var(--gray-2);color:var(--gray-11);padding:8px 16px}.esl-error{color:var(--dark-pink)}.esl-status-note{color:var(--gray-9)}.esl-menu{flex-direction:column;gap:20px;width:min(560px,100%);display:flex}.esl-menu-intro{align-items:center;gap:16px;display:flex}.esl-menu-wormy{width:84px;height:auto}.esl-menu-intro h2{margin:0 0 4px}.esl-menu-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.esl-menu-row{background:var(--surface);border:2px solid var(--gray-3);border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.esl-menu-row.open{border-color:var(--primary-color)}.esl-menu-row.locked{opacity:.55}.esl-menu-row.complete{border-color:var(--dark-green)}.esl-menu-row.complete .esl-menu-icon{color:var(--dark-green)}.esl-menu-icon{color:var(--gray-9);text-align:center;width:28px;font-size:1.4rem}.esl-menu-row.open .esl-menu-icon{color:var(--primary-color)}.esl-menu-text{flex-direction:column;flex:1;display:flex}.esl-menu-name{font-weight:600}.esl-menu-blurb{color:var(--gray-9);font-size:.9rem}.esl-menu-lock{color:var(--gray-7)}.esl-directions{text-align:center;flex-direction:column;align-items:center;gap:16px;width:min(520px,100%);display:flex}.esl-directions-wormy{width:96px}.esl-directions-rules{text-align:left;padding-left:20px;line-height:1.7}.esl-mic-check{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(520px,100%);display:flex}.esl-mic-wormy{width:96px}.esl-mic-playback{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.esl-mic-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.esl-item{flex-direction:column;gap:20px;width:100%;display:flex}@media (width>=900px){.esl-item.reading{flex-direction:row;align-items:flex-start}.esl-item.reading .esl-item-stimulus{flex:55%;position:sticky;top:16px}.esl-item.reading .esl-item-question{flex:45%}}.esl-item-stimulus{flex-direction:column;align-items:center;gap:14px;display:flex}.esl-item-picture{border-radius:14px;max-width:100%;max-height:320px}.esl-item-passage{background:var(--surface);border-radius:14px;width:100%;max-height:60vh;padding:12px;overflow:auto}.esl-item-passage-text{background:var(--surface);border-radius:14px;padding:16px;line-height:1.7}.esl-item-stem{font-size:1.1rem;font-weight:600}.esl-choices{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.esl-choices.pictures{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.esl-choice{border:3px solid var(--gray-3);background:var(--surface);cursor:pointer;text-align:left;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 16px;font-size:1rem;display:flex}.esl-choice:hover{border-color:var(--gray-7)}.esl-choice.chosen{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb), .08)}.esl-choice img{border-radius:8px;max-width:100%;max-height:160px}.esl-speaking{flex-direction:column;align-items:center;gap:18px;width:min(680px,100%);display:flex}.esl-speaking-scene,.esl-speaking-model,.esl-speaking-turn{flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}.esl-speaking-cue{color:var(--gray-9);text-align:center}.esl-speaker{align-items:flex-start;gap:12px;width:100%;display:flex}.esl-speaker img{flex-shrink:0;width:64px;height:auto}.esl-speaker.student{flex-direction:row-reverse}.esl-bubble-yours{color:var(--on-brand);font-size:1.05rem;background:var(--dark-blue)!important}.record-control{flex-direction:column;align-items:center;gap:12px;display:flex}.record-ring{--ring-fraction:1;background:conic-gradient(var(--primary-color) calc(var(--ring-fraction) * 360deg), var(--gray-3) 0);border-radius:50%;place-items:center;width:96px;height:96px;transition:background .4s linear;display:grid}.record-ring:before{content:"";background:var(--gray-1);border-radius:50%;width:76px;height:76px;position:absolute}.record-ring{position:relative}.record-ring-seconds{font-size:1.5rem;font-weight:700;position:relative}.record-ring.warning{background:conic-gradient(var(--dark-pink) calc(var(--ring-fraction) * 360deg), var(--gray-3) 0)}.record-ring.live{box-shadow:0 0 0 4px rgba(var(--primary-color-rgb), .15)}.record-meter{align-items:flex-end;gap:4px;height:18px;display:flex}.record-meter-bar{background:var(--gray-3);border-radius:3px;width:8px;height:100%}.record-meter-bar.lit{background:var(--primary-color)}.record-status{color:var(--gray-9);text-align:center}.record-status.done{color:var(--dark-green);font-weight:600}.record-status.error{color:var(--dark-pink)}.record-retry{flex-direction:column;align-items:center;gap:10px;display:flex}.once-player{flex-direction:column;align-items:center;gap:6px;display:flex}.once-player-button{cursor:pointer;background:var(--dark-blue);color:var(--on-brand);border:none;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:1rem;font-weight:600;display:inline-flex}.once-player-button.playing{background:var(--gray-9)}.once-player-button:disabled{background:var(--gray-3);color:var(--gray-8);cursor:default}.once-player-note{color:var(--gray-9);font-size:.85rem}.esl-writing{flex-direction:column;gap:20px;width:100%;display:flex}@media (width>=900px){.esl-writing{flex-direction:row;align-items:flex-start}.esl-writing-stimulus{flex:45%;position:sticky;top:16px}.esl-writing-response{flex:55%}}.esl-writing-stimulus{flex-direction:column;gap:12px;display:flex}.esl-writing-screen img{border-radius:12px;max-width:100%}.esl-writing-response{flex-direction:column;gap:12px;display:flex}.esl-writing-prompt{font-size:1.1rem;font-weight:600}.esl-writing-target{color:var(--gray-9);margin:0}.esl-writing-leadin{flex-direction:column;gap:6px;display:flex}.esl-writing-leadin-box,.esl-writing-box,.esl-writing-planning textarea{border:2px solid var(--gray-3);resize:vertical;border-radius:12px;width:100%;padding:12px;font-family:inherit;font-size:1rem;line-height:1.6}.esl-writing-box:focus,.esl-writing-leadin-box:focus{border-color:var(--primary-color);outline:none}.esl-writing-planning summary{cursor:pointer;color:var(--gray-9)}.esl-writing-count{color:var(--gray-9);margin:0;font-size:.9rem}.esl-writing-count.full{color:var(--dark-pink)}.esl-writing-checklist{color:var(--gray-10);padding-left:20px;line-height:1.8}.esl-review{text-align:center;flex-direction:column;align-items:center;gap:16px;width:min(680px,100%);display:flex}.esl-review-wormy{width:88px}.esl-review-list{flex-direction:column;gap:14px;width:100%;margin:0;padding:0;list-style:none;display:flex}.esl-review-list li{background:var(--surface);text-align:left;border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.esl-review-prompt{margin:0;font-weight:600}.esl-review-answer{white-space:pre-wrap;color:var(--gray-10);margin:0}@media (prefers-reduced-motion:reduce){.esl-progress-fill,.record-ring{transition:none}}.ad-page{text-align:left;flex-direction:column;gap:18px;width:100%;padding:0 18px 32px;font-size:16px;display:flex;overflow:auto}.ad-page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;padding-top:4px;display:flex}.ad-page-header .ad-spacer{flex:auto}.ad-title{color:var(--gray-12);font-size:24px;font-weight:var(--font-weight-bold);margin:0;line-height:1.2}.ad-page .ad-title{color:var(--gray-12);align-self:auto;padding:0;display:block}.ad-subtitle{max-width:62ch;color:var(--gray-9);margin:4px 0 0;font-size:14px;line-height:1.5}.ad-section-title{color:var(--gray-11);font-size:16px;font-weight:var(--font-weight-bold);margin:0}.ad-hint{color:var(--gray-8);margin:0;font-size:13px;line-height:1.5}.ad-toolbar{border:1px solid var(--gray-2);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.ad-toolbar .ad-spacer{flex:auto}.ad-count{color:var(--gray-9);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.ad-input,.ad-select,.ad-textarea{border:1px solid var(--gray-3);background:var(--surface);min-width:0;color:var(--gray-12);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:14px;line-height:1.4}.ad-input:focus,.ad-select:focus,.ad-textarea:focus{border-color:var(--primary-color);outline:2px solid rgb(var(--primary-color-rgb) / 18%);outline-offset:0}.ad-input::placeholder{color:var(--gray-7)}.ad-search{flex:0 300px}.ad-textarea{resize:vertical}.ad-field{flex-direction:column;gap:5px;max-width:460px;display:flex}.ad-field-label{color:var(--gray-10);font-size:13px;font-weight:var(--font-weight-bold)}.ad-check{color:var(--gray-10);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.ad-check input{width:15px;height:15px;accent-color:var(--primary-color);cursor:pointer}.ad-btn{border:1px solid var(--gray-3);background:var(--surface);color:var(--gray-11);font-family:inherit;font-size:13px;font-weight:var(--font-weight);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;line-height:1.3;transition:background .12s,border-color .12s;display:inline-flex}.ad-btn:hover:not(:disabled){border-color:var(--gray-4);background:var(--gray-1)}.ad-btn:disabled{color:var(--gray-7);cursor:not-allowed;opacity:.65}.ad-btn.primary{border-color:var(--primary-color);background:var(--primary-color);color:var(--on-brand)}.ad-btn.primary:hover:not(:disabled){border-color:var(--primary-color-hover);background:var(--primary-color-hover)}.ad-btn.danger{border-color:var(--dark-pink);color:var(--dark-pink)}.ad-btn.danger:hover:not(:disabled){background:var(--danger-bg)}.ad-btn.solid-danger{border-color:var(--dark-pink);background:var(--dark-pink);color:var(--on-brand)}.ad-btn.solid-danger:hover:not(:disabled){background:var(--dark-pink-hover)}.ad-btn.quiet{color:var(--gray-9);background:0 0;border-color:#0000;padding:4px 7px;font-size:13px}.ad-btn.quiet:hover:not(:disabled){border-color:var(--gray-3);background:var(--gray-1);color:var(--gray-12)}.ad-btn.quiet.danger{color:var(--dark-pink)}.ad-btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ad-card{border:1px solid var(--gray-2);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.ad-card.flush{padding:0;overflow:hidden}.ad-table-scroll{overflow-x:auto}table.ad-table{border-collapse:collapse;width:100%;font-size:14px}table.ad-table th,table.ad-table td{border-bottom:1px solid var(--gray-2);text-align:left;vertical-align:middle;padding:10px 14px;font-size:14px}table.ad-table thead th{z-index:1;border-bottom:1px solid var(--gray-3);background:var(--gray-1);color:var(--gray-9);font-size:12px;font-weight:var(--font-weight-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;position:sticky;top:0}table.ad-table tbody tr:last-child td{border-bottom:none}table.ad-table tbody tr:hover{background:var(--gray-1)}table.ad-table td.numeric,table.ad-table th.numeric{text-align:right;font-variant-numeric:tabular-nums}table.ad-table td.actions{text-align:right;white-space:nowrap;width:1%}table.ad-table td.actions .ad-btn-row{flex-wrap:nowrap;justify-content:flex-end;gap:2px}.ad-primary-cell{flex-direction:column;gap:1px;display:flex}.ad-primary-cell strong{color:var(--gray-12);font-weight:var(--font-weight-bold)}.ad-cell-sub{color:var(--gray-8);font-size:12px}.ad-muted{color:var(--gray-7)}.ad-mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.ad-pill{background:var(--gray-2);color:var(--gray-10);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;line-height:1.5;display:inline-flex}.ad-pill:before{content:"";opacity:.7;background:currentColor;border-radius:50%;width:6px;height:6px}.ad-pill.ok{background:var(--gray-2);color:var(--dark-green)}.ad-pill.pending{background:var(--gray-2);color:var(--warning)}.ad-pill.off{background:var(--gray-2);color:var(--gray-8)}.ad-pill.bad{background:var(--gray-2);color:var(--dark-pink)}.ad-tag{border:1px solid var(--gray-3);background:var(--gray-1);color:var(--gray-10);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px;display:inline-block}.ad-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.ad-tile{border:1px solid var(--gray-2);background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.ad-tile-value{color:var(--gray-12);font-size:28px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;line-height:1.1}.ad-tile-label{color:var(--gray-9);font-size:13px;line-height:1.4}.ad-tile.attention{border-color:var(--danger-bg);background:var(--gray-1)}.ad-tile.attention .ad-tile-value{color:var(--dark-pink)}.ad-empty{border:1px dashed var(--gray-3);background:var(--surface);color:var(--gray-9);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.ad-empty strong{color:var(--gray-11);font-size:15px}.ad-empty p{max-width:46ch;margin:0;font-size:13px;line-height:1.5}.ad-notice{border:1px solid var(--gray-3);background:var(--gray-1);color:var(--gray-10);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.ad-notice p{margin:0}.ad-notice svg{color:var(--gray-8);flex:none;margin-top:2px}.ad-notice.warn{background:var(--gray-1);color:var(--warning);border-color:#e8cfa3}.ad-notice.warn svg{color:var(--orange)}.ad-notice.bad{border-color:var(--danger-bg);background:var(--danger-bg);color:var(--dark-pink)}.ad-notice.bad svg{color:var(--dark-pink)}.ad-pagination{border-top:1px solid var(--gray-2);color:var(--gray-9);justify-content:flex-end;align-items:center;gap:12px;padding:12px 14px 12px 0;font-size:13px;display:flex}.ad-wizard{text-align:left;flex-direction:column;gap:20px;width:min(860px,84vw);display:flex}.ad-steps{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ad-step{color:var(--gray-8);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.ad-step-dot{border:1px solid var(--gray-3);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.ad-step.active{color:var(--gray-12);font-weight:var(--font-weight-bold)}.ad-step.active .ad-step-dot{border-color:var(--primary-color);background:var(--primary-color);color:var(--on-brand)}.ad-step.done .ad-step-dot{border-color:var(--primary-color);color:var(--primary-color)}.ad-step-line{background:var(--gray-3);flex:auto;min-width:12px;height:1px}.ad-step-body{flex-direction:column;gap:16px;display:flex}.ad-actions{border-top:1px solid var(--gray-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;padding-top:4px;display:flex}.ad-actions .ad-spacer{flex:auto}.ad-dropzone{border:1.5px dashed var(--gray-4);background:var(--gray-1);color:var(--gray-9);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:40px 24px;transition:border-color .15s,background .15s;display:flex}.ad-dropzone:hover,.ad-dropzone.active{border-color:var(--primary-color);background:var(--gray-1)}.ad-dropzone svg{color:var(--gray-7)}.ad-dropzone-prompt{color:var(--gray-11);font-size:15px}.ad-dropzone-hint{color:var(--gray-8);font-size:13px}.ad-dropzone-selected{border:1px solid var(--gray-3);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.ad-dropzone-selected svg{color:var(--gray-8)}.ad-dropzone-selected .ad-file-name{color:var(--gray-12);overflow-wrap:anywhere;flex:auto}.ad-dropzone-remove{color:var(--gray-8);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px}.ad-dropzone-remove:hover{background:var(--gray-2);color:var(--gray-12)}.ad-dropzone-rejected{color:var(--dark-pink);margin:0;font-size:13px}.ad-map{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2px 24px;display:grid}.ad-map-row{border-bottom:1px solid var(--gray-2);grid-template-columns:1fr 190px;align-items:center;gap:12px;padding:7px 0;display:grid}.ad-map-field{flex-direction:column;gap:1px;min-width:0;display:flex}.ad-map-name{color:var(--gray-11);font-size:14px}.ad-map-name .ad-req{color:var(--dark-pink)}.ad-map-sample{color:var(--gray-8);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ad-map-row.unset .ad-map-name{color:var(--gray-8)}.ad-list{margin:0;padding:0;list-style:none}.ad-list li{border-bottom:1px solid var(--gray-2);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;font-size:14px;display:flex}.ad-list li:last-child{border-bottom:none}.ad-list .ad-spacer{flex:auto}.ad-password{border:1px solid var(--gray-3);background:var(--gray-1);letter-spacing:.06em;text-align:center;-webkit-user-select:all;user-select:all;border-radius:10px;padding:12px 16px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:20px}.ad-danger{border:1px solid var(--danger-bg);background:var(--surface);border-radius:12px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.ad-danger .ad-section-title{color:var(--dark-pink)}@media (width<=780px){.ad-map-row{grid-template-columns:1fr;align-items:stretch;gap:4px}.ad-search{flex:100%}}.ad-nav-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.ad-nav-card{border:1px solid var(--gray-2);background:var(--surface);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:18px 20px;font-family:inherit;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #0000000f}.ad-nav-card.wide{grid-column:1/-1}.ad-nav-card:hover{border-color:var(--gray-4);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.ad-nav-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.ad-nav-icon{background:color-mix(in srgb, var(--primary-color) 12%, var(--surface));width:44px;height:44px;color:var(--primary-color);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.ad-nav-text{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.ad-nav-title{color:var(--gray-12);font-size:16px;font-weight:var(--font-weight-bold);align-items:center;gap:8px;line-height:1.2;display:flex}.ad-nav-badge{background:var(--dark-pink);color:var(--on-brand);font-size:12px;font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px}.ad-nav-description{color:var(--gray-9);font-size:13px;line-height:1.45}.ad-nav-arrow{color:var(--gray-7);flex:none}.ad-nav-card:hover .ad-nav-arrow{color:var(--primary-color)}.ad-back{align-self:flex-start;margin-left:-7px}.ad-stat-caption{color:var(--gray-8);margin:-4px 0 0;font-size:12px}@media screen and (width<=700px){.ad-nav-grid{grid-template-columns:1fr}}.ad-analytics-back-row{flex-wrap:wrap;align-self:stretch;align-items:center;gap:12px;padding:0 8px;display:flex}.da-root{text-align:left;flex-direction:column;gap:18px;width:100%;padding:0 18px 24px;font-size:16px;display:flex}.da-filter-row{z-index:9;background:var(--gray-1);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 0;display:flex;position:sticky;top:44px}.da-filter-row .da-spacer{flex:auto}.da-filter-field{align-items:center;gap:6px;display:flex}.da-filter-field label{color:var(--gray-9);font-size:14px}.da-filter-field select{border:1px solid var(--gray-3);background:var(--surface);border-radius:8px;max-width:260px;padding:4px 8px;font-size:14px}.da-caption{color:var(--gray-8);font-size:12px;line-height:1.5}.da-headline{color:var(--gray-11);font-size:19px;font-weight:var(--font-weight-bold);margin:0;line-height:1.4}.da-subhead{color:var(--gray-8);margin:2px 0 0;font-size:13px}.da-tiles{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;display:grid}.da-tile{border:1px solid var(--gray-2);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;display:flex;box-shadow:0 2px 8px #0000000f}button.da-tile{cursor:pointer;font-family:inherit}button.da-tile:hover{border-color:var(--gray-4)}button.da-tile.active{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.da-tile-value{color:var(--gray-12);font-size:28px;font-weight:var(--font-weight-bold);line-height:1.1}.da-tile-value.positive{color:var(--dark-green)}.da-tile-value.negative{color:var(--dark-pink)}.da-tile-label{color:var(--gray-10);font-size:14px}.da-tile-hint{color:var(--gray-8);font-size:11px;line-height:1.4}.da-dot{vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.da-card{border:1px solid var(--gray-2);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 2px 8px #0000000f}.da-card-title{color:var(--gray-11);font-size:16px;font-weight:var(--font-weight-bold);margin:0}.da-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}@media (width<=1024px){.da-grid-2{grid-template-columns:1fr}}.da-chart{height:400px;position:relative}.da-chart.short{height:260px}.da-chart canvas{cursor:pointer}.da-table-scroll{overflow-x:auto}table.da-table{border-collapse:collapse;width:100%;font-size:14px}table.da-table th,table.da-table td{border-bottom:1px solid var(--gray-2);text-align:right;white-space:nowrap;padding:7px 10px;font-size:14px}table.da-table th:first-child,table.da-table td:first-child{text-align:left}table.da-table td{font-variant-numeric:tabular-nums}table.da-table thead th{z-index:1;background:var(--surface);color:var(--gray-9);font-weight:var(--font-weight);cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0}table.da-table tbody tr.clickable{cursor:pointer}table.da-table tbody tr.clickable:hover{background:var(--gray-1)}table.da-table tr.district-row td{border-bottom:2px solid var(--gray-4);font-weight:var(--font-weight-bold)}.da-cell-sub{color:var(--gray-8);font-size:11px;display:block}.da-inline-bar{background:var(--primary-color);vertical-align:middle;border-radius:4px;min-width:2px;height:8px;margin-right:8px;display:inline-block}.da-inline-bar.negative{background:var(--dark-pink)}table.da-heatmap td.level-cell{border:2px solid var(--surface);text-align:center;min-width:78px;font-weight:var(--font-weight-bold);border-radius:4px;padding:8px 10px}table.da-heatmap td.level-cell.empty{background:repeating-linear-gradient(45deg, var(--gray-2), var(--gray-2) 4px, var(--gray-1) 4px, var(--gray-1) 8px);color:var(--gray-8);font-weight:var(--font-weight)}.da-heatmap-legend{color:var(--gray-9);align-items:center;gap:8px;font-size:12px;display:flex}.da-swatch{border-radius:2px;width:26px;height:12px;display:inline-block}.da-flag-pill{background:var(--gray-2);color:var(--gray-11);white-space:nowrap;border-radius:10px;margin:0 4px 2px 0;padding:2px 8px;font-size:11px;display:inline-block}.da-flag-pill.warn{background:var(--danger-bg);color:var(--dark-pink)}.da-empty{color:var(--gray-9);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:34px 16px;display:flex}.da-empty-title{color:var(--gray-11);font-size:16px;font-weight:var(--font-weight-bold)}.da-empty-hint{max-width:420px;color:var(--gray-8);font-size:13px}.da-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.da-list li{border-bottom:1px solid var(--gray-2);flex-direction:column;padding-bottom:8px;font-size:14px;display:flex}.da-list li:last-child{border-bottom:none}.da-list li.clickable{cursor:pointer}.da-list-note{color:var(--gray-8);font-size:12px}.da-search{border:1px solid var(--gray-3);border-radius:8px;min-width:200px;padding:5px 10px;font-size:14px}.da-link{color:var(--primary-color);font:inherit;font-weight:var(--font-weight-bold);cursor:pointer;background:0 0;border:none;padding:0}.da-link:hover{text-decoration:underline}.evaluation-admin .page-header{border-bottom:2px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.evaluation-admin .page-header h1{color:var(--gray-10);align-items:center;gap:12px;margin:0;padding:0;font-size:1.75rem;display:flex}.evaluation-admin .page-header h1 svg{color:var(--accent-teal)}.evaluation-admin .stats-summary{border-top:1px solid var(--gray-3);flex-direction:column;gap:12px;margin-top:20px;padding-top:20px;display:flex}.evaluation-admin .stat{background:var(--gray-2);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.evaluation-admin .stat-value{color:var(--accent-teal);font-size:1.5rem;font-weight:700}.evaluation-admin .stat-label{color:var(--gray-7);font-size:.875rem}.evaluation-filters{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.evaluation-filters .filter-group{flex-direction:column;gap:4px;min-width:150px;display:flex}.evaluation-filters .filter-group label{text-transform:uppercase;color:var(--gray-6);letter-spacing:.5px;font-size:.75rem;font-weight:600}.evaluation-filters select{border:1px solid var(--gray-4);background:var(--surface);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.evaluation-filters select:hover{border-color:var(--accent-teal)}.evaluation-filters select:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.evaluation-filters .clear-filters-btn{border:1px solid var(--gray-4);color:var(--gray-7);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-size:.875rem;transition:all .2s}.evaluation-filters .clear-filters-btn:hover{background:var(--gray-2);border-color:var(--gray-5)}.evaluation-admin .loading-state,.evaluation-admin .empty-state{text-align:center;color:var(--gray-6);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.evaluation-admin .loading-state svg,.evaluation-admin .empty-state svg{color:var(--gray-4);margin-bottom:16px}.evaluation-admin .loading-state .loading-wormy{width:120px;height:auto;margin-bottom:16px}.evaluation-admin .empty-state h3{color:var(--gray-8);margin:0 0 8px}.evaluation-admin .empty-state p{max-width:400px;margin:0 0 20px}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;max-height:100%;display:grid;overflow-y:auto}.pagination-controls{border-top:1px solid var(--gray-3);justify-content:center;align-items:center;gap:20px;margin-top:24px;padding:16px 0;display:flex}.pagination-controls .pagination-btn{justify-content:center;align-items:center;gap:8px;min-width:110px;padding:10px 16px;font-size:.9rem;display:flex}.pagination-controls .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-controls .pagination-info{color:var(--gray-7);font-size:.9rem;font-weight:500}.section-card{background:var(--surface);border:1px solid var(--gray-3);cursor:pointer;border-radius:12px;min-height:200px;transition:transform .2s,box-shadow .2s;overflow:hidden}.section-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.section-card.inactive{opacity:.7;background:var(--gray-1)}.section-card-header{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.section-card-badges{flex-wrap:wrap;gap:6px;display:flex}.section-card-id{color:var(--gray-5);font-family:monospace;font-size:.75rem}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.badge.category-badge{background:var(--accent-teal);color:var(--on-brand)}.badge.category-badge.wida_listen{background:var(--accent-violet)}.badge.category-badge.wida_read{background:var(--accent-teal)}.badge.category-badge.wida_speak{background:var(--accent-amber)}.badge.category-badge.wida_write{background:var(--accent-rose)}.badge.category-badge.lexile_read{background:var(--accent-sky)}.badge.grade-badge{background:var(--gray-7);color:var(--on-brand)}.badge.wida-badge{background:var(--accent-violet);color:var(--on-brand)}.badge.status-badge{background:var(--gray-4);color:var(--gray-8)}.badge.status-badge.active{background:var(--success-bg);color:var(--success)}.badge.status-badge.inactive{background:var(--danger-bg);color:var(--danger)}.badge.type-badge{background:var(--gray-6);color:#fff}.badge.type-badge.choice{background:var(--accent-teal)}.badge.type-badge.text{background:var(--accent-amber)}.badge.type-badge.conversation{background:var(--accent-violet)}.section-card-body{padding:16px}.section-prompt{color:var(--gray-8);margin:0 0 12px;font-size:.9rem;line-height:1.5}.section-meta{color:var(--gray-6);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.section-meta .question-count{align-items:center;gap:4px;display:flex}.section-media-indicators{gap:8px;margin-top:8px;display:flex}.media-indicator{background:var(--gray-2);border-radius:4px;padding:2px 6px;font-size:.75rem}.section-card-actions{background:var(--gray-1);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.action-btn{background:var(--surface);width:32px;height:32px;color:var(--gray-6);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.action-btn:hover{background:var(--gray-2)}.action-btn.toggle-btn svg.active{color:var(--accent-teal)}.action-btn.edit-btn:hover{color:var(--accent-teal);background:#0d94881a}.action-btn.delete-btn:hover{color:var(--accent-rose);background:#e11d481a}.action-btn.view-btn:hover{color:var(--accent-sky);background:#0ea5e91a}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-teal);color:var(--on-brand)}.btn-primary:hover:not(:disabled){background:var(--accent-teal-light)}.btn-secondary{background:var(--gray-2);color:var(--gray-8);border:1px solid var(--gray-4)}.btn-secondary:hover:not(:disabled){background:var(--gray-3)}.btn-danger{background:var(--accent-rose);color:var(--on-brand)}.btn-danger:hover:not(:disabled){background:var(--dark-pink)}.btn-back{color:var(--gray-7);background:0 0;padding:8px 12px}.btn-back:hover{background:var(--gray-2);color:var(--gray-9)}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-add{background:var(--accent-teal);color:var(--on-brand)}.btn-add:hover{background:var(--accent-teal-light)}.section-detail{max-width:100%;padding:0;overflow-y:auto}.section-detail-header{border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.section-detail-header .section-nav-actions{align-items:center;gap:16px;display:flex}.section-detail-header .section-navigation{border-right:1px solid var(--gray-3);gap:8px;padding-right:16px;display:flex}.section-detail-header .section-navigation .nav-btn{justify-content:center;align-items:center;gap:6px;min-width:80px;display:flex}.section-detail-header .section-navigation .nav-btn:disabled{opacity:.5;cursor:not-allowed}.section-detail-header .section-actions{gap:8px;display:flex}.section-info-panel{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;margin-bottom:24px;padding:24px}.section-info-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-info-header h2{color:var(--gray-9);margin:0}.section-badges{gap:8px;display:flex}.section-prompt-full{margin-bottom:16px}.section-prompt-full h3{color:var(--gray-6);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;font-size:.875rem}.section-prompt-full p{background:var(--gray-1);color:var(--gray-8);white-space:pre-wrap;border-radius:8px;margin:0;padding:16px;line-height:1.6}.section-meta-info{color:var(--gray-6);flex-wrap:wrap;gap:16px;font-size:.875rem;display:flex}.section-meta-info a{color:var(--accent-teal);text-decoration:none}.section-meta-info a:hover{text-decoration:underline}.section-book-editor{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;margin-bottom:24px;padding:24px}.book-editor-header{border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.book-editor-header h3{color:var(--gray-9);align-items:center;gap:10px;margin:0;font-size:1.1rem;display:flex}.book-editor-header h3 svg{color:var(--accent-teal)}.book-editor-info{align-items:center;gap:16px;display:flex}.book-editor-info .book-title{color:var(--gray-8);font-weight:600}.book-editor-info .book-difficulty{color:var(--gray-6);background:var(--gray-2);border-radius:4px;padding:4px 10px;font-size:.875rem}.book-editor-cover{justify-content:center;margin-top:16px;display:flex}.book-editor-cover .book-card-cover{width:180px;height:240px;color:var(--gray-5);font-size:3rem}.section-book-editor .text-editor{border:1px solid var(--gray-3);border-radius:8px;overflow:hidden}.section-book-editor .text-editor .ql-toolbar{border:none;border-bottom:1px solid var(--gray-3);background:var(--gray-1)}.section-book-editor .text-editor .ql-container{border:none;min-height:300px;font-size:1rem}.section-book-editor .text-editor .ql-editor{min-height:300px;padding:16px;line-height:1.7}.book-editor-actions{border-top:1px solid var(--gray-3);justify-content:flex-end;margin-top:16px;padding-top:16px;display:flex}.book-editor-actions .btn{align-items:center;gap:8px;display:flex}.book-editor-actions .btn:disabled{opacity:.6;cursor:not-allowed}.section-questions{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;padding:24px}.questions-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.questions-header h3{color:var(--gray-8);margin:0}.no-questions{text-align:center;color:var(--gray-6);padding:40px 20px}.no-questions p{margin-bottom:16px}.questions-list{flex-direction:column;gap:16px;display:flex}.question-card{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:10px;overflow:hidden}.question-card.inactive{opacity:.7}.question-card-header{background:var(--gray-2);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.question-card-badges{gap:6px;display:flex}.question-card-id{color:var(--gray-5);font-family:monospace;font-size:.7rem}.question-card-body{padding:14px}.question-text{color:var(--gray-8);margin:0 0 10px;font-size:.9rem;line-height:1.5}.question-prompt{color:var(--gray-6);margin:0 0 10px;font-size:.8rem}.question-choices{border-top:1px solid var(--gray-3);margin-top:12px;padding-top:12px}.question-choices .choices-label{color:var(--gray-6);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.question-choices ul{margin:8px 0 0;padding:0;list-style:none}.question-choices li{color:var(--gray-7);align-items:center;gap:8px;padding:6px 0;font-size:.85rem;display:flex}.question-choices li.correct{color:var(--success);font-weight:500}.question-choices .correct-icon{color:var(--success)}.question-choices .incorrect-icon{color:var(--gray-4)}.question-choices .has-image{margin-left:auto;font-size:.75rem}.question-meta{color:var(--gray-5);gap:10px;margin-top:10px;font-size:.75rem;display:flex}.question-card-actions{background:var(--gray-2);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:6px;padding:10px 14px;display:flex}.section-form,.question-form{max-width:700px;max-height:80vh;padding:8px;overflow-y:auto}.section-form h2,.question-form h2{color:var(--gray-9);margin:0 0 24px;font-size:1.25rem}.form-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.form-row.three-col{grid-template-columns:repeat(3,1fr)}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--gray-7);font-size:.8rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--gray-4);border-radius:8px;padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.form-group.checkbox-group{flex-direction:row;align-items:center;gap:12px;margin:16px 0}.form-group.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-group.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-teal)}.form-group .hint{color:var(--gray-5);font-size:.75rem}.form-actions{border-top:1px solid var(--gray-3);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.choices-section{background:var(--gray-1);border-radius:10px;margin:20px 0;padding:16px}.choices-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.choices-header h3{color:var(--gray-8);margin:0;font-size:1rem}.no-choices{text-align:center;color:var(--gray-5);padding:20px;font-style:italic}.choices-list{flex-direction:column;gap:10px;display:flex}.choice-row{background:var(--surface);border:1px solid var(--gray-3);border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.choice-index{color:var(--gray-5);min-width:24px;font-weight:600}.choice-text{flex:2;padding:8px 10px!important;font-size:.85rem!important}.choice-img{flex:1;padding:8px 10px!important;font-size:.8rem!important}.correct-checkbox{color:var(--gray-6);white-space:nowrap;align-items:center;gap:4px;font-size:.8rem;display:flex}.correct-checkbox input[type=radio]{accent-color:var(--accent-teal)}.btn-remove-choice{width:28px;height:28px;color:var(--gray-5);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-remove-choice:hover{color:var(--accent-rose);background:#e11d481a}@media (width<=768px){.sections-grid{grid-template-columns:1fr}.evaluation-filters{flex-direction:column}.evaluation-filters .filter-group{width:100%}.form-row,.form-row.three-col{grid-template-columns:1fr}.choice-row{flex-wrap:wrap}.choice-text{flex:100%;order:1}.choice-img{flex:100%;order:2}.correct-checkbox{order:3}.btn-remove-choice{order:4}.media-pickers{flex-direction:column}}.media-section{background:var(--gray-1);border-radius:10px;margin:20px 0;padding:16px}.media-pickers{gap:24px;display:flex}.media-picker-group{flex-direction:column;flex:1;gap:8px;display:flex}.media-picker-group>label{color:var(--gray-7);font-size:.8rem;font-weight:500}.evaluation-image-picker{position:relative}.evaluation-image-picker .image-picker-box{min-height:120px}.evaluation-image-picker .image-actions{position:absolute;top:4px;right:4px}.evaluation-audio-picker{flex-direction:column;gap:8px;display:flex}.evaluation-audio-picker .audio-picker-box{min-height:60px}.evaluation-audio-picker .audio-controls{background:var(--gray-2);border-radius:6px;align-items:center;gap:4px;padding:4px 8px;display:flex}.evaluation-audio-picker .audio-url-preview{color:var(--gray-6);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-left:8px;font-size:.75rem;overflow:hidden}.section-media-display{border-top:1px solid var(--gray-3);gap:24px;margin-top:20px;padding-top:20px;display:flex}.section-media-display .media-preview-group{flex:1;min-width:0}.section-media-display .media-preview-group h3{color:var(--gray-6);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:.875rem}.section-media-display .image-preview-container{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:8px;justify-content:center;align-items:center;min-height:150px;padding:12px;display:flex}.image-preview-container img{object-fit:contain;border-radius:4px;max-height:250px}.section-media-display .section-image-preview{object-fit:contain;border-radius:4px;max-width:100%;max-height:250px}.section-media-display .image-load-error{color:var(--accent-rose);word-break:break-all;font-size:.8rem}.section-media-display .audio-preview-container{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:8px;padding:12px}.section-media-display .audio-player{align-items:center;gap:12px;display:flex}.section-media-display .audio-icon{color:var(--accent-teal);font-size:1.25rem}.section-media-display .audio-control-btn{background:var(--accent-teal);width:36px;height:36px;color:var(--on-brand);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.section-media-display .audio-control-btn:hover{background:var(--accent-teal-light);transform:scale(1.05)}.section-media-display .audio-control-btn:active{transform:scale(.95)}.section-media-display .audio-filename{color:var(--gray-7);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}@media (width<=768px){.section-media-display{flex-direction:column}}.evaluation-image-picker.compact{width:60px}.evaluation-image-picker.compact .image-picker-box{min-height:60px!important}.evaluation-image-picker.compact .image-actions{top:2px;right:2px}.evaluation-image-picker.compact .image-filename{display:none}.evaluation-image-picker .image-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.evaluation-image-picker .image-filename{color:var(--gray-6);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:.75rem;overflow:hidden}.choice-row .choice-image-picker{flex-shrink:0}.choice-row{background:var(--gray-1);border-radius:8px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.choice-row .choice-index{color:var(--gray-6);flex-shrink:0;width:24px;font-weight:600}.choice-row .choice-text{flex:1;min-width:150px}.section-preview-container{background:var(--gray-1);border-radius:12px;flex-direction:column;width:90vw;max-width:1000px;height:85vh;display:flex;overflow:hidden}.section-preview-container .preview-header{background:linear-gradient(135deg, var(--accent-teal) 0%, var(--accent-teal-light) 100%);color:var(--on-brand);align-items:center;gap:16px;padding:16px 24px;display:flex}.section-preview-container .preview-header h2{margin:0;font-size:1.25rem;font-weight:600}.section-preview-container .preview-badge{text-transform:uppercase;letter-spacing:.5px;background:#fff3;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:500}.section-preview-container .preview-close-btn{background:rgba(var(--shadow-rgb), .12);width:36px;height:36px;color:var(--on-brand);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;transition:all .2s;display:flex}.section-preview-container .preview-close-btn:hover{background:#ffffff4d;transform:scale(1.05)}.section-preview-container .preview-content{background:var(--gray-9);flex:1;padding:24px;overflow:auto}.section-preview-container .preview-content .assessment-container{background:var(--gray-9);height:100%}.section-preview-container .preview-loading,.section-preview-container .preview-empty{text-align:center;color:var(--gray-6);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 20px;display:flex}.section-preview-container .preview-loading svg{color:var(--accent-teal);margin-bottom:16px}.section-preview-container .preview-empty p{max-width:400px;margin:8px 0}.btn-preview{background:var(--accent-sky);color:var(--on-brand)}.btn-preview:hover:not(:disabled){background:var(--accent-sky)}.section-validation{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.section-validation-block{border-left:4px solid var(--accent-amber,var(--accent-amber));background:var(--gray-1);border-radius:8px;padding:12px 16px}.section-validation-block.is-blocking{border-left-color:var(--danger)}.section-validation-block h4{margin:0 0 4px;font-size:.95rem}.section-validation-block.is-blocking h4{color:var(--danger)}.section-validation-block ul{margin:8px 0 0;padding-left:20px}.section-validation-block li{margin:4px 0;font-size:.9rem}.section-validation-block .hint{color:var(--gray-6);font-size:.85rem}.model-turn-review{border:1px dashed var(--accent-teal);background:var(--gray-1);border-radius:8px;margin:0 0 16px;padding:16px}.model-turn-review h4{margin:0 0 4px}.model-turn-original{background:var(--surface);border-radius:6px;margin:12px 0;padding:10px 12px}.model-turn-original p{margin:4px 0 0}.badge.review-badge{background:var(--accent-amber);color:var(--on-brand)}.badge.tier-badge{background:var(--accent-sky,#0ea5e9);color:var(--on-brand)}.badge-studio{padding:24px}.badge-studio .page-header{border-bottom:2px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.badge-studio .page-header h1{color:var(--gray-10);align-items:center;gap:12px;margin:0;padding:0;font-size:1.75rem;display:flex}.badge-studio .page-header h1 svg{color:var(--accent-teal)}.badge-studio-filters{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.badge-search-wrapper{flex:1;min-width:200px;position:relative}.badge-search-wrapper .search-icon{color:var(--gray-5);font-size:.875rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.badge-search-input{border:1px solid var(--gray-4);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px 10px 36px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.badge-search-input:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.badge-studio-filters .filter-group{flex-direction:column;gap:4px;min-width:140px;display:flex}.badge-studio-filters .filter-group label{text-transform:uppercase;color:var(--gray-6);letter-spacing:.5px;font-size:.75rem;font-weight:600}.badge-studio-filters select{border:1px solid var(--gray-4);background:var(--surface);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.badge-studio-filters select:hover{border-color:var(--accent-teal)}.badge-studio-filters select:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.badge-studio .empty-state{text-align:center;color:var(--gray-6);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.badge-studio .empty-state svg{color:var(--gray-4);margin-bottom:16px}.badge-studio .empty-state h3{color:var(--gray-8);margin:0 0 8px}.badge-studio .empty-state p{max-width:400px;margin:0 0 20px}.badge-studio-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.badge-studio-card{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.badge-studio-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.badge-studio-card.inactive{opacity:.7;background:var(--gray-1)}.badge-studio-card-header{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.badge-studio-card-badges{flex-wrap:wrap;gap:6px;display:flex}.badge-studio-card-id{color:var(--gray-5);font-family:monospace;font-size:.75rem}.badge-studio .badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.badge-studio .badge.status-badge{background:var(--gray-4);color:var(--gray-8)}.badge-studio .badge.status-badge.active{background:var(--success-bg);color:var(--success)}.badge-studio .badge.status-badge.inactive{background:var(--danger-bg);color:var(--danger)}.badge-studio .badge.trigger-badge{background:var(--accent-violet);color:var(--on-brand)}.badge-studio-card-body{gap:16px;padding:16px;display:flex}.badge-studio-card-visual{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.badge-studio-card-image{object-fit:contain;border-radius:8px;width:80px;height:80px}.badge-studio-card-placeholder{background:var(--gray-2);border:2px dashed var(--gray-4);width:80px;height:80px;color:var(--gray-5);text-align:center;border-radius:8px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.badge-studio-card-info{flex:1;min-width:0}.badge-studio-card-name{color:var(--gray-9);margin:0 0 6px;font-size:1.05rem}.badge-studio-card-description{color:var(--gray-7);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.badge-studio-card-criteria{color:var(--gray-6);margin:0 0 6px;font-size:.8rem;line-height:1.4}.badge-studio-card-criteria strong{color:var(--gray-7)}.badge-studio-card-balance{color:var(--accent-amber);align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-studio-card-actions{background:var(--gray-1);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.badge-studio .action-btn{background:var(--surface);width:32px;height:32px;color:var(--gray-6);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.badge-studio .action-btn:hover{background:var(--gray-2)}.badge-studio .action-btn.toggle-btn svg.active{color:var(--accent-teal)}.badge-studio .action-btn.edit-btn:hover{color:var(--accent-teal);background:#0d94881a}.badge-studio .action-btn.delete-btn:hover{color:var(--accent-rose);background:#e11d481a}.badge-studio .action-btn.disabled-toggle{opacity:.35;cursor:not-allowed}.badge-studio .action-btn.disabled-toggle:hover{background:var(--surface);color:var(--gray-6)}.badge-form{max-width:700px;max-height:80vh;padding:8px;overflow-y:auto}.badge-form h2{color:var(--gray-9);margin:0 0 24px;font-size:1.25rem}.badge-form .form-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.badge-form .form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.badge-form .form-group.full-width{grid-column:1/-1}.badge-form .form-group label{color:var(--gray-7);font-size:.8rem;font-weight:500}.badge-form .form-group input,.badge-form .form-group select,.badge-form .form-group textarea{border:1px solid var(--gray-4);border-radius:8px;padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.badge-form .form-group input:focus,.badge-form .form-group select:focus,.badge-form .form-group textarea:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.badge-form .form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.badge-form .conditions-editor{min-height:120px;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5}.badge-form .conditions-editor.has-error{border-color:var(--accent-rose);box-shadow:0 0 0 3px #e11d4826}.badge-form .conditions-error{color:var(--accent-rose);font-size:.75rem;font-weight:400}.badge-form .hint{color:var(--gray-5);font-size:.75rem}.badge-form .form-group.checkbox-group{flex-direction:row;align-items:center;gap:12px;margin:16px 0}.badge-form .form-group.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.badge-form .form-group.checkbox-group input[type=checkbox]{accent-color:#0d9488;width:18px;height:18px}.badge-form .form-group.checkbox-group label.disabled{opacity:.5;cursor:not-allowed}.badge-image-picker{margin-top:4px}.badge-image-picker .book-card-cover{width:120px;height:120px;font-size:2rem}.badge-image-picker .book-card-cover img{border-radius:8px}.badge-form .image-required-hint{color:var(--accent-amber);font-weight:500}.badge-form .form-actions{border-top:1px solid var(--gray-3);background:var(--gray-1);z-index:1;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;padding-bottom:4px;display:flex;position:sticky;bottom:0}@media (width<=768px){.badge-studio{padding:16px}.badge-studio-grid{grid-template-columns:1fr}.badge-studio-filters{flex-direction:column}.badge-form .form-row{grid-template-columns:1fr}.badge-studio .page-header{flex-direction:column;align-items:flex-start;gap:12px}}.cosmetic-studio{padding:24px}.cosmetic-studio .page-header{border-bottom:2px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.cosmetic-studio .page-header h1{color:var(--gray-10);align-items:center;gap:12px;margin:0;padding:0;font-size:1.75rem;display:flex}.cosmetic-studio .page-header h1 svg{color:var(--accent-teal)}.cosmetic-studio-filters{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.cosmetic-search-wrapper{flex:1;min-width:200px;position:relative}.cosmetic-search-wrapper .search-icon{color:var(--gray-5);font-size:.875rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.cosmetic-search-input{border:1px solid var(--gray-4);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px 10px 36px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.cosmetic-search-input:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.cosmetic-studio-filters .filter-group{flex-direction:column;gap:4px;min-width:140px;display:flex}.cosmetic-studio-filters .filter-group label{text-transform:uppercase;color:var(--gray-6);letter-spacing:.5px;font-size:.75rem;font-weight:600}.cosmetic-studio-filters select{border:1px solid var(--gray-4);background:var(--surface);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.cosmetic-studio-filters select:hover{border-color:var(--accent-teal)}.cosmetic-studio-filters select:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.cosmetic-studio .empty-state{text-align:center;color:var(--gray-6);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.cosmetic-studio .empty-state svg{color:var(--gray-4);margin-bottom:16px}.cosmetic-studio .empty-state h3{color:var(--gray-8);margin:0 0 8px}.cosmetic-studio .empty-state p{max-width:400px;margin:0 0 20px}.cosmetic-studio-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.cosmetic-studio-card{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.cosmetic-studio-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.cosmetic-studio-card.default{border-color:var(--accent-amber);border-width:2px}.cosmetic-studio-card-header{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.cosmetic-studio-card-badges{flex-wrap:wrap;gap:6px;display:flex}.cosmetic-studio-card-id{color:var(--gray-5);font-family:monospace;font-size:.75rem}.cosmetic-studio .badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.cosmetic-studio .badge.slot-badge{background:var(--accent-violet);color:var(--on-brand)}.cosmetic-studio .badge.default-badge{background:var(--warning-bg);color:var(--warning)}.cosmetic-studio-card-body{align-items:center;gap:16px;padding:16px;display:flex}.cosmetic-studio-card-visual{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.cosmetic-studio-card-image{object-fit:contain;border-radius:8px;width:80px;height:80px}.cosmetic-studio-card-placeholder{background:var(--gray-2);border:2px dashed var(--gray-4);width:80px;height:80px;color:var(--gray-5);text-align:center;border-radius:8px;justify-content:center;align-items:center;font-size:.75rem;display:flex}.cosmetic-studio-card-info{flex:1;min-width:0}.cosmetic-studio-card-name{color:var(--gray-9);margin:0 0 8px;font-size:1.05rem}.cosmetic-studio-card-price{color:var(--accent-amber);align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:inline-flex}.cosmetic-studio-card-actions{background:var(--gray-1);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.cosmetic-studio .action-btn{background:var(--surface);width:32px;height:32px;color:var(--gray-6);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.cosmetic-studio .action-btn:hover{background:var(--gray-2)}.cosmetic-studio .action-btn.toggle-btn svg.active{color:var(--accent-amber)}.cosmetic-form{max-width:700px;max-height:80vh;padding:8px;overflow-y:auto}.cosmetic-form h2{color:var(--gray-9);margin:0 0 24px;font-size:1.25rem}.cosmetic-form .form-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.cosmetic-form .form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.cosmetic-form .form-group.full-width{grid-column:1/-1}.cosmetic-form .form-group label{color:var(--gray-7);font-size:.8rem;font-weight:500}.cosmetic-form .form-group input,.cosmetic-form .form-group select,.cosmetic-form .form-group textarea{border:1px solid var(--gray-4);border-radius:8px;padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.cosmetic-form .form-group input:focus,.cosmetic-form .form-group select:focus,.cosmetic-form .form-group textarea:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.cosmetic-form .hint{color:var(--gray-5);font-size:.75rem}.cosmetic-form .form-group.checkbox-group{flex-direction:row;align-items:center;gap:12px;margin:16px 0}.cosmetic-form .form-group.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.cosmetic-form .form-group.checkbox-group input[type=checkbox]{accent-color:#0d9488;width:18px;height:18px}.cosmetic-image-picker{margin-top:4px}.cosmetic-image-picker .book-card-cover{width:120px;height:120px;font-size:2rem}.cosmetic-image-picker .book-card-cover img{border-radius:8px}.cosmetic-form .form-actions{border-top:1px solid var(--gray-3);background:var(--gray-1);z-index:1;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;padding-bottom:4px;display:flex;position:sticky;bottom:0}@media (width<=768px){.cosmetic-studio{padding:16px}.cosmetic-studio-grid{grid-template-columns:1fr}.cosmetic-studio-filters{flex-direction:column}.cosmetic-form .form-row{grid-template-columns:1fr}.cosmetic-studio .page-header{flex-direction:column;align-items:flex-start;gap:12px}}.dictionary-manager{padding:24px}.dictionary-manager .page-header{border-bottom:2px solid var(--gray-3);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.dictionary-manager .page-header h1{color:var(--gray-10);align-items:center;gap:12px;margin:0;padding:0;font-size:1.75rem;display:flex}.dictionary-manager .page-header h1 svg{color:var(--accent-teal)}.dict-filters{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.dict-search-wrapper{flex:1;min-width:200px;position:relative}.dict-search-wrapper .search-icon{color:var(--gray-5);font-size:.875rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dict-search-input{border:1px solid var(--gray-4);box-sizing:border-box;border-radius:8px;width:100%;padding:10px 12px 10px 36px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.dict-search-input:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.dict-filters .filter-group{flex-direction:column;gap:4px;min-width:160px;display:flex}.dict-filters .filter-group label{text-transform:uppercase;color:var(--gray-6);letter-spacing:.5px;font-size:.75rem;font-weight:600}.dict-filters select{border:1px solid var(--gray-4);background:var(--surface);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.dict-filters select:hover{border-color:var(--accent-teal)}.dict-filters select:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.dict-count{color:var(--gray-6);white-space:nowrap;align-items:flex-end;padding-bottom:10px;font-size:.85rem;display:flex}.dictionary-manager .empty-state{text-align:center;color:var(--gray-6);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.dictionary-manager .empty-state svg{color:var(--gray-4);margin-bottom:16px}.dictionary-manager .empty-state h3{color:var(--gray-8);margin:0 0 8px}.dictionary-manager .empty-state p{max-width:400px;margin:0 0 20px}.dict-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.dict-card{background:var(--surface);border:1px solid var(--gray-3);border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.dict-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.dict-card-header{background:linear-gradient(135deg, var(--gray-1) 0%, var(--gray-2) 100%);border-bottom:1px solid var(--gray-3);justify-content:space-between;align-items:flex-start;padding:12px 16px;display:flex}.dict-card-badges{flex-wrap:wrap;gap:6px;display:flex}.dict-card-media-icons{align-items:center;gap:8px;display:flex}.dict-card-media-icons .media-icon{color:var(--gray-4);font-size:.7rem}.dict-card-media-icons .media-icon.has-media{color:var(--accent-teal)}.dict-card-id{color:var(--gray-5);font-family:monospace;font-size:.75rem}.dictionary-manager .badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.dictionary-manager .badge.pos-badge{background:var(--accent-violet);color:var(--on-brand)}.dictionary-manager .badge.def-count-badge{background:var(--accent-sky);color:var(--on-brand)}.dict-card-body{padding:16px}.dict-card-main{gap:14px;display:flex}.dict-card-image-wrapper{flex-shrink:0;width:72px;height:72px}.dict-card-image{object-fit:contain;background:var(--gray-1);border-radius:8px;width:72px;height:72px}.dict-card-text-content{flex:1;min-width:0}.dict-card-word-row{align-items:center;gap:8px;margin-bottom:2px;display:flex}.dict-card-word{color:var(--gray-9);margin:0;font-size:1.2rem}.dict-card-play-btn{background:var(--accent-teal);width:26px;height:26px;color:var(--on-brand);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.6rem;transition:background .2s,transform .15s;display:flex}.dict-card-play-btn:hover{background:var(--accent-teal-light);transform:scale(1.1)}.dict-card-play-btn.playing{background:var(--accent-amber)}.dict-card-phonics{color:var(--gray-5);margin:0 0 6px;font-size:.85rem;font-style:italic}.dict-card-definition{color:var(--gray-7);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.dict-card-definition.no-def{color:var(--gray-4);font-style:italic}.dict-card-synonyms{color:var(--gray-6);margin:0;font-size:.8rem;line-height:1.4}.dict-card-synonyms strong{color:var(--gray-7)}.dict-card-actions{background:var(--gray-1);border-top:1px solid var(--gray-3);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dict-load-more{justify-content:center;padding:24px 0;display:flex}.word-form{max-width:700px;max-height:80vh;padding:8px;overflow-y:auto}.word-form h2{color:var(--gray-9);margin:0 0 24px;font-size:1.25rem}.word-form .form-row{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px;display:grid}.word-form .form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.word-form .form-group.full-width{grid-column:1/-1}.word-form .form-group label{color:var(--gray-7);font-size:.8rem;font-weight:500}.word-form .form-group input,.word-form .form-group select,.word-form .form-group textarea{border:1px solid var(--gray-4);border-radius:8px;padding:10px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.word-form .form-group input:focus,.word-form .form-group select:focus,.word-form .form-group textarea:focus{border-color:var(--accent-teal);outline:none;box-shadow:0 0 0 3px #0d948826}.word-form .form-group textarea{resize:vertical;min-height:60px;font-family:inherit}.word-form .hint{color:var(--gray-5);font-size:.75rem}.media-section{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:10px;margin-bottom:16px;padding:16px}.media-section h3{color:var(--gray-8);margin:0 0 14px;font-size:1rem}.media-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.media-field{margin-bottom:14px}.media-field:last-child{margin-bottom:0}.media-field>label{color:var(--gray-7);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.media-image-picker{margin-top:4px}.media-image-picker .book-card-cover{width:120px;height:120px;font-size:2rem}.media-image-picker .book-card-cover img{border-radius:8px}.media-clear-btn{background:var(--surface);width:28px;height:28px;color:var(--gray-6);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.media-clear-btn:hover{color:var(--accent-rose);background:#e11d481a}.audio-controls{flex-direction:column;gap:8px;display:flex}.audio-preview-row{align-items:center;gap:8px;display:flex}.audio-action-row{flex-wrap:wrap;gap:8px;display:flex}.audio-play-btn{border:1px solid var(--accent-teal);background:var(--surface);color:var(--accent-teal);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.audio-play-btn:hover{background:#0d948814}.audio-play-btn.playing{border-color:var(--accent-amber);color:var(--accent-amber)}.audio-play-btn.playing:hover{background:#f59e0b14}.regen-hint{font-weight:500;color:var(--accent-teal)!important}.lipsync-preview-container{margin-top:4px}.lipsync-preview{align-items:flex-start;gap:10px;display:flex}.lipsync-preview-img{object-fit:contain;background:var(--surface);border:1px solid var(--gray-3);border-radius:8px;width:120px;height:120px}.lipsync-delete-btn{border:1px solid var(--accent-rose);background:var(--surface);color:var(--accent-rose);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .2s;display:inline-flex}.lipsync-delete-btn:hover{background:#e11d4814}.lipsync-empty{background:var(--surface);border:1px dashed var(--gray-4);border-radius:8px;align-items:center;gap:10px;min-height:56px;padding:16px;display:flex}.lipsync-empty-icon{color:var(--gray-4);font-size:1.4rem}.lipsync-empty-text{color:var(--gray-5);font-size:.82rem}.definitions-section{margin-top:8px;margin-bottom:16px}.definitions-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.definitions-header h3{color:var(--gray-8);margin:0;font-size:1rem}.no-definitions-hint{text-align:center;color:var(--gray-5);padding:20px 0;font-size:.85rem}.definition-entry{background:var(--gray-1);border:1px solid var(--gray-3);border-radius:10px;margin-bottom:12px;padding:14px}.definition-entry-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.definition-entry-header .lang-select{border:1px solid var(--gray-4);background:var(--surface);border-radius:6px;padding:6px 10px;font-size:.85rem}.def-remove-btn{background:var(--surface);width:28px;height:28px;color:var(--gray-6);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.def-remove-btn:hover{color:var(--accent-rose);background:#e11d481a}.def-remove-icon{line-height:1}.definition-entry .form-group{margin-bottom:8px}.definition-entry .form-row,.definition-entry .form-row .form-group{margin-bottom:0}.word-form .form-actions{border-top:1px solid var(--gray-3);background:var(--gray-1);z-index:1;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;padding-bottom:4px;display:flex;position:sticky;bottom:0}@media (width<=768px){.dictionary-manager{padding:16px}.dict-grid{grid-template-columns:1fr}.dict-filters{flex-direction:column}.word-form .form-row{grid-template-columns:1fr}.dictionary-manager .page-header{flex-direction:column;align-items:flex-start;gap:12px}}.staff-chat-page{box-sizing:border-box;flex-direction:column;width:100%;max-width:900px;height:calc(100vh - 80px);margin:0 auto;padding:24px;display:flex}.staff-chat-page-msg{text-align:center;max-width:600px;color:var(--gray-7);margin:80px auto;padding:24px}.staff-chat-page-msg h2{margin:0 0 8px}:root{--forum-accent:var(--primary-color);--forum-accent-soft:#447d0014;--forum-accent-softer:#447d000a;--forum-accent-ring:#447d002e;--forum-accent-strong:var(--primary-color-hover);--forum-card-bg:var(--pure-white);--forum-card-border:var(--gray-3);--forum-card-border-hover:var(--gray-4);--forum-text:var(--gray-12);--forum-text-muted:var(--gray-9);--forum-text-subtle:var(--gray-8);--forum-divider:var(--gray-2);--forum-chip-bg:var(--gray-2);--forum-chip-bg-active:var(--forum-accent);--forum-radius:14px;--forum-radius-sm:8px;--forum-shadow-sm:0 1px 2px #0f172a0a;--forum-shadow-md:0 4px 14px #0f172a0f, 0 1px 3px #0f172a0a}.content-area{background:var(--gray-1);color:var(--forum-text);width:100%;height:100%;font-size:calc(15px * var(--font-scale));letter-spacing:0;flex-direction:column;flex:1 0 0;align-self:stretch;gap:20px;padding:32px 40px 56px;line-height:1.5;display:flex;position:relative;overflow-y:auto}.forum-page-header{align-items:baseline;gap:12px;padding-bottom:2px;display:flex}.forum-page-title{color:var(--forum-text);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:600}.forum-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.forum-toolbar-search{flex:280px;min-width:240px}.forum-sort-tabs{background:var(--forum-card-bg);border:1px solid var(--forum-card-border);box-shadow:var(--forum-shadow-sm);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.forum-sort-tab{font:inherit;color:var(--forum-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:600;transition:background .15s,color .15s}.forum-sort-tab:hover{color:var(--forum-text);background:var(--gray-2)}.forum-sort-tab--active,.forum-sort-tab--active:hover{background:var(--forum-accent);color:var(--on-brand)}.forum-sidebar-section+.forum-sidebar-section{margin-top:22px}.forum-sidebar-categories{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.forum-sidebar-category{text-align:left;width:100%;color:var(--forum-text-muted);border-radius:var(--forum-radius-sm);cursor:pointer;background:0 0;border:none;padding:7px 10px;font-family:inherit;font-size:.86rem;font-weight:500;transition:background .15s,color .15s;display:block}.forum-sidebar-category:hover{background:var(--gray-2);color:var(--forum-text)}.forum-sidebar-category--active,.forum-sidebar-category--active:hover{background:var(--forum-accent-soft);color:var(--forum-accent-strong);font-weight:600}.forum-composer-trigger{background:var(--forum-card-bg);border:1px solid var(--forum-card-border);border-radius:var(--forum-radius);cursor:pointer;text-align:left;width:100%;box-shadow:var(--forum-shadow-sm);align-items:center;gap:12px;padding:12px 14px 12px 18px;font-family:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.forum-composer-trigger:hover{border-color:var(--forum-accent-ring);box-shadow:var(--forum-shadow-md)}.forum-composer-trigger-input{color:var(--forum-text-muted);flex:1;font-size:.92rem}.forum-composer-trigger-button{background:var(--forum-accent);color:var(--on-brand);border-radius:var(--forum-radius-sm);cursor:pointer;letter-spacing:.01em;border:none;padding:7px 16px;font-size:.82rem;font-weight:600;transition:background .15s}.forum-composer-trigger:hover .forum-composer-trigger-button{background:var(--forum-accent-strong)}.posts{flex-direction:column;gap:14px;width:100%;display:flex}.forum-card{background:var(--forum-card-bg);border:1px solid var(--forum-card-border);border-radius:var(--forum-radius);width:100%;box-shadow:var(--forum-shadow-sm);padding:18px 20px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}.forum-card:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:3px;transition:background .15s;position:absolute;top:14px;bottom:14px;left:0}.forum-card:hover{border-color:var(--forum-card-border-hover);box-shadow:var(--forum-shadow-md)}.forum-card:hover:before{background:var(--forum-accent)}.forum-author-row{color:var(--forum-text-muted);align-items:center;gap:10px;margin-bottom:10px;font-size:.8rem;display:flex}.forum-avatar{background:linear-gradient(135deg, var(--forum-accent), var(--forum-accent-strong));width:34px;height:34px;color:var(--on-brand);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0f172a14}.forum-avatar--sm{width:26px;height:26px;font-size:.66rem}.forum-author-name{color:var(--forum-text);font-weight:600}.forum-author-meta{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.2;display:flex}.forum-role-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--forum-accent-soft);color:var(--forum-accent-strong);border-radius:4px;align-items:center;padding:2px 7px;font-size:.62rem;font-weight:700;display:inline-flex}.forum-role-badge--admin{color:var(--dark-pink);background:#b1243f1a}.forum-role-badge--orator{color:var(--purple);background:#6816891a}.forum-meta-dot{color:var(--forum-text-subtle)}.forum-post-category{color:var(--forum-accent-strong);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.forum-post-title{color:var(--forum-text);cursor:pointer;word-break:break-word;letter-spacing:-.005em;margin:0 0 6px;font-size:1.1rem;font-weight:650;line-height:1.35;text-decoration:none;transition:color .15s}.forum-post-title:hover{color:var(--forum-accent-strong)}.forum-post-body{color:var(--gray-11);white-space:pre-line;cursor:pointer;word-break:break-word;margin-bottom:12px;font-size:.92rem;line-height:1.6}.forum-comment-attachments{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.forum-comment-attachment-chip{background:var(--forum-accent-soft);border:1px solid var(--forum-accent-ring);color:var(--forum-accent-strong);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;align-items:center;gap:6px;max-width:min(220px,100%);padding:4px 10px;font-family:inherit;font-size:.74rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex;overflow:hidden}.forum-comment-attachment-chip:hover{background:var(--forum-accent);border-color:var(--forum-accent);color:var(--on-brand)}.forum-actions{border-top:1px solid var(--forum-divider);align-items:center;gap:4px;margin-top:6px;padding-top:10px;display:flex}.forum-action-btn{color:var(--forum-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.forum-action-btn:hover{background:var(--gray-2);color:var(--forum-text)}.forum-action-btn--liked{color:var(--dark-pink);background:#b1243f0f}.forum-action-btn--liked:hover{color:var(--dark-pink);background:#b1243f1a}.forum-action-btn--danger:hover{color:var(--dark-pink);background:#b1243f14}.forum-selected-banner{color:var(--forum-text);background:var(--forum-accent-soft);border:1px solid var(--forum-accent-ring);border-radius:var(--forum-radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.85rem;display:flex}.forum-inline-link{color:var(--forum-accent-strong);font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-weight:600}.forum-inline-link:hover{text-decoration:underline}.forum-empty{background:var(--forum-card-bg);border:1px dashed var(--forum-card-border);border-radius:var(--forum-radius);color:var(--forum-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:64px 24px;display:flex}.forum-empty-title{color:var(--forum-text);font-size:1.05rem;font-weight:700}.forum-empty-body{max-width:40ch;font-size:.88rem}.forum-sidebar-section h4{text-transform:uppercase;letter-spacing:.08em;color:var(--forum-text-subtle);margin:0 0 12px;font-size:.7rem;font-weight:700}.forum-trending-list{counter-reset:trending;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.forum-trending-item{border-radius:var(--forum-radius-sm);cursor:pointer;counter-increment:trending;align-items:flex-start;gap:12px;padding:10px;transition:background .15s;display:flex}.forum-trending-item:before{content:counter(trending);background:var(--gray-2);width:22px;height:22px;color:var(--forum-text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.72rem;font-weight:700;display:inline-flex}.forum-trending-item:first-child:before{background:var(--forum-accent);color:var(--on-brand)}.forum-trending-item:nth-child(2):before{background:var(--forum-accent-soft);color:var(--forum-accent-strong)}.forum-trending-item:nth-child(3):before{background:var(--forum-accent-softer);color:var(--forum-accent-strong)}.forum-trending-item:hover{background:var(--gray-2)}.forum-trending-item--active{background:var(--forum-accent-soft)}.forum-trending-title{color:var(--forum-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.forum-trending-meta{color:var(--forum-text-muted);margin-top:3px;font-size:.72rem}.forum-composer{background:var(--surface);border-radius:var(--forum-radius);flex-direction:column;gap:14px;width:min(92vw,580px);padding:22px 24px;display:flex}.forum-composer-title{color:var(--forum-text);letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:700}.forum-input,.forum-textarea{border:1px solid var(--forum-card-border);border-radius:var(--forum-radius-sm);background:var(--surface);width:100%;color:var(--forum-text);outline:none;padding:10px 12px;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.forum-input::placeholder,.forum-textarea::placeholder{color:var(--forum-text-subtle)}.forum-input:focus,.forum-textarea:focus{border-color:var(--forum-accent);box-shadow:0 0 0 3px var(--forum-accent-soft)}.forum-textarea{resize:vertical;min-height:130px}.forum-composer-field-label{color:var(--forum-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.72rem;font-weight:700}.forum-composer-attachments{color:var(--forum-text-muted);background:var(--gray-1);border:1px solid var(--forum-divider);border-radius:var(--forum-radius-sm);padding:10px 12px;font-size:.82rem}.forum-composer-attachments strong{color:var(--forum-text);font-weight:600}.forum-composer-attachments ul{margin:6px 0 0;padding-left:18px}.forum-composer-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.forum-post-expanded{border-top:1px solid var(--forum-divider);margin-top:16px;padding-top:16px}.forum-comments-heading{color:var(--forum-text);justify-content:space-between;align-items:baseline;margin-bottom:14px;font-size:.85rem;font-weight:700;display:flex}.forum-comment-composer{margin-bottom:16px}.forum-comment-input{border:1px solid var(--forum-card-border);border-radius:var(--forum-radius-sm);resize:vertical;background:var(--surface);width:100%;min-height:70px;color:var(--forum-text);outline:none;padding:10px 12px;font-family:inherit;font-size:.86rem;line-height:1.45;transition:border-color .15s,box-shadow .15s}.forum-comment-input:focus{border-color:var(--forum-accent);box-shadow:0 0 0 3px var(--forum-accent-soft)}.forum-comment-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.forum-comment{background:var(--gray-1);border:1px solid var(--forum-divider);border-radius:var(--forum-radius-sm);color:var(--forum-text);margin-bottom:8px;padding:12px 14px;font-size:.86rem;line-height:1.55;transition:border-color .15s,background .15s}.forum-comment:hover{border-color:var(--forum-card-border-hover);background:var(--surface)}.forum-comment-head{color:var(--forum-text-muted);align-items:center;gap:8px;margin-bottom:6px;font-size:.76rem;display:flex}.forum-comment-author{color:var(--forum-text);font-weight:600}.forum-comment-time{white-space:nowrap;color:var(--forum-text-subtle)}.forum-comment-body{color:var(--forum-text);white-space:pre-line;font-size:.86rem;line-height:1.55}.forum-comment-children{border-left:2px solid var(--forum-divider);margin-top:6px;margin-left:16px;padding-left:14px;transition:border-left-color .15s;position:relative}.forum-comment-children:hover{border-left-color:var(--forum-accent)}.forum-reply-action-row{align-items:center;gap:14px;margin-top:8px;font-size:.76rem;display:flex}.forum-reply-link{cursor:pointer;color:var(--forum-text-muted);font-weight:600;transition:color .15s}.forum-reply-link:hover{color:var(--forum-accent-strong)}.forum-inline-reply-composer{margin-top:8px;margin-bottom:4px}.forum-inline-reply-input{border:1px solid var(--forum-card-border);border-radius:var(--forum-radius-sm);resize:vertical;background:var(--surface);width:100%;min-height:56px;color:var(--forum-text);outline:none;padding:8px 10px;font-family:inherit;font-size:.82rem;line-height:1.45;transition:border-color .15s,box-shadow .15s}.forum-inline-reply-input:focus{border-color:var(--forum-accent);box-shadow:0 0 0 3px var(--forum-accent-soft)}.forum-inline-reply-actions{gap:6px;margin-top:6px;display:flex}.forum-btn-cancel{color:var(--forum-text-muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.78rem;font-weight:600}.forum-btn-cancel:hover{color:var(--forum-text);text-decoration:underline}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Regular-D3WaKpvD.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Bold-DhR1qjGc.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:OpenDyslexic;src:url(/assets/OpenDyslexic-Italic-CMl2IzwI.otf)format("opentype");font-weight:400;font-style:italic}html.dyslexic-font,html.dyslexic-font *{font-family:OpenDyslexic,Poppins,Arial,sans-serif!important}:root,.force-light,.game-shell,.language-game,.language-game-canvas,.map-studio,.painting-frame,.badge-popup-celebration,.avatar-preview,.avatar-studio,.presentation-audience-stage,.google-btn,.clever-btn{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary-color:#447d00;--primary-color-hover:#3e7000;--primary-color-rgb:68, 125, 0;--dark-blue:#016d89;--dark-blue-hover:#015b71;--dark-green:#447d00;--dark-green-hover:#3e7000;--dark-pink:#b1243f;--dark-pink-hover:#8e1d33;--yellow:#fcf095;--yellow-bg:#fcf095;--light-purple:#c7afee;--purple:#681689;--purple-hover:#55136b;--orange:#b87800;--orange-hover:#9c6500;--moss-green:#42493a;--moss-green-hover:#3a3f33;--dark-green-rgb:68, 125, 0;--dark-blue-rgb:1, 109, 137;--dark-pink-rgb:177, 36, 63;--purple-rgb:104, 22, 137;--orange-rgb:184, 120, 0;--moss-green-rgb:66, 73, 58;--gray-1:#fafaf7;--gray-2:#f0efed;--gray-3:#e1e1e0;--gray-4:#d4d4d4;--gray-7:#a8a5a4;--gray-8:#979392;--gray-9:#756f6d;--gray-10:#524b49;--gray-11:#3e3735;--gray-12:#2a2423;--gray-13:#171413;--pure-black:#000;--pure-white:#fff;--surface:#fcfcfa;--surface-raised:#fff;--surface-sunken:#f0efed;--text:#524b49;--text-muted:#756f6d;--border:#e1e1e0;--on-brand:#fff;--shadow-rgb:0, 0, 0;--success:#15803d;--success-bg:#dcfce7;--danger:#991b1b;--danger-bg:#fef2f2;--warning:#92400e;--warning-bg:#fef3c7;--info:#1e40af;--info-bg:#e3f2fd;--button-go:#bafc95;--button-delete:#fc95a8;--button-default:#f0efed;--button-option:#c7afee;--button-ink:#524b49;--accent-teal:#0d9488;--accent-teal-light:#14b8a6;--accent-amber:#f59e0b;--accent-rose:#e11d48;--accent-violet:#7c3aed;--accent-sky:#0284c7;--accent-indigo:#6366f1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary-color:#73b226;--primary-color-hover:#679f22;--primary-color-rgb:143, 209, 63;--dark-blue:#4fc3e8;--dark-blue-hover:#6fd2f0;--dark-green:#8fd13f;--dark-green-hover:#7fbd2f;--dark-pink:#ff8da3;--dark-pink-hover:#ffa8ba;--yellow:#fcf095;--yellow-bg:#4d4715;--light-purple:#c9aef0;--purple:#c99ae8;--purple-hover:#d8b2f0;--orange:#e8a93a;--orange-hover:#f2bb57;--moss-green:#a8b39a;--moss-green-hover:#b8c2ac;--dark-green-rgb:143, 209, 63;--dark-blue-rgb:79, 195, 232;--dark-pink-rgb:255, 141, 163;--purple-rgb:201, 154, 232;--orange-rgb:232, 169, 58;--moss-green-rgb:168, 179, 154;--gray-1:#1f1c1b;--gray-2:#272423;--gray-3:#383331;--gray-4:#474240;--gray-7:#8a8482;--gray-8:#9c9694;--gray-9:#b5afac;--gray-10:#e6e1de;--gray-11:#efebe8;--gray-12:#f5f2f0;--gray-13:#fbf9f7;--surface:#171514;--surface-raised:#272423;--surface-sunken:#100e0e;--text:#e6e1de;--text-muted:#b5afac;--border:#383331;--on-brand:#17140f;--shadow-rgb:0, 0, 0;--success:#86efac;--success-bg:#14321f;--danger:#fca5a5;--danger-bg:#3a1618;--warning:#fcd34d;--warning-bg:#3a2a10;--info:#93c5fd;--info-bg:#16233f;--button-go:#4e7a3a;--button-delete:#8e3346;--button-default:#2c2827;--button-option:#5b3d80;--button-ink:#f2eeeb;--accent-teal:#2dd4bf;--accent-teal-light:#5eead4;--accent-amber:#fbbf24;--accent-rose:#fb7185;--accent-violet:#a78bfa;--accent-sky:#38bdf8;--accent-indigo:#818cf8}*{box-sizing:border-box;font-family:Poppins,Arial,OpenDyslexic}:root{--app-page-height:calc(100vh - 70px);--app-page-content-height:calc(var(--app-page-height) - 60px);--app-page-content-height-small:calc(var(--app-page-height) - 25px);--app-sidebar-width:350px;--font-weight:500;--font-weight-bold:700;--font-scale:1;--line-spacing-scale:1}body{color:var(--text);background:var(--surface);font-style:normal;font-weight:500}input{color:var(--gray-10)}input[type=text],input[type=number],input[type=datetime-local],input[type=password],input[type=email]{border:2px solid var(--gray-7);background:var(--surface);border-radius:6px;align-self:stretch;align-items:center;gap:10px;padding:9px 12px;display:flex}textarea{border:2px solid var(--gray-7);background:var(--surface);border-radius:6px;align-self:stretch;align-items:center;gap:10px;max-width:100%;padding:9px 12px;display:flex}input[type=number]{width:60px;padding-right:4px}input[type=file]{border:none;padding:0;display:none}input[type=checkbox]:checked,input[type=radio]:checked{accent-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color)}select{border:2px solid var(--gray-7);background:var(--surface);color:var(--gray-10);border-radius:6px;align-self:stretch;align-items:center;padding:9px 12px;display:flex}.mui-select{border:2px solid var(--gray-7);background:var(--surface);color:var(--gray-10);border-radius:6px;align-self:stretch;align-items:center;display:flex}.select-header{align-self:unset;border:none;width:fit-content;font-size:x-large}h1{letter-spacing:1.44px;margin:0;padding:0;font-size:34px;font-weight:500;line-height:140%}h2{letter-spacing:.64px;margin:0;padding:0;font-size:32px;font-weight:500;line-height:140%}h3{letter-spacing:.52px;margin:0;padding:0;font-size:26px;font-weight:500;line-height:140%}.label-xl{letter-spacing:1.12px;font-size:28px;line-height:100%}.label-large{letter-spacing:.88px;font-size:22px;line-height:100%}.label-medium{letter-spacing:.72px;font-size:18px;line-height:160%}.label-normal{letter-spacing:.64px;font-size:16px;line-height:150%}.label-small{letter-spacing:.56px;font-size:14px;line-height:150%}.label-xs{letter-spacing:.48px;font-size:12px;line-height:150%}.label-hint{color:var(--dark-green)}.fine-print{color:var(--gray-7);letter-spacing:.36px;align-self:stretch;align-items:center;font-size:11px;line-height:150%;display:flex}.book-text{letter-spacing:.8px;font-size:20px;line-height:250%}.fine-print.danger{color:var(--dark-pink)}.fine-print.success{color:var(--dark-green)}.danger{color:var(--dark-pink)}@media screen and (width<=600px){h1{font-size:26px}h2{font-size:22px}h3{font-size:16px}.label-xl{font-size:18px}.label-large{font-size:14px}.label-medium{font-size:12px}.label-normal{font-size:10px}.label-small{font-size:8px}.label-xs{font-size:6px}}.app-page{border-top:2px solid var(--surface);background:radial-gradient(ellipse at center, var(--surface) 50%, rgba(var(--primary-color-rgb), .15) 100%);min-height:var(--app-page-height);height:100%;max-height:var(--app-page-height);border-radius:36px 36px 0 0;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;width:100vw;max-width:100vw;padding:30px 40px 40px;display:flex;position:relative;top:70px;box-shadow:0 0 16px #524b490d}.app-page-content{min-height:var(--app-page-content-height);height:var(--app-page-content-height);max-height:var(--app-page-content-height);flex:1 0 0;align-self:stretch;align-items:flex-start;gap:30px;min-width:100%;max-width:calc(100vw - 80px);display:flex}.app-main-content{background:var(--gray-1);min-height:var(--app-page-content-height);height:var(--app-page-content-height);max-height:var(--app-page-content-height);border-radius:24px;flex-direction:column;flex:auto;align-self:stretch;align-items:center;min-width:500px;max-width:100%;padding:12px;transition:all 1s;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #524b4933}.app-main-content h1{color:var(--text-muted);justify-content:center;align-self:stretch;align-items:center;padding:12px 26px 18px;display:flex}.join-classroom-panel{background:var(--gray-2);color:var(--gray-10);text-align:center;border-radius:6px;justify-content:center;align-self:stretch;align-items:center;gap:14px;padding:28px 42px;display:flex}.join-classroom-panel:hover{background:linear-gradient(0deg, #0000001a 0%, #0000001a 100%), var(--gray-2);cursor:pointer}.classroom-panel{background:var(--dark-green);color:var(--on-brand);text-align:center;border-radius:6px;flex-direction:row;justify-content:space-between;align-self:stretch;align-items:center;gap:10px;padding:36px 42px;display:flex}.classroom-panel:hover{background:linear-gradient(0deg, #0003 0%, #0003 100%), var(--dark-green);cursor:pointer}.row{flex-direction:row;align-items:center;gap:14px;display:flex}.col{flex-direction:column;display:flex}.row.stretch{justify-content:space-evenly;align-self:stretch}.row.stretch>*{flex:1}.row.spaced{justify-content:space-between;align-self:stretch;width:100%}.item-list{border:2px solid var(--gray-2);background:var(--gray-1);border-radius:12px;flex-direction:column;flex:1 0 0;align-self:stretch;align-items:center;height:100%;max-height:100%;display:flex;overflow-y:auto}.pin-top-right{position:absolute;top:15px;right:20px}.pin-top-left{position:absolute;top:15px;left:20px}.pin-bottom-right{position:absolute;bottom:15px;right:20px}.pin-bottom-left{position:absolute;bottom:15px;left:20px}.centered{position:absolute;left:50%;transform:translate(-50%)}@media screen and (width<=700px){.app-page{padding:10px}.app-page-content{min-height:var(--app-page-height-small);height:var(--app-page-content-height-small);max-height:var(--app-page-content-height-small);gap:10px}.app-main-content{min-height:var(--app-page-content-height-small);height:var(--app-page-content-height-small);max-height:var(--app-page-content-height-small);width:calc(100vw - 20px);min-width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:5px}.app-main-content h1{height:80px;padding:6px 10px 8px}.classroom-panel,.join-classroom-panel{padding:10px}.row{gap:4vh}}.welcome-panel{flex-direction:column;flex:1 0 0;justify-content:center;align-self:stretch;align-items:center;gap:28px;padding-bottom:0;display:flex}.welcome-panel img{width:120px}.labeled-input{border:2px solid var(--gray-7);background:var(--surface);border-radius:6px;flex-direction:row;flex:1 0 0;justify-content:space-between;align-self:stretch;align-items:center;display:flex}.labeled-input:focus-within{outline:-webkit-focus-ring-color auto 1px}.labeled-input input{border:none!important;width:100%!important}.labeled-input input:focus-visible{outline:none}.labeled-input.label-right{padding-right:10px}.labeled-input.label-left{padding-left:10px}.labeled-input.valid{outline:var(--dark-green) auto 1px}.labeled-input.invalid{outline:var(--dark-pink) auto 1px}.action-buttons{justify-content:flex-end;align-self:stretch;align-items:center;gap:15px;display:flex}.css-1gv0vcd-MuiSlider-track{color:var(--gray-4)!important;border-radius:30px!important}.css-187mznn-MuiSlider-root{color:var(--gray-4)!important}.css-eg0mwd-MuiSlider-thumb,.css-eg0mwd-MuiSlider-thumb:after{color:var(--gray-4)!important;border-radius:0!important;width:5px!important;height:10px!important}.status-pill{background:var(--gray-2);color:var(--gray-11);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;display:inline-block}.status-pill.warn{background:var(--danger-bg);color:var(--dark-pink)}.form-contents{flex-direction:column;align-self:stretch;align-items:center;gap:18px;display:flex;overflow:auto}.form{color:var(--gray-10);text-align:center;flex-direction:column;align-items:center;gap:48px;width:100%;min-width:min(500px,95vw);max-width:90vw;margin-top:20px;padding:12px;display:flex}.form .app-button{align-self:stretch}.form-section{text-align:left;flex-direction:column;align-self:stretch;gap:14px;display:flex}.form-section-label{color:var(--gray-7);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gray-3);padding-bottom:4px;font-size:.75rem;font-weight:600}.form-section .assignment-attribute-container{border-top:none;padding-top:0}.form-row{align-self:stretch;gap:14px;display:flex}.form-row>*{flex:1;min-width:0}@media screen and (width<=700px){.form-row{flex-direction:column}}@keyframes poofAppear{0%{opacity:0;filter:blur(5px);transform:scale(.5)rotate(-10deg)}50%{opacity:.5;filter:blur(2px);transform:scale(1.1)rotate(5deg)}to{opacity:1;filter:blur();transform:scale(1)rotate(0)}}
